From: Carl Hetherington Date: Wed, 1 Jun 2016 10:04:17 +0000 (+0100) Subject: Fix crash with multiple audio streams. X-Git-Tag: v2.8.7~13 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=3d6eaf43f7c75fe4d47c1ed1c63366f24cde51fe Fix crash with multiple audio streams. --- diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index 1d2f20fe6..cc6a703ba 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -54,6 +54,7 @@ using std::list; using std::cout; using std::pair; using std::make_pair; +using std::max; using boost::shared_ptr; using boost::dynamic_pointer_cast; using boost::optional; @@ -331,7 +332,13 @@ FFmpegContent::full_length () const } DCPOMATIC_ASSERT (audio); - return DCPTime::from_frames (llrint (audio->stream()->length() / frc.speed_up), audio->stream()->frame_rate()); + + DCPTime longest; + BOOST_FOREACH (AudioStreamPtr i, audio->streams ()) { + longest = max (longest, DCPTime::from_frames (llrint (i->length() / frc.speed_up), i->frame_rate())); + } + + return longest; } void