From befc473c0075ba5afbd38b8fb0c33cd07deec51d Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Wed, 2 Nov 2011 23:02:52 -0400 Subject: mpc7: only support stereo input. The Musepack SV7 reference encoder converts mono to stereo when encoding. --- libavcodec/mpc7.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libavcodec/mpc7.c') diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c index 60b9f525c2..576400d720 100644 --- a/libavcodec/mpc7.c +++ b/libavcodec/mpc7.c @@ -61,6 +61,13 @@ static av_cold int mpc7_decode_init(AVCodecContext * avctx) static VLC_TYPE hdr_table[1 << MPC7_HDR_BITS][2]; static VLC_TYPE quant_tables[7224][2]; + /* Musepack SV7 is always stereo */ + if (avctx->channels != 2) { + av_log_ask_for_sample(avctx, "Unsupported number of channels: %d\n", + avctx->channels); + return AVERROR_PATCHWELCOME; + } + if(avctx->extradata_size < 16){ av_log(avctx, AV_LOG_ERROR, "Too small extradata size (%i)!\n", avctx->extradata_size); return -1; @@ -88,7 +95,7 @@ static av_cold int mpc7_decode_init(AVCodecContext * avctx) c->frames_to_skip = 0; avctx->sample_fmt = AV_SAMPLE_FMT_S16; - avctx->channel_layout = (avctx->channels==2) ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO; + avctx->channel_layout = AV_CH_LAYOUT_STEREO; if(vlc_initialized) return 0; av_log(avctx, AV_LOG_DEBUG, "Initing VLC\n"); -- cgit v1.2.3