[vlc-commits] meta_engine: support id3v2.4 tag for id3 chapter markers

Gary Wang git at videolan.org
Fri Feb 19 09:25:59 UTC 2021


vlc | branch: master | Gary Wang <wzc782970009 at gmail.com> | Thu Feb 11 14:56:33 2021 +0800| [e00191ec8b65b430a64348e57270a522883b3baa] | committer: Francois Cartegnie

meta_engine: support id3v2.4 tag for id3 chapter markers

Signed-off-by: Francois Cartegnie <fcvlcdev at free.fr>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e00191ec8b65b430a64348e57270a522883b3baa
---

 modules/meta_engine/ID3Tag.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/meta_engine/ID3Tag.h b/modules/meta_engine/ID3Tag.h
index d60e965f6e..40fd87f84d 100644
--- a/modules/meta_engine/ID3Tag.h
+++ b/modules/meta_engine/ID3Tag.h
@@ -45,7 +45,7 @@ static size_t ID3TAG_Parse( const uint8_t *p_peek, size_t i_peek,
     uint32_t i_ID3size = 0;
     if( i_peek > 10 && ID3TAG_IsTag( p_peek, false ) )
     {
-        const bool b_syncsafe = p_peek[5] & 0x80;
+        const uint8_t i_ID3major = p_peek[3];
         i_ID3size = ID3TAG_ReadSize( &p_peek[6], true );
         if( i_ID3size > i_peek - 10 )
             return 0;
@@ -54,7 +54,7 @@ static size_t ID3TAG_Parse( const uint8_t *p_peek, size_t i_peek,
         while( i_ID3size > 10 )
         {
             uint32_t i_tagname = VLC_FOURCC( p_frame[0], p_frame[1], p_frame[2], p_frame[3] );
-            uint32_t i_framesize = ID3TAG_ReadSize( &p_frame[4], b_syncsafe ) + 10;
+            uint32_t i_framesize = ID3TAG_ReadSize( &p_frame[4], i_ID3major != 3 ) + 10;
             if( i_framesize > i_ID3size )
                 return 0;
 



More information about the vlc-commits mailing list