diff options
author | Marvin W <git@larma.de> | 2022-02-05 23:56:55 +0100 |
---|---|---|
committer | Marvin W <git@larma.de> | 2022-02-06 00:19:26 +0100 |
commit | bfd089516ad8a39a9d0d175d77c06f06be87c257 (patch) | |
tree | 57a2cb6facc6b31adcd788748c0a7907f7a85344 | |
parent | 51dc41463134a07a5768fcd46243f97f8da077bb (diff) | |
download | dino-bfd089516ad8a39a9d0d175d77c06f06be87c257.tar.gz dino-bfd089516ad8a39a9d0d175d77c06f06be87c257.zip |
RTP: Add support for G.722
-rw-r--r-- | plugins/rtp/src/codec_util.vala | 4 | ||||
-rw-r--r-- | plugins/rtp/src/module.vala | 12 |
2 files changed, 11 insertions, 5 deletions
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<JingleRtp.PayloadType> get_supported_payloads(string media) { Gee.List<JingleRtp.PayloadType> list = new ArrayList<JingleRtp.PayloadType>(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 +} |