[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