Browse Source

aac_adtstoasc_bsf: validate and forward extradata if the stream is already ASC

Fixes AAC AudioSpecificConfig passthrough.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
tags/n3.4
James Almer Anton Khirnov 9 years ago
parent
commit
45d199d5b0
1 changed files with 10 additions and 2 deletions
  1. +10
    -2
      libavcodec/aac_adtstoasc_bsf.c

+ 10
- 2
libavcodec/aac_adtstoasc_bsf.c View File

@@ -135,8 +135,16 @@ fail:

static int aac_adtstoasc_init(AVBSFContext *ctx)
{
av_freep(&ctx->par_out->extradata);
ctx->par_out->extradata_size = 0;
/* Validate the extradata if the stream is already MPEG-4 AudioSpecificConfig */
if (ctx->par_in->extradata) {
MPEG4AudioConfig mp4ac;
int ret = avpriv_mpeg4audio_get_config(&mp4ac, ctx->par_in->extradata,
ctx->par_in->extradata_size * 8, 1);
if (ret < 0) {
av_log(ctx, AV_LOG_ERROR, "Error parsing AudioSpecificConfig extradata!\n");
return ret;
}
}

return 0;
}


Loading…
Cancel
Save