If AVCodecContext.channel_layout and AVCodecContext.channels are both
non-zero, check to make sure they do not contradict eachother.
This commit is contained in:
parent
3dfc3e70c0
commit
168f9e8c40
@ -578,6 +578,13 @@ int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (avctx->channel_layout && avctx->channels) {
|
||||||
|
if (av_get_channel_layout_nb_channels(avctx->channel_layout) != avctx->channels) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "channel layout does not match number of channels\n");
|
||||||
|
ret = AVERROR(EINVAL);
|
||||||
|
goto free_and_end;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(avctx->codec->init && !(avctx->active_thread_type&FF_THREAD_FRAME)){
|
if(avctx->codec->init && !(avctx->active_thread_type&FF_THREAD_FRAME)){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user