Browse Source

avcodec: validate the channel layout vs. channel count for decoders

Set avctx->channel_layout to 0 if the channel count does not match
avctx->channels.
tags/n0.11
Justin Ruggles 14 years ago
parent
commit
1337de0c4b
1 changed files with 9 additions and 0 deletions
  1. +9
    -0
      libavcodec/utils.c

+ 9
- 0
libavcodec/utils.c View File

@@ -810,6 +810,15 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVD
goto free_and_end;
}
}

if (av_codec_is_decoder(avctx->codec)) {
/* validate channel layout from the decoder */
if (avctx->channel_layout &&
av_get_channel_layout_nb_channels(avctx->channel_layout) != avctx->channels) {
av_log(avctx, AV_LOG_WARNING, "channel layout does not match number of channels\n");
avctx->channel_layout = 0;
}
}
end:
entangled_thread_counter--;



Loading…
Cancel
Save