[vlc-devel] [PATCH 6/7] demux: mkv: remove workaround of KaxBlockVirtual

Zhao Zhili quinkblack at foxmail.com
Mon May 28 09:00:41 CEST 2018


The workaround was added by ce718de in 2008. The bug was fixed in
upstream in 2010.
---
 modules/demux/mkv/Ebml_parser.cpp |  8 --------
 modules/demux/mkv/Ebml_parser.hpp | 11 -----------
 2 files changed, 19 deletions(-)

diff --git a/modules/demux/mkv/Ebml_parser.cpp b/modules/demux/mkv/Ebml_parser.cpp
index 76bc45a..eb7315c 100644
--- a/modules/demux/mkv/Ebml_parser.cpp
+++ b/modules/demux/mkv/Ebml_parser.cpp
@@ -224,8 +224,6 @@ next:
         {
             if( !mb_keep )
             {
-                if( MKV_IS_ID( p_prev, KaxBlockVirtual ) )
-                    static_cast<KaxBlockVirtualWorkaround*>(p_prev)->Fix(); // !! WARNING : TODO !! this is undefined-behavior
                 delete p_prev;
                 p_prev = NULL;
             }
@@ -285,8 +283,6 @@ next:
             {
                 if( !mb_keep )
                 {
-                    if( MKV_IS_ID( p_prev, KaxBlockVirtual ) )
-                        static_cast<KaxBlockVirtualWorkaround*>(p_prev)->Fix(); // !! WARNING : TODO !! this is undefined-behavior
                     delete p_prev;
                     p_prev = NULL;
                 }
@@ -318,8 +314,6 @@ next:
             {
                 if( !mb_keep )
                 {
-                    if( MKV_IS_ID( p_prev, KaxBlockVirtual ) )
-                        static_cast<KaxBlockVirtualWorkaround*>(p_prev)->Fix(); // !! WARNING : TODO !! this is undefined-behavior
                     delete p_prev;
                     p_prev = NULL;
                 }
@@ -333,8 +327,6 @@ next:
     {
         if( !mb_keep )
         {
-            if( MKV_IS_ID( p_prev, KaxBlockVirtual ) )
-                static_cast<KaxBlockVirtualWorkaround*>(p_prev)->Fix();
             delete p_prev;
         }
         mb_keep = false;
diff --git a/modules/demux/mkv/Ebml_parser.hpp b/modules/demux/mkv/Ebml_parser.hpp
index ba0ac71..6e427fa 100644
--- a/modules/demux/mkv/Ebml_parser.hpp
+++ b/modules/demux/mkv/Ebml_parser.hpp
@@ -66,15 +66,4 @@ class EbmlParser
     bool         mb_dummy;
 };
 
-/* This class works around a bug in KaxBlockVirtual implementation */
-class KaxBlockVirtualWorkaround : public KaxBlockVirtual
-{
-public:
-    void Fix()
-    {
-        if( GetBuffer() == DataBlock )
-            SetBuffer( NULL, 0 );
-    }
-};
-
 #endif
-- 
2.9.5





More information about the vlc-devel mailing list