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;