From d40e4152ba483accb620b056c383480d896d0b05 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Sun, 18 Mar 2018 20:50:39 +0100 Subject: [PATCH] gstreamer-1.0: Add gstreamer-webrtc-1.0 bindings --- vapi/Makefile.am | 6 + vapi/gstreamer-webrtc-1.0.deps | 2 + vapi/gstreamer-webrtc-1.0.vapi | 199 +++++++++++++++++++++++++++++++++ 3 files changed, 207 insertions(+) create mode 100644 vapi/gstreamer-webrtc-1.0.deps create mode 100644 vapi/gstreamer-webrtc-1.0.vapi diff --git a/vapi/Makefile.am b/vapi/Makefile.am index ef3ea3920..5e0651365 100644 --- a/vapi/Makefile.am +++ b/vapi/Makefile.am @@ -162,6 +162,8 @@ dist_vapi_DATA = \ gstreamer-tag-1.0.deps \ gstreamer-video-1.0.vapi \ gstreamer-video-1.0.deps \ + gstreamer-webrtc-1.0.vapi \ + gstreamer-webrtc-1.0.deps \ gtk+-2.0.deps \ gtk+-2.0.vapi \ gtk+-3.0.deps \ @@ -416,6 +418,7 @@ GSTREAMER_1_0_BINDINGS = \ gstreamer-rtsp-server-1.0 \ gstreamer-tag-1.0 \ gstreamer-video-1.0 \ + gstreamer-webrtc-1.0 \ $(NULL) GIR_BINDINGS = \ @@ -697,6 +700,9 @@ gstreamer-tag-1.0: gstreamer-video-1.0: $(GENVAPI) --library $(srcdir)/gstreamer-video-1.0 --pkg gstreamer-base-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/GstVideo-1.0-custom.vala $(GIRDIR)/GstVideo-1.0.gir +gstreamer-webrtc-1.0: + $(GENVAPI) --library $(srcdir)/gstreamer-webrtc-1.0 --pkg gstreamer-base-1.0 --pkg gstreamer-sdp-1.0 --metadatadir $(METADATADIR) $(GIRDIR)/GstWebRTC-1.0.gir + gtk+-2.0: $(GENVAPI) --library $(srcdir)/gtk+-2.0 $(PACKAGESDIR)/gtk+-2.0/gtk+-2.0-custom.vala $(PACKAGESDIR)/gtk+-2.0/gtk+-2.0.gi diff --git a/vapi/gstreamer-webrtc-1.0.deps b/vapi/gstreamer-webrtc-1.0.deps new file mode 100644 index 000000000..1a6a33c0a --- /dev/null +++ b/vapi/gstreamer-webrtc-1.0.deps @@ -0,0 +1,2 @@ +gstreamer-base-1.0 +gstreamer-sdp-1.0 diff --git a/vapi/gstreamer-webrtc-1.0.vapi b/vapi/gstreamer-webrtc-1.0.vapi new file mode 100644 index 000000000..f8471e29a --- /dev/null +++ b/vapi/gstreamer-webrtc-1.0.vapi @@ -0,0 +1,199 @@ +/* gstreamer-webrtc-1.0.vapi generated by vapigen, do not modify. */ + +[CCode (cprefix = "Gst", gir_namespace = "GstWebRTC", gir_version = "1.0", lower_case_cprefix = "gst_")] +namespace Gst { + [CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_dtls_transport", type_id = "gst_webrtc_dtls_transport_get_type ()")] + public class WebRTCDTLSTransport : Gst.Object { + [CCode (array_length = false)] + public weak void* _padding[4]; + public weak Gst.Element dtlssrtpdec; + public weak Gst.Element dtlssrtpenc; + public bool is_rtcp; + [CCode (has_construct_function = false)] + public WebRTCDTLSTransport (uint session_id, bool rtcp); + public void set_transport (Gst.WebRTCICETransport ice); + [NoAccessorMethod] + public string certificate { owned get; set; } + [NoAccessorMethod] + public bool client { get; set; } + [NoAccessorMethod] + public string remote_certificate { owned get; } + [NoAccessorMethod] + public bool rtcp { get; construct; } + [NoAccessorMethod] + public uint session_id { get; construct; } + [NoAccessorMethod] + public Gst.WebRTCDTLSTransportState state { get; } + [NoAccessorMethod] + public Gst.WebRTCICETransport transport { owned get; } + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_ice_transport", type_id = "gst_webrtc_ice_transport_get_type ()")] + public abstract class WebRTCICETransport : Gst.Object { + [CCode (array_length = false)] + public weak void* _padding[4]; + public Gst.WebRTCICERole role; + public weak Gst.Element sink; + public weak Gst.Element src; + [CCode (has_construct_function = false)] + protected WebRTCICETransport (); + public void connection_state_change (Gst.WebRTCICEConnectionState new_state); + [NoWrapper] + public virtual bool gather_candidates (); + public void gathering_state_change (Gst.WebRTCICEGatheringState new_state); + public void new_candidate (uint stream_id, Gst.WebRTCICEComponent component, string attr); + public void selected_pair_change (); + [NoAccessorMethod] + public Gst.WebRTCICEComponent component { get; construct; } + [NoAccessorMethod] + public Gst.WebRTCICEGatheringState gathering_state { get; } + [NoAccessorMethod] + public Gst.WebRTCICEConnectionState state { get; } + public signal void on_new_candidate (string object); + public signal void on_selected_candidate_pair_change (); + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_rtp_receiver", type_id = "gst_webrtc_rtp_receiver_get_type ()")] + public class WebRTCRTPReceiver : Gst.Object { + [CCode (array_length = false)] + public weak void* _padding[4]; + public weak Gst.WebRTCDTLSTransport rtcp_transport; + public weak Gst.WebRTCDTLSTransport transport; + [CCode (has_construct_function = false)] + public WebRTCRTPReceiver (); + public void set_rtcp_transport (Gst.WebRTCDTLSTransport transport); + public void set_transport (Gst.WebRTCDTLSTransport transport); + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_rtp_sender", type_id = "gst_webrtc_rtp_sender_get_type ()")] + public class WebRTCRTPSender : Gst.Object { + [CCode (array_length = false)] + public weak void* _padding[4]; + public weak Gst.WebRTCDTLSTransport rtcp_transport; + public weak GLib.Array send_encodings; + public weak Gst.WebRTCDTLSTransport transport; + [CCode (has_construct_function = false)] + public WebRTCRTPSender (); + public void set_rtcp_transport (Gst.WebRTCDTLSTransport transport); + public void set_transport (Gst.WebRTCDTLSTransport transport); + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_rtp_transceiver", type_id = "gst_webrtc_rtp_transceiver_get_type ()")] + public abstract class WebRTCRTPTransceiver : Gst.Object { + [CCode (array_length = false)] + public weak void* _padding[4]; + public weak Gst.Caps codec_preferences; + public Gst.WebRTCRTPTransceiverDirection current_direction; + public Gst.WebRTCRTPTransceiverDirection direction; + public weak string mid; + public uint mline; + public bool stopped; + [CCode (has_construct_function = false)] + protected WebRTCRTPTransceiver (); + [NoAccessorMethod] + public uint mlineindex { get; construct; } + [NoAccessorMethod] + public Gst.WebRTCRTPReceiver receiver { owned get; construct; } + [NoAccessorMethod] + public Gst.WebRTCRTPSender sender { owned get; construct; } + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_csuffix = "webrtc_session_description", type_id = "gst_webrtc_session_description_get_type ()")] + [Compact] + public class WebRTCSessionDescription { + public weak Gst.SDP.Message sdp; + public Gst.WebRTCSDPType type; + [CCode (has_construct_function = false)] + public WebRTCSessionDescription (Gst.WebRTCSDPType type, Gst.SDP.Message sdp); + public Gst.WebRTCSessionDescription copy (); + public void free (); + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_DTLS_SETUP_", type_id = "gst_webrtc_dtls_setup_get_type ()")] + public enum WebRTCDTLSSetup { + NONE, + ACTPASS, + ACTIVE, + PASSIVE + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_DTLS_TRANSPORT_STATE_", type_id = "gst_webrtc_dtls_transport_state_get_type ()")] + public enum WebRTCDTLSTransportState { + NEW, + CLOSED, + FAILED, + CONNECTING, + CONNECTED + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_ICE_COMPONENT_", type_id = "gst_webrtc_ice_component_get_type ()")] + public enum WebRTCICEComponent { + RTP, + RTCP + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_ICE_CONNECTION_STATE_", type_id = "gst_webrtc_ice_connection_state_get_type ()")] + public enum WebRTCICEConnectionState { + NEW, + CHECKING, + CONNECTED, + COMPLETED, + FAILED, + DISCONNECTED, + CLOSED + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_ICE_GATHERING_STATE_", type_id = "gst_webrtc_ice_gathering_state_get_type ()")] + public enum WebRTCICEGatheringState { + NEW, + GATHERING, + COMPLETE + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_ICE_ROLE_", type_id = "gst_webrtc_ice_role_get_type ()")] + public enum WebRTCICERole { + CONTROLLED, + CONTROLLING + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_PEER_CONNECTION_STATE_", type_id = "gst_webrtc_peer_connection_state_get_type ()")] + public enum WebRTCPeerConnectionState { + NEW, + CONNECTING, + CONNECTED, + DISCONNECTED, + FAILED, + CLOSED + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_", type_id = "gst_webrtc_rtp_transceiver_direction_get_type ()")] + public enum WebRTCRTPTransceiverDirection { + NONE, + INACTIVE, + SENDONLY, + RECVONLY, + SENDRECV + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_SDP_TYPE_", type_id = "gst_webrtc_sdp_type_get_type ()")] + public enum WebRTCSDPType { + OFFER, + PRANSWER, + ANSWER, + ROLLBACK + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_SIGNALING_STATE_", type_id = "gst_webrtc_signaling_state_get_type ()")] + public enum WebRTCSignalingState { + STABLE, + CLOSED, + HAVE_LOCAL_OFFER, + HAVE_REMOTE_OFFER, + HAVE_LOCAL_PRANSWER, + HAVE_REMOTE_PRANSWER + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_STATS_", type_id = "gst_webrtc_stats_type_get_type ()")] + public enum WebRTCStatsType { + CODEC, + INBOUND_RTP, + OUTBOUND_RTP, + REMOTE_INBOUND_RTP, + REMOTE_OUTBOUND_RTP, + CSRC, + PEER_CONNECTION, + DATA_CHANNEL, + STREAM, + TRANSPORT, + CANDIDATE_PAIR, + LOCAL_CANDIDATE, + REMOTE_CANDIDATE, + CERTIFICATE + } + [CCode (cheader_filename = "gst/webrtc/webrtc.h")] + public static unowned string webrtc_sdp_type_to_string (Gst.WebRTCSDPType type); +} -- 2.47.2