summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_g726.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2011-12-01 10:45:26 +0200
committerMartin Storsjö <martin@martin.st>2011-12-01 23:19:24 +0200
commitfa6dce4c572fd52266201f1c9d83d26bc662bf56 (patch)
tree73f49afd3822025b71c58a3fa827f29a63643127 /libavformat/rtpdec_g726.c
parent77e0c7584b595edcec7bf393c0e77dbcfe2a8cb4 (diff)
rtpdec: Interpret the different G726 names as bits_per_coded_sample
For the standardized 8 kHz sample rate, this works exactly the same. For nonstandard sample rates, the different predefined G726 names (G726-16, G726-24, G726-32, G726-40) are interpreted as an indication of the bits per coded sample, even though their actual bitrates aren't what the name specifies. This feels more sane than using free-form names for nonstandard sample rate/bitrate combinations, e.g like G726-22, G726-33 for 11025 Hz. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/rtpdec_g726.c')
-rw-r--r--libavformat/rtpdec_g726.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libavformat/rtpdec_g726.c b/libavformat/rtpdec_g726.c
index 5735c2cba6..4a0b6acf59 100644
--- a/libavformat/rtpdec_g726.c
+++ b/libavformat/rtpdec_g726.c
@@ -27,10 +27,8 @@ static int g726_ ## bitrate ##_init(AVFormatContext *s, int st_index, PayloadCon
AVStream *stream = s->streams[st_index]; \
AVCodecContext *codec = stream->codec; \
\
- codec->bit_rate = bitrate*1000; \
- if (codec->sample_rate) \
- codec->bits_per_coded_sample = \
- av_clip((codec->bit_rate + codec->sample_rate/2) / codec->sample_rate, 2, 5); \
+ codec->bits_per_coded_sample = bitrate/8; \
+ codec->bit_rate = codec->bits_per_coded_sample * codec->sample_rate; \
\
return 0; \
} \