@@ -1870,17 +1870,14 @@ public function ParseID3v2Frame(&$parsedFrame) {
18701870 $ frame_offset = 0 ;
18711871 $ parsedFrame ['peakamplitude ' ] = getid3_lib::BigEndian2Float (substr ($ parsedFrame ['data ' ], $ frame_offset , 4 ));
18721872 $ frame_offset += 4 ;
1873- $ rg_track_adjustment = getid3_lib::Dec2Bin (substr ($ parsedFrame ['data ' ], $ frame_offset , 2 ));
1874- $ frame_offset += 2 ;
1875- $ rg_album_adjustment = getid3_lib::Dec2Bin (substr ($ parsedFrame ['data ' ], $ frame_offset , 2 ));
1876- $ parsedFrame ['raw ' ]['track ' ]['name ' ] = getid3_lib::Bin2Dec (substr ($ rg_track_adjustment , 0 , 3 ));
1877- $ parsedFrame ['raw ' ]['track ' ]['originator ' ] = getid3_lib::Bin2Dec (substr ($ rg_track_adjustment , 3 , 3 ));
1878- $ parsedFrame ['raw ' ]['track ' ]['signbit ' ] = getid3_lib::Bin2Dec (substr ($ rg_track_adjustment , 6 , 1 ));
1879- $ parsedFrame ['raw ' ]['track ' ]['adjustment ' ] = getid3_lib::Bin2Dec (substr ($ rg_track_adjustment , 7 , 9 ));
1880- $ parsedFrame ['raw ' ]['album ' ]['name ' ] = getid3_lib::Bin2Dec (substr ($ rg_album_adjustment , 0 , 3 ));
1881- $ parsedFrame ['raw ' ]['album ' ]['originator ' ] = getid3_lib::Bin2Dec (substr ($ rg_album_adjustment , 3 , 3 ));
1882- $ parsedFrame ['raw ' ]['album ' ]['signbit ' ] = getid3_lib::Bin2Dec (substr ($ rg_album_adjustment , 6 , 1 ));
1883- $ parsedFrame ['raw ' ]['album ' ]['adjustment ' ] = getid3_lib::Bin2Dec (substr ($ rg_album_adjustment , 7 , 9 ));
1873+ foreach (array ('track ' ,'album ' ) as $ rgad_entry_type ) {
1874+ $ rg_adjustment_word = getid3_lib::BigEndian2Int (substr ($ parsedFrame ['data ' ], $ frame_offset , 2 ));
1875+ $ frame_offset += 2 ;
1876+ $ parsedFrame ['raw ' ][$ rgad_entry_type ]['name ' ] = ($ rg_adjustment_word & 0xE000 ) >> 13 ;
1877+ $ parsedFrame ['raw ' ][$ rgad_entry_type ]['originator ' ] = ($ rg_adjustment_word & 0x1C00 ) >> 10 ;
1878+ $ parsedFrame ['raw ' ][$ rgad_entry_type ]['signbit ' ] = ($ rg_adjustment_word & 0x0200 ) >> 9 ;
1879+ $ parsedFrame ['raw ' ][$ rgad_entry_type ]['adjustment ' ] = ($ rg_adjustment_word & 0x0100 );
1880+ }
18841881 $ parsedFrame ['track ' ]['name ' ] = getid3_lib::RGADnameLookup ($ parsedFrame ['raw ' ]['track ' ]['name ' ]);
18851882 $ parsedFrame ['track ' ]['originator ' ] = getid3_lib::RGADoriginatorLookup ($ parsedFrame ['raw ' ]['track ' ]['originator ' ]);
18861883 $ parsedFrame ['track ' ]['adjustment ' ] = getid3_lib::RGADadjustmentLookup ($ parsedFrame ['raw ' ]['track ' ]['adjustment ' ], $ parsedFrame ['raw ' ]['track ' ]['signbit ' ]);
0 commit comments