From d3a44cd54964a73ecd3ad1579af07cdb722b5e8f Mon Sep 17 00:00:00 2001 From: Leonel Togniolli Date: Thu, 9 Apr 2015 03:48:38 +0100 Subject: [PATCH] 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 --- sample.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sample.cpp b/sample.cpp index eef4738..0a23030 100644 --- a/sample.cpp +++ b/sample.cpp @@ -313,9 +313,9 @@ int main(int argc, char* argv[]) { printf("\t\tCues\n"); 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 = - pTracks->GetTrackByNumber(track_num); + pTracks->GetTrackByIndex(track_num); const mkvparser::CuePoint::TrackPosition* const track_pos = cue->Find(track); @@ -325,7 +325,7 @@ int main(int argc, char* argv[]) { printf( "\t\t\tCue Point %4d Track %3lu(%c) Time %14lld " "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, track_pos->m_pos); }