OSDN Git Service

Print a list of valid AMR bitrates if a wrong one is used.
authorVíctor Paesa <wzrlpy@arsystel.com>
Sat, 7 Apr 2007 11:57:35 +0000 (11:57 +0000)
committerDiego Biurrun <diego@biurrun.de>
Sat, 7 Apr 2007 11:57:35 +0000 (11:57 +0000)
patch by Víctor Paesa, wzrlpy arsystel com

Originally committed as revision 8639 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/amr.c

index 46c35d4..9c4d699 100644 (file)
 #include "amr_float/interf_enc.h"
 #endif
 
+static const char *nb_bitrate_unsupported =
+    "bitrate not supported: use one of 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k or 12.2k\n";
+static const char *wb_bitrate_unsupported =
+    "bitrate not supported: use one of 6.6k, 8.85k, 12.65k, 14.25k, 15.85k, 18.25k, 19.85k, 23.05k, or 23.85k\n";
+
 /* Common code for fixed and float version*/
 typedef struct AMR_bitrates
 {
@@ -217,7 +222,7 @@ static int amr_nb_encode_init(AVCodecContext * avctx)
 
     if((s->enc_bitrate=getBitrateMode(avctx->bit_rate))<0)
     {
-        av_log(avctx, AV_LOG_ERROR, "bitrate not supported\n");
+        av_log(avctx, AV_LOG_ERROR, nb_bitrate_unsupported);
         return -1;
     }
 
@@ -414,7 +419,7 @@ static int amr_nb_encode_init(AVCodecContext * avctx)
 
     if((s->enc_bitrate=getBitrateMode(avctx->bit_rate))<0)
     {
-        av_log(avctx, AV_LOG_ERROR, "bitrate not supported\n");
+        av_log(avctx, AV_LOG_ERROR, nb_bitrate_unsupported);
         return -1;
     }
 
@@ -475,7 +480,7 @@ static int amr_nb_encode_frame(AVCodecContext *avctx,
 
     if((s->enc_bitrate=getBitrateMode(avctx->bit_rate))<0)
     {
-        av_log(avctx, AV_LOG_ERROR, "bitrate not supported\n");
+        av_log(avctx, AV_LOG_ERROR, nb_bitrate_unsupported);
         return -1;
     }
 
@@ -591,7 +596,7 @@ static int amr_wb_encode_init(AVCodecContext * avctx)
 
     if((s->mode=getWBBitrateMode(avctx->bit_rate))<0)
     {
-        av_log(avctx, AV_LOG_ERROR, "bitrate not supported\n");
+        av_log(avctx, AV_LOG_ERROR, wb_bitrate_unsupported);
         return -1;
     }
 
@@ -622,7 +627,7 @@ static int amr_wb_encode_frame(AVCodecContext *avctx,
 
     if((s->mode=getWBBitrateMode(avctx->bit_rate))<0)
     {
-        av_log(avctx, AV_LOG_ERROR, "bitrate not supported\n");
+        av_log(avctx, AV_LOG_ERROR, wb_bitrate_unsupported);
         return -1;
     }
     size = E_IF_encode(s->state, s->mode, data, frame, s->allow_dtx);