diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2013-11-09 17:00:42 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2013-11-09 17:00:42 +0100 |
commit | 6f5ff9b84f6e3ad68f3e777622282d5db6ccc0e0 (patch) | |
tree | 1b956fe5fecdb053bf78525970f32322fe1d8eca /gst-libs/ext/libav/libavformat/idroqdec.c | |
parent | 7cb19d4fb99d5bcd2eba76245bc2af9d889b4ff1 (diff) |
Imported Upstream version 1.2.1upstream/1.2.1
Diffstat (limited to 'gst-libs/ext/libav/libavformat/idroqdec.c')
-rw-r--r-- | gst-libs/ext/libav/libavformat/idroqdec.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gst-libs/ext/libav/libavformat/idroqdec.c b/gst-libs/ext/libav/libavformat/idroqdec.c index eeaafec..82eff24 100644 --- a/gst-libs/ext/libav/libavformat/idroqdec.c +++ b/gst-libs/ext/libav/libavformat/idroqdec.c @@ -142,6 +142,8 @@ static int roq_read_packet(AVFormatContext *s, break; case RoQ_QUAD_CODEBOOK: + if (roq->video_stream_index < 0) + return AVERROR_INVALIDDATA; /* packet needs to contain both this codebook and next VQ chunk */ codebook_offset = avio_tell(pb) - RoQ_CHUNK_PREAMBLE_SIZE; codebook_size = chunk_size; @@ -191,6 +193,11 @@ static int roq_read_packet(AVFormatContext *s, st->codec->block_align = st->codec->channels * st->codec->bits_per_coded_sample; } case RoQ_QUAD_VQ: + if (chunk_type == RoQ_QUAD_VQ) { + if (roq->video_stream_index < 0) + return AVERROR_INVALIDDATA; + } + /* load up the packet */ if (av_new_packet(pkt, chunk_size + RoQ_CHUNK_PREAMBLE_SIZE)) return AVERROR(EIO); |