Subject: | _grab_int_16 should read in big-endian order |
We ran into a bug where the RVA2 tag was read backwards,
http://bugs.slimdevices.com/show_bug.cgi?id=5133
Here's a patch. I am not sure if _grab_uint_16 is also broken, but I
suspect it is because it uses 'S' to unpack.
--- lib/MP3/Info.pm (revision 12315)
+++ lib/MP3/Info.pm (working copy)
@@ -2087,7 +2087,7 @@
sub _grab_int_16 {
my $data = shift;
- my $value = unpack('s',substr($$data,0,2));
+ my $value = unpack('s', pack('S', unpack('n',substr($$data,0,2))));
$$data = substr($$data,2);
return $value;
}