mlp_parser: dont override existing channel geometry.

This prevents race conditions
And partly fixes Ticket1726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-09-25 22:35:26 +02:00
parent d25f87f517
commit 2a672652bb

View File

@ -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;