summaryrefslogtreecommitdiff
path: root/vapi/gstreamer-webrtc-1.0.vapi
blob: 7bdcfeba1b2af5d632590f4845f7e1dec3bd3ecb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
/* 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 sealed class WebRTCDTLSTransport : Gst.Object {
		[CCode (has_construct_function = false)]
		protected WebRTCDTLSTransport ();
		[NoAccessorMethod]
		public string certificate { owned get; set; }
		[NoAccessorMethod]
		public bool client { get; set; }
		[NoAccessorMethod]
		public string remote_certificate { owned get; }
		[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_data_channel", type_id = "gst_webrtc_data_channel_get_type ()")]
	[Version (since = "1.18")]
	public abstract class WebRTCDataChannel : GLib.Object {
		[CCode (has_construct_function = false)]
		protected WebRTCDataChannel ();
		[Version (since = "1.22")]
		public bool send_data_full (GLib.Bytes? data) throws GLib.Error;
		[Version (since = "1.22")]
		public bool send_string_full (string? str) throws GLib.Error;
		[NoAccessorMethod]
		public uint64 buffered_amount { get; }
		[NoAccessorMethod]
		public uint64 buffered_amount_low_threshold { get; set; }
		[NoAccessorMethod]
		public int id { get; construct; }
		[NoAccessorMethod]
		public string label { owned get; construct; }
		[NoAccessorMethod]
		public int max_packet_lifetime { get; construct; }
		[NoAccessorMethod]
		public int max_retransmits { get; construct; }
		[NoAccessorMethod]
		public bool negotiated { get; construct; }
		[NoAccessorMethod]
		public bool ordered { get; construct; }
		[NoAccessorMethod]
		public Gst.WebRTCPriorityType priority { get; construct; }
		[NoAccessorMethod]
		public string protocol { owned get; construct; }
		[NoAccessorMethod]
		public Gst.WebRTCDataChannelState ready_state { get; }
		[HasEmitter]
		public signal void close ();
		public signal void on_buffered_amount_low ();
		public signal void on_close ();
		public signal void on_error (GLib.Error error);
		public signal void on_message_data (GLib.Bytes? data);
		public signal void on_message_string (string? data);
		public signal void on_open ();
		[HasEmitter]
		public signal void send_data (GLib.Bytes? data);
		[HasEmitter]
		public signal void send_string (string? str);
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_ice", type_id = "gst_webrtc_ice_get_type ()")]
	[Version (since = "1.22")]
	public abstract class WebRTCICE : Gst.Object {
		[CCode (array_length = false)]
		public weak void* _gst_reserved[4];
		public Gst.WebRTCICEConnectionState ice_connection_state;
		public Gst.WebRTCICEGatheringState ice_gathering_state;
		[CCode (has_construct_function = false)]
		protected WebRTCICE ();
		public virtual void add_candidate (Gst.WebRTCICEStream stream, string candidate);
		public virtual Gst.WebRTCICEStream? add_stream (uint session_id);
		public virtual bool add_turn_server (string uri);
		public virtual Gst.WebRTCICETransport? find_transport (Gst.WebRTCICEStream stream, Gst.WebRTCICEComponent component);
		public virtual bool gather_candidates (Gst.WebRTCICEStream stream);
		public virtual string get_http_proxy ();
		public virtual bool get_is_controller ();
		[NoWrapper]
		public virtual Gst.WebRTCICECandidateStats get_local_candidates (Gst.WebRTCICEStream stream);
		[NoWrapper]
		public virtual Gst.WebRTCICECandidateStats get_remote_candidates (Gst.WebRTCICEStream stream);
		public virtual bool get_selected_pair (Gst.WebRTCICEStream stream, out Gst.WebRTCICECandidateStats local_stats, out Gst.WebRTCICECandidateStats remote_stats);
		public virtual string? get_stun_server ();
		public virtual string? get_turn_server ();
		public virtual void set_force_relay (bool force_relay);
		public virtual void set_http_proxy (string uri);
		public virtual void set_is_controller (bool controller);
		public virtual bool set_local_credentials (Gst.WebRTCICEStream stream, string ufrag, string pwd);
		public virtual void set_on_ice_candidate (owned Gst.WebRTCICEOnCandidateFunc func);
		public virtual bool set_remote_credentials (Gst.WebRTCICEStream stream, string ufrag, string pwd);
		public virtual void set_stun_server (string? uri);
		public virtual void set_tos (Gst.WebRTCICEStream stream, uint tos);
		public virtual void set_turn_server (string? uri);
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public uint max_rtp_port { get; set construct; }
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public uint min_rtp_port { get; set construct; }
		public signal bool add_local_ip_address (string address);
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_csuffix = "webrtc_ice_candidate_stats", type_id = "gst_webrtc_ice_candidate_stats_get_type ()")]
	[Compact]
	[Version (since = "1.22")]
	public class WebRTCICECandidateStats {
		[CCode (array_length = false)]
		public weak void* _gst_reserved[20];
		public weak string ipaddr;
		public uint port;
		public uint prio;
		public weak string proto;
		public weak string relay_proto;
		public uint stream_id;
		public weak string type;
		public weak string url;
		public Gst.WebRTCICECandidateStats copy ();
		public void free ();
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_ice_stream", type_id = "gst_webrtc_ice_stream_get_type ()")]
	[Version (since = "1.22")]
	public abstract class WebRTCICEStream : Gst.Object {
		[CCode (has_construct_function = false)]
		protected WebRTCICEStream ();
		public virtual Gst.WebRTCICETransport? find_transport (Gst.WebRTCICEComponent component);
		public virtual bool gather_candidates ();
		[NoAccessorMethod]
		public uint stream_id { get; construct; }
	}
	[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 sealed class WebRTCRTPReceiver : Gst.Object {
		[CCode (has_construct_function = false)]
		protected WebRTCRTPReceiver ();
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public Gst.WebRTCDTLSTransport transport { owned get; }
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", lower_case_csuffix = "webrtc_rtp_sender", type_id = "gst_webrtc_rtp_sender_get_type ()")]
	public sealed class WebRTCRTPSender : Gst.Object {
		[CCode (has_construct_function = false)]
		protected WebRTCRTPSender ();
		[Version (since = "1.20")]
		public void set_priority (Gst.WebRTCPriorityType priority);
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public Gst.WebRTCPriorityType priority { get; set; }
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public Gst.WebRTCDTLSTransport transport { owned get; }
	}
	[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 (has_construct_function = false)]
		protected WebRTCRTPTransceiver ();
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public Gst.Caps codec_preferences { owned get; set; }
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public Gst.WebRTCRTPTransceiverDirection current_direction { get; }
		[NoAccessorMethod]
		[Version (since = "1.18")]
		public Gst.WebRTCRTPTransceiverDirection direction { get; set; }
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public Gst.WebRTCKind kind { get; }
		[NoAccessorMethod]
		[Version (since = "1.20")]
		public string mid { owned get; }
		[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", lower_case_csuffix = "webrtc_sctp_transport", type_id = "gst_webrtc_sctp_transport_get_type ()")]
	public abstract class WebRTCSCTPTransport : Gst.Object {
		[CCode (has_construct_function = false)]
		protected WebRTCSCTPTransport ();
		[NoAccessorMethod]
		public uint max_channels { get; }
		[NoAccessorMethod]
		public uint64 max_message_size { get; }
		[NoAccessorMethod]
		public Gst.WebRTCSCTPTransportState state { get; }
		[NoAccessorMethod]
		public Gst.WebRTCDTLSTransport transport { owned get; }
	}
	[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, owned Gst.SDP.Message sdp);
		public Gst.WebRTCSessionDescription copy ();
		[DestroysInstance]
		public void free ();
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_BUNDLE_POLICY_", type_id = "gst_webrtc_bundle_policy_get_type ()")]
	[Version (since = "1.16")]
	public enum WebRTCBundlePolicy {
		NONE,
		BALANCED,
		MAX_COMPAT,
		MAX_BUNDLE
	}
	[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_DATA_CHANNEL_STATE_", type_id = "gst_webrtc_data_channel_state_get_type ()")]
	[Version (since = "1.16")]
	public enum WebRTCDataChannelState {
		CONNECTING,
		OPEN,
		CLOSING,
		CLOSED
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_FEC_TYPE_", type_id = "gst_webrtc_fec_type_get_type ()")]
	[Version (since = "1.14.1")]
	public enum WebRTCFECType {
		NONE,
		ULP_RED
	}
	[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_ICE_TRANSPORT_POLICY_", type_id = "gst_webrtc_ice_transport_policy_get_type ()")]
	[Version (since = "1.16")]
	public enum WebRTCICETransportPolicy {
		ALL,
		RELAY
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", cprefix = "GST_WEBRTC_KIND_", type_id = "gst_webrtc_kind_get_type ()")]
	[Version (since = "1.20")]
	public enum WebRTCKind {
		UNKNOWN,
		AUDIO,
		VIDEO
	}
	[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_PRIORITY_TYPE_", type_id = "gst_webrtc_priority_type_get_type ()")]
	[Version (since = "1.16")]
	public enum WebRTCPriorityType {
		VERY_LOW,
		LOW,
		MEDIUM,
		HIGH
	}
	[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_SCTP_TRANSPORT_STATE_", type_id = "gst_webrtc_sctp_transport_state_get_type ()")]
	[Version (since = "1.16")]
	public enum WebRTCSCTPTransportState {
		NEW,
		CONNECTING,
		CONNECTED,
		CLOSED
	}
	[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 (cname = "gst_webrtc_sdp_type_to_string")]
		public unowned string to_string ();
	}
	[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", cprefix = "GST_WEBRTC_ERROR_", type_id = "gst_webrtc_error_get_type ()")]
	[Version (since = "1.20")]
	public errordomain WebRTCError {
		DATA_CHANNEL_FAILURE,
		DTLS_FAILURE,
		FINGERPRINT_FAILURE,
		SCTP_FAILURE,
		SDP_SYNTAX_ERROR,
		HARDWARE_ENCODER_NOT_AVAILABLE,
		ENCODER_ERROR,
		INVALID_STATE,
		INTERNAL_FAILURE,
		[Version (since = "1.22")]
		INVALID_MODIFICATION,
		[Version (since = "1.22")]
		TYPE_ERROR;
		[CCode (cname = "gst_webrtc_error_quark")]
		public static GLib.Quark quark ();
	}
	[CCode (cheader_filename = "gst/webrtc/webrtc.h", instance_pos = 3.9)]
	[Version (since = "1.22")]
	public delegate void WebRTCICEOnCandidateFunc (Gst.WebRTCICE ice, uint stream_id, string candidate);
	[CCode (cheader_filename = "gst/webrtc/webrtc.h")]
	[Version (replacement = "WebRTCError.quark", since = "1.20")]
	public static GLib.Quark webrtc_error_quark ();
	[CCode (cheader_filename = "gst/webrtc/webrtc.h")]
	[Version (replacement = "WebRTCSDPType.to_string")]
	public static unowned string webrtc_sdp_type_to_string (Gst.WebRTCSDPType type);
}