On Wed, 26 Apr 2017 11:08:17 -0400
Vittorio Giovara <[email protected]> wrote:

> request_channel_layout is a decoder option and it makes no sense
> to have it in a parser.
> 
> This feature was needed in the past when the decoder was allowed
> to reuse the avctx from the demuxer. Nowadays the decoder receives
> only the parameters from it, already containing the real channel
> layout (and the correct request_channel_layout option).
> 
> After initialization the decoder overwrites the channel layout
> with the downmixed one that is actually output, so there is no need
> to preserve this functionality in the parser.
> 
> Signed  Vittorio Giovara <[email protected]>
> 
> Signed-off-by: Vittorio Giovara <[email protected]>
> ---
>  libavcodec/aac_ac3_parser.c | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
> index 806a826ea0..b1622b534c 100644
> --- a/libavcodec/aac_ac3_parser.c
> +++ b/libavcodec/aac_ac3_parser.c
> @@ -83,19 +83,6 @@ get_next:
>      if (avctx->codec_id != AV_CODEC_ID_AAC) {
>          avctx->sample_rate = s->sample_rate;
>  
> -        /* (E-)AC-3: allow downmixing to stereo or mono */
> -        if (s->channels > 1 &&
> -            avctx->request_channel_layout == AV_CH_LAYOUT_MONO) {
> -            avctx->channels       = 1;
> -            avctx->channel_layout = AV_CH_LAYOUT_MONO;
> -        } else if (s->channels > 2 &&
> -                   avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) {
> -            avctx->channels       = 2;
> -            avctx->channel_layout = AV_CH_LAYOUT_STEREO;
> -        } else {
> -            avctx->channels = s->channels;
> -            avctx->channel_layout = s->channel_layout;
> -        }
>          s1->duration = s->samples;
>          avctx->audio_service_type = s->service_type;
>      }

+1 on the idea.

You still should set avctx->channels though.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to