oggparseopus: use ff_alloc_extradata()

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
James Almer 2013-10-13 20:02:26 -03:00 committed by Michael Niedermayer
parent 8d9f08ef32
commit aae8975ffb

View File

@ -41,7 +41,6 @@ static int opus_header(AVFormatContext *avf, int idx)
AVStream *st = avf->streams[idx];
struct oggopus_private *priv = os->private;
uint8_t *packet = os->buf + os->pstart;
uint8_t *extradata;
if (!priv) {
priv = os->private = av_mallocz(sizeof(*priv));
@ -60,13 +59,10 @@ static int opus_header(AVFormatContext *avf, int idx)
/*gain = AV_RL16(packet + 16);*/
/*channel_map = AV_RL8 (packet + 18);*/
extradata = av_malloc(os->psize + FF_INPUT_BUFFER_PADDING_SIZE);
if (!extradata)
if (ff_alloc_extradata(st->codec, os->psize))
return AVERROR(ENOMEM);
memcpy(extradata, packet, os->psize);
st->codec->extradata = extradata;
st->codec->extradata_size = os->psize;
memcpy(st->codec->extradata, packet, os->psize);
st->codec->sample_rate = 48000;
avpriv_set_pts_info(st, 64, 1, 48000);