mirror of
https://github.com/TakeV-Lambda/dino.git
synced 2024-11-21 22:44:23 +00:00
RTP: Add support for G.722
This commit is contained in:
parent
51dc414631
commit
bfd089516a
2 changed files with 11 additions and 5 deletions
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue