rtpenc: Add support for G726 audio
authorMartin Storsjö <martin@martin.st>
Wed, 30 Nov 2011 21:11:50 +0000 (23:11 +0200)
committerMartin Storsjö <martin@martin.st>
Thu, 1 Dec 2011 21:19:25 +0000 (23:19 +0200)
Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/rtpenc.c
libavformat/sdp.c

index 7434837..1f036a6 100644 (file)
@@ -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);
index ba3d4dd..f0d4253 100644 (file)
@@ -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;