Browse Source

Print a list of valid AMR bitrates if a wrong one is used.

patch by Víctor Paesa, wzrlpy arsystel com

Originally committed as revision 8639 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Víctor Paesa Diego Biurrun 19 years ago
parent
commit
414425e064
1 changed files with 10 additions and 5 deletions
  1. +10
    -5
      libavcodec/amr.c

+ 10
- 5
libavcodec/amr.c View File

@@ -86,6 +86,11 @@
#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);


Loading…
Cancel
Save