mirror of https://git.ffmpeg.org/ffmpeg.git
Warn if the source has unsupported (or no) channel layout.
This commit is contained in:
parent
f27ac6d83c
commit
6c93641683
|
@ -425,6 +425,28 @@ static av_cold int flac_encode_init(AVCodecContext *avctx)
|
|||
if (!avctx->coded_frame)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
if (channels == 3 &&
|
||||
avctx->channel_layout != (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER) ||
|
||||
channels == 4 &&
|
||||
avctx->channel_layout != AV_CH_LAYOUT_2_2 &&
|
||||
avctx->channel_layout != AV_CH_LAYOUT_QUAD ||
|
||||
channels == 5 &&
|
||||
avctx->channel_layout != AV_CH_LAYOUT_5POINT0 &&
|
||||
avctx->channel_layout != AV_CH_LAYOUT_5POINT0_BACK ||
|
||||
channels == 6 &&
|
||||
avctx->channel_layout != AV_CH_LAYOUT_5POINT1 &&
|
||||
avctx->channel_layout != AV_CH_LAYOUT_5POINT1_BACK) {
|
||||
if (avctx->channel_layout) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Channel layout not supported by Flac, "
|
||||
"output stream will have incorrect "
|
||||
"channel layout.\n");
|
||||
} else {
|
||||
av_log(avctx, AV_LOG_WARNING, "No channel layout specified. The encoder "
|
||||
"will use Flac channel layout for "
|
||||
"%d channels.\n", channels);
|
||||
}
|
||||
}
|
||||
|
||||
ret = ff_lpc_init(&s->lpc_ctx, avctx->frame_size,
|
||||
s->options.max_prediction_order, AV_LPC_TYPE_LEVINSON);
|
||||
|
||||
|
|
Loading…
Reference in New Issue