summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLubos Dolezel <lubos@dolezel.info>2015-06-11 15:32:22 +0200
committerLubos Dolezel <lubos@dolezel.info>2015-06-11 15:32:22 +0200
commit987e283e9f3aa052669c3902f1a910a0501b75bc (patch)
tree753d645532d9a53bf5550b4c5a07bbd83ffa987f /src
parentbaedd87c10dabb9178ec870ea43185f4c34795ea (diff)
downloadtwinkle-987e283e9f3aa052669c3902f1a910a0501b75bc.tar
twinkle-987e283e9f3aa052669c3902f1a910a0501b75bc.tar.gz
twinkle-987e283e9f3aa052669c3902f1a910a0501b75bc.tar.lz
twinkle-987e283e9f3aa052669c3902f1a910a0501b75bc.tar.xz
twinkle-987e283e9f3aa052669c3902f1a910a0501b75bc.zip
Some initial changes for G.729A support (issue #15)
Diffstat (limited to 'src')
-rw-r--r--src/audio/audio_codecs.h3
-rw-r--r--src/sdp/sdp.cpp10
-rw-r--r--src/sdp/sdp.h3
3 files changed, 15 insertions, 1 deletions
diff --git a/src/audio/audio_codecs.h b/src/audio/audio_codecs.h
index 54967b1..30011bb 100644
--- a/src/audio/audio_codecs.h
+++ b/src/audio/audio_codecs.h
@@ -37,7 +37,8 @@ enum t_audio_codec {
CODEC_G726_24,
CODEC_G726_32,
CODEC_G726_40,
- CODEC_TELEPHONE_EVENT
+ CODEC_TELEPHONE_EVENT,
+ CODEC_G729A
};
// Default ptime values (ms) for audio codecs
diff --git a/src/sdp/sdp.cpp b/src/sdp/sdp.cpp
index 3c9a93d..ba683c5 100644
--- a/src/sdp/sdp.cpp
+++ b/src/sdp/sdp.cpp
@@ -342,6 +342,16 @@ void t_sdp_media::add_format(unsigned short f, t_audio_codec codec) {
string fmtp = int2str(f);
fmtp += ' ';
fmtp += "0-15";
+
+ attributes.push_back(t_sdp_attr("fmtp", fmtp));
+ }
+ else if (codec == CODEC_G729A)
+ {
+ string fmtp = int2str(f);
+
+ fmtp += ' ';
+ fmtp += "annexb=no"; // annexb=no means G729A
+
attributes.push_back(t_sdp_attr("fmtp", fmtp));
}
}
diff --git a/src/sdp/sdp.h b/src/sdp/sdp.h
index 92edebe..4a3833d 100644
--- a/src/sdp/sdp.h
+++ b/src/sdp/sdp.h
@@ -34,6 +34,7 @@
#define SDP_FORMAT_G711_ULAW 0
#define SDP_FORMAT_GSM 3
#define SDP_FORMAT_G711_ALAW 8
+#define SDP_FORMAT_G729 18
// rtpmap values
#define SDP_RTPMAP_G711_ULAW "PCMU/8000"
@@ -47,6 +48,7 @@
#define SDP_RTPMAP_G726_24 "G726-24/8000"
#define SDP_RTPMAP_G726_32 "G726-32/8000"
#define SDP_RTPMAP_G726_40 "G726-40/8000"
+#define SDP_RTPMAP_G729A "G729/8000"
#define SDP_RTPMAP_TELEPHONE_EV "telephone-event/8000"
// Audio codec names
@@ -59,6 +61,7 @@
#define SDP_AC_NAME_G726_24 "G726-24"
#define SDP_AC_NAME_G726_32 "G726-32"
#define SDP_AC_NAME_G726_40 "G726-40"
+#define SDP_AC_NAME_G729 "G729"
#define SDP_AC_NAME_TELEPHONE_EV "telephone-event"
// Check on fmtp parameter values