From f66e31b0cb9eff372ae943864d41e0ad0ee88daf Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 14 Dec 2016 10:54:51 +0000 Subject: Fix missing subtitle when a frame is re-fetched. Before this we would get a subtitle at t, which would set the subtitle decoder position to t. Then a second request for this sub would result in no seek but the decoder would not re-produce the sub. --- src/lib/subtitle_decoder.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/lib/subtitle_decoder.cc') diff --git a/src/lib/subtitle_decoder.cc b/src/lib/subtitle_decoder.cc index c59406c36..ff6f4b9da 100644 --- a/src/lib/subtitle_decoder.cc +++ b/src/lib/subtitle_decoder.cc @@ -80,7 +80,7 @@ SubtitleDecoder::give_text (ContentTimePeriod period, list } _decoded_text.push_back (ContentTextSubtitle (period, s)); - _position = period.from; + _position = period.to; } /** Get the subtitles that correspond to a given list of periods. @@ -109,7 +109,12 @@ SubtitleDecoder::get (list const & subs, list const & sp, /* Suggest to our parent decoder that it might want to seek if we haven't got what we're being asked for */ if (missing) { - _log->log (String::compose ("SD suggests seek to %1", to_string (*missing)), LogEntry::TYPE_DEBUG_DECODE); + _log->log ( + String::compose ( + "SD suggests seek to %1 from %2", + to_string (*missing), + position() ? to_string(*position()) : "nowhere"), + LogEntry::TYPE_DEBUG_DECODE); maybe_seek (*missing, true); } -- cgit v1.2.3