summaryrefslogtreecommitdiffstats
path: root/demux/demux_timeline.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_timeline.c')
-rw-r--r--demux/demux_timeline.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/demux/demux_timeline.c b/demux/demux_timeline.c
index c34619a6d2..d0c1740e9e 100644
--- a/demux/demux_timeline.c
+++ b/demux/demux_timeline.c
@@ -272,7 +272,7 @@ static bool d_read_packet(struct demuxer *demuxer, struct demux_packet **out_pkt
return true; // reader will retry
}
- if (pkt->stream < 0 || pkt->stream > seg->num_stream_map)
+ if (pkt->stream < 0 || pkt->stream >= seg->num_stream_map)
goto drop;
if (!p->dash) {
@@ -285,8 +285,8 @@ static bool d_read_packet(struct demuxer *demuxer, struct demux_packet **out_pkt
pkt->end = seg->end;
}
- pkt->stream = seg->stream_map[pkt->stream];
- if (pkt->stream < 0)
+ int vs_index = seg->stream_map[pkt->stream];
+ if (vs_index < 0)
goto drop;
// for refresh seeks, demux.c prefers monotonically increasing packet pos
@@ -294,7 +294,7 @@ static bool d_read_packet(struct demuxer *demuxer, struct demux_packet **out_pkt
if (pkt->pos >= 0)
pkt->pos |= (seg->index & 0x7FFFULL) << 48;
- struct virtual_stream *vs = p->streams[pkt->stream];
+ struct virtual_stream *vs = p->streams[vs_index];
if (pkt->pts != MP_NOPTS_VALUE && pkt->pts >= seg->end) {
// Trust the keyframe flag. Might not always be a good idea, but will