diff options
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/adxdec.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libavformat/adxdec.c b/libavformat/adxdec.c index fe22c3ae69..ddaa201179 100644 --- a/libavformat/adxdec.c +++ b/libavformat/adxdec.c @@ -24,7 +24,6 @@ */ #include "libavutil/intreadwrite.h" -#include "libavcodec/adx.h" #include "avformat.h" #include "internal.h" @@ -66,7 +65,6 @@ static int adx_read_header(AVFormatContext *s) { ADXDemuxerContext *c = s->priv_data; AVCodecContext *avctx; - int ret; AVStream *st = avformat_new_stream(s, NULL); if (!st) @@ -81,11 +79,11 @@ static int adx_read_header(AVFormatContext *s) if (ff_get_extradata(avctx, s->pb, c->header_size) < 0) return AVERROR(ENOMEM); - ret = avpriv_adx_decode_header(avctx, avctx->extradata, - avctx->extradata_size, &c->header_size, - NULL); - if (ret) - return ret; + if (avctx->extradata_size < 12) { + av_log(s, AV_LOG_ERROR, "Invalid extradata size.\n"); + return AVERROR_INVALIDDATA; + } + avctx->sample_rate = AV_RB32(avctx->extradata + 8); st->codec->codec_type = AVMEDIA_TYPE_AUDIO; st->codec->codec_id = s->iformat->raw_codec_id; |