diff options
author | Marvin W <git@larma.de> | 2021-12-23 06:39:18 +0100 |
---|---|---|
committer | Marvin W <git@larma.de> | 2021-12-23 07:06:07 +0100 |
commit | 1c4765281443e2a184157f319825c9b68665f9f5 (patch) | |
tree | a7e76078ba8f5308abaa0bf59a87f95298afd284 | |
parent | d02c5bc55d4325de308a592e8980139aa0634215 (diff) | |
download | dino-1c4765281443e2a184157f319825c9b68665f9f5.tar.gz dino-1c4765281443e2a184157f319825c9b68665f9f5.zip |
Fix build with older Vala compilers
- Older versions seem to assume a wrong type for Nice messages
- Older versions have broken bindings for Gst.Value.set_fraction
-rw-r--r-- | plugins/ice/src/transport_parameters.vala | 6 | ||||
-rw-r--r-- | plugins/rtp/src/video_widget.vala | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/plugins/ice/src/transport_parameters.vala b/plugins/ice/src/transport_parameters.vala index f684e411..73cf6166 100644 --- a/plugins/ice/src/transport_parameters.vala +++ b/plugins/ice/src/transport_parameters.vala @@ -45,11 +45,13 @@ public class Dino.Plugins.Ice.TransportParameters : JingleIceUdp.IceUdpTransport if (encrypted_data == null) return; // TODO: Nonblocking might require certain libnice versions? GLib.OutputVector[] vectors = {{ encrypted_data, encrypted_data.length }}; - Nice.OutputMessage[] messages = {{ vectors }}; + Nice.OutputMessage message = { vectors }; + Nice.OutputMessage[] messages = { message }; agent.send_messages_nonblocking(stream_id, component_id, messages); } else { GLib.OutputVector[] vectors = {{ datagram.get_data(), datagram.get_size() }}; - Nice.OutputMessage[] messages = {{ vectors }}; + Nice.OutputMessage message = { vectors }; + Nice.OutputMessage[] messages = { message }; agent.send_messages_nonblocking(stream_id, component_id, messages); } bytes_sent += datagram.length; diff --git a/plugins/rtp/src/video_widget.vala b/plugins/rtp/src/video_widget.vala index 3daf5284..76e4dcca 100644 --- a/plugins/rtp/src/video_widget.vala +++ b/plugins/rtp/src/video_widget.vala @@ -1,3 +1,8 @@ +#if !VALA_0_52 +[CCode (cheader_filename = "gst/gst.h")] +private static extern void gst_value_set_fraction(ref GLib.Value value, int numerator, int denominator); +#endif + public class Dino.Plugins.Rtp.VideoWidget : Gtk.Bin, Dino.Plugins.VideoCallWidget { private static uint last_id = 0; @@ -50,7 +55,11 @@ public class Dino.Plugins.Rtp.VideoWidget : Gtk.Bin, Dino.Plugins.VideoCallWidge Gst.Element crop = ((Gst.Bin)prepare).get_by_name(@"video_widget_$(id)_crop"); if (crop != null) { Value ratio = new Value(typeof(Gst.Fraction)); +#if VALA_0_52 Gst.Value.set_fraction(ref ratio, allocation.width, allocation.height); +#else + gst_value_set_fraction(ref ratio, allocation.width, allocation.height); +#endif crop.set_property("aspect-ratio", ratio); } } |