oggparseopus: use ff_alloc_extradata()
authorJames Almer <jamrial@gmail.com>
Sun, 13 Oct 2013 23:02:26 +0000 (20:02 -0300)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 14 Oct 2013 10:59:59 +0000 (12:59 +0200)
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/oggparseopus.c

index da75326..78aa333 100644 (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);