Browse Source

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>
tags/n2.1
James Almer Michael Niedermayer 11 years ago
parent
commit
aae8975ffb
1 changed files with 2 additions and 6 deletions
  1. +2
    -6
      libavformat/oggparseopus.c

+ 2
- 6
libavformat/oggparseopus.c 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);


Loading…
Cancel
Save