From 818d31f39863a6acda6d0f37c657ba85339500b1 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 15 Dec 2014 10:31:48 +0000 Subject: [PATCH] Hand-apply 75be314ee89fb2f4e783b4079f7fabf69e79d636 from master; fix hidden content appearing (#418). --- TO_PORT | 1 - src/lib/ffmpeg_decoder.cc | 8 ++++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/TO_PORT b/TO_PORT index 3ee2a133e..e340470c2 100644 --- a/TO_PORT +++ b/TO_PORT @@ -1,4 +1,3 @@ -ce1c03bfd420c537105525d65f0ce28deb9d0bb5 e7fe121fedc6d837c5bc8ab31e4b36c50497c4cd 250ff9430c5e3727e2c5e24f81bc6d05a8700b49 df4337db7d2f94f430caaf1b89f41dfae777799b diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index e90c33c80..810aa775b 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -97,6 +97,14 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr c, shared_ptr _pts_offset = - c->audio_stream()->first_audio.get(); } + /* If _pts_offset is positive we would be pushing things from a -ve PTS to be played. + I don't think we ever want to do that, as it seems things at -ve PTS are not meant + to be seen (use for alignment bars etc.); see mantis #418. + */ + if (_pts_offset > 0) { + _pts_offset = 0; + } + /* Now adjust both so that the video pts starts on a frame */ if (have_video && have_audio) { ContentTime first_video = c->first_video().get() + _pts_offset; -- 2.30.2