[FFmpeg-devel] [PATCH] Improve channel count and bitrate error handling in wmav* encode_init()

Michael Niedermayer michaelni at gmx.at
Mon Mar 21 15:18:50 CET 2011


On Mon, Mar 21, 2011 at 01:11:45PM +0100, Michael Niedermayer wrote:
> On Mon, Mar 21, 2011 at 11:23:42AM +0100, Tomas Härdin wrote:
> > Hi
> >
> > The wmav* encoders silently fail if the input has too many channels or  
> > too low bitrate. The attached patch adds some error logging and better  
> > return values.
> >
> > /Tomas
> 
> >  wmaenc.c |   14 ++++++++++----
> >  1 file changed, 10 insertions(+), 4 deletions(-)
> > b0cfbf8949e446c14d59bc27b2bdb79dbe6a1976  0001-Improve-channel-count-and-bitrate-error-handling-in-.patch
> > From eda380ca1c8ca5b090cc69ad091d27df6ae9d3bf Mon Sep 17 00:00:00 2001
> > From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= <tomas.hardin at codemill.se>
> > Date: Mon, 21 Mar 2011 10:52:36 +0100
> > Subject: [PATCH] Improve channel count and bitrate error handling in wmav* encode_init()
> > 
> > ---
> >  libavcodec/wmaenc.c |   16 +++++++++++-----
> >  1 files changed, 11 insertions(+), 5 deletions(-)
> > 
> > diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
> > index 4e54a70..94ea9bb 100644
> > --- a/libavcodec/wmaenc.c
> > +++ b/libavcodec/wmaenc.c
> > @@ -33,11 +33,17 @@ static int encode_init(AVCodecContext * avctx){
> >  
> >      s->avctx = avctx;
> >  
> > -    if(avctx->channels > MAX_CHANNELS)
> > -        return -1;
> > +    if(avctx->channels > MAX_CHANNELS) {
> > +        av_log(avctx, AV_LOG_ERROR, "too many channels: got %i, need %i or fewer",
> > +               avctx->channels, MAX_CHANNELS);
> > +        return AVERROR(EINVAL);
> > +    }
> 
> ok
> 
> 
> >  
> > -    if(avctx->bit_rate < 24*1000)
> > -        return -1;
> > +    if(avctx->bit_rate < 24*1000) {
> > +        av_log(avctx, AV_LOG_ERROR, "bitrate too low: got %i, need 24000 or higher\n",
> > +               avctx->bit_rate);
> > +        return AVERROR(EINVAL);
> > +    }
> 
> i dont think this is correct, the minimum should depend on chan num & samplerate
> i think

anyway,ive applied it as its improving the situation but teh 24kbps should
probably be checked

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110321/d8a119cf/attachment.asc>


More information about the ffmpeg-devel mailing list