aac_latm_dec: use aac context and aac m4ac

When decoding latm config, use the corresponding aac context and its
m4ac instead of using NULL and a local variable. This fixes decoding of
audio in MPEG TS from SBTVD (the Brazillian Digital TV Sytem), when
there is no extradata. This is the case when using the decoder with
gst-ffmpeg and a GStreamer mpegts demuxer.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
Thadeu Lima de Souza Cascardo 2011-03-01 09:46:12 -03:00 committed by Ronald S. Bultje
parent 2d9a101a1f
commit 36864ac354
1 changed files with 2 additions and 2 deletions

View File

@ -2248,7 +2248,6 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
GetBitContext *gb) GetBitContext *gb)
{ {
AVCodecContext *avctx = latmctx->aac_ctx.avctx; AVCodecContext *avctx = latmctx->aac_ctx.avctx;
MPEG4AudioConfig m4ac;
int config_start_bit = get_bits_count(gb); int config_start_bit = get_bits_count(gb);
int bits_consumed, esize; int bits_consumed, esize;
@ -2258,7 +2257,8 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} else { } else {
bits_consumed = bits_consumed =
decode_audio_specific_config(NULL, avctx, &m4ac, decode_audio_specific_config(&latmctx->aac_ctx, avctx,
&latmctx->aac_ctx.m4ac,
gb->buffer + (config_start_bit / 8), gb->buffer + (config_start_bit / 8),
get_bits_left(gb) / 8); get_bits_left(gb) / 8);