From bfd089516ad8a39a9d0d175d77c06f06be87c257 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Sat, 5 Feb 2022 23:56:55 +0100 Subject: RTP: Add support for G.722 --- plugins/rtp/src/codec_util.vala | 4 ++++ plugins/rtp/src/module.vala | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'plugins/rtp/src') diff --git a/plugins/rtp/src/codec_util.vala b/plugins/rtp/src/codec_util.vala index 51b37e31..443baa7e 100644 --- a/plugins/rtp/src/codec_util.vala +++ b/plugins/rtp/src/codec_util.vala @@ -91,6 +91,8 @@ public class Dino.Plugins.Rtp.CodecUtil { return new string[] {"alawenc"}; case "pcmu": return new string[] {"mulawenc"}; + case "g722": + return new string[] {"avenc_g722"}; } } else if (media == "video") { switch (codec) { @@ -117,6 +119,8 @@ public class Dino.Plugins.Rtp.CodecUtil { return new string[] {"alawdec"}; case "pcmu": return new string[] {"mulawdec"}; + case "g722": + return new string[] {"avdec_g722"}; } } else if (media == "video") { switch (codec) { diff --git a/plugins/rtp/src/module.vala b/plugins/rtp/src/module.vala index 4f48b6c4..c78fb274 100644 --- a/plugins/rtp/src/module.vala +++ b/plugins/rtp/src/module.vala @@ -131,17 +131,19 @@ public class Dino.Plugins.Rtp.Module : JingleRtp.Module { public override async Gee.List get_supported_payloads(string media) { Gee.List list = new ArrayList(JingleRtp.PayloadType.equals_func); if (media == "audio") { - var opus = new JingleRtp.PayloadType() { channels = 1, clockrate = 48000, name = "opus", id = 99 }; + var opus = new JingleRtp.PayloadType() { channels = 1, clockrate = 48000, name = "opus", id = 111 }; opus.parameters["useinbandfec"] = "1"; - var speex32 = new JingleRtp.PayloadType() { channels = 1, clockrate = 32000, name = "speex", id = 100 }; - var speex16 = new JingleRtp.PayloadType() { channels = 1, clockrate = 16000, name = "speex", id = 101 }; - var speex8 = new JingleRtp.PayloadType() { channels = 1, clockrate = 8000, name = "speex", id = 102 }; + var speex32 = new JingleRtp.PayloadType() { channels = 1, clockrate = 32000, name = "speex", id = 112 }; + var speex16 = new JingleRtp.PayloadType() { channels = 1, clockrate = 16000, name = "speex", id = 113 }; + var speex8 = new JingleRtp.PayloadType() { channels = 1, clockrate = 8000, name = "speex", id = 114 }; + var g722 = new JingleRtp.PayloadType() { channels = 1, clockrate = 8000, name = "G722", id = 9 }; var pcmu = new JingleRtp.PayloadType() { channels = 1, clockrate = 8000, name = "PCMU", id = 0 }; var pcma = new JingleRtp.PayloadType() { channels = 1, clockrate = 8000, name = "PCMA", id = 8 }; yield add_if_supported(list, media, opus); yield add_if_supported(list, media, speex32); yield add_if_supported(list, media, speex16); yield add_if_supported(list, media, speex8); + yield add_if_supported(list, media, g722); yield add_if_supported(list, media, pcmu); yield add_if_supported(list, media, pcma); } else if (media == "video") { @@ -234,4 +236,4 @@ public class Dino.Plugins.Rtp.Module : JingleRtp.Module { Crypto.randomize(key_and_salt); return remote.rekey(key_and_salt); } -} \ No newline at end of file +} -- cgit v1.2.3-70-g09d2