Commit e62f9ac5 authored by Steve Lhomme's avatar Steve Lhomme

mkv.cpp: clean the UnGet() feature

parent fcbb8a42
...@@ -3318,8 +3318,15 @@ EbmlParser::~EbmlParser( void ) ...@@ -3318,8 +3318,15 @@ EbmlParser::~EbmlParser( void )
void EbmlParser::UnGet( uint64 i_restart_pos ) void EbmlParser::UnGet( uint64 i_restart_pos )
{ {
mi_user_level--; if ( mi_user_level > mi_level )
m_el[mi_level] = NULL; {
while ( mi_user_level != mi_level )
{
delete m_el[mi_user_level];
m_el[mi_user_level] = NULL;
mi_user_level--;
}
}
m_got = NULL; m_got = NULL;
mb_keep = VLC_FALSE; mb_keep = VLC_FALSE;
m_es->I_O().setFilePointer( i_restart_pos, seek_beginning ); m_es->I_O().setFilePointer( i_restart_pos, seek_beginning );
...@@ -5258,6 +5265,7 @@ void matroska_segment_c::Seek( mtime_t i_date, mtime_t i_time_offset ) ...@@ -5258,6 +5265,7 @@ void matroska_segment_c::Seek( mtime_t i_date, mtime_t i_time_offset )
return; return;
} }
ep->Down();
for( i_track = 0; i_track < tracks.size(); i_track++ ) for( i_track = 0; i_track < tracks.size(); i_track++ )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment