summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-02-20 15:11:46 +0100
committerwm4 <wm4@nowhere>2020-02-20 15:11:46 +0100
commit0020b47ffd543b615e73ed2972d0643d5b264b1d (patch)
tree29fd09746a7a9d7517d91bc6aecbc582998b48e8
parentf321d8da991177ffaa8842ef4a05ea2714265f28 (diff)
downloadmpv-0020b47ffd543b615e73ed2972d0643d5b264b1d.tar.bz2
mpv-0020b47ffd543b615e73ed2972d0643d5b264b1d.tar.xz
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.
-rw-r--r--demux/demux.c3
1 files changed, 2 insertions, 1 deletions
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);