diff options
author | Paul B Mahol <onemda@gmail.com> | 2020-09-10 17:20:19 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2020-09-10 17:38:08 +0200 |
commit | 38be47017baff232d17a2964c8d82d55de5203d2 (patch) | |
tree | a432bc582ae4c45a1586dd8e056b258aa2b3241d | |
parent | d58f8fd8e6b5a6e837c991a065714854edf8448d (diff) | |
download | ffmpeg-38be47017baff232d17a2964c8d82d55de5203d2.tar.gz |
avformat/mca: clip timestamp when seeking into acceptable range
-rw-r--r-- | libavformat/mca.c | 5 |
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; |