1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8 clippy::approx_constant,
9 clippy::type_complexity,
10 clippy::unreadable_literal,
11 clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gstreamer_sys as gst;
17
18#[cfg(unix)]
19#[allow(unused_imports)]
20use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
21#[allow(unused_imports)]
22use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
23#[allow(unused_imports)]
24use std::ffi::{
25 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26};
27
28#[allow(unused_imports)]
29use glib::{gboolean, gconstpointer, gpointer, GType};
30
31pub type GstMIKEYCacheType = c_int;
33pub const GST_MIKEY_CACHE_NONE: GstMIKEYCacheType = 0;
34pub const GST_MIKEY_CACHE_ALWAYS: GstMIKEYCacheType = 1;
35pub const GST_MIKEY_CACHE_FOR_CSB: GstMIKEYCacheType = 2;
36
37pub type GstMIKEYEncAlg = c_int;
38pub const GST_MIKEY_ENC_NULL: GstMIKEYEncAlg = 0;
39pub const GST_MIKEY_ENC_AES_CM_128: GstMIKEYEncAlg = 1;
40pub const GST_MIKEY_ENC_AES_KW_128: GstMIKEYEncAlg = 2;
41pub const GST_MIKEY_ENC_AES_GCM_128: GstMIKEYEncAlg = 6;
42
43pub type GstMIKEYKVType = c_int;
44pub const GST_MIKEY_KV_NULL: GstMIKEYKVType = 0;
45pub const GST_MIKEY_KV_SPI: GstMIKEYKVType = 1;
46pub const GST_MIKEY_KV_INTERVAL: GstMIKEYKVType = 2;
47
48pub type GstMIKEYKeyDataType = c_int;
49pub const GST_MIKEY_KD_TGK: GstMIKEYKeyDataType = 0;
50pub const GST_MIKEY_KD_TEK: GstMIKEYKeyDataType = 2;
51
52pub type GstMIKEYMacAlg = c_int;
53pub const GST_MIKEY_MAC_NULL: GstMIKEYMacAlg = 0;
54pub const GST_MIKEY_MAC_HMAC_SHA_1_160: GstMIKEYMacAlg = 1;
55
56pub type GstMIKEYMapType = c_int;
57pub const GST_MIKEY_MAP_TYPE_SRTP: GstMIKEYMapType = 0;
58
59pub type GstMIKEYPRFFunc = c_int;
60pub const GST_MIKEY_PRF_MIKEY_1: GstMIKEYPRFFunc = 0;
61
62pub type GstMIKEYPayloadType = c_int;
63pub const GST_MIKEY_PT_LAST: GstMIKEYPayloadType = 0;
64pub const GST_MIKEY_PT_KEMAC: GstMIKEYPayloadType = 1;
65pub const GST_MIKEY_PT_PKE: GstMIKEYPayloadType = 2;
66pub const GST_MIKEY_PT_DH: GstMIKEYPayloadType = 3;
67pub const GST_MIKEY_PT_SIGN: GstMIKEYPayloadType = 4;
68pub const GST_MIKEY_PT_T: GstMIKEYPayloadType = 5;
69pub const GST_MIKEY_PT_ID: GstMIKEYPayloadType = 6;
70pub const GST_MIKEY_PT_CERT: GstMIKEYPayloadType = 7;
71pub const GST_MIKEY_PT_CHASH: GstMIKEYPayloadType = 8;
72pub const GST_MIKEY_PT_V: GstMIKEYPayloadType = 9;
73pub const GST_MIKEY_PT_SP: GstMIKEYPayloadType = 10;
74pub const GST_MIKEY_PT_RAND: GstMIKEYPayloadType = 11;
75pub const GST_MIKEY_PT_ERR: GstMIKEYPayloadType = 12;
76pub const GST_MIKEY_PT_KEY_DATA: GstMIKEYPayloadType = 20;
77pub const GST_MIKEY_PT_GEN_EXT: GstMIKEYPayloadType = 21;
78
79pub type GstMIKEYSecProto = c_int;
80pub const GST_MIKEY_SEC_PROTO_SRTP: GstMIKEYSecProto = 0;
81
82pub type GstMIKEYSecSRTP = c_int;
83pub const GST_MIKEY_SP_SRTP_ENC_ALG: GstMIKEYSecSRTP = 0;
84pub const GST_MIKEY_SP_SRTP_ENC_KEY_LEN: GstMIKEYSecSRTP = 1;
85pub const GST_MIKEY_SP_SRTP_AUTH_ALG: GstMIKEYSecSRTP = 2;
86pub const GST_MIKEY_SP_SRTP_AUTH_KEY_LEN: GstMIKEYSecSRTP = 3;
87pub const GST_MIKEY_SP_SRTP_SALT_KEY_LEN: GstMIKEYSecSRTP = 4;
88pub const GST_MIKEY_SP_SRTP_PRF: GstMIKEYSecSRTP = 5;
89pub const GST_MIKEY_SP_SRTP_KEY_DERIV_RATE: GstMIKEYSecSRTP = 6;
90pub const GST_MIKEY_SP_SRTP_SRTP_ENC: GstMIKEYSecSRTP = 7;
91pub const GST_MIKEY_SP_SRTP_SRTCP_ENC: GstMIKEYSecSRTP = 8;
92pub const GST_MIKEY_SP_SRTP_FEC_ORDER: GstMIKEYSecSRTP = 9;
93pub const GST_MIKEY_SP_SRTP_SRTP_AUTH: GstMIKEYSecSRTP = 10;
94pub const GST_MIKEY_SP_SRTP_AUTH_TAG_LEN: GstMIKEYSecSRTP = 11;
95pub const GST_MIKEY_SP_SRTP_SRTP_PREFIX_LEN: GstMIKEYSecSRTP = 12;
96pub const GST_MIKEY_SP_SRTP_AEAD_AUTH_TAG_LEN: GstMIKEYSecSRTP = 20;
97
98pub type GstMIKEYTSType = c_int;
99pub const GST_MIKEY_TS_TYPE_NTP_UTC: GstMIKEYTSType = 0;
100pub const GST_MIKEY_TS_TYPE_NTP: GstMIKEYTSType = 1;
101pub const GST_MIKEY_TS_TYPE_COUNTER: GstMIKEYTSType = 2;
102
103pub type GstMIKEYType = c_int;
104pub const GST_MIKEY_TYPE_INVALID: GstMIKEYType = -1;
105pub const GST_MIKEY_TYPE_PSK_INIT: GstMIKEYType = 0;
106pub const GST_MIKEY_TYPE_PSK_VERIFY: GstMIKEYType = 1;
107pub const GST_MIKEY_TYPE_PK_INIT: GstMIKEYType = 2;
108pub const GST_MIKEY_TYPE_PK_VERIFY: GstMIKEYType = 3;
109pub const GST_MIKEY_TYPE_DH_INIT: GstMIKEYType = 4;
110pub const GST_MIKEY_TYPE_DH_RESP: GstMIKEYType = 5;
111pub const GST_MIKEY_TYPE_ERROR: GstMIKEYType = 6;
112
113pub type GstSDPResult = c_int;
114pub const GST_SDP_OK: GstSDPResult = 0;
115pub const GST_SDP_EINVAL: GstSDPResult = -1;
116
117pub const GST_MIKEY_VERSION: c_int = 1;
119pub const GST_SDP_BWTYPE_AS: &[u8] = b"AS\0";
120pub const GST_SDP_BWTYPE_CT: &[u8] = b"CT\0";
121pub const GST_SDP_BWTYPE_EXT_PREFIX: &[u8] = b"X-\0";
122pub const GST_SDP_BWTYPE_RR: &[u8] = b"RR\0";
123pub const GST_SDP_BWTYPE_RS: &[u8] = b"RS\0";
124pub const GST_SDP_BWTYPE_TIAS: &[u8] = b"TIAS\0";
125
126#[repr(C)]
128#[allow(dead_code)]
129pub struct _GstMIKEYDecryptInfo {
130 _data: [u8; 0],
131 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
132}
133
134pub type GstMIKEYDecryptInfo = _GstMIKEYDecryptInfo;
135
136#[repr(C)]
137#[allow(dead_code)]
138pub struct _GstMIKEYEncryptInfo {
139 _data: [u8; 0],
140 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
141}
142
143pub type GstMIKEYEncryptInfo = _GstMIKEYEncryptInfo;
144
145#[derive(Copy, Clone)]
146#[repr(C)]
147pub struct GstMIKEYMapSRTP {
148 pub policy: u8,
149 pub ssrc: u32,
150 pub roc: u32,
151}
152
153impl ::std::fmt::Debug for GstMIKEYMapSRTP {
154 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
155 f.debug_struct(&format!("GstMIKEYMapSRTP @ {self:p}"))
156 .field("policy", &self.policy)
157 .field("ssrc", &self.ssrc)
158 .field("roc", &self.roc)
159 .finish()
160 }
161}
162
163#[derive(Copy, Clone)]
164#[repr(C)]
165pub struct GstMIKEYMessage {
166 pub mini_object: gst::GstMiniObject,
167 pub version: u8,
168 pub type_: GstMIKEYType,
169 pub V: gboolean,
170 pub prf_func: GstMIKEYPRFFunc,
171 pub CSB_id: u32,
172 pub map_type: GstMIKEYMapType,
173 pub map_info: *mut glib::GArray,
174 pub payloads: *mut glib::GArray,
175}
176
177impl ::std::fmt::Debug for GstMIKEYMessage {
178 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
179 f.debug_struct(&format!("GstMIKEYMessage @ {self:p}"))
180 .field("version", &self.version)
181 .field("type_", &self.type_)
182 .field("V", &self.V)
183 .field("prf_func", &self.prf_func)
184 .field("CSB_id", &self.CSB_id)
185 .field("map_type", &self.map_type)
186 .field("map_info", &self.map_info)
187 .field("payloads", &self.payloads)
188 .finish()
189 }
190}
191
192#[derive(Copy, Clone)]
193#[repr(C)]
194pub struct GstMIKEYPayload {
195 pub mini_object: gst::GstMiniObject,
196 pub type_: GstMIKEYPayloadType,
197 pub len: c_uint,
198}
199
200impl ::std::fmt::Debug for GstMIKEYPayload {
201 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
202 f.debug_struct(&format!("GstMIKEYPayload @ {self:p}"))
203 .field("type_", &self.type_)
204 .field("len", &self.len)
205 .finish()
206 }
207}
208
209#[derive(Copy, Clone)]
210#[repr(C)]
211pub struct GstMIKEYPayloadKEMAC {
212 pub pt: GstMIKEYPayload,
213 pub enc_alg: GstMIKEYEncAlg,
214 pub mac_alg: GstMIKEYMacAlg,
215 pub subpayloads: *mut glib::GArray,
216}
217
218impl ::std::fmt::Debug for GstMIKEYPayloadKEMAC {
219 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
220 f.debug_struct(&format!("GstMIKEYPayloadKEMAC @ {self:p}"))
221 .field("pt", &self.pt)
222 .field("enc_alg", &self.enc_alg)
223 .field("mac_alg", &self.mac_alg)
224 .field("subpayloads", &self.subpayloads)
225 .finish()
226 }
227}
228
229#[derive(Copy, Clone)]
230#[repr(C)]
231pub struct GstMIKEYPayloadKeyData {
232 pub pt: GstMIKEYPayload,
233 pub key_type: GstMIKEYKeyDataType,
234 pub key_len: u16,
235 pub key_data: *mut u8,
236 pub salt_len: u16,
237 pub salt_data: *mut u8,
238 pub kv_type: GstMIKEYKVType,
239 pub kv_len: [u8; 2],
240 pub kv_data: [*mut u8; 2],
241}
242
243impl ::std::fmt::Debug for GstMIKEYPayloadKeyData {
244 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
245 f.debug_struct(&format!("GstMIKEYPayloadKeyData @ {self:p}"))
246 .field("pt", &self.pt)
247 .field("key_type", &self.key_type)
248 .field("key_len", &self.key_len)
249 .field("key_data", &self.key_data)
250 .field("salt_len", &self.salt_len)
251 .field("salt_data", &self.salt_data)
252 .field("kv_type", &self.kv_type)
253 .field("kv_len", &self.kv_len)
254 .field("kv_data", &self.kv_data)
255 .finish()
256 }
257}
258
259#[derive(Copy, Clone)]
260#[repr(C)]
261pub struct GstMIKEYPayloadPKE {
262 pub pt: GstMIKEYPayload,
263 pub C: GstMIKEYCacheType,
264 pub data_len: u16,
265 pub data: *mut u8,
266}
267
268impl ::std::fmt::Debug for GstMIKEYPayloadPKE {
269 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
270 f.debug_struct(&format!("GstMIKEYPayloadPKE @ {self:p}"))
271 .field("pt", &self.pt)
272 .field("C", &self.C)
273 .field("data_len", &self.data_len)
274 .field("data", &self.data)
275 .finish()
276 }
277}
278
279#[derive(Copy, Clone)]
280#[repr(C)]
281pub struct GstMIKEYPayloadRAND {
282 pub pt: GstMIKEYPayload,
283 pub len: u8,
284 pub rand: *mut u8,
285}
286
287impl ::std::fmt::Debug for GstMIKEYPayloadRAND {
288 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
289 f.debug_struct(&format!("GstMIKEYPayloadRAND @ {self:p}"))
290 .field("pt", &self.pt)
291 .field("len", &self.len)
292 .field("rand", &self.rand)
293 .finish()
294 }
295}
296
297#[derive(Copy, Clone)]
298#[repr(C)]
299pub struct GstMIKEYPayloadSP {
300 pub pt: GstMIKEYPayload,
301 pub policy: c_uint,
302 pub proto: GstMIKEYSecProto,
303 pub params: *mut glib::GArray,
304}
305
306impl ::std::fmt::Debug for GstMIKEYPayloadSP {
307 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
308 f.debug_struct(&format!("GstMIKEYPayloadSP @ {self:p}"))
309 .field("pt", &self.pt)
310 .field("policy", &self.policy)
311 .field("proto", &self.proto)
312 .field("params", &self.params)
313 .finish()
314 }
315}
316
317#[derive(Copy, Clone)]
318#[repr(C)]
319pub struct GstMIKEYPayloadSPParam {
320 pub type_: u8,
321 pub len: u8,
322 pub val: *mut u8,
323}
324
325impl ::std::fmt::Debug for GstMIKEYPayloadSPParam {
326 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
327 f.debug_struct(&format!("GstMIKEYPayloadSPParam @ {self:p}"))
328 .field("type_", &self.type_)
329 .field("len", &self.len)
330 .field("val", &self.val)
331 .finish()
332 }
333}
334
335#[derive(Copy, Clone)]
336#[repr(C)]
337pub struct GstMIKEYPayloadT {
338 pub pt: GstMIKEYPayload,
339 pub type_: GstMIKEYTSType,
340 pub ts_value: *mut u8,
341}
342
343impl ::std::fmt::Debug for GstMIKEYPayloadT {
344 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
345 f.debug_struct(&format!("GstMIKEYPayloadT @ {self:p}"))
346 .field("pt", &self.pt)
347 .field("type_", &self.type_)
348 .field("ts_value", &self.ts_value)
349 .finish()
350 }
351}
352
353#[derive(Copy, Clone)]
354#[repr(C)]
355pub struct GstSDPAttribute {
356 pub key: *mut c_char,
357 pub value: *mut c_char,
358}
359
360impl ::std::fmt::Debug for GstSDPAttribute {
361 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
362 f.debug_struct(&format!("GstSDPAttribute @ {self:p}"))
363 .field("key", &self.key)
364 .field("value", &self.value)
365 .finish()
366 }
367}
368
369#[derive(Copy, Clone)]
370#[repr(C)]
371pub struct GstSDPBandwidth {
372 pub bwtype: *mut c_char,
373 pub bandwidth: c_uint,
374}
375
376impl ::std::fmt::Debug for GstSDPBandwidth {
377 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
378 f.debug_struct(&format!("GstSDPBandwidth @ {self:p}"))
379 .field("bwtype", &self.bwtype)
380 .field("bandwidth", &self.bandwidth)
381 .finish()
382 }
383}
384
385#[derive(Copy, Clone)]
386#[repr(C)]
387pub struct GstSDPConnection {
388 pub nettype: *mut c_char,
389 pub addrtype: *mut c_char,
390 pub address: *mut c_char,
391 pub ttl: c_uint,
392 pub addr_number: c_uint,
393}
394
395impl ::std::fmt::Debug for GstSDPConnection {
396 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
397 f.debug_struct(&format!("GstSDPConnection @ {self:p}"))
398 .field("nettype", &self.nettype)
399 .field("addrtype", &self.addrtype)
400 .field("address", &self.address)
401 .field("ttl", &self.ttl)
402 .field("addr_number", &self.addr_number)
403 .finish()
404 }
405}
406
407#[derive(Copy, Clone)]
408#[repr(C)]
409pub struct GstSDPKey {
410 pub type_: *mut c_char,
411 pub data: *mut c_char,
412}
413
414impl ::std::fmt::Debug for GstSDPKey {
415 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
416 f.debug_struct(&format!("GstSDPKey @ {self:p}"))
417 .field("type_", &self.type_)
418 .field("data", &self.data)
419 .finish()
420 }
421}
422
423#[derive(Copy, Clone)]
424#[repr(C)]
425pub struct GstSDPMedia {
426 pub media: *mut c_char,
427 pub port: c_uint,
428 pub num_ports: c_uint,
429 pub proto: *mut c_char,
430 pub fmts: *mut glib::GArray,
431 pub information: *mut c_char,
432 pub connections: *mut glib::GArray,
433 pub bandwidths: *mut glib::GArray,
434 pub key: GstSDPKey,
435 pub attributes: *mut glib::GArray,
436}
437
438impl ::std::fmt::Debug for GstSDPMedia {
439 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
440 f.debug_struct(&format!("GstSDPMedia @ {self:p}"))
441 .field("media", &self.media)
442 .field("port", &self.port)
443 .field("num_ports", &self.num_ports)
444 .field("proto", &self.proto)
445 .field("fmts", &self.fmts)
446 .field("information", &self.information)
447 .field("connections", &self.connections)
448 .field("bandwidths", &self.bandwidths)
449 .field("key", &self.key)
450 .field("attributes", &self.attributes)
451 .finish()
452 }
453}
454
455#[derive(Copy, Clone)]
456#[repr(C)]
457pub struct GstSDPMessage {
458 pub version: *mut c_char,
459 pub origin: GstSDPOrigin,
460 pub session_name: *mut c_char,
461 pub information: *mut c_char,
462 pub uri: *mut c_char,
463 pub emails: *mut glib::GArray,
464 pub phones: *mut glib::GArray,
465 pub connection: GstSDPConnection,
466 pub bandwidths: *mut glib::GArray,
467 pub times: *mut glib::GArray,
468 pub zones: *mut glib::GArray,
469 pub key: GstSDPKey,
470 pub attributes: *mut glib::GArray,
471 pub medias: *mut glib::GArray,
472}
473
474impl ::std::fmt::Debug for GstSDPMessage {
475 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
476 f.debug_struct(&format!("GstSDPMessage @ {self:p}"))
477 .field("version", &self.version)
478 .field("origin", &self.origin)
479 .field("session_name", &self.session_name)
480 .field("information", &self.information)
481 .field("uri", &self.uri)
482 .field("emails", &self.emails)
483 .field("phones", &self.phones)
484 .field("connection", &self.connection)
485 .field("bandwidths", &self.bandwidths)
486 .field("times", &self.times)
487 .field("zones", &self.zones)
488 .field("key", &self.key)
489 .field("attributes", &self.attributes)
490 .field("medias", &self.medias)
491 .finish()
492 }
493}
494
495#[derive(Copy, Clone)]
496#[repr(C)]
497pub struct GstSDPOrigin {
498 pub username: *mut c_char,
499 pub sess_id: *mut c_char,
500 pub sess_version: *mut c_char,
501 pub nettype: *mut c_char,
502 pub addrtype: *mut c_char,
503 pub addr: *mut c_char,
504}
505
506impl ::std::fmt::Debug for GstSDPOrigin {
507 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
508 f.debug_struct(&format!("GstSDPOrigin @ {self:p}"))
509 .field("username", &self.username)
510 .field("sess_id", &self.sess_id)
511 .field("sess_version", &self.sess_version)
512 .field("nettype", &self.nettype)
513 .field("addrtype", &self.addrtype)
514 .field("addr", &self.addr)
515 .finish()
516 }
517}
518
519#[derive(Copy, Clone)]
520#[repr(C)]
521pub struct GstSDPTime {
522 pub start: *mut c_char,
523 pub stop: *mut c_char,
524 pub repeat: *mut glib::GArray,
525}
526
527impl ::std::fmt::Debug for GstSDPTime {
528 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
529 f.debug_struct(&format!("GstSDPTime @ {self:p}"))
530 .field("start", &self.start)
531 .field("stop", &self.stop)
532 .field("repeat", &self.repeat)
533 .finish()
534 }
535}
536
537#[derive(Copy, Clone)]
538#[repr(C)]
539pub struct GstSDPZone {
540 pub time: *mut c_char,
541 pub typed_time: *mut c_char,
542}
543
544impl ::std::fmt::Debug for GstSDPZone {
545 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
546 f.debug_struct(&format!("GstSDPZone @ {self:p}"))
547 .field("time", &self.time)
548 .field("typed_time", &self.typed_time)
549 .finish()
550 }
551}
552
553extern "C" {
554
555 pub fn gst_mikey_message_get_type() -> GType;
559 pub fn gst_mikey_message_new() -> *mut GstMIKEYMessage;
560 pub fn gst_mikey_message_new_from_bytes(
561 bytes: *mut glib::GBytes,
562 info: *mut GstMIKEYDecryptInfo,
563 error: *mut *mut glib::GError,
564 ) -> *mut GstMIKEYMessage;
565 pub fn gst_mikey_message_new_from_caps(caps: *mut gst::GstCaps) -> *mut GstMIKEYMessage;
566 pub fn gst_mikey_message_new_from_data(
567 data: gconstpointer,
568 size: size_t,
569 info: *mut GstMIKEYDecryptInfo,
570 error: *mut *mut glib::GError,
571 ) -> *mut GstMIKEYMessage;
572 pub fn gst_mikey_message_add_cs_srtp(
573 msg: *mut GstMIKEYMessage,
574 policy: u8,
575 ssrc: u32,
576 roc: u32,
577 ) -> gboolean;
578 pub fn gst_mikey_message_add_payload(
579 msg: *mut GstMIKEYMessage,
580 payload: *mut GstMIKEYPayload,
581 ) -> gboolean;
582 pub fn gst_mikey_message_add_pke(
583 msg: *mut GstMIKEYMessage,
584 C: GstMIKEYCacheType,
585 data_len: u16,
586 data: *const u8,
587 ) -> gboolean;
588 pub fn gst_mikey_message_add_rand(
589 msg: *mut GstMIKEYMessage,
590 len: u8,
591 rand: *const u8,
592 ) -> gboolean;
593 pub fn gst_mikey_message_add_rand_len(msg: *mut GstMIKEYMessage, len: u8) -> gboolean;
594 pub fn gst_mikey_message_add_t(
595 msg: *mut GstMIKEYMessage,
596 type_: GstMIKEYTSType,
597 ts_value: *const u8,
598 ) -> gboolean;
599 pub fn gst_mikey_message_add_t_now_ntp_utc(msg: *mut GstMIKEYMessage) -> gboolean;
600 pub fn gst_mikey_message_base64_encode(msg: *mut GstMIKEYMessage) -> *mut c_char;
601 pub fn gst_mikey_message_find_payload(
602 msg: *const GstMIKEYMessage,
603 type_: GstMIKEYPayloadType,
604 nth: c_uint,
605 ) -> *const GstMIKEYPayload;
606 pub fn gst_mikey_message_get_cs_srtp(
607 msg: *const GstMIKEYMessage,
608 idx: c_uint,
609 ) -> *const GstMIKEYMapSRTP;
610 pub fn gst_mikey_message_get_n_cs(msg: *const GstMIKEYMessage) -> c_uint;
611 pub fn gst_mikey_message_get_n_payloads(msg: *const GstMIKEYMessage) -> c_uint;
612 pub fn gst_mikey_message_get_payload(
613 msg: *const GstMIKEYMessage,
614 idx: c_uint,
615 ) -> *const GstMIKEYPayload;
616 pub fn gst_mikey_message_insert_cs_srtp(
617 msg: *mut GstMIKEYMessage,
618 idx: c_int,
619 map: *const GstMIKEYMapSRTP,
620 ) -> gboolean;
621 pub fn gst_mikey_message_insert_payload(
622 msg: *mut GstMIKEYMessage,
623 idx: c_uint,
624 payload: *mut GstMIKEYPayload,
625 ) -> gboolean;
626 pub fn gst_mikey_message_remove_cs_srtp(msg: *mut GstMIKEYMessage, idx: c_int) -> gboolean;
627 pub fn gst_mikey_message_remove_payload(msg: *mut GstMIKEYMessage, idx: c_uint) -> gboolean;
628 pub fn gst_mikey_message_replace_cs_srtp(
629 msg: *mut GstMIKEYMessage,
630 idx: c_int,
631 map: *const GstMIKEYMapSRTP,
632 ) -> gboolean;
633 pub fn gst_mikey_message_replace_payload(
634 msg: *mut GstMIKEYMessage,
635 idx: c_uint,
636 payload: *mut GstMIKEYPayload,
637 ) -> gboolean;
638 pub fn gst_mikey_message_set_info(
639 msg: *mut GstMIKEYMessage,
640 version: u8,
641 type_: GstMIKEYType,
642 V: gboolean,
643 prf_func: GstMIKEYPRFFunc,
644 CSB_id: u32,
645 map_type: GstMIKEYMapType,
646 ) -> gboolean;
647 pub fn gst_mikey_message_to_bytes(
648 msg: *mut GstMIKEYMessage,
649 info: *mut GstMIKEYEncryptInfo,
650 error: *mut *mut glib::GError,
651 ) -> *mut glib::GBytes;
652 pub fn gst_mikey_message_to_caps(
653 msg: *const GstMIKEYMessage,
654 caps: *mut gst::GstCaps,
655 ) -> gboolean;
656
657 pub fn gst_mikey_payload_get_type() -> GType;
661 pub fn gst_mikey_payload_new(type_: GstMIKEYPayloadType) -> *mut GstMIKEYPayload;
662 pub fn gst_mikey_payload_kemac_add_sub(
663 payload: *mut GstMIKEYPayload,
664 newpay: *mut GstMIKEYPayload,
665 ) -> gboolean;
666 pub fn gst_mikey_payload_kemac_get_n_sub(payload: *const GstMIKEYPayload) -> c_uint;
667 pub fn gst_mikey_payload_kemac_get_sub(
668 payload: *const GstMIKEYPayload,
669 idx: c_uint,
670 ) -> *const GstMIKEYPayload;
671 pub fn gst_mikey_payload_kemac_remove_sub(
672 payload: *mut GstMIKEYPayload,
673 idx: c_uint,
674 ) -> gboolean;
675 pub fn gst_mikey_payload_kemac_set(
676 payload: *mut GstMIKEYPayload,
677 enc_alg: GstMIKEYEncAlg,
678 mac_alg: GstMIKEYMacAlg,
679 ) -> gboolean;
680 pub fn gst_mikey_payload_key_data_set_interval(
681 payload: *mut GstMIKEYPayload,
682 vf_len: u8,
683 vf_data: *const u8,
684 vt_len: u8,
685 vt_data: *const u8,
686 ) -> gboolean;
687 pub fn gst_mikey_payload_key_data_set_key(
688 payload: *mut GstMIKEYPayload,
689 key_type: GstMIKEYKeyDataType,
690 key_len: u16,
691 key_data: *const u8,
692 ) -> gboolean;
693 pub fn gst_mikey_payload_key_data_set_salt(
694 payload: *mut GstMIKEYPayload,
695 salt_len: u16,
696 salt_data: *const u8,
697 ) -> gboolean;
698 pub fn gst_mikey_payload_key_data_set_spi(
699 payload: *mut GstMIKEYPayload,
700 spi_len: u8,
701 spi_data: *const u8,
702 ) -> gboolean;
703 pub fn gst_mikey_payload_pke_set(
704 payload: *mut GstMIKEYPayload,
705 C: GstMIKEYCacheType,
706 data_len: u16,
707 data: *const u8,
708 ) -> gboolean;
709 pub fn gst_mikey_payload_rand_set(
710 payload: *mut GstMIKEYPayload,
711 len: u8,
712 rand: *const u8,
713 ) -> gboolean;
714 pub fn gst_mikey_payload_sp_add_param(
715 payload: *mut GstMIKEYPayload,
716 type_: u8,
717 len: u8,
718 val: *const u8,
719 ) -> gboolean;
720 pub fn gst_mikey_payload_sp_get_n_params(payload: *const GstMIKEYPayload) -> c_uint;
721 pub fn gst_mikey_payload_sp_get_param(
722 payload: *const GstMIKEYPayload,
723 idx: c_uint,
724 ) -> *const GstMIKEYPayloadSPParam;
725 pub fn gst_mikey_payload_sp_remove_param(
726 payload: *mut GstMIKEYPayload,
727 idx: c_uint,
728 ) -> gboolean;
729 pub fn gst_mikey_payload_sp_set(
730 payload: *mut GstMIKEYPayload,
731 policy: c_uint,
732 proto: GstMIKEYSecProto,
733 ) -> gboolean;
734 pub fn gst_mikey_payload_t_set(
735 payload: *mut GstMIKEYPayload,
736 type_: GstMIKEYTSType,
737 ts_value: *const u8,
738 ) -> gboolean;
739
740 pub fn gst_sdp_attribute_clear(attr: *mut GstSDPAttribute) -> GstSDPResult;
744 pub fn gst_sdp_attribute_set(
745 attr: *mut GstSDPAttribute,
746 key: *const c_char,
747 value: *const c_char,
748 ) -> GstSDPResult;
749
750 pub fn gst_sdp_bandwidth_clear(bw: *mut GstSDPBandwidth) -> GstSDPResult;
754 pub fn gst_sdp_bandwidth_set(
755 bw: *mut GstSDPBandwidth,
756 bwtype: *const c_char,
757 bandwidth: c_uint,
758 ) -> GstSDPResult;
759
760 pub fn gst_sdp_connection_clear(conn: *mut GstSDPConnection) -> GstSDPResult;
764 pub fn gst_sdp_connection_set(
765 conn: *mut GstSDPConnection,
766 nettype: *const c_char,
767 addrtype: *const c_char,
768 address: *const c_char,
769 ttl: c_uint,
770 addr_number: c_uint,
771 ) -> GstSDPResult;
772
773 pub fn gst_sdp_media_add_attribute(
777 media: *mut GstSDPMedia,
778 key: *const c_char,
779 value: *const c_char,
780 ) -> GstSDPResult;
781 pub fn gst_sdp_media_add_bandwidth(
782 media: *mut GstSDPMedia,
783 bwtype: *const c_char,
784 bandwidth: c_uint,
785 ) -> GstSDPResult;
786 pub fn gst_sdp_media_add_connection(
787 media: *mut GstSDPMedia,
788 nettype: *const c_char,
789 addrtype: *const c_char,
790 address: *const c_char,
791 ttl: c_uint,
792 addr_number: c_uint,
793 ) -> GstSDPResult;
794 pub fn gst_sdp_media_add_format(media: *mut GstSDPMedia, format: *const c_char)
795 -> GstSDPResult;
796 pub fn gst_sdp_media_as_text(media: *const GstSDPMedia) -> *mut c_char;
797 pub fn gst_sdp_media_attributes_len(media: *const GstSDPMedia) -> c_uint;
798 pub fn gst_sdp_media_attributes_to_caps(
799 media: *const GstSDPMedia,
800 caps: *mut gst::GstCaps,
801 ) -> GstSDPResult;
802 pub fn gst_sdp_media_bandwidths_len(media: *const GstSDPMedia) -> c_uint;
803 pub fn gst_sdp_media_connections_len(media: *const GstSDPMedia) -> c_uint;
804 pub fn gst_sdp_media_copy(
805 media: *const GstSDPMedia,
806 copy: *mut *mut GstSDPMedia,
807 ) -> GstSDPResult;
808 pub fn gst_sdp_media_formats_len(media: *const GstSDPMedia) -> c_uint;
809 pub fn gst_sdp_media_free(media: *mut GstSDPMedia) -> GstSDPResult;
810 pub fn gst_sdp_media_get_attribute(
811 media: *const GstSDPMedia,
812 idx: c_uint,
813 ) -> *const GstSDPAttribute;
814 pub fn gst_sdp_media_get_attribute_val(
815 media: *const GstSDPMedia,
816 key: *const c_char,
817 ) -> *const c_char;
818 pub fn gst_sdp_media_get_attribute_val_n(
819 media: *const GstSDPMedia,
820 key: *const c_char,
821 nth: c_uint,
822 ) -> *const c_char;
823 pub fn gst_sdp_media_get_bandwidth(
824 media: *const GstSDPMedia,
825 idx: c_uint,
826 ) -> *const GstSDPBandwidth;
827 pub fn gst_sdp_media_get_caps_from_media(
828 media: *const GstSDPMedia,
829 pt: c_int,
830 ) -> *mut gst::GstCaps;
831 pub fn gst_sdp_media_get_connection(
832 media: *const GstSDPMedia,
833 idx: c_uint,
834 ) -> *const GstSDPConnection;
835 pub fn gst_sdp_media_get_format(media: *const GstSDPMedia, idx: c_uint) -> *const c_char;
836 pub fn gst_sdp_media_get_information(media: *const GstSDPMedia) -> *const c_char;
837 pub fn gst_sdp_media_get_key(media: *const GstSDPMedia) -> *const GstSDPKey;
838 pub fn gst_sdp_media_get_media(media: *const GstSDPMedia) -> *const c_char;
839 pub fn gst_sdp_media_get_num_ports(media: *const GstSDPMedia) -> c_uint;
840 pub fn gst_sdp_media_get_port(media: *const GstSDPMedia) -> c_uint;
841 pub fn gst_sdp_media_get_proto(media: *const GstSDPMedia) -> *const c_char;
842 pub fn gst_sdp_media_insert_attribute(
843 media: *mut GstSDPMedia,
844 idx: c_int,
845 attr: *mut GstSDPAttribute,
846 ) -> GstSDPResult;
847 pub fn gst_sdp_media_insert_bandwidth(
848 media: *mut GstSDPMedia,
849 idx: c_int,
850 bw: *mut GstSDPBandwidth,
851 ) -> GstSDPResult;
852 pub fn gst_sdp_media_insert_connection(
853 media: *mut GstSDPMedia,
854 idx: c_int,
855 conn: *mut GstSDPConnection,
856 ) -> GstSDPResult;
857 pub fn gst_sdp_media_insert_format(
858 media: *mut GstSDPMedia,
859 idx: c_int,
860 format: *const c_char,
861 ) -> GstSDPResult;
862 pub fn gst_sdp_media_parse_keymgmt(
863 media: *const GstSDPMedia,
864 mikey: *mut *mut GstMIKEYMessage,
865 ) -> GstSDPResult;
866 pub fn gst_sdp_media_remove_attribute(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
867 pub fn gst_sdp_media_remove_bandwidth(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
868 pub fn gst_sdp_media_remove_connection(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
869 pub fn gst_sdp_media_remove_format(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
870 pub fn gst_sdp_media_replace_attribute(
871 media: *mut GstSDPMedia,
872 idx: c_uint,
873 attr: *mut GstSDPAttribute,
874 ) -> GstSDPResult;
875 pub fn gst_sdp_media_replace_bandwidth(
876 media: *mut GstSDPMedia,
877 idx: c_uint,
878 bw: *mut GstSDPBandwidth,
879 ) -> GstSDPResult;
880 pub fn gst_sdp_media_replace_connection(
881 media: *mut GstSDPMedia,
882 idx: c_uint,
883 conn: *mut GstSDPConnection,
884 ) -> GstSDPResult;
885 pub fn gst_sdp_media_replace_format(
886 media: *mut GstSDPMedia,
887 idx: c_uint,
888 format: *const c_char,
889 ) -> GstSDPResult;
890 pub fn gst_sdp_media_set_information(
891 media: *mut GstSDPMedia,
892 information: *const c_char,
893 ) -> GstSDPResult;
894 pub fn gst_sdp_media_set_key(
895 media: *mut GstSDPMedia,
896 type_: *const c_char,
897 data: *const c_char,
898 ) -> GstSDPResult;
899 pub fn gst_sdp_media_set_media(media: *mut GstSDPMedia, med: *const c_char) -> GstSDPResult;
900 pub fn gst_sdp_media_set_port_info(
901 media: *mut GstSDPMedia,
902 port: c_uint,
903 num_ports: c_uint,
904 ) -> GstSDPResult;
905 pub fn gst_sdp_media_set_proto(media: *mut GstSDPMedia, proto: *const c_char) -> GstSDPResult;
906 pub fn gst_sdp_media_uninit(media: *mut GstSDPMedia) -> GstSDPResult;
907 pub fn gst_sdp_media_init(media: *mut GstSDPMedia) -> GstSDPResult;
908 pub fn gst_sdp_media_new(media: *mut *mut GstSDPMedia) -> GstSDPResult;
909 pub fn gst_sdp_media_set_media_from_caps(
910 caps: *const gst::GstCaps,
911 media: *mut GstSDPMedia,
912 ) -> GstSDPResult;
913
914 pub fn gst_sdp_message_get_type() -> GType;
918 pub fn gst_sdp_message_add_attribute(
919 msg: *mut GstSDPMessage,
920 key: *const c_char,
921 value: *const c_char,
922 ) -> GstSDPResult;
923 pub fn gst_sdp_message_add_bandwidth(
924 msg: *mut GstSDPMessage,
925 bwtype: *const c_char,
926 bandwidth: c_uint,
927 ) -> GstSDPResult;
928 pub fn gst_sdp_message_add_email(msg: *mut GstSDPMessage, email: *const c_char)
929 -> GstSDPResult;
930 pub fn gst_sdp_message_add_media(
931 msg: *mut GstSDPMessage,
932 media: *mut GstSDPMedia,
933 ) -> GstSDPResult;
934 pub fn gst_sdp_message_add_phone(msg: *mut GstSDPMessage, phone: *const c_char)
935 -> GstSDPResult;
936 pub fn gst_sdp_message_add_time(
937 msg: *mut GstSDPMessage,
938 start: *const c_char,
939 stop: *const c_char,
940 repeat: *mut *const c_char,
941 ) -> GstSDPResult;
942 pub fn gst_sdp_message_add_zone(
943 msg: *mut GstSDPMessage,
944 adj_time: *const c_char,
945 typed_time: *const c_char,
946 ) -> GstSDPResult;
947 pub fn gst_sdp_message_as_text(msg: *const GstSDPMessage) -> *mut c_char;
948 pub fn gst_sdp_message_attributes_len(msg: *const GstSDPMessage) -> c_uint;
949 pub fn gst_sdp_message_attributes_to_caps(
950 msg: *const GstSDPMessage,
951 caps: *mut gst::GstCaps,
952 ) -> GstSDPResult;
953 pub fn gst_sdp_message_bandwidths_len(msg: *const GstSDPMessage) -> c_uint;
954 pub fn gst_sdp_message_copy(
955 msg: *const GstSDPMessage,
956 copy: *mut *mut GstSDPMessage,
957 ) -> GstSDPResult;
958 pub fn gst_sdp_message_dump(msg: *const GstSDPMessage) -> GstSDPResult;
959 pub fn gst_sdp_message_emails_len(msg: *const GstSDPMessage) -> c_uint;
960 pub fn gst_sdp_message_free(msg: *mut GstSDPMessage) -> GstSDPResult;
961 pub fn gst_sdp_message_get_attribute(
962 msg: *const GstSDPMessage,
963 idx: c_uint,
964 ) -> *const GstSDPAttribute;
965 pub fn gst_sdp_message_get_attribute_val(
966 msg: *const GstSDPMessage,
967 key: *const c_char,
968 ) -> *const c_char;
969 pub fn gst_sdp_message_get_attribute_val_n(
970 msg: *const GstSDPMessage,
971 key: *const c_char,
972 nth: c_uint,
973 ) -> *const c_char;
974 pub fn gst_sdp_message_get_bandwidth(
975 msg: *const GstSDPMessage,
976 idx: c_uint,
977 ) -> *const GstSDPBandwidth;
978 pub fn gst_sdp_message_get_connection(msg: *const GstSDPMessage) -> *const GstSDPConnection;
979 pub fn gst_sdp_message_get_email(msg: *const GstSDPMessage, idx: c_uint) -> *const c_char;
980 pub fn gst_sdp_message_get_information(msg: *const GstSDPMessage) -> *const c_char;
981 pub fn gst_sdp_message_get_key(msg: *const GstSDPMessage) -> *const GstSDPKey;
982 pub fn gst_sdp_message_get_media(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPMedia;
983 pub fn gst_sdp_message_get_origin(msg: *const GstSDPMessage) -> *const GstSDPOrigin;
984 pub fn gst_sdp_message_get_phone(msg: *const GstSDPMessage, idx: c_uint) -> *const c_char;
985 pub fn gst_sdp_message_get_session_name(msg: *const GstSDPMessage) -> *const c_char;
986 pub fn gst_sdp_message_get_time(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPTime;
987 pub fn gst_sdp_message_get_uri(msg: *const GstSDPMessage) -> *const c_char;
988 pub fn gst_sdp_message_get_version(msg: *const GstSDPMessage) -> *const c_char;
989 pub fn gst_sdp_message_get_zone(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPZone;
990 pub fn gst_sdp_message_insert_attribute(
991 msg: *mut GstSDPMessage,
992 idx: c_int,
993 attr: *mut GstSDPAttribute,
994 ) -> GstSDPResult;
995 pub fn gst_sdp_message_insert_bandwidth(
996 msg: *mut GstSDPMessage,
997 idx: c_int,
998 bw: *mut GstSDPBandwidth,
999 ) -> GstSDPResult;
1000 pub fn gst_sdp_message_insert_email(
1001 msg: *mut GstSDPMessage,
1002 idx: c_int,
1003 email: *const c_char,
1004 ) -> GstSDPResult;
1005 pub fn gst_sdp_message_insert_phone(
1006 msg: *mut GstSDPMessage,
1007 idx: c_int,
1008 phone: *const c_char,
1009 ) -> GstSDPResult;
1010 pub fn gst_sdp_message_insert_time(
1011 msg: *mut GstSDPMessage,
1012 idx: c_int,
1013 t: *mut GstSDPTime,
1014 ) -> GstSDPResult;
1015 pub fn gst_sdp_message_insert_zone(
1016 msg: *mut GstSDPMessage,
1017 idx: c_int,
1018 zone: *mut GstSDPZone,
1019 ) -> GstSDPResult;
1020 pub fn gst_sdp_message_medias_len(msg: *const GstSDPMessage) -> c_uint;
1021 pub fn gst_sdp_message_parse_keymgmt(
1022 msg: *const GstSDPMessage,
1023 mikey: *mut *mut GstMIKEYMessage,
1024 ) -> GstSDPResult;
1025 pub fn gst_sdp_message_phones_len(msg: *const GstSDPMessage) -> c_uint;
1026 pub fn gst_sdp_message_remove_attribute(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1027 pub fn gst_sdp_message_remove_bandwidth(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1028 pub fn gst_sdp_message_remove_email(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1029 #[cfg(feature = "v1_24")]
1030 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1031 pub fn gst_sdp_message_remove_media(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1032 pub fn gst_sdp_message_remove_phone(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1033 pub fn gst_sdp_message_remove_time(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1034 pub fn gst_sdp_message_remove_zone(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
1035 pub fn gst_sdp_message_replace_attribute(
1036 msg: *mut GstSDPMessage,
1037 idx: c_uint,
1038 attr: *mut GstSDPAttribute,
1039 ) -> GstSDPResult;
1040 pub fn gst_sdp_message_replace_bandwidth(
1041 msg: *mut GstSDPMessage,
1042 idx: c_uint,
1043 bw: *mut GstSDPBandwidth,
1044 ) -> GstSDPResult;
1045 pub fn gst_sdp_message_replace_email(
1046 msg: *mut GstSDPMessage,
1047 idx: c_uint,
1048 email: *const c_char,
1049 ) -> GstSDPResult;
1050 pub fn gst_sdp_message_replace_phone(
1051 msg: *mut GstSDPMessage,
1052 idx: c_uint,
1053 phone: *const c_char,
1054 ) -> GstSDPResult;
1055 pub fn gst_sdp_message_replace_time(
1056 msg: *mut GstSDPMessage,
1057 idx: c_uint,
1058 t: *mut GstSDPTime,
1059 ) -> GstSDPResult;
1060 pub fn gst_sdp_message_replace_zone(
1061 msg: *mut GstSDPMessage,
1062 idx: c_uint,
1063 zone: *mut GstSDPZone,
1064 ) -> GstSDPResult;
1065 pub fn gst_sdp_message_set_connection(
1066 msg: *mut GstSDPMessage,
1067 nettype: *const c_char,
1068 addrtype: *const c_char,
1069 address: *const c_char,
1070 ttl: c_uint,
1071 addr_number: c_uint,
1072 ) -> GstSDPResult;
1073 pub fn gst_sdp_message_set_information(
1074 msg: *mut GstSDPMessage,
1075 information: *const c_char,
1076 ) -> GstSDPResult;
1077 pub fn gst_sdp_message_set_key(
1078 msg: *mut GstSDPMessage,
1079 type_: *const c_char,
1080 data: *const c_char,
1081 ) -> GstSDPResult;
1082 pub fn gst_sdp_message_set_origin(
1083 msg: *mut GstSDPMessage,
1084 username: *const c_char,
1085 sess_id: *const c_char,
1086 sess_version: *const c_char,
1087 nettype: *const c_char,
1088 addrtype: *const c_char,
1089 addr: *const c_char,
1090 ) -> GstSDPResult;
1091 pub fn gst_sdp_message_set_session_name(
1092 msg: *mut GstSDPMessage,
1093 session_name: *const c_char,
1094 ) -> GstSDPResult;
1095 pub fn gst_sdp_message_set_uri(msg: *mut GstSDPMessage, uri: *const c_char) -> GstSDPResult;
1096 pub fn gst_sdp_message_set_version(
1097 msg: *mut GstSDPMessage,
1098 version: *const c_char,
1099 ) -> GstSDPResult;
1100 pub fn gst_sdp_message_times_len(msg: *const GstSDPMessage) -> c_uint;
1101 pub fn gst_sdp_message_uninit(msg: *mut GstSDPMessage) -> GstSDPResult;
1102 pub fn gst_sdp_message_zones_len(msg: *const GstSDPMessage) -> c_uint;
1103 pub fn gst_sdp_message_as_uri(scheme: *const c_char, msg: *const GstSDPMessage) -> *mut c_char;
1104 pub fn gst_sdp_message_init(msg: *mut GstSDPMessage) -> GstSDPResult;
1105 pub fn gst_sdp_message_new(msg: *mut *mut GstSDPMessage) -> GstSDPResult;
1106 #[cfg(feature = "v1_16")]
1107 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1108 pub fn gst_sdp_message_new_from_text(
1109 text: *const c_char,
1110 msg: *mut *mut GstSDPMessage,
1111 ) -> GstSDPResult;
1112 pub fn gst_sdp_message_parse_buffer(
1113 data: *const u8,
1114 size: c_uint,
1115 msg: *mut GstSDPMessage,
1116 ) -> GstSDPResult;
1117 pub fn gst_sdp_message_parse_uri(uri: *const c_char, msg: *mut GstSDPMessage) -> GstSDPResult;
1118
1119 pub fn gst_sdp_time_clear(t: *mut GstSDPTime) -> GstSDPResult;
1123 pub fn gst_sdp_time_set(
1124 t: *mut GstSDPTime,
1125 start: *const c_char,
1126 stop: *const c_char,
1127 repeat: *mut *const c_char,
1128 ) -> GstSDPResult;
1129
1130 pub fn gst_sdp_zone_clear(zone: *mut GstSDPZone) -> GstSDPResult;
1134 pub fn gst_sdp_zone_set(
1135 zone: *mut GstSDPZone,
1136 adj_time: *const c_char,
1137 typed_time: *const c_char,
1138 ) -> GstSDPResult;
1139
1140 pub fn gst_sdp_address_is_multicast(
1144 nettype: *const c_char,
1145 addrtype: *const c_char,
1146 addr: *const c_char,
1147 ) -> gboolean;
1148 pub fn gst_sdp_make_keymgmt(uri: *const c_char, base64: *const c_char) -> *mut c_char;
1149
1150}