summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2020-09-10 17:20:19 +0200
committerPaul B Mahol <onemda@gmail.com>2020-09-10 17:38:08 +0200
commit38be47017baff232d17a2964c8d82d55de5203d2 (patch)
treea432bc582ae4c45a1586dd8e056b258aa2b3241d /libavformat
parentd58f8fd8e6b5a6e837c991a065714854edf8448d (diff)
avformat/mca: clip timestamp when seeking into acceptable range
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mca.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/mca.c b/libavformat/mca.c
index f3f34715cb..27cfb1c777 100644
--- a/libavformat/mca.c
+++ b/libavformat/mca.c
@@ -202,10 +202,13 @@ static int read_seek(AVFormatContext *s, int stream_index,
MCADemuxContext *m = s->priv_data;
int64_t ret = 0;
+ if (timestamp < 0)
+ timestamp = 0;
timestamp /= m->samples_per_block;
+ if (timestamp >= m->block_count)
+ timestamp = m->block_count - 1;
ret = avio_seek(s->pb, m->data_start + timestamp * m->block_size *
st->codecpar->channels, SEEK_SET);
-
if (ret < 0)
return ret;