Also pass the cluster to parse, because this interface change will be needed
for an upcoming patch.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
cluster = (KaxCluster*)el;
i_cluster_pos = i_start_pos = cluster->GetElementPosition();
cluster = (KaxCluster*)el;
i_cluster_pos = i_start_pos = cluster->GetElementPosition();
+ ParseCluster( cluster );
ep->Down();
/* stop pre-parsing the stream */
ep->Down();
/* stop pre-parsing the stream */
( i_index > 0 &&
p_indexes[i_index - 1].i_position < (int64_t)cluster->GetElementPosition() ) )
{
( i_index > 0 &&
p_indexes[i_index - 1].i_position < (int64_t)cluster->GetElementPosition() ) )
{
+ ParseCluster( cluster, false, SCOPE_NO_DATA );
IndexAppendCluster( cluster );
}
if( es.I_O().getFilePointer() >= (unsigned) i_global_position )
IndexAppendCluster( cluster );
}
if( es.I_O().getFilePointer() >= (unsigned) i_global_position )
void ParseTracks( KaxTracks *tracks );
void ParseChapterAtom( int i_level, KaxChapterAtom *ca, chapter_item_c & chapters );
void ParseTrackEntry( KaxTrackEntry *m );
void ParseTracks( KaxTracks *tracks );
void ParseChapterAtom( int i_level, KaxChapterAtom *ca, chapter_item_c & chapters );
void ParseTrackEntry( KaxTrackEntry *m );
- void ParseCluster( bool b_update_start_time = true );
+ void ParseCluster( KaxCluster *cluster, bool b_update_start_time = true, ScopeMode read_fully = SCOPE_ALL_DATA );
SimpleTag * ParseSimpleTags( KaxTagSimple *tag, int level = 50 );
void IndexAppendCluster( KaxCluster *cluster );
int32_t TrackInit( mkv_track_t * p_tk );
SimpleTag * ParseSimpleTags( KaxTagSimple *tag, int level = 50 );
void IndexAppendCluster( KaxCluster *cluster );
int32_t TrackInit( mkv_track_t * p_tk );
-void matroska_segment_c::ParseCluster( bool b_update_start_time )
+void matroska_segment_c::ParseCluster( KaxCluster *cluster, bool b_update_start_time, ScopeMode read_fully )
{
EbmlElement *el;
EbmlMaster *m;
{
EbmlElement *el;
EbmlMaster *m;
- m->Read( es, EBML_CONTEXT(cluster), i_upper_level, el, true );
+ m->Read( es, EBML_CONTEXT(cluster), i_upper_level, el, true, read_fully );