summaryrefslogtreecommitdiff
path: root/libavformat/adxdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/adxdec.c')
-rw-r--r--libavformat/adxdec.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/libavformat/adxdec.c b/libavformat/adxdec.c
index 49e19307d5..fc83ff263b 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)
@@ -87,11 +85,11 @@ static int adx_read_header(AVFormatContext *s)
}
avctx->extradata_size = c->header_size;
- 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;