Fix assertion failure if rounding reduces remaining frames to 0.
authorCarl Hetherington <cth@carlh.net>
Mon, 8 May 2017 14:20:59 +0000 (15:20 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 8 May 2017 14:20:59 +0000 (15:20 +0100)
src/lib/player.cc

index 11440ec5e6d15d82355173162650e05b5df1f8c9..fd83886db7d3473bdac9a47ffa6ed4ef9f05b659 100644 (file)
@@ -794,7 +794,9 @@ Player::audio (weak_ptr<Piece> wp, AudioStreamPtr stream, ContentAudio content_a
                return;
        } else if (end > piece->content->end()) {
                Frame const remaining_frames = DCPTime(piece->content->end() - time).frames_round(_film->audio_frame_rate());
-               DCPOMATIC_ASSERT (remaining_frames > 0);
+               if (remaining_frames == 0) {
+                       return;
+               }
                shared_ptr<AudioBuffers> cut (new AudioBuffers (content_audio.audio->channels(), remaining_frames));
                cut->copy_from (content_audio.audio.get(), remaining_frames, 0, 0);
                content_audio.audio = cut;