aboutsummaryrefslogtreecommitdiff
path: root/plugins/rtp/src/plugin.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2021-04-29 15:46:06 +0200
committerMarvin W <git@larma.de>2021-04-29 15:53:59 +0200
commit3880628de4785db4c0a03a79a0c486507fe9b1a8 (patch)
tree488180882a2a60576c68e688b743acfaff8d32f7 /plugins/rtp/src/plugin.vala
parent328c3cf37f296f4519829afd03d21f94ea4153e5 (diff)
downloaddino-3880628de4785db4c0a03a79a0c486507fe9b1a8.tar.gz
dino-3880628de4785db4c0a03a79a0c486507fe9b1a8.zip
Video optimizations
Diffstat (limited to 'plugins/rtp/src/plugin.vala')
-rw-r--r--plugins/rtp/src/plugin.vala14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/rtp/src/plugin.vala b/plugins/rtp/src/plugin.vala
index 40ad1e0f..f0ad7db2 100644
--- a/plugins/rtp/src/plugin.vala
+++ b/plugins/rtp/src/plugin.vala
@@ -65,6 +65,9 @@ public class Dino.Plugins.Rtp.Plugin : RootInterface, VideoCallPlugin, Object {
}
rtpbin.pad_added.connect(on_rtp_pad_added);
rtpbin.@set("latency", 100);
+ rtpbin.@set("do-lost", true);
+ rtpbin.@set("do-sync-event", true);
+ rtpbin.@set("drop-on-latency", true);
rtpbin.connect("signal::request-pt-map", request_pt_map, this);
pipe.add(rtpbin);
@@ -160,6 +163,17 @@ public class Dino.Plugins.Rtp.Plugin : RootInterface, VideoCallPlugin, Object {
case Gst.MessageType.QOS:
// Ignore
break;
+ case Gst.MessageType.LATENCY:
+ if (message.src != null && message.src.name != null && message.src is Gst.Element) {
+ Gst.Query latency_query = new Gst.Query.latency();
+ if (((Gst.Element)message.src).query(latency_query)) {
+ bool live;
+ Gst.ClockTime min_latency, max_latency;
+ latency_query.parse_latency(out live, out min_latency, out max_latency);
+ debug("Latency message from %s: live=%s, min_latency=%s, max_latency=%s", message.src.name, live.to_string(), min_latency.to_string(), max_latency.to_string());
+ }
+ }
+ break;
default:
debug("Pipe bus message: %s", message.type.to_string());
break;