[vlc-devel] [PATCH 2/2] mkv: Don't probe position for non finite elements
Hugo Beauzée-Luyssen
hugo at beauzee.fr
Mon Aug 12 12:09:54 CEST 2019
---
modules/demux/mkv/Ebml_parser.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/demux/mkv/Ebml_parser.cpp b/modules/demux/mkv/Ebml_parser.cpp
index 00b9efbb2d..b02c8572ed 100644
--- a/modules/demux/mkv/Ebml_parser.cpp
+++ b/modules/demux/mkv/Ebml_parser.cpp
@@ -164,7 +164,7 @@ next:
if (i_max_read == 0)
{
/* check if the parent still has data to read */
- if ( mi_level > 1 &&
+ if ( mi_level > 1 && m_el[mi_level-2]->IsFiniteSize() &&
m_el[mi_level-1]->GetEndPosition() < m_el[mi_level-2]->GetEndPosition() )
{
uint64 top = m_el[mi_level-2]->GetEndPosition();
@@ -300,6 +300,7 @@ next:
m_el[mi_level]->GetElementPosition() );
if( mi_level >= 1 &&
+ m_el[mi_level]->IsFiniteSize() && m_el[mi_level-1]->IsFiniteSize() &&
m_el[mi_level]->GetElementPosition() >= m_el[mi_level-1]->GetEndPosition() )
{
msg_Err(p_demux, "This element is outside its known parent... upping level");
--
2.20.1
More information about the vlc-devel
mailing list