[vlc-commits] MKV: Void and CRC32 are not unknown elements

Steve Lhomme git at videolan.org
Sat Feb 28 10:58:55 CET 2015


vlc | branch: master | Steve Lhomme <robUx4 at videolabs.io> | Fri Feb 27 15:41:40 2015 +0100| [68181f9c551348d52635370aa8378078637167fc] | committer: Jean-Baptiste Kempf

MKV: Void and CRC32 are not unknown elements

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

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

 modules/demux/mkv/matroska_segment_parse.cpp |   27 +++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/modules/demux/mkv/matroska_segment_parse.cpp b/modules/demux/mkv/matroska_segment_parse.cpp
index ff47a2b5..271d42a 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -110,7 +110,7 @@ void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead )
                         spos.ReadData( es.I_O() );
                         i_pos = (int64_t)segment->GetGlobalPosition( uint64( spos ) );
                     }
-                    else
+                    else if ( !MKV_IS_ID( l, EbmlVoid ) && !MKV_IS_ID( l, EbmlCrc32 ))
                     {
                         /* Many mkvmerge files hit this case. It seems to be a broken SeekHead */
                         msg_Dbg( &sys.demuxer, "|   |   + Unknown (%s)", typeid(*l).name() );
@@ -161,12 +161,13 @@ void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead )
                     LoadSeekHeadItem( EBML_INFO(KaxAttachments), i_pos );
                 }
 #ifdef MKV_DEBUG
-                else
+                else if( id != EBML_ID(KaxCluster) && id != EBML_ID(EbmlVoid) &&
+                         id != EBML_ID(EbmlCrc32))
                     msg_Dbg( &sys.demuxer, "|   - unknown seekhead reference at %" PRId64, i_pos );
 #endif
             }
         }
-        else
+        else if ( !MKV_IS_ID( l, EbmlVoid ) && !MKV_IS_ID( l, EbmlCrc32 ))
             msg_Dbg( &sys.demuxer, "|   |   + ParseSeekHead Unknown (%s)", typeid(*l).name() );
     }
     delete ep;
@@ -481,20 +482,20 @@ void matroska_segment_c::ParseTrackEntry( KaxTrackEntry *m )
                                 {
                                     tk->p_compression_data = new KaxContentCompSettings( *(KaxContentCompSettings*)l4 );
                                 }
-                                else
+                                else if ( !MKV_IS_ID( l4, EbmlVoid ) )
                                 {
                                     MkvTree( sys.demuxer, 6, "Unknown (%s)", typeid(*l4).name() );
                                 }
                             }
                         }
                         // ContentEncryption Unsupported
-                        else
+                        else if ( !MKV_IS_ID( l3, EbmlVoid ) )
                         {
                             MkvTree( sys.demuxer, 5, "Unknown (%s)", typeid(*l3).name() );
                         }
                     }
                 }
-                else
+                else if ( !MKV_IS_ID( l2, EbmlVoid ) )
                 {
                     MkvTree( sys.demuxer, 4, "Unknown (%s)", typeid(*l2).name() );
                 }
@@ -632,7 +633,7 @@ void matroska_segment_c::ParseTrackEntry( KaxTrackEntry *m )
 
 //                    msg_Dbg( &sys.demuxer, "   |   |   |   + gamma=%f", float( gamma ) );
 //                }
-                else
+                else if ( !MKV_IS_ID( l, EbmlVoid ) )
                 {
                     msg_Dbg( &sys.demuxer, "|   |   |   |   + Unknown (%s)", typeid(*l).name() );
                 }
@@ -696,13 +697,13 @@ void matroska_segment_c::ParseTrackEntry( KaxTrackEntry *m )
                     tk->fmt.audio.i_bitspersample = uint8( abits );
                     msg_Dbg( &sys.demuxer, "|   |   |   |   + abits=%u", uint8( abits ) );
                 }
-                else
+                else if ( !MKV_IS_ID( l, EbmlVoid ) )
                 {
                     msg_Dbg( &sys.demuxer, "|   |   |   |   + Unknown (%s)", typeid(*l).name() );
                 }
             }
         }
-        else
+        else if ( !MKV_IS_ID( l, EbmlVoid ) )
         {
             msg_Dbg( &sys.demuxer, "|   |   |   + Unknown (%s)",
                      typeid(*l).name() );
@@ -768,7 +769,7 @@ void matroska_segment_c::ParseTracks( KaxTracks *tracks )
         {
             ParseTrackEntry( static_cast<KaxTrackEntry *>(l) );
         }
-        else
+        else if ( !MKV_IS_ID( l, EbmlVoid ) )
         {
             msg_Dbg( &sys.demuxer, "|   |   + Unknown (%s)", typeid(*l).name() );
         }
@@ -948,7 +949,7 @@ void matroska_segment_c::ParseInfo( KaxInfo *info )
                 msg_Err( &sys.demuxer, "Error while reading Chapter Tranlate");
             }
         }
-        else
+        else if ( !MKV_IS_ID( l, EbmlVoid ) )
         {
             msg_Dbg( &sys.demuxer, "|   |   + Unknown (%s)", typeid(*l).name() );
         }
@@ -1223,14 +1224,14 @@ void matroska_segment_c::ParseChapters( KaxChapters *chapters )
                 {
                     // FIXME to implement
                 }
-                else
+                else if ( !MKV_IS_ID( l, EbmlVoid ) )
                 {
                     msg_Dbg( &sys.demuxer, "|   |   |   + Unknown (%s)", typeid(*l).name() );
                 }
             }
             stored_editions.push_back( p_edition );
         }
-        else
+        else if ( !MKV_IS_ID( l, EbmlVoid ) )
         {
             msg_Dbg( &sys.demuxer, "|   |   + Unknown (%s)", typeid(*l).name() );
         }



More information about the vlc-commits mailing list