Fix track transversal when listing Cues on sample
It could skip tracks or crash if track numbers were non-sequential or tracks were missing. Change-Id: I485bd4c14c73500775f2944b4486f9a5e154a5e8
This commit is contained in:
@@ -313,9 +313,9 @@ int main(int argc, char* argv[]) {
|
|||||||
|
|
||||||
printf("\t\tCues\n");
|
printf("\t\tCues\n");
|
||||||
do {
|
do {
|
||||||
for (track_num = 1; track_num != num_tracks; ++track_num) {
|
for (track_num = 0; track_num < num_tracks; ++track_num) {
|
||||||
const mkvparser::Track* const track =
|
const mkvparser::Track* const track =
|
||||||
pTracks->GetTrackByNumber(track_num);
|
pTracks->GetTrackByIndex(track_num);
|
||||||
const mkvparser::CuePoint::TrackPosition* const track_pos =
|
const mkvparser::CuePoint::TrackPosition* const track_pos =
|
||||||
cue->Find(track);
|
cue->Find(track);
|
||||||
|
|
||||||
@@ -325,7 +325,7 @@ int main(int argc, char* argv[]) {
|
|||||||
printf(
|
printf(
|
||||||
"\t\t\tCue Point %4d Track %3lu(%c) Time %14lld "
|
"\t\t\tCue Point %4d Track %3lu(%c) Time %14lld "
|
||||||
"Block %4lld Pos %8llx\n",
|
"Block %4lld Pos %8llx\n",
|
||||||
cue_point_num, track_num, track_type,
|
cue_point_num, track->GetNumber(), track_type,
|
||||||
cue->GetTime(pSegment.get()), track_pos->m_block,
|
cue->GetTime(pSegment.get()), track_pos->m_block,
|
||||||
track_pos->m_pos);
|
track_pos->m_pos);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user