diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c index 7c0630caac..5fb1424b46 100644 --- a/libavcodec/mlp_parser.c +++ b/libavcodec/mlp_parser.c @@ -317,6 +317,7 @@ static int mlp_parse(AVCodecParserContext *s, avctx->sample_rate = mh.group1_samplerate; s->duration = mh.access_unit_size; + if(!avctx->channels || !avctx->channel_layout) { if (mh.stream_type == 0xbb) { /* MLP stream */ avctx->channels = mlp_channels[mh.channels_mlp]; @@ -331,6 +332,7 @@ static int mlp_parse(AVCodecParserContext *s, avctx->channel_layout = ff_truehd_layout(mh.channels_thd_stream1); } } + } if (!mh.is_vbr) /* Stream is CBR */ avctx->bit_rate = mh.peak_bitrate;