diff options
author | Michel Bardiaux <mbardiaux@mediaxim.be> | 2008-04-25 13:05:15 +0000 |
---|---|---|
committer | Michel Bardiaux <mbardiaux@mediaxim.be> | 2008-04-25 13:05:15 +0000 |
commit | 96ddaff5ec76f40d4ea6d00f07ff246388db4835 (patch) | |
tree | a43219d7cf5d8174d764d53b73df34c7dbd27557 /libavcodec/libgsm.c | |
parent | 37ffe34bf3f5f641a5a7b1193cc8441460996e0b (diff) | |
download | ffmpeg-96ddaff5ec76f40d4ea6d00f07ff246388db4835.tar.gz |
Allow bitrates zero and 13200 (needed for decoding mov and aiff)
Originally committed as revision 12953 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/libgsm.c')
-rw-r--r-- | libavcodec/libgsm.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index 3ae5567f72..82e00b1f51 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -36,8 +36,23 @@ #define GSM_FRAME_SIZE 160 static av_cold int libgsm_init(AVCodecContext *avctx) { - if (avctx->channels > 1 || avctx->sample_rate != 8000 || avctx->bit_rate != 13000) + if (avctx->channels > 1) { + av_log(avctx, AV_LOG_ERROR, "Mono required for GSM, got %d channels\n", + avctx->channels); return -1; + } + if (avctx->sample_rate != 8000) { + av_log(avctx, AV_LOG_ERROR, "Sample rate 8000Hz required for GSM, got %dHz\n", + avctx->sample_rate); + return -1; + } + if (avctx->bit_rate != 13000 /* Official */ && + avctx->bit_rate != 13200 /* Very common */ && + avctx->bit_rate != 0 /* Unknown; a.o. mov does not set bitrate when decoding */ ) { + av_log(avctx, AV_LOG_ERROR, "Bitrate 13000bps required for GSM, got %dbps\n", + avctx->bit_rate); + return -1; + } avctx->priv_data = gsm_create(); |