On 26/05/14 13:56, Anton Khirnov wrote:
> The channel layout mask for non-standard layouts is typically stored at
> the container level (as a vorbiscomment tag) for FLAC.
> ---
>  libavcodec/flac.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/flac.c b/libavcodec/flac.c
> index b3e3847..e6a8ab8 100644
> --- a/libavcodec/flac.c
> +++ b/libavcodec/flac.c
> @@ -225,7 +225,10 @@ void avpriv_flac_parse_streaminfo(AVCodecContext *avctx, 
> struct FLACStreaminfo *
>      avctx->channels = s->channels;
>      avctx->sample_rate = s->samplerate;
>      avctx->bits_per_raw_sample = s->bps;
> -    ff_flac_set_channel_layout(avctx);
> +
> +    if (!avctx->channel_layout ||
> +        av_get_channel_layout_nb_channels(avctx->channel_layout) != 
> avctx->channels)
> +        ff_flac_set_channel_layout(avctx);
>  
>      s->samples  = get_bits_long(&gb, 32) << 4;
>      s->samples |= get_bits(&gb, 4);
> 
Ok.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to