avformat/mca: clip timestamp when seeking into acceptable range

This commit is contained in:
Paul B Mahol 2020-09-10 17:20:19 +02:00
parent d58f8fd8e6
commit 38be47017b

View File

@ -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;