From a4e7f2fe00fcec204de6562d0b8eba9ca80207cd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 29 Aug 2013 12:42:45 +0100 Subject: [PATCH] Fix _audio_pts_offset setup when we are only processing audio. --- ChangeLog | 3 +++ src/lib/ffmpeg_decoder.cc | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 08d1f5d5a..64cc32926 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2013-08-29 Carl Hetherington + * Fix emissions of large chunks of silence when + analysing audio in some cases. + * Use my @dcpomatic.com email address for now, rather than a non-existant mailing list. diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index ede724b5f..8da607e7e 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -97,6 +97,8 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr f, shared_ptrfirst_video().get(), c->audio_stream()->first_audio.get()); } else if (have_video) { _video_pts_offset = - c->first_video().get(); + } else if (have_audio) { + _audio_pts_offset = - c->audio_stream()->first_audio.get(); } /* Now adjust both so that the video pts starts on a frame */ @@ -385,7 +387,7 @@ FFmpegDecoder::decode_audio_packet () /* Where we are in the source, in seconds */ double const pts = av_q2d (_format_context->streams[copy_packet.stream_index]->time_base) * av_frame_get_best_effort_timestamp(_frame) + _audio_pts_offset; - + if (pts > 0) { /* Emit some silence */ shared_ptr silence ( -- 2.30.2