summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/ffmpeg_decoder.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index f5af0628e..69f366aad 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -451,12 +451,14 @@ FFmpegDecoder::decode_audio_packet ()
shared_ptr<AudioBuffers> data = deinterleave_audio (*stream);
ContentTime ct;
- if (_frame->pts == AV_NOPTS_VALUE && _next_time[stream_index]) {
+ if (_frame->pts == AV_NOPTS_VALUE) {
/* In some streams we see not every frame coming through with a timestamp; for those
that have AV_NOPTS_VALUE we need to work out the timestamp ourselves. This is
particularly noticeable with TrueHD streams (see #1111).
*/
- ct = *_next_time[stream_index];
+ if (_next_time[stream_index]) {
+ ct = *_next_time[stream_index];
+ }
} else {
ct = ContentTime::from_seconds (
av_frame_get_best_effort_timestamp (_frame) *