From 0020b47ffd543b615e73ed2972d0643d5b264b1d Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 20 Feb 2020 15:11:46 +0100 Subject: demux: fix seek range caching with delay_open hack These have ->segmented set (so the codec can be initialized properly), but have no segment start or end times. This code was (probably) the only thing which didn't handle this case. --- demux/demux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/demux/demux.c b/demux/demux.c index 75d74d0beb..cf54df5e96 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -1844,7 +1844,8 @@ static struct demux_packet *compute_keyframe_times(struct demux_packet *pkt, break; double ts = MP_PTS_OR_DEF(pkt->pts, pkt->dts); - if (pkt->segmented && (ts < pkt->start || ts > pkt->end)) + if (pkt->segmented && ((pkt->start != MP_NOPTS_VALUE && ts < pkt->start) || + (pkt->end != MP_NOPTS_VALUE && ts > pkt->end))) ts = MP_NOPTS_VALUE; min = MP_PTS_MIN(min, ts); -- cgit v1.2.3