diff --git a/darkice/trunk/src/VorbisLibEncoder.cpp b/darkice/trunk/src/VorbisLibEncoder.cpp index 2ea0565..e4a7456 100644 --- a/darkice/trunk/src/VorbisLibEncoder.cpp +++ b/darkice/trunk/src/VorbisLibEncoder.cpp @@ -40,7 +40,7 @@ #include "Exception.h" #include "Util.h" #include "VorbisLibEncoder.h" - +#define VORBIS_MIN_BITRATE 45 /* =================================================== local data structures */ @@ -79,6 +79,15 @@ VorbisLibEncoder :: init ( unsigned int outMaxBitrate ) getInChannel() ); } + if ( getOutBitrateMode() == abr || getOutBitrateMode() == cbr ) { + if ( getOutBitrate() < VORBIS_MIN_BITRATE ) { + throw Exception( __FILE__, __LINE__, + "output bitrate is lower than libvorbis minimum", + getOutBitrate() ); + } + + } + if ( getOutSampleRate() == getInSampleRate() ) { resampleRatio = 1; converter = 0;