aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2011-11-30 23:11:50 +0200
committerMartin Storsjö <martin@martin.st>2011-12-01 23:19:25 +0200
commit04403ec2e405a3cfcfbdd45f1274be30c652e462 (patch)
treefe21c357be17e094ec500dc1daae7fb13bb95156
parentfa6dce4c572fd52266201f1c9d83d26bc662bf56 (diff)
downloadffmpeg-04403ec2e405a3cfcfbdd45f1274be30c652e462.tar.gz
rtpenc: Add support for G726 audio
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/rtpenc.c5
-rw-r--r--libavformat/sdp.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
index 7434837a02..1f036a6baf 100644
--- a/libavformat/rtpenc.c
+++ b/libavformat/rtpenc.c
@@ -72,6 +72,7 @@ static int is_supported(enum CodecID id)
case CODEC_ID_THEORA:
case CODEC_ID_VP8:
case CODEC_ID_ADPCM_G722:
+ case CODEC_ID_ADPCM_G726:
return 1;
default:
return 0;
@@ -411,6 +412,10 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt)
* clock. */
rtp_send_samples(s1, pkt->data, size, 8 * st->codec->channels);
break;
+ case CODEC_ID_ADPCM_G726:
+ rtp_send_samples(s1, pkt->data, size,
+ st->codec->bits_per_coded_sample * st->codec->channels);
+ break;
case CODEC_ID_MP2:
case CODEC_ID_MP3:
rtp_send_mpegaudio(s1, pkt->data, size);
diff --git a/libavformat/sdp.c b/libavformat/sdp.c
index ba3d4dd611..f0d4253da2 100644
--- a/libavformat/sdp.c
+++ b/libavformat/sdp.c
@@ -517,6 +517,14 @@ static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c,
payload_type,
8000, c->channels);
break;
+ case CODEC_ID_ADPCM_G726: {
+ if (payload_type >= RTP_PT_PRIVATE)
+ av_strlcatf(buff, size, "a=rtpmap:%d G726-%d/%d\r\n",
+ payload_type,
+ c->bits_per_coded_sample*8,
+ c->sample_rate);
+ break;
+ }
default:
/* Nothing special to do here... */
break;