From dafafc90dea5caebebb169a7a7cddac8377651f5 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 25 Mar 2016 17:27:02 +0100 Subject: demux_timeline: request subtitle prefetching on crossing segments SEEK_HR is interpreted by demux_mkv.c, and enables subtitle preroll by prefetching additional subtitle pakcets which might overlap with the seek destination. This should make the case work when segment boundaries fall into the middle of subtitle events. This still usually leaves a flicker of at least 1 frame on start, because dec_sub.c does not ensure that enough subtitles are read before rendering after a segment switch. (Probably a WONTFIX.) --- demux/demux_timeline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'demux') diff --git a/demux/demux_timeline.c b/demux/demux_timeline.c index 3c9748036d..af3389ba73 100644 --- a/demux/demux_timeline.c +++ b/demux/demux_timeline.c @@ -96,7 +96,7 @@ static void switch_segment(struct demuxer *demuxer, struct segment *new, bool new_segment = p->current != new; if (!(flags & (SEEK_FORWARD | SEEK_BACKWARD))) - flags |= SEEK_BACKWARD; + flags |= SEEK_BACKWARD | SEEK_HR; MP_VERBOSE(demuxer, "switch to segment %d\n", new->index); -- cgit v1.2.3