mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
2d9a101a1f
commit
36864ac354
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue