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 gio_sys as gio;
16use glib_sys as glib;
17use gobject_sys as gobject;
18use gstreamer_net_sys as gst_net;
19use gstreamer_rtsp_sys as gst_rtsp;
20use gstreamer_sdp_sys as gst_sdp;
21use gstreamer_sys as gst;
22
23#[cfg(unix)]
24#[allow(unused_imports)]
25use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
26#[allow(unused_imports)]
27use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
28#[allow(unused_imports)]
29use std::ffi::{
30 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
31};
32
33#[allow(unused_imports)]
34use glib::{gboolean, gconstpointer, gpointer, GType};
35
36pub type GstRTSPAddressPoolResult = c_int;
38pub const GST_RTSP_ADDRESS_POOL_OK: GstRTSPAddressPoolResult = 0;
39pub const GST_RTSP_ADDRESS_POOL_EINVAL: GstRTSPAddressPoolResult = -1;
40pub const GST_RTSP_ADDRESS_POOL_ERESERVED: GstRTSPAddressPoolResult = -2;
41pub const GST_RTSP_ADDRESS_POOL_ERANGE: GstRTSPAddressPoolResult = -3;
42pub const GST_RTSP_ADDRESS_POOL_ELAST: GstRTSPAddressPoolResult = -4;
43
44pub type GstRTSPFilterResult = c_int;
45pub const GST_RTSP_FILTER_REMOVE: GstRTSPFilterResult = 0;
46pub const GST_RTSP_FILTER_KEEP: GstRTSPFilterResult = 1;
47pub const GST_RTSP_FILTER_REF: GstRTSPFilterResult = 2;
48
49pub type GstRTSPMediaStatus = c_int;
50pub const GST_RTSP_MEDIA_STATUS_UNPREPARED: GstRTSPMediaStatus = 0;
51pub const GST_RTSP_MEDIA_STATUS_UNPREPARING: GstRTSPMediaStatus = 1;
52pub const GST_RTSP_MEDIA_STATUS_PREPARING: GstRTSPMediaStatus = 2;
53pub const GST_RTSP_MEDIA_STATUS_PREPARED: GstRTSPMediaStatus = 3;
54pub const GST_RTSP_MEDIA_STATUS_SUSPENDED: GstRTSPMediaStatus = 4;
55pub const GST_RTSP_MEDIA_STATUS_ERROR: GstRTSPMediaStatus = 5;
56
57pub type GstRTSPPublishClockMode = c_int;
58pub const GST_RTSP_PUBLISH_CLOCK_MODE_NONE: GstRTSPPublishClockMode = 0;
59pub const GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK: GstRTSPPublishClockMode = 1;
60pub const GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK_AND_OFFSET: GstRTSPPublishClockMode = 2;
61
62pub type GstRTSPSuspendMode = c_int;
63pub const GST_RTSP_SUSPEND_MODE_NONE: GstRTSPSuspendMode = 0;
64pub const GST_RTSP_SUSPEND_MODE_PAUSE: GstRTSPSuspendMode = 1;
65pub const GST_RTSP_SUSPEND_MODE_RESET: GstRTSPSuspendMode = 2;
66
67pub type GstRTSPThreadType = c_int;
68pub const GST_RTSP_THREAD_TYPE_CLIENT: GstRTSPThreadType = 0;
69pub const GST_RTSP_THREAD_TYPE_MEDIA: GstRTSPThreadType = 1;
70
71pub const GST_RTSP_ADDRESS_POOL_ANY_IPV4: &[u8] = b"0.0.0.0\0";
73pub const GST_RTSP_ADDRESS_POOL_ANY_IPV6: &[u8] = b"::\0";
74pub const GST_RTSP_AUTH_CHECK_CONNECT: &[u8] = b"auth.check.connect\0";
75pub const GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS: &[u8] = b"auth.check.media.factory.access\0";
76pub const GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT: &[u8] =
77 b"auth.check.media.factory.construct\0";
78pub const GST_RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS: &[u8] =
79 b"auth.check.transport.client-settings\0";
80pub const GST_RTSP_AUTH_CHECK_URL: &[u8] = b"auth.check.url\0";
81pub const GST_RTSP_ONVIF_BACKCHANNEL_REQUIREMENT: &[u8] = b"www.onvif.org/ver20/backchannel\0";
82pub const GST_RTSP_ONVIF_REPLAY_REQUIREMENT: &[u8] = b"onvif-replay\0";
83pub const GST_RTSP_PERM_MEDIA_FACTORY_ACCESS: &[u8] = b"media.factory.access\0";
84pub const GST_RTSP_PERM_MEDIA_FACTORY_CONSTRUCT: &[u8] = b"media.factory.construct\0";
85pub const GST_RTSP_TOKEN_MEDIA_FACTORY_ROLE: &[u8] = b"media.factory.role\0";
86pub const GST_RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS: &[u8] = b"transport.client-settings\0";
87
88pub type GstRTSPAddressFlags = c_uint;
90pub const GST_RTSP_ADDRESS_FLAG_NONE: GstRTSPAddressFlags = 0;
91pub const GST_RTSP_ADDRESS_FLAG_IPV4: GstRTSPAddressFlags = 1;
92pub const GST_RTSP_ADDRESS_FLAG_IPV6: GstRTSPAddressFlags = 2;
93pub const GST_RTSP_ADDRESS_FLAG_EVEN_PORT: GstRTSPAddressFlags = 4;
94pub const GST_RTSP_ADDRESS_FLAG_MULTICAST: GstRTSPAddressFlags = 8;
95pub const GST_RTSP_ADDRESS_FLAG_UNICAST: GstRTSPAddressFlags = 16;
96
97pub type GstRTSPTransportMode = c_uint;
98pub const GST_RTSP_TRANSPORT_MODE_PLAY: GstRTSPTransportMode = 1;
99pub const GST_RTSP_TRANSPORT_MODE_RECORD: GstRTSPTransportMode = 2;
100
101pub type GstRTSPClientSendFunc = Option<
103 unsafe extern "C" fn(
104 *mut GstRTSPClient,
105 *mut gst_rtsp::GstRTSPMessage,
106 gboolean,
107 gpointer,
108 ) -> gboolean,
109>;
110pub type GstRTSPClientSendMessagesFunc = Option<
111 unsafe extern "C" fn(
112 *mut GstRTSPClient,
113 *mut gst_rtsp::GstRTSPMessage,
114 c_uint,
115 gboolean,
116 gpointer,
117 ) -> gboolean,
118>;
119pub type GstRTSPClientSessionFilterFunc = Option<
120 unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPSession, gpointer) -> GstRTSPFilterResult,
121>;
122pub type GstRTSPKeepAliveFunc = Option<unsafe extern "C" fn(gpointer)>;
123pub type GstRTSPMessageSentFunc = Option<unsafe extern "C" fn(gpointer)>;
124pub type GstRTSPMessageSentFuncFull =
125 Option<unsafe extern "C" fn(*mut GstRTSPStreamTransport, gpointer)>;
126pub type GstRTSPSendFunc =
127 Option<unsafe extern "C" fn(*mut gst::GstBuffer, u8, gpointer) -> gboolean>;
128pub type GstRTSPSendListFunc =
129 Option<unsafe extern "C" fn(*mut gst::GstBufferList, u8, gpointer) -> gboolean>;
130pub type GstRTSPServerClientFilterFunc = Option<
131 unsafe extern "C" fn(*mut GstRTSPServer, *mut GstRTSPClient, gpointer) -> GstRTSPFilterResult,
132>;
133pub type GstRTSPSessionFilterFunc = Option<
134 unsafe extern "C" fn(
135 *mut GstRTSPSession,
136 *mut GstRTSPSessionMedia,
137 gpointer,
138 ) -> GstRTSPFilterResult,
139>;
140pub type GstRTSPSessionPoolFilterFunc = Option<
141 unsafe extern "C" fn(
142 *mut GstRTSPSessionPool,
143 *mut GstRTSPSession,
144 gpointer,
145 ) -> GstRTSPFilterResult,
146>;
147pub type GstRTSPSessionPoolFunc =
148 Option<unsafe extern "C" fn(*mut GstRTSPSessionPool, gpointer) -> gboolean>;
149pub type GstRTSPStreamTransportFilterFunc = Option<
150 unsafe extern "C" fn(
151 *mut GstRTSPStream,
152 *mut GstRTSPStreamTransport,
153 gpointer,
154 ) -> GstRTSPFilterResult,
155>;
156
157#[derive(Copy, Clone)]
159#[repr(C)]
160pub struct GstRTSPAddress {
161 pub pool: *mut GstRTSPAddressPool,
162 pub address: *mut c_char,
163 pub port: u16,
164 pub n_ports: c_int,
165 pub ttl: u8,
166 pub priv_: gpointer,
167}
168
169impl ::std::fmt::Debug for GstRTSPAddress {
170 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
171 f.debug_struct(&format!("GstRTSPAddress @ {self:p}"))
172 .field("pool", &self.pool)
173 .field("address", &self.address)
174 .field("port", &self.port)
175 .field("n_ports", &self.n_ports)
176 .field("ttl", &self.ttl)
177 .finish()
178 }
179}
180
181#[derive(Copy, Clone)]
182#[repr(C)]
183pub struct GstRTSPAddressPoolClass {
184 pub parent_class: gobject::GObjectClass,
185 pub _gst_reserved: [gpointer; 4],
186}
187
188impl ::std::fmt::Debug for GstRTSPAddressPoolClass {
189 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
190 f.debug_struct(&format!("GstRTSPAddressPoolClass @ {self:p}"))
191 .field("parent_class", &self.parent_class)
192 .finish()
193 }
194}
195
196#[repr(C)]
197#[allow(dead_code)]
198pub struct _GstRTSPAddressPoolPrivate {
199 _data: [u8; 0],
200 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
201}
202
203pub type GstRTSPAddressPoolPrivate = _GstRTSPAddressPoolPrivate;
204
205#[derive(Copy, Clone)]
206#[repr(C)]
207pub struct GstRTSPAuthClass {
208 pub parent_class: gobject::GObjectClass,
209 pub authenticate:
210 Option<unsafe extern "C" fn(*mut GstRTSPAuth, *mut GstRTSPContext) -> gboolean>,
211 pub check: Option<
212 unsafe extern "C" fn(*mut GstRTSPAuth, *mut GstRTSPContext, *const c_char) -> gboolean,
213 >,
214 pub generate_authenticate_header:
215 Option<unsafe extern "C" fn(*mut GstRTSPAuth, *mut GstRTSPContext)>,
216 pub accept_certificate: Option<
217 unsafe extern "C" fn(
218 *mut GstRTSPAuth,
219 *mut gio::GTlsConnection,
220 *mut gio::GTlsCertificate,
221 gio::GTlsCertificateFlags,
222 ) -> gboolean,
223 >,
224 pub _gst_reserved: [gpointer; 3],
225}
226
227impl ::std::fmt::Debug for GstRTSPAuthClass {
228 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
229 f.debug_struct(&format!("GstRTSPAuthClass @ {self:p}"))
230 .field("parent_class", &self.parent_class)
231 .field("authenticate", &self.authenticate)
232 .field("check", &self.check)
233 .field(
234 "generate_authenticate_header",
235 &self.generate_authenticate_header,
236 )
237 .field("accept_certificate", &self.accept_certificate)
238 .finish()
239 }
240}
241
242#[repr(C)]
243#[allow(dead_code)]
244pub struct _GstRTSPAuthPrivate {
245 _data: [u8; 0],
246 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
247}
248
249pub type GstRTSPAuthPrivate = _GstRTSPAuthPrivate;
250
251#[derive(Copy, Clone)]
252#[repr(C)]
253pub struct GstRTSPClientClass {
254 pub parent_class: gobject::GObjectClass,
255 pub create_sdp: Option<
256 unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPMedia) -> *mut gst_sdp::GstSDPMessage,
257 >,
258 pub configure_client_media: Option<
259 unsafe extern "C" fn(
260 *mut GstRTSPClient,
261 *mut GstRTSPMedia,
262 *mut GstRTSPStream,
263 *mut GstRTSPContext,
264 ) -> gboolean,
265 >,
266 pub configure_client_transport: Option<
267 unsafe extern "C" fn(
268 *mut GstRTSPClient,
269 *mut GstRTSPContext,
270 *mut gst_rtsp::GstRTSPTransport,
271 ) -> gboolean,
272 >,
273 pub params_set: Option<
274 unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext) -> gst_rtsp::GstRTSPResult,
275 >,
276 pub params_get: Option<
277 unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext) -> gst_rtsp::GstRTSPResult,
278 >,
279 pub make_path_from_uri: Option<
280 unsafe extern "C" fn(*mut GstRTSPClient, *const gst_rtsp::GstRTSPUrl) -> *mut c_char,
281 >,
282 pub adjust_play_mode: Option<
283 unsafe extern "C" fn(
284 *mut GstRTSPClient,
285 *mut GstRTSPContext,
286 *mut *mut gst_rtsp::GstRTSPTimeRange,
287 *mut gst::GstSeekFlags,
288 *mut c_double,
289 *mut gst::GstClockTime,
290 *mut gboolean,
291 ) -> gst_rtsp::GstRTSPStatusCode,
292 >,
293 pub adjust_play_response: Option<
294 unsafe extern "C" fn(
295 *mut GstRTSPClient,
296 *mut GstRTSPContext,
297 ) -> gst_rtsp::GstRTSPStatusCode,
298 >,
299 pub closed: Option<unsafe extern "C" fn(*mut GstRTSPClient)>,
300 pub new_session: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPSession)>,
301 pub options_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
302 pub describe_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
303 pub setup_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
304 pub play_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
305 pub pause_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
306 pub teardown_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
307 pub set_parameter_request:
308 Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
309 pub get_parameter_request:
310 Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
311 pub handle_response: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
312 pub tunnel_http_response: Option<
313 unsafe extern "C" fn(
314 *mut GstRTSPClient,
315 *mut gst_rtsp::GstRTSPMessage,
316 *mut gst_rtsp::GstRTSPMessage,
317 ),
318 >,
319 pub send_message: Option<
320 unsafe extern "C" fn(
321 *mut GstRTSPClient,
322 *mut GstRTSPContext,
323 *mut gst_rtsp::GstRTSPMessage,
324 ),
325 >,
326 pub handle_sdp: Option<
327 unsafe extern "C" fn(
328 *mut GstRTSPClient,
329 *mut GstRTSPContext,
330 *mut GstRTSPMedia,
331 *mut gst_sdp::GstSDPMessage,
332 ) -> gboolean,
333 >,
334 pub announce_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
335 pub record_request: Option<unsafe extern "C" fn(*mut GstRTSPClient, *mut GstRTSPContext)>,
336 pub check_requirements: Option<
337 unsafe extern "C" fn(
338 *mut GstRTSPClient,
339 *mut GstRTSPContext,
340 *mut *mut c_char,
341 ) -> *mut c_char,
342 >,
343 pub pre_options_request: Option<
344 unsafe extern "C" fn(
345 *mut GstRTSPClient,
346 *mut GstRTSPContext,
347 ) -> gst_rtsp::GstRTSPStatusCode,
348 >,
349 pub pre_describe_request: Option<
350 unsafe extern "C" fn(
351 *mut GstRTSPClient,
352 *mut GstRTSPContext,
353 ) -> gst_rtsp::GstRTSPStatusCode,
354 >,
355 pub pre_setup_request: Option<
356 unsafe extern "C" fn(
357 *mut GstRTSPClient,
358 *mut GstRTSPContext,
359 ) -> gst_rtsp::GstRTSPStatusCode,
360 >,
361 pub pre_play_request: Option<
362 unsafe extern "C" fn(
363 *mut GstRTSPClient,
364 *mut GstRTSPContext,
365 ) -> gst_rtsp::GstRTSPStatusCode,
366 >,
367 pub pre_pause_request: Option<
368 unsafe extern "C" fn(
369 *mut GstRTSPClient,
370 *mut GstRTSPContext,
371 ) -> gst_rtsp::GstRTSPStatusCode,
372 >,
373 pub pre_teardown_request: Option<
374 unsafe extern "C" fn(
375 *mut GstRTSPClient,
376 *mut GstRTSPContext,
377 ) -> gst_rtsp::GstRTSPStatusCode,
378 >,
379 pub pre_set_parameter_request: Option<
380 unsafe extern "C" fn(
381 *mut GstRTSPClient,
382 *mut GstRTSPContext,
383 ) -> gst_rtsp::GstRTSPStatusCode,
384 >,
385 pub pre_get_parameter_request: Option<
386 unsafe extern "C" fn(
387 *mut GstRTSPClient,
388 *mut GstRTSPContext,
389 ) -> gst_rtsp::GstRTSPStatusCode,
390 >,
391 pub pre_announce_request: Option<
392 unsafe extern "C" fn(
393 *mut GstRTSPClient,
394 *mut GstRTSPContext,
395 ) -> gst_rtsp::GstRTSPStatusCode,
396 >,
397 pub pre_record_request: Option<
398 unsafe extern "C" fn(
399 *mut GstRTSPClient,
400 *mut GstRTSPContext,
401 ) -> gst_rtsp::GstRTSPStatusCode,
402 >,
403 pub adjust_error_code: Option<
404 unsafe extern "C" fn(
405 *mut GstRTSPClient,
406 *mut GstRTSPContext,
407 gst_rtsp::GstRTSPStatusCode,
408 ) -> gst_rtsp::GstRTSPStatusCode,
409 >,
410 pub _gst_reserved: [gpointer; 1],
411}
412
413impl ::std::fmt::Debug for GstRTSPClientClass {
414 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
415 f.debug_struct(&format!("GstRTSPClientClass @ {self:p}"))
416 .field("parent_class", &self.parent_class)
417 .field("create_sdp", &self.create_sdp)
418 .field("configure_client_media", &self.configure_client_media)
419 .field(
420 "configure_client_transport",
421 &self.configure_client_transport,
422 )
423 .field("params_set", &self.params_set)
424 .field("params_get", &self.params_get)
425 .field("make_path_from_uri", &self.make_path_from_uri)
426 .field("adjust_play_mode", &self.adjust_play_mode)
427 .field("adjust_play_response", &self.adjust_play_response)
428 .field("closed", &self.closed)
429 .field("new_session", &self.new_session)
430 .field("options_request", &self.options_request)
431 .field("describe_request", &self.describe_request)
432 .field("setup_request", &self.setup_request)
433 .field("play_request", &self.play_request)
434 .field("pause_request", &self.pause_request)
435 .field("teardown_request", &self.teardown_request)
436 .field("set_parameter_request", &self.set_parameter_request)
437 .field("get_parameter_request", &self.get_parameter_request)
438 .field("handle_response", &self.handle_response)
439 .field("tunnel_http_response", &self.tunnel_http_response)
440 .field("send_message", &self.send_message)
441 .field("handle_sdp", &self.handle_sdp)
442 .field("announce_request", &self.announce_request)
443 .field("record_request", &self.record_request)
444 .field("check_requirements", &self.check_requirements)
445 .field("pre_options_request", &self.pre_options_request)
446 .field("pre_describe_request", &self.pre_describe_request)
447 .field("pre_setup_request", &self.pre_setup_request)
448 .field("pre_play_request", &self.pre_play_request)
449 .field("pre_pause_request", &self.pre_pause_request)
450 .field("pre_teardown_request", &self.pre_teardown_request)
451 .field("pre_set_parameter_request", &self.pre_set_parameter_request)
452 .field("pre_get_parameter_request", &self.pre_get_parameter_request)
453 .field("pre_announce_request", &self.pre_announce_request)
454 .field("pre_record_request", &self.pre_record_request)
455 .field("adjust_error_code", &self.adjust_error_code)
456 .finish()
457 }
458}
459
460#[repr(C)]
461#[allow(dead_code)]
462pub struct _GstRTSPClientPrivate {
463 _data: [u8; 0],
464 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
465}
466
467pub type GstRTSPClientPrivate = _GstRTSPClientPrivate;
468
469#[derive(Copy, Clone)]
470#[repr(C)]
471pub struct GstRTSPContext {
472 pub server: *mut GstRTSPServer,
473 pub conn: *mut gst_rtsp::GstRTSPConnection,
474 pub client: *mut GstRTSPClient,
475 pub request: *mut gst_rtsp::GstRTSPMessage,
476 pub uri: *mut gst_rtsp::GstRTSPUrl,
477 pub method: gst_rtsp::GstRTSPMethod,
478 pub auth: *mut GstRTSPAuth,
479 pub token: *mut GstRTSPToken,
480 pub session: *mut GstRTSPSession,
481 pub sessmedia: *mut GstRTSPSessionMedia,
482 pub factory: *mut GstRTSPMediaFactory,
483 pub media: *mut GstRTSPMedia,
484 pub stream: *mut GstRTSPStream,
485 pub response: *mut gst_rtsp::GstRTSPMessage,
486 pub trans: *mut GstRTSPStreamTransport,
487 pub _gst_reserved: [gpointer; 3],
488}
489
490impl ::std::fmt::Debug for GstRTSPContext {
491 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
492 f.debug_struct(&format!("GstRTSPContext @ {self:p}"))
493 .field("server", &self.server)
494 .field("conn", &self.conn)
495 .field("client", &self.client)
496 .field("request", &self.request)
497 .field("uri", &self.uri)
498 .field("method", &self.method)
499 .field("auth", &self.auth)
500 .field("token", &self.token)
501 .field("session", &self.session)
502 .field("sessmedia", &self.sessmedia)
503 .field("factory", &self.factory)
504 .field("media", &self.media)
505 .field("stream", &self.stream)
506 .field("response", &self.response)
507 .field("trans", &self.trans)
508 .finish()
509 }
510}
511
512#[derive(Copy, Clone)]
513#[repr(C)]
514pub struct GstRTSPMediaClass {
515 pub parent_class: gobject::GObjectClass,
516 pub handle_message:
517 Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut gst::GstMessage) -> gboolean>,
518 pub prepare: Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut GstRTSPThread) -> gboolean>,
519 pub unprepare: Option<unsafe extern "C" fn(*mut GstRTSPMedia) -> gboolean>,
520 pub suspend: Option<unsafe extern "C" fn(*mut GstRTSPMedia) -> gboolean>,
521 pub unsuspend: Option<unsafe extern "C" fn(*mut GstRTSPMedia) -> gboolean>,
522 pub convert_range: Option<
523 unsafe extern "C" fn(
524 *mut GstRTSPMedia,
525 *mut gst_rtsp::GstRTSPTimeRange,
526 gst_rtsp::GstRTSPRangeUnit,
527 ) -> gboolean,
528 >,
529 pub query_position: Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut i64) -> gboolean>,
530 pub query_stop: Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut i64) -> gboolean>,
531 pub create_rtpbin: Option<unsafe extern "C" fn(*mut GstRTSPMedia) -> *mut gst::GstElement>,
532 pub setup_rtpbin:
533 Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut gst::GstElement) -> gboolean>,
534 pub setup_sdp: Option<
535 unsafe extern "C" fn(
536 *mut GstRTSPMedia,
537 *mut gst_sdp::GstSDPMessage,
538 *mut GstSDPInfo,
539 ) -> gboolean,
540 >,
541 pub new_stream: Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut GstRTSPStream)>,
542 pub removed_stream: Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut GstRTSPStream)>,
543 pub prepared: Option<unsafe extern "C" fn(*mut GstRTSPMedia)>,
544 pub unprepared: Option<unsafe extern "C" fn(*mut GstRTSPMedia)>,
545 pub target_state: Option<unsafe extern "C" fn(*mut GstRTSPMedia, gst::GstState)>,
546 pub new_state: Option<unsafe extern "C" fn(*mut GstRTSPMedia, gst::GstState)>,
547 pub handle_sdp:
548 Option<unsafe extern "C" fn(*mut GstRTSPMedia, *mut gst_sdp::GstSDPMessage) -> gboolean>,
549 pub _gst_reserved: [gpointer; 19],
550}
551
552impl ::std::fmt::Debug for GstRTSPMediaClass {
553 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
554 f.debug_struct(&format!("GstRTSPMediaClass @ {self:p}"))
555 .field("parent_class", &self.parent_class)
556 .field("handle_message", &self.handle_message)
557 .field("prepare", &self.prepare)
558 .field("unprepare", &self.unprepare)
559 .field("suspend", &self.suspend)
560 .field("unsuspend", &self.unsuspend)
561 .field("convert_range", &self.convert_range)
562 .field("query_position", &self.query_position)
563 .field("query_stop", &self.query_stop)
564 .field("create_rtpbin", &self.create_rtpbin)
565 .field("setup_rtpbin", &self.setup_rtpbin)
566 .field("setup_sdp", &self.setup_sdp)
567 .field("new_stream", &self.new_stream)
568 .field("removed_stream", &self.removed_stream)
569 .field("prepared", &self.prepared)
570 .field("unprepared", &self.unprepared)
571 .field("target_state", &self.target_state)
572 .field("new_state", &self.new_state)
573 .field("handle_sdp", &self.handle_sdp)
574 .finish()
575 }
576}
577
578#[derive(Copy, Clone)]
579#[repr(C)]
580pub struct GstRTSPMediaFactoryClass {
581 pub parent_class: gobject::GObjectClass,
582 pub gen_key: Option<
583 unsafe extern "C" fn(*mut GstRTSPMediaFactory, *const gst_rtsp::GstRTSPUrl) -> *mut c_char,
584 >,
585 pub create_element: Option<
586 unsafe extern "C" fn(
587 *mut GstRTSPMediaFactory,
588 *const gst_rtsp::GstRTSPUrl,
589 ) -> *mut gst::GstElement,
590 >,
591 pub construct: Option<
592 unsafe extern "C" fn(
593 *mut GstRTSPMediaFactory,
594 *const gst_rtsp::GstRTSPUrl,
595 ) -> *mut GstRTSPMedia,
596 >,
597 pub create_pipeline: Option<
598 unsafe extern "C" fn(*mut GstRTSPMediaFactory, *mut GstRTSPMedia) -> *mut gst::GstElement,
599 >,
600 pub configure: Option<unsafe extern "C" fn(*mut GstRTSPMediaFactory, *mut GstRTSPMedia)>,
601 pub media_constructed:
602 Option<unsafe extern "C" fn(*mut GstRTSPMediaFactory, *mut GstRTSPMedia)>,
603 pub media_configure: Option<unsafe extern "C" fn(*mut GstRTSPMediaFactory, *mut GstRTSPMedia)>,
604 pub _gst_reserved: [gpointer; 20],
605}
606
607impl ::std::fmt::Debug for GstRTSPMediaFactoryClass {
608 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
609 f.debug_struct(&format!("GstRTSPMediaFactoryClass @ {self:p}"))
610 .field("parent_class", &self.parent_class)
611 .field("gen_key", &self.gen_key)
612 .field("create_element", &self.create_element)
613 .field("construct", &self.construct)
614 .field("create_pipeline", &self.create_pipeline)
615 .field("configure", &self.configure)
616 .field("media_constructed", &self.media_constructed)
617 .field("media_configure", &self.media_configure)
618 .finish()
619 }
620}
621
622#[repr(C)]
623#[allow(dead_code)]
624pub struct _GstRTSPMediaFactoryPrivate {
625 _data: [u8; 0],
626 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
627}
628
629pub type GstRTSPMediaFactoryPrivate = _GstRTSPMediaFactoryPrivate;
630
631#[derive(Copy, Clone)]
632#[repr(C)]
633pub struct GstRTSPMediaFactoryURIClass {
634 pub parent_class: GstRTSPMediaFactoryClass,
635 pub _gst_reserved: [gpointer; 4],
636}
637
638impl ::std::fmt::Debug for GstRTSPMediaFactoryURIClass {
639 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
640 f.debug_struct(&format!("GstRTSPMediaFactoryURIClass @ {self:p}"))
641 .field("parent_class", &self.parent_class)
642 .finish()
643 }
644}
645
646#[repr(C)]
647#[allow(dead_code)]
648pub struct _GstRTSPMediaFactoryURIPrivate {
649 _data: [u8; 0],
650 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
651}
652
653pub type GstRTSPMediaFactoryURIPrivate = _GstRTSPMediaFactoryURIPrivate;
654
655#[repr(C)]
656#[allow(dead_code)]
657pub struct _GstRTSPMediaPrivate {
658 _data: [u8; 0],
659 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
660}
661
662pub type GstRTSPMediaPrivate = _GstRTSPMediaPrivate;
663
664#[derive(Copy, Clone)]
665#[repr(C)]
666pub struct GstRTSPMountPointsClass {
667 pub parent_class: gobject::GObjectClass,
668 pub make_path: Option<
669 unsafe extern "C" fn(*mut GstRTSPMountPoints, *const gst_rtsp::GstRTSPUrl) -> *mut c_char,
670 >,
671 pub _gst_reserved: [gpointer; 4],
672}
673
674impl ::std::fmt::Debug for GstRTSPMountPointsClass {
675 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
676 f.debug_struct(&format!("GstRTSPMountPointsClass @ {self:p}"))
677 .field("parent_class", &self.parent_class)
678 .field("make_path", &self.make_path)
679 .finish()
680 }
681}
682
683#[repr(C)]
684#[allow(dead_code)]
685pub struct _GstRTSPMountPointsPrivate {
686 _data: [u8; 0],
687 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
688}
689
690pub type GstRTSPMountPointsPrivate = _GstRTSPMountPointsPrivate;
691
692#[derive(Copy, Clone)]
693#[repr(C)]
694pub struct GstRTSPOnvifClientClass {
695 pub parent: GstRTSPClientClass,
696 pub _gst_reserved: [gpointer; 20],
697}
698
699impl ::std::fmt::Debug for GstRTSPOnvifClientClass {
700 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
701 f.debug_struct(&format!("GstRTSPOnvifClientClass @ {self:p}"))
702 .field("parent", &self.parent)
703 .finish()
704 }
705}
706
707#[derive(Copy, Clone)]
708#[repr(C)]
709pub struct GstRTSPOnvifMediaClass {
710 pub parent: GstRTSPMediaClass,
711 pub _gst_reserved: [gpointer; 20],
712}
713
714impl ::std::fmt::Debug for GstRTSPOnvifMediaClass {
715 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
716 f.debug_struct(&format!("GstRTSPOnvifMediaClass @ {self:p}"))
717 .field("parent", &self.parent)
718 .finish()
719 }
720}
721
722#[derive(Copy, Clone)]
723#[repr(C)]
724pub struct GstRTSPOnvifMediaFactoryClass {
725 pub parent: GstRTSPMediaFactoryClass,
726 pub has_backchannel_support:
727 Option<unsafe extern "C" fn(*mut GstRTSPOnvifMediaFactory) -> gboolean>,
728 pub create_backchannel_stream: Option<
729 unsafe extern "C" fn(
730 *mut GstRTSPOnvifMediaFactory,
731 *mut GstRTSPOnvifMedia,
732 *mut GstRTSPContext,
733 ) -> gboolean,
734 >,
735 pub _gst_reserved: [gpointer; 19],
736}
737
738impl ::std::fmt::Debug for GstRTSPOnvifMediaFactoryClass {
739 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
740 f.debug_struct(&format!("GstRTSPOnvifMediaFactoryClass @ {self:p}"))
741 .field("parent", &self.parent)
742 .field("has_backchannel_support", &self.has_backchannel_support)
743 .field("create_backchannel_stream", &self.create_backchannel_stream)
744 .finish()
745 }
746}
747
748#[repr(C)]
749#[allow(dead_code)]
750pub struct _GstRTSPOnvifMediaFactoryPrivate {
751 _data: [u8; 0],
752 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
753}
754
755pub type GstRTSPOnvifMediaFactoryPrivate = _GstRTSPOnvifMediaFactoryPrivate;
756
757#[repr(C)]
758#[allow(dead_code)]
759pub struct _GstRTSPOnvifMediaPrivate {
760 _data: [u8; 0],
761 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
762}
763
764pub type GstRTSPOnvifMediaPrivate = _GstRTSPOnvifMediaPrivate;
765
766#[derive(Copy, Clone)]
767#[repr(C)]
768pub struct GstRTSPOnvifServerClass {
769 pub parent: GstRTSPServerClass,
770 pub _gst_reserved: [gpointer; 20],
771}
772
773impl ::std::fmt::Debug for GstRTSPOnvifServerClass {
774 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
775 f.debug_struct(&format!("GstRTSPOnvifServerClass @ {self:p}"))
776 .field("parent", &self.parent)
777 .finish()
778 }
779}
780
781#[derive(Copy, Clone)]
782#[repr(C)]
783pub struct GstRTSPPermissions {
784 pub mini_object: gst::GstMiniObject,
785}
786
787impl ::std::fmt::Debug for GstRTSPPermissions {
788 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
789 f.debug_struct(&format!("GstRTSPPermissions @ {self:p}"))
790 .field("mini_object", &self.mini_object)
791 .finish()
792 }
793}
794
795#[derive(Copy, Clone)]
796#[repr(C)]
797pub struct GstRTSPServerClass {
798 pub parent_class: gobject::GObjectClass,
799 pub create_client: Option<unsafe extern "C" fn(*mut GstRTSPServer) -> *mut GstRTSPClient>,
800 pub client_connected: Option<unsafe extern "C" fn(*mut GstRTSPServer, *mut GstRTSPClient)>,
801 pub _gst_reserved: [gpointer; 20],
802}
803
804impl ::std::fmt::Debug for GstRTSPServerClass {
805 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
806 f.debug_struct(&format!("GstRTSPServerClass @ {self:p}"))
807 .field("parent_class", &self.parent_class)
808 .field("create_client", &self.create_client)
809 .field("client_connected", &self.client_connected)
810 .finish()
811 }
812}
813
814#[repr(C)]
815#[allow(dead_code)]
816pub struct _GstRTSPServerPrivate {
817 _data: [u8; 0],
818 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
819}
820
821pub type GstRTSPServerPrivate = _GstRTSPServerPrivate;
822
823#[derive(Copy, Clone)]
824#[repr(C)]
825pub struct GstRTSPSessionClass {
826 pub parent_class: gobject::GObjectClass,
827 pub _gst_reserved: [gpointer; 4],
828}
829
830impl ::std::fmt::Debug for GstRTSPSessionClass {
831 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
832 f.debug_struct(&format!("GstRTSPSessionClass @ {self:p}"))
833 .field("parent_class", &self.parent_class)
834 .finish()
835 }
836}
837
838#[derive(Copy, Clone)]
839#[repr(C)]
840pub struct GstRTSPSessionMediaClass {
841 pub parent_class: gobject::GObjectClass,
842 pub _gst_reserved: [gpointer; 4],
843}
844
845impl ::std::fmt::Debug for GstRTSPSessionMediaClass {
846 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
847 f.debug_struct(&format!("GstRTSPSessionMediaClass @ {self:p}"))
848 .field("parent_class", &self.parent_class)
849 .finish()
850 }
851}
852
853#[repr(C)]
854#[allow(dead_code)]
855pub struct _GstRTSPSessionMediaPrivate {
856 _data: [u8; 0],
857 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
858}
859
860pub type GstRTSPSessionMediaPrivate = _GstRTSPSessionMediaPrivate;
861
862#[derive(Copy, Clone)]
863#[repr(C)]
864pub struct GstRTSPSessionPoolClass {
865 pub parent_class: gobject::GObjectClass,
866 pub create_session_id: Option<unsafe extern "C" fn(*mut GstRTSPSessionPool) -> *mut c_char>,
867 pub create_session:
868 Option<unsafe extern "C" fn(*mut GstRTSPSessionPool, *const c_char) -> *mut GstRTSPSession>,
869 pub session_removed: Option<unsafe extern "C" fn(*mut GstRTSPSessionPool, *mut GstRTSPSession)>,
870 pub _gst_reserved: [gpointer; 19],
871}
872
873impl ::std::fmt::Debug for GstRTSPSessionPoolClass {
874 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
875 f.debug_struct(&format!("GstRTSPSessionPoolClass @ {self:p}"))
876 .field("parent_class", &self.parent_class)
877 .field("create_session_id", &self.create_session_id)
878 .field("create_session", &self.create_session)
879 .field("session_removed", &self.session_removed)
880 .finish()
881 }
882}
883
884#[repr(C)]
885#[allow(dead_code)]
886pub struct _GstRTSPSessionPoolPrivate {
887 _data: [u8; 0],
888 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
889}
890
891pub type GstRTSPSessionPoolPrivate = _GstRTSPSessionPoolPrivate;
892
893#[repr(C)]
894#[allow(dead_code)]
895pub struct _GstRTSPSessionPrivate {
896 _data: [u8; 0],
897 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
898}
899
900pub type GstRTSPSessionPrivate = _GstRTSPSessionPrivate;
901
902#[derive(Copy, Clone)]
903#[repr(C)]
904pub struct GstRTSPStreamClass {
905 pub parent_class: gobject::GObjectClass,
906 pub _gst_reserved: [gpointer; 4],
907}
908
909impl ::std::fmt::Debug for GstRTSPStreamClass {
910 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
911 f.debug_struct(&format!("GstRTSPStreamClass @ {self:p}"))
912 .field("parent_class", &self.parent_class)
913 .finish()
914 }
915}
916
917#[repr(C)]
918#[allow(dead_code)]
919pub struct _GstRTSPStreamPrivate {
920 _data: [u8; 0],
921 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
922}
923
924pub type GstRTSPStreamPrivate = _GstRTSPStreamPrivate;
925
926#[derive(Copy, Clone)]
927#[repr(C)]
928pub struct GstRTSPStreamTransportClass {
929 pub parent_class: gobject::GObjectClass,
930 pub _gst_reserved: [gpointer; 4],
931}
932
933impl ::std::fmt::Debug for GstRTSPStreamTransportClass {
934 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
935 f.debug_struct(&format!("GstRTSPStreamTransportClass @ {self:p}"))
936 .field("parent_class", &self.parent_class)
937 .finish()
938 }
939}
940
941#[repr(C)]
942#[allow(dead_code)]
943pub struct _GstRTSPStreamTransportPrivate {
944 _data: [u8; 0],
945 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
946}
947
948pub type GstRTSPStreamTransportPrivate = _GstRTSPStreamTransportPrivate;
949
950#[derive(Copy, Clone)]
951#[repr(C)]
952pub struct GstRTSPThread {
953 pub mini_object: gst::GstMiniObject,
954 pub type_: GstRTSPThreadType,
955 pub context: *mut glib::GMainContext,
956 pub loop_: *mut glib::GMainLoop,
957}
958
959impl ::std::fmt::Debug for GstRTSPThread {
960 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
961 f.debug_struct(&format!("GstRTSPThread @ {self:p}"))
962 .field("mini_object", &self.mini_object)
963 .field("type_", &self.type_)
964 .field("context", &self.context)
965 .field("loop_", &self.loop_)
966 .finish()
967 }
968}
969
970#[derive(Copy, Clone)]
971#[repr(C)]
972pub struct GstRTSPThreadPoolClass {
973 pub parent_class: gobject::GObjectClass,
974 pub pool: *mut glib::GThreadPool,
975 pub get_thread: Option<
976 unsafe extern "C" fn(
977 *mut GstRTSPThreadPool,
978 GstRTSPThreadType,
979 *mut GstRTSPContext,
980 ) -> *mut GstRTSPThread,
981 >,
982 pub configure_thread: Option<
983 unsafe extern "C" fn(*mut GstRTSPThreadPool, *mut GstRTSPThread, *mut GstRTSPContext),
984 >,
985 pub thread_enter: Option<unsafe extern "C" fn(*mut GstRTSPThreadPool, *mut GstRTSPThread)>,
986 pub thread_leave: Option<unsafe extern "C" fn(*mut GstRTSPThreadPool, *mut GstRTSPThread)>,
987 pub _gst_reserved: [gpointer; 4],
988}
989
990impl ::std::fmt::Debug for GstRTSPThreadPoolClass {
991 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
992 f.debug_struct(&format!("GstRTSPThreadPoolClass @ {self:p}"))
993 .field("parent_class", &self.parent_class)
994 .field("pool", &self.pool)
995 .field("get_thread", &self.get_thread)
996 .field("configure_thread", &self.configure_thread)
997 .field("thread_enter", &self.thread_enter)
998 .field("thread_leave", &self.thread_leave)
999 .finish()
1000 }
1001}
1002
1003#[repr(C)]
1004#[allow(dead_code)]
1005pub struct _GstRTSPThreadPoolPrivate {
1006 _data: [u8; 0],
1007 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1008}
1009
1010pub type GstRTSPThreadPoolPrivate = _GstRTSPThreadPoolPrivate;
1011
1012#[derive(Copy, Clone)]
1013#[repr(C)]
1014pub struct GstRTSPToken {
1015 pub mini_object: gst::GstMiniObject,
1016}
1017
1018impl ::std::fmt::Debug for GstRTSPToken {
1019 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1020 f.debug_struct(&format!("GstRTSPToken @ {self:p}"))
1021 .field("mini_object", &self.mini_object)
1022 .finish()
1023 }
1024}
1025
1026#[derive(Copy, Clone)]
1027#[repr(C)]
1028pub struct GstSDPInfo {
1029 pub is_ipv6: gboolean,
1030 pub server_ip: *const c_char,
1031}
1032
1033impl ::std::fmt::Debug for GstSDPInfo {
1034 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1035 f.debug_struct(&format!("GstSDPInfo @ {self:p}"))
1036 .field("is_ipv6", &self.is_ipv6)
1037 .field("server_ip", &self.server_ip)
1038 .finish()
1039 }
1040}
1041
1042#[derive(Copy, Clone)]
1044#[repr(C)]
1045pub struct GstRTSPAddressPool {
1046 pub parent: gobject::GObject,
1047 pub priv_: *mut GstRTSPAddressPoolPrivate,
1048 pub _gst_reserved: [gpointer; 4],
1049}
1050
1051impl ::std::fmt::Debug for GstRTSPAddressPool {
1052 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1053 f.debug_struct(&format!("GstRTSPAddressPool @ {self:p}"))
1054 .field("parent", &self.parent)
1055 .finish()
1056 }
1057}
1058
1059#[derive(Copy, Clone)]
1060#[repr(C)]
1061pub struct GstRTSPAuth {
1062 pub parent: gobject::GObject,
1063 pub priv_: *mut GstRTSPAuthPrivate,
1064 pub _gst_reserved: [gpointer; 4],
1065}
1066
1067impl ::std::fmt::Debug for GstRTSPAuth {
1068 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1069 f.debug_struct(&format!("GstRTSPAuth @ {self:p}"))
1070 .field("parent", &self.parent)
1071 .finish()
1072 }
1073}
1074
1075#[derive(Copy, Clone)]
1076#[repr(C)]
1077pub struct GstRTSPClient {
1078 pub parent: gobject::GObject,
1079 pub priv_: *mut GstRTSPClientPrivate,
1080 pub _gst_reserved: [gpointer; 4],
1081}
1082
1083impl ::std::fmt::Debug for GstRTSPClient {
1084 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1085 f.debug_struct(&format!("GstRTSPClient @ {self:p}"))
1086 .field("parent", &self.parent)
1087 .finish()
1088 }
1089}
1090
1091#[derive(Copy, Clone)]
1092#[repr(C)]
1093pub struct GstRTSPMedia {
1094 pub parent: gobject::GObject,
1095 pub priv_: *mut GstRTSPMediaPrivate,
1096 pub _gst_reserved: [gpointer; 4],
1097}
1098
1099impl ::std::fmt::Debug for GstRTSPMedia {
1100 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1101 f.debug_struct(&format!("GstRTSPMedia @ {self:p}"))
1102 .field("parent", &self.parent)
1103 .finish()
1104 }
1105}
1106
1107#[derive(Copy, Clone)]
1108#[repr(C)]
1109pub struct GstRTSPMediaFactory {
1110 pub parent: gobject::GObject,
1111 pub priv_: *mut GstRTSPMediaFactoryPrivate,
1112 pub _gst_reserved: [gpointer; 4],
1113}
1114
1115impl ::std::fmt::Debug for GstRTSPMediaFactory {
1116 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1117 f.debug_struct(&format!("GstRTSPMediaFactory @ {self:p}"))
1118 .field("parent", &self.parent)
1119 .finish()
1120 }
1121}
1122
1123#[derive(Copy, Clone)]
1124#[repr(C)]
1125pub struct GstRTSPMediaFactoryURI {
1126 pub parent: GstRTSPMediaFactory,
1127 pub priv_: *mut GstRTSPMediaFactoryURIPrivate,
1128 pub _gst_reserved: [gpointer; 4],
1129}
1130
1131impl ::std::fmt::Debug for GstRTSPMediaFactoryURI {
1132 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1133 f.debug_struct(&format!("GstRTSPMediaFactoryURI @ {self:p}"))
1134 .field("parent", &self.parent)
1135 .finish()
1136 }
1137}
1138
1139#[derive(Copy, Clone)]
1140#[repr(C)]
1141pub struct GstRTSPMountPoints {
1142 pub parent: gobject::GObject,
1143 pub priv_: *mut GstRTSPMountPointsPrivate,
1144 pub _gst_reserved: [gpointer; 4],
1145}
1146
1147impl ::std::fmt::Debug for GstRTSPMountPoints {
1148 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1149 f.debug_struct(&format!("GstRTSPMountPoints @ {self:p}"))
1150 .field("parent", &self.parent)
1151 .finish()
1152 }
1153}
1154
1155#[derive(Copy, Clone)]
1156#[repr(C)]
1157pub struct GstRTSPOnvifClient {
1158 pub parent: GstRTSPClient,
1159 pub _gst_reserved: [gpointer; 4],
1160}
1161
1162impl ::std::fmt::Debug for GstRTSPOnvifClient {
1163 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1164 f.debug_struct(&format!("GstRTSPOnvifClient @ {self:p}"))
1165 .field("parent", &self.parent)
1166 .finish()
1167 }
1168}
1169
1170#[derive(Copy, Clone)]
1171#[repr(C)]
1172pub struct GstRTSPOnvifMedia {
1173 pub parent: GstRTSPMedia,
1174 pub priv_: *mut GstRTSPOnvifMediaPrivate,
1175 pub _gst_reserved: [gpointer; 4],
1176}
1177
1178impl ::std::fmt::Debug for GstRTSPOnvifMedia {
1179 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1180 f.debug_struct(&format!("GstRTSPOnvifMedia @ {self:p}"))
1181 .field("parent", &self.parent)
1182 .field("priv_", &self.priv_)
1183 .finish()
1184 }
1185}
1186
1187#[derive(Copy, Clone)]
1188#[repr(C)]
1189pub struct GstRTSPOnvifMediaFactory {
1190 pub parent: GstRTSPMediaFactory,
1191 pub priv_: *mut GstRTSPOnvifMediaFactoryPrivate,
1192 pub _gst_reserved: [gpointer; 4],
1193}
1194
1195impl ::std::fmt::Debug for GstRTSPOnvifMediaFactory {
1196 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1197 f.debug_struct(&format!("GstRTSPOnvifMediaFactory @ {self:p}"))
1198 .field("parent", &self.parent)
1199 .field("priv_", &self.priv_)
1200 .finish()
1201 }
1202}
1203
1204#[derive(Copy, Clone)]
1205#[repr(C)]
1206pub struct GstRTSPOnvifServer {
1207 pub parent: GstRTSPServer,
1208 pub _gst_reserved: [gpointer; 4],
1209}
1210
1211impl ::std::fmt::Debug for GstRTSPOnvifServer {
1212 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1213 f.debug_struct(&format!("GstRTSPOnvifServer @ {self:p}"))
1214 .field("parent", &self.parent)
1215 .finish()
1216 }
1217}
1218
1219#[derive(Copy, Clone)]
1220#[repr(C)]
1221pub struct GstRTSPServer {
1222 pub parent: gobject::GObject,
1223 pub priv_: *mut GstRTSPServerPrivate,
1224 pub _gst_reserved: [gpointer; 4],
1225}
1226
1227impl ::std::fmt::Debug for GstRTSPServer {
1228 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1229 f.debug_struct(&format!("GstRTSPServer @ {self:p}"))
1230 .field("parent", &self.parent)
1231 .finish()
1232 }
1233}
1234
1235#[derive(Copy, Clone)]
1236#[repr(C)]
1237pub struct GstRTSPSession {
1238 pub parent: gobject::GObject,
1239 pub priv_: *mut GstRTSPSessionPrivate,
1240 pub _gst_reserved: [gpointer; 4],
1241}
1242
1243impl ::std::fmt::Debug for GstRTSPSession {
1244 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1245 f.debug_struct(&format!("GstRTSPSession @ {self:p}"))
1246 .field("parent", &self.parent)
1247 .finish()
1248 }
1249}
1250
1251#[derive(Copy, Clone)]
1252#[repr(C)]
1253pub struct GstRTSPSessionMedia {
1254 pub parent: gobject::GObject,
1255 pub priv_: *mut GstRTSPSessionMediaPrivate,
1256 pub _gst_reserved: [gpointer; 4],
1257}
1258
1259impl ::std::fmt::Debug for GstRTSPSessionMedia {
1260 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1261 f.debug_struct(&format!("GstRTSPSessionMedia @ {self:p}"))
1262 .field("parent", &self.parent)
1263 .finish()
1264 }
1265}
1266
1267#[derive(Copy, Clone)]
1268#[repr(C)]
1269pub struct GstRTSPSessionPool {
1270 pub parent: gobject::GObject,
1271 pub priv_: *mut GstRTSPSessionPoolPrivate,
1272 pub _gst_reserved: [gpointer; 4],
1273}
1274
1275impl ::std::fmt::Debug for GstRTSPSessionPool {
1276 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1277 f.debug_struct(&format!("GstRTSPSessionPool @ {self:p}"))
1278 .field("parent", &self.parent)
1279 .finish()
1280 }
1281}
1282
1283#[derive(Copy, Clone)]
1284#[repr(C)]
1285pub struct GstRTSPStream {
1286 pub parent: gobject::GObject,
1287 pub priv_: *mut GstRTSPStreamPrivate,
1288 pub _gst_reserved: [gpointer; 4],
1289}
1290
1291impl ::std::fmt::Debug for GstRTSPStream {
1292 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1293 f.debug_struct(&format!("GstRTSPStream @ {self:p}"))
1294 .field("parent", &self.parent)
1295 .finish()
1296 }
1297}
1298
1299#[derive(Copy, Clone)]
1300#[repr(C)]
1301pub struct GstRTSPStreamTransport {
1302 pub parent: gobject::GObject,
1303 pub priv_: *mut GstRTSPStreamTransportPrivate,
1304 pub _gst_reserved: [gpointer; 4],
1305}
1306
1307impl ::std::fmt::Debug for GstRTSPStreamTransport {
1308 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1309 f.debug_struct(&format!("GstRTSPStreamTransport @ {self:p}"))
1310 .field("parent", &self.parent)
1311 .finish()
1312 }
1313}
1314
1315#[derive(Copy, Clone)]
1316#[repr(C)]
1317pub struct GstRTSPThreadPool {
1318 pub parent: gobject::GObject,
1319 pub priv_: *mut GstRTSPThreadPoolPrivate,
1320 pub _gst_reserved: [gpointer; 4],
1321}
1322
1323impl ::std::fmt::Debug for GstRTSPThreadPool {
1324 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1325 f.debug_struct(&format!("GstRTSPThreadPool @ {self:p}"))
1326 .field("parent", &self.parent)
1327 .finish()
1328 }
1329}
1330
1331extern "C" {
1332
1333 pub fn gst_rtsp_publish_clock_mode_get_type() -> GType;
1337
1338 pub fn gst_rtsp_suspend_mode_get_type() -> GType;
1342
1343 pub fn gst_rtsp_transport_mode_get_type() -> GType;
1347
1348 pub fn gst_rtsp_address_get_type() -> GType;
1352 pub fn gst_rtsp_address_copy(addr: *mut GstRTSPAddress) -> *mut GstRTSPAddress;
1353 pub fn gst_rtsp_address_free(addr: *mut GstRTSPAddress);
1354
1355 pub fn gst_rtsp_context_get_type() -> GType;
1359 pub fn gst_rtsp_context_pop_current(ctx: *mut GstRTSPContext);
1360 pub fn gst_rtsp_context_push_current(ctx: *mut GstRTSPContext);
1361 #[cfg(feature = "v1_22")]
1362 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
1363 pub fn gst_rtsp_context_set_token(ctx: *mut GstRTSPContext, token: *mut GstRTSPToken);
1364 pub fn gst_rtsp_context_get_current() -> *mut GstRTSPContext;
1365
1366 pub fn gst_rtsp_permissions_get_type() -> GType;
1370 pub fn gst_rtsp_permissions_new() -> *mut GstRTSPPermissions;
1371 pub fn gst_rtsp_permissions_add_permission_for_role(
1372 permissions: *mut GstRTSPPermissions,
1373 role: *const c_char,
1374 permission: *const c_char,
1375 allowed: gboolean,
1376 );
1377 pub fn gst_rtsp_permissions_add_role(
1378 permissions: *mut GstRTSPPermissions,
1379 role: *const c_char,
1380 fieldname: *const c_char,
1381 ...
1382 );
1383 pub fn gst_rtsp_permissions_add_role_empty(
1384 permissions: *mut GstRTSPPermissions,
1385 role: *const c_char,
1386 );
1387 pub fn gst_rtsp_permissions_add_role_from_structure(
1388 permissions: *mut GstRTSPPermissions,
1389 structure: *mut gst::GstStructure,
1390 );
1391 pub fn gst_rtsp_permissions_get_role(
1393 permissions: *mut GstRTSPPermissions,
1394 role: *const c_char,
1395 ) -> *const gst::GstStructure;
1396 pub fn gst_rtsp_permissions_is_allowed(
1397 permissions: *mut GstRTSPPermissions,
1398 role: *const c_char,
1399 permission: *const c_char,
1400 ) -> gboolean;
1401 pub fn gst_rtsp_permissions_remove_role(
1402 permissions: *mut GstRTSPPermissions,
1403 role: *const c_char,
1404 );
1405
1406 pub fn gst_rtsp_thread_get_type() -> GType;
1410 pub fn gst_rtsp_thread_new(type_: GstRTSPThreadType) -> *mut GstRTSPThread;
1411 pub fn gst_rtsp_thread_reuse(thread: *mut GstRTSPThread) -> gboolean;
1412 pub fn gst_rtsp_thread_stop(thread: *mut GstRTSPThread);
1413
1414 pub fn gst_rtsp_token_get_type() -> GType;
1418 pub fn gst_rtsp_token_new(firstfield: *const c_char, ...) -> *mut GstRTSPToken;
1419 pub fn gst_rtsp_token_new_empty() -> *mut GstRTSPToken;
1420 pub fn gst_rtsp_token_get_string(
1422 token: *mut GstRTSPToken,
1423 field: *const c_char,
1424 ) -> *const c_char;
1425 pub fn gst_rtsp_token_get_structure(token: *mut GstRTSPToken) -> *const gst::GstStructure;
1426 pub fn gst_rtsp_token_is_allowed(token: *mut GstRTSPToken, field: *const c_char) -> gboolean;
1427 pub fn gst_rtsp_token_set_bool(
1428 token: *mut GstRTSPToken,
1429 field: *const c_char,
1430 bool_value: gboolean,
1431 );
1432 pub fn gst_rtsp_token_set_string(
1433 token: *mut GstRTSPToken,
1434 field: *const c_char,
1435 string_value: *const c_char,
1436 );
1437 pub fn gst_rtsp_token_writable_structure(token: *mut GstRTSPToken) -> *mut gst::GstStructure;
1438
1439 pub fn gst_rtsp_address_pool_get_type() -> GType;
1443 pub fn gst_rtsp_address_pool_new() -> *mut GstRTSPAddressPool;
1444 pub fn gst_rtsp_address_pool_acquire_address(
1445 pool: *mut GstRTSPAddressPool,
1446 flags: GstRTSPAddressFlags,
1447 n_ports: c_int,
1448 ) -> *mut GstRTSPAddress;
1449 pub fn gst_rtsp_address_pool_add_range(
1450 pool: *mut GstRTSPAddressPool,
1451 min_address: *const c_char,
1452 max_address: *const c_char,
1453 min_port: u16,
1454 max_port: u16,
1455 ttl: u8,
1456 ) -> gboolean;
1457 pub fn gst_rtsp_address_pool_clear(pool: *mut GstRTSPAddressPool);
1458 pub fn gst_rtsp_address_pool_dump(pool: *mut GstRTSPAddressPool);
1459 pub fn gst_rtsp_address_pool_has_unicast_addresses(pool: *mut GstRTSPAddressPool) -> gboolean;
1460 pub fn gst_rtsp_address_pool_reserve_address(
1461 pool: *mut GstRTSPAddressPool,
1462 ip_address: *const c_char,
1463 port: c_uint,
1464 n_ports: c_uint,
1465 ttl: c_uint,
1466 address: *mut *mut GstRTSPAddress,
1467 ) -> GstRTSPAddressPoolResult;
1468
1469 pub fn gst_rtsp_auth_get_type() -> GType;
1473 pub fn gst_rtsp_auth_new() -> *mut GstRTSPAuth;
1474 pub fn gst_rtsp_auth_check(check: *const c_char) -> gboolean;
1475 pub fn gst_rtsp_auth_make_basic(user: *const c_char, pass: *const c_char) -> *mut c_char;
1476 pub fn gst_rtsp_auth_add_basic(
1477 auth: *mut GstRTSPAuth,
1478 basic: *const c_char,
1479 token: *mut GstRTSPToken,
1480 );
1481 pub fn gst_rtsp_auth_add_digest(
1482 auth: *mut GstRTSPAuth,
1483 user: *const c_char,
1484 pass: *const c_char,
1485 token: *mut GstRTSPToken,
1486 );
1487 pub fn gst_rtsp_auth_get_default_token(auth: *mut GstRTSPAuth) -> *mut GstRTSPToken;
1488 #[cfg(feature = "v1_16")]
1489 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1490 pub fn gst_rtsp_auth_get_realm(auth: *mut GstRTSPAuth) -> *mut c_char;
1491 pub fn gst_rtsp_auth_get_supported_methods(
1492 auth: *mut GstRTSPAuth,
1493 ) -> gst_rtsp::GstRTSPAuthMethod;
1494 pub fn gst_rtsp_auth_get_tls_authentication_mode(
1495 auth: *mut GstRTSPAuth,
1496 ) -> gio::GTlsAuthenticationMode;
1497 pub fn gst_rtsp_auth_get_tls_certificate(auth: *mut GstRTSPAuth) -> *mut gio::GTlsCertificate;
1498 pub fn gst_rtsp_auth_get_tls_database(auth: *mut GstRTSPAuth) -> *mut gio::GTlsDatabase;
1499 #[cfg(feature = "v1_16")]
1500 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1501 pub fn gst_rtsp_auth_parse_htdigest(
1502 auth: *mut GstRTSPAuth,
1503 path: *const c_char,
1504 token: *mut GstRTSPToken,
1505 ) -> gboolean;
1506 pub fn gst_rtsp_auth_remove_basic(auth: *mut GstRTSPAuth, basic: *const c_char);
1507 pub fn gst_rtsp_auth_remove_digest(auth: *mut GstRTSPAuth, user: *const c_char);
1508 pub fn gst_rtsp_auth_set_default_token(auth: *mut GstRTSPAuth, token: *mut GstRTSPToken);
1509 #[cfg(feature = "v1_16")]
1510 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1511 pub fn gst_rtsp_auth_set_realm(auth: *mut GstRTSPAuth, realm: *const c_char);
1512 pub fn gst_rtsp_auth_set_supported_methods(
1513 auth: *mut GstRTSPAuth,
1514 methods: gst_rtsp::GstRTSPAuthMethod,
1515 );
1516 pub fn gst_rtsp_auth_set_tls_authentication_mode(
1517 auth: *mut GstRTSPAuth,
1518 mode: gio::GTlsAuthenticationMode,
1519 );
1520 pub fn gst_rtsp_auth_set_tls_certificate(
1521 auth: *mut GstRTSPAuth,
1522 cert: *mut gio::GTlsCertificate,
1523 );
1524 pub fn gst_rtsp_auth_set_tls_database(auth: *mut GstRTSPAuth, database: *mut gio::GTlsDatabase);
1525
1526 pub fn gst_rtsp_client_get_type() -> GType;
1530 pub fn gst_rtsp_client_new() -> *mut GstRTSPClient;
1531 pub fn gst_rtsp_client_attach(
1532 client: *mut GstRTSPClient,
1533 context: *mut glib::GMainContext,
1534 ) -> c_uint;
1535 pub fn gst_rtsp_client_close(client: *mut GstRTSPClient);
1536 pub fn gst_rtsp_client_get_auth(client: *mut GstRTSPClient) -> *mut GstRTSPAuth;
1537 pub fn gst_rtsp_client_get_connection(
1538 client: *mut GstRTSPClient,
1539 ) -> *mut gst_rtsp::GstRTSPConnection;
1540 #[cfg(feature = "v1_18")]
1541 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1542 pub fn gst_rtsp_client_get_content_length_limit(client: *mut GstRTSPClient) -> c_uint;
1543 pub fn gst_rtsp_client_get_mount_points(client: *mut GstRTSPClient) -> *mut GstRTSPMountPoints;
1544 pub fn gst_rtsp_client_get_session_pool(client: *mut GstRTSPClient) -> *mut GstRTSPSessionPool;
1545 #[cfg(feature = "v1_18")]
1546 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1547 pub fn gst_rtsp_client_get_stream_transport(
1548 client: *mut GstRTSPClient,
1549 channel: u8,
1550 ) -> *mut GstRTSPStreamTransport;
1551 pub fn gst_rtsp_client_get_thread_pool(client: *mut GstRTSPClient) -> *mut GstRTSPThreadPool;
1552 pub fn gst_rtsp_client_handle_message(
1553 client: *mut GstRTSPClient,
1554 message: *mut gst_rtsp::GstRTSPMessage,
1555 ) -> gst_rtsp::GstRTSPResult;
1556 pub fn gst_rtsp_client_send_message(
1557 client: *mut GstRTSPClient,
1558 session: *mut GstRTSPSession,
1559 message: *mut gst_rtsp::GstRTSPMessage,
1560 ) -> gst_rtsp::GstRTSPResult;
1561 pub fn gst_rtsp_client_session_filter(
1562 client: *mut GstRTSPClient,
1563 func: GstRTSPClientSessionFilterFunc,
1564 user_data: gpointer,
1565 ) -> *mut glib::GList;
1566 pub fn gst_rtsp_client_set_auth(client: *mut GstRTSPClient, auth: *mut GstRTSPAuth);
1567 pub fn gst_rtsp_client_set_connection(
1568 client: *mut GstRTSPClient,
1569 conn: *mut gst_rtsp::GstRTSPConnection,
1570 ) -> gboolean;
1571 #[cfg(feature = "v1_18")]
1572 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1573 pub fn gst_rtsp_client_set_content_length_limit(client: *mut GstRTSPClient, limit: c_uint);
1574 pub fn gst_rtsp_client_set_mount_points(
1575 client: *mut GstRTSPClient,
1576 mounts: *mut GstRTSPMountPoints,
1577 );
1578 pub fn gst_rtsp_client_set_send_func(
1579 client: *mut GstRTSPClient,
1580 func: GstRTSPClientSendFunc,
1581 user_data: gpointer,
1582 notify: glib::GDestroyNotify,
1583 );
1584 #[cfg(feature = "v1_16")]
1585 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1586 pub fn gst_rtsp_client_set_send_messages_func(
1587 client: *mut GstRTSPClient,
1588 func: GstRTSPClientSendMessagesFunc,
1589 user_data: gpointer,
1590 notify: glib::GDestroyNotify,
1591 );
1592 pub fn gst_rtsp_client_set_session_pool(
1593 client: *mut GstRTSPClient,
1594 pool: *mut GstRTSPSessionPool,
1595 );
1596 pub fn gst_rtsp_client_set_thread_pool(
1597 client: *mut GstRTSPClient,
1598 pool: *mut GstRTSPThreadPool,
1599 );
1600
1601 pub fn gst_rtsp_media_get_type() -> GType;
1605 pub fn gst_rtsp_media_new(element: *mut gst::GstElement) -> *mut GstRTSPMedia;
1606 #[cfg(feature = "v1_24")]
1607 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1608 pub fn gst_rtsp_media_can_be_shared(media: *mut GstRTSPMedia) -> gboolean;
1609 pub fn gst_rtsp_media_collect_streams(media: *mut GstRTSPMedia);
1610 pub fn gst_rtsp_media_complete_pipeline(
1611 media: *mut GstRTSPMedia,
1612 transports: *mut glib::GPtrArray,
1613 ) -> gboolean;
1614 pub fn gst_rtsp_media_create_stream(
1615 media: *mut GstRTSPMedia,
1616 payloader: *mut gst::GstElement,
1617 pad: *mut gst::GstPad,
1618 ) -> *mut GstRTSPStream;
1619 pub fn gst_rtsp_media_find_stream(
1620 media: *mut GstRTSPMedia,
1621 control: *const c_char,
1622 ) -> *mut GstRTSPStream;
1623 pub fn gst_rtsp_media_get_address_pool(media: *mut GstRTSPMedia) -> *mut GstRTSPAddressPool;
1624 pub fn gst_rtsp_media_get_base_time(media: *mut GstRTSPMedia) -> gst::GstClockTime;
1625 pub fn gst_rtsp_media_get_buffer_size(media: *mut GstRTSPMedia) -> c_uint;
1626 pub fn gst_rtsp_media_get_clock(media: *mut GstRTSPMedia) -> *mut gst::GstClock;
1627 #[cfg(feature = "v1_16")]
1628 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1629 pub fn gst_rtsp_media_get_do_retransmission(media: *mut GstRTSPMedia) -> gboolean;
1630 #[cfg(feature = "v1_18")]
1631 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1632 pub fn gst_rtsp_media_get_dscp_qos(media: *mut GstRTSPMedia) -> c_int;
1633 pub fn gst_rtsp_media_get_element(media: *mut GstRTSPMedia) -> *mut gst::GstElement;
1634 #[cfg(feature = "v1_24")]
1635 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1636 pub fn gst_rtsp_media_get_ensure_keyunit_on_start(media: *mut GstRTSPMedia) -> gboolean;
1637 #[cfg(feature = "v1_24")]
1638 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1639 pub fn gst_rtsp_media_get_ensure_keyunit_on_start_timeout(media: *mut GstRTSPMedia) -> c_uint;
1640 pub fn gst_rtsp_media_get_latency(media: *mut GstRTSPMedia) -> c_uint;
1641 #[cfg(feature = "v1_16")]
1642 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1643 pub fn gst_rtsp_media_get_max_mcast_ttl(media: *mut GstRTSPMedia) -> c_uint;
1644 pub fn gst_rtsp_media_get_multicast_iface(media: *mut GstRTSPMedia) -> *mut c_char;
1645 pub fn gst_rtsp_media_get_permissions(media: *mut GstRTSPMedia) -> *mut GstRTSPPermissions;
1646 pub fn gst_rtsp_media_get_profiles(media: *mut GstRTSPMedia) -> gst_rtsp::GstRTSPProfile;
1647 pub fn gst_rtsp_media_get_protocols(media: *mut GstRTSPMedia) -> gst_rtsp::GstRTSPLowerTrans;
1648 pub fn gst_rtsp_media_get_publish_clock_mode(
1649 media: *mut GstRTSPMedia,
1650 ) -> GstRTSPPublishClockMode;
1651 pub fn gst_rtsp_media_get_range_string(
1652 media: *mut GstRTSPMedia,
1653 play: gboolean,
1654 unit: gst_rtsp::GstRTSPRangeUnit,
1655 ) -> *mut c_char;
1656 #[cfg(feature = "v1_18")]
1657 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1658 pub fn gst_rtsp_media_get_rate_control(media: *mut GstRTSPMedia) -> gboolean;
1659 #[cfg(feature = "v1_18")]
1660 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1661 pub fn gst_rtsp_media_get_rates(
1662 media: *mut GstRTSPMedia,
1663 rate: *mut c_double,
1664 applied_rate: *mut c_double,
1665 ) -> gboolean;
1666 pub fn gst_rtsp_media_get_retransmission_time(media: *mut GstRTSPMedia) -> gst::GstClockTime;
1667 pub fn gst_rtsp_media_get_status(media: *mut GstRTSPMedia) -> GstRTSPMediaStatus;
1668 pub fn gst_rtsp_media_get_stream(media: *mut GstRTSPMedia, idx: c_uint) -> *mut GstRTSPStream;
1669 pub fn gst_rtsp_media_get_suspend_mode(media: *mut GstRTSPMedia) -> GstRTSPSuspendMode;
1670 pub fn gst_rtsp_media_get_time_provider(
1671 media: *mut GstRTSPMedia,
1672 address: *const c_char,
1673 port: u16,
1674 ) -> *mut gst_net::GstNetTimeProvider;
1675 pub fn gst_rtsp_media_get_transport_mode(media: *mut GstRTSPMedia) -> GstRTSPTransportMode;
1676 pub fn gst_rtsp_media_handle_sdp(
1677 media: *mut GstRTSPMedia,
1678 sdp: *mut gst_sdp::GstSDPMessage,
1679 ) -> gboolean;
1680 #[cfg(feature = "v1_18")]
1681 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1682 pub fn gst_rtsp_media_has_completed_sender(media: *mut GstRTSPMedia) -> gboolean;
1683 #[cfg(feature = "v1_16")]
1684 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1685 pub fn gst_rtsp_media_is_bind_mcast_address(media: *mut GstRTSPMedia) -> gboolean;
1686 pub fn gst_rtsp_media_is_eos_shutdown(media: *mut GstRTSPMedia) -> gboolean;
1687 #[cfg(feature = "v1_18")]
1688 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1689 pub fn gst_rtsp_media_is_receive_only(media: *mut GstRTSPMedia) -> gboolean;
1690 pub fn gst_rtsp_media_is_reusable(media: *mut GstRTSPMedia) -> gboolean;
1691 pub fn gst_rtsp_media_is_shared(media: *mut GstRTSPMedia) -> gboolean;
1692 pub fn gst_rtsp_media_is_stop_on_disconnect(media: *mut GstRTSPMedia) -> gboolean;
1693 pub fn gst_rtsp_media_is_time_provider(media: *mut GstRTSPMedia) -> gboolean;
1694 #[cfg(feature = "v1_18")]
1695 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1696 pub fn gst_rtsp_media_lock(media: *mut GstRTSPMedia);
1697 pub fn gst_rtsp_media_n_streams(media: *mut GstRTSPMedia) -> c_uint;
1698 pub fn gst_rtsp_media_prepare(media: *mut GstRTSPMedia, thread: *mut GstRTSPThread)
1699 -> gboolean;
1700 pub fn gst_rtsp_media_seek(
1701 media: *mut GstRTSPMedia,
1702 range: *mut gst_rtsp::GstRTSPTimeRange,
1703 ) -> gboolean;
1704 #[cfg(feature = "v1_18")]
1705 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1706 pub fn gst_rtsp_media_seek_full(
1707 media: *mut GstRTSPMedia,
1708 range: *mut gst_rtsp::GstRTSPTimeRange,
1709 flags: gst::GstSeekFlags,
1710 ) -> gboolean;
1711 #[cfg(feature = "v1_18")]
1712 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1713 pub fn gst_rtsp_media_seek_trickmode(
1714 media: *mut GstRTSPMedia,
1715 range: *mut gst_rtsp::GstRTSPTimeRange,
1716 flags: gst::GstSeekFlags,
1717 rate: c_double,
1718 trickmode_interval: gst::GstClockTime,
1719 ) -> gboolean;
1720 pub fn gst_rtsp_media_seekable(media: *mut GstRTSPMedia) -> gst::GstClockTimeDiff;
1721 pub fn gst_rtsp_media_set_address_pool(media: *mut GstRTSPMedia, pool: *mut GstRTSPAddressPool);
1722 #[cfg(feature = "v1_16")]
1723 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1724 pub fn gst_rtsp_media_set_bind_mcast_address(
1725 media: *mut GstRTSPMedia,
1726 bind_mcast_addr: gboolean,
1727 );
1728 pub fn gst_rtsp_media_set_buffer_size(media: *mut GstRTSPMedia, size: c_uint);
1729 pub fn gst_rtsp_media_set_clock(media: *mut GstRTSPMedia, clock: *mut gst::GstClock);
1730 #[cfg(feature = "v1_16")]
1731 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1732 pub fn gst_rtsp_media_set_do_retransmission(
1733 media: *mut GstRTSPMedia,
1734 do_retransmission: gboolean,
1735 );
1736 #[cfg(feature = "v1_18")]
1737 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1738 pub fn gst_rtsp_media_set_dscp_qos(media: *mut GstRTSPMedia, dscp_qos: c_int);
1739 #[cfg(feature = "v1_24")]
1740 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1741 pub fn gst_rtsp_media_set_ensure_keyunit_on_start(
1742 media: *mut GstRTSPMedia,
1743 ensure_keyunit_on_start: gboolean,
1744 );
1745 #[cfg(feature = "v1_24")]
1746 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1747 pub fn gst_rtsp_media_set_ensure_keyunit_on_start_timeout(
1748 media: *mut GstRTSPMedia,
1749 timeout: c_uint,
1750 );
1751 pub fn gst_rtsp_media_set_eos_shutdown(media: *mut GstRTSPMedia, eos_shutdown: gboolean);
1752 pub fn gst_rtsp_media_set_latency(media: *mut GstRTSPMedia, latency: c_uint);
1753 #[cfg(feature = "v1_16")]
1754 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1755 pub fn gst_rtsp_media_set_max_mcast_ttl(media: *mut GstRTSPMedia, ttl: c_uint) -> gboolean;
1756 pub fn gst_rtsp_media_set_multicast_iface(
1757 media: *mut GstRTSPMedia,
1758 multicast_iface: *const c_char,
1759 );
1760 pub fn gst_rtsp_media_set_permissions(
1761 media: *mut GstRTSPMedia,
1762 permissions: *mut GstRTSPPermissions,
1763 );
1764 pub fn gst_rtsp_media_set_pipeline_state(media: *mut GstRTSPMedia, state: gst::GstState);
1765 pub fn gst_rtsp_media_set_profiles(
1766 media: *mut GstRTSPMedia,
1767 profiles: gst_rtsp::GstRTSPProfile,
1768 );
1769 pub fn gst_rtsp_media_set_protocols(
1770 media: *mut GstRTSPMedia,
1771 protocols: gst_rtsp::GstRTSPLowerTrans,
1772 );
1773 pub fn gst_rtsp_media_set_publish_clock_mode(
1774 media: *mut GstRTSPMedia,
1775 mode: GstRTSPPublishClockMode,
1776 );
1777 #[cfg(feature = "v1_18")]
1778 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1779 pub fn gst_rtsp_media_set_rate_control(media: *mut GstRTSPMedia, enabled: gboolean);
1780 pub fn gst_rtsp_media_set_retransmission_time(
1781 media: *mut GstRTSPMedia,
1782 time: gst::GstClockTime,
1783 );
1784 pub fn gst_rtsp_media_set_reusable(media: *mut GstRTSPMedia, reusable: gboolean);
1785 pub fn gst_rtsp_media_set_shared(media: *mut GstRTSPMedia, shared: gboolean);
1786 pub fn gst_rtsp_media_set_state(
1787 media: *mut GstRTSPMedia,
1788 state: gst::GstState,
1789 transports: *mut glib::GPtrArray,
1790 ) -> gboolean;
1791 pub fn gst_rtsp_media_set_stop_on_disconnect(
1792 media: *mut GstRTSPMedia,
1793 stop_on_disconnect: gboolean,
1794 );
1795 pub fn gst_rtsp_media_set_suspend_mode(media: *mut GstRTSPMedia, mode: GstRTSPSuspendMode);
1796 pub fn gst_rtsp_media_set_transport_mode(media: *mut GstRTSPMedia, mode: GstRTSPTransportMode);
1797 pub fn gst_rtsp_media_setup_sdp(
1798 media: *mut GstRTSPMedia,
1799 sdp: *mut gst_sdp::GstSDPMessage,
1800 info: *mut GstSDPInfo,
1801 ) -> gboolean;
1802 pub fn gst_rtsp_media_suspend(media: *mut GstRTSPMedia) -> gboolean;
1803 pub fn gst_rtsp_media_take_pipeline(media: *mut GstRTSPMedia, pipeline: *mut gst::GstPipeline);
1804 #[cfg(feature = "v1_18")]
1805 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1806 pub fn gst_rtsp_media_unlock(media: *mut GstRTSPMedia);
1807 pub fn gst_rtsp_media_unprepare(media: *mut GstRTSPMedia) -> gboolean;
1808 pub fn gst_rtsp_media_unsuspend(media: *mut GstRTSPMedia) -> gboolean;
1809 pub fn gst_rtsp_media_use_time_provider(media: *mut GstRTSPMedia, time_provider: gboolean);
1810
1811 pub fn gst_rtsp_media_factory_get_type() -> GType;
1815 pub fn gst_rtsp_media_factory_new() -> *mut GstRTSPMediaFactory;
1816 pub fn gst_rtsp_media_factory_add_role(
1817 factory: *mut GstRTSPMediaFactory,
1818 role: *const c_char,
1819 fieldname: *const c_char,
1820 ...
1821 );
1822 pub fn gst_rtsp_media_factory_add_role_from_structure(
1823 factory: *mut GstRTSPMediaFactory,
1824 structure: *mut gst::GstStructure,
1825 );
1826 pub fn gst_rtsp_media_factory_construct(
1827 factory: *mut GstRTSPMediaFactory,
1828 url: *const gst_rtsp::GstRTSPUrl,
1829 ) -> *mut GstRTSPMedia;
1830 pub fn gst_rtsp_media_factory_create_element(
1831 factory: *mut GstRTSPMediaFactory,
1832 url: *const gst_rtsp::GstRTSPUrl,
1833 ) -> *mut gst::GstElement;
1834 pub fn gst_rtsp_media_factory_get_address_pool(
1835 factory: *mut GstRTSPMediaFactory,
1836 ) -> *mut GstRTSPAddressPool;
1837 pub fn gst_rtsp_media_factory_get_buffer_size(factory: *mut GstRTSPMediaFactory) -> c_uint;
1838 pub fn gst_rtsp_media_factory_get_clock(
1839 factory: *mut GstRTSPMediaFactory,
1840 ) -> *mut gst::GstClock;
1841 #[cfg(feature = "v1_16")]
1842 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1843 pub fn gst_rtsp_media_factory_get_do_retransmission(
1844 factory: *mut GstRTSPMediaFactory,
1845 ) -> gboolean;
1846 #[cfg(feature = "v1_18")]
1847 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1848 pub fn gst_rtsp_media_factory_get_dscp_qos(factory: *mut GstRTSPMediaFactory) -> c_int;
1849 #[cfg(feature = "v1_24")]
1850 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1851 pub fn gst_rtsp_media_factory_get_ensure_keyunit_on_start(
1852 factory: *mut GstRTSPMediaFactory,
1853 ) -> gboolean;
1854 #[cfg(feature = "v1_24")]
1855 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1856 pub fn gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout(
1857 factory: *mut GstRTSPMediaFactory,
1858 ) -> c_uint;
1859 pub fn gst_rtsp_media_factory_get_latency(factory: *mut GstRTSPMediaFactory) -> c_uint;
1860 pub fn gst_rtsp_media_factory_get_launch(factory: *mut GstRTSPMediaFactory) -> *mut c_char;
1861 #[cfg(feature = "v1_16")]
1862 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1863 pub fn gst_rtsp_media_factory_get_max_mcast_ttl(factory: *mut GstRTSPMediaFactory) -> c_uint;
1864 pub fn gst_rtsp_media_factory_get_media_gtype(factory: *mut GstRTSPMediaFactory) -> GType;
1865 pub fn gst_rtsp_media_factory_get_multicast_iface(
1866 factory: *mut GstRTSPMediaFactory,
1867 ) -> *mut c_char;
1868 pub fn gst_rtsp_media_factory_get_permissions(
1869 factory: *mut GstRTSPMediaFactory,
1870 ) -> *mut GstRTSPPermissions;
1871 pub fn gst_rtsp_media_factory_get_profiles(
1872 factory: *mut GstRTSPMediaFactory,
1873 ) -> gst_rtsp::GstRTSPProfile;
1874 pub fn gst_rtsp_media_factory_get_protocols(
1875 factory: *mut GstRTSPMediaFactory,
1876 ) -> gst_rtsp::GstRTSPLowerTrans;
1877 pub fn gst_rtsp_media_factory_get_publish_clock_mode(
1878 factory: *mut GstRTSPMediaFactory,
1879 ) -> GstRTSPPublishClockMode;
1880 pub fn gst_rtsp_media_factory_get_retransmission_time(
1881 factory: *mut GstRTSPMediaFactory,
1882 ) -> gst::GstClockTime;
1883 pub fn gst_rtsp_media_factory_get_suspend_mode(
1884 factory: *mut GstRTSPMediaFactory,
1885 ) -> GstRTSPSuspendMode;
1886 pub fn gst_rtsp_media_factory_get_transport_mode(
1887 factory: *mut GstRTSPMediaFactory,
1888 ) -> GstRTSPTransportMode;
1889 #[cfg(feature = "v1_16")]
1890 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1891 pub fn gst_rtsp_media_factory_is_bind_mcast_address(
1892 factory: *mut GstRTSPMediaFactory,
1893 ) -> gboolean;
1894 #[cfg(feature = "v1_20")]
1895 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
1896 pub fn gst_rtsp_media_factory_is_enable_rtcp(factory: *mut GstRTSPMediaFactory) -> gboolean;
1897 pub fn gst_rtsp_media_factory_is_eos_shutdown(factory: *mut GstRTSPMediaFactory) -> gboolean;
1898 pub fn gst_rtsp_media_factory_is_shared(factory: *mut GstRTSPMediaFactory) -> gboolean;
1899 pub fn gst_rtsp_media_factory_is_stop_on_disonnect(
1900 factory: *mut GstRTSPMediaFactory,
1901 ) -> gboolean;
1902 pub fn gst_rtsp_media_factory_set_address_pool(
1903 factory: *mut GstRTSPMediaFactory,
1904 pool: *mut GstRTSPAddressPool,
1905 );
1906 #[cfg(feature = "v1_16")]
1907 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1908 pub fn gst_rtsp_media_factory_set_bind_mcast_address(
1909 factory: *mut GstRTSPMediaFactory,
1910 bind_mcast_addr: gboolean,
1911 );
1912 pub fn gst_rtsp_media_factory_set_buffer_size(factory: *mut GstRTSPMediaFactory, size: c_uint);
1913 pub fn gst_rtsp_media_factory_set_clock(
1914 factory: *mut GstRTSPMediaFactory,
1915 clock: *mut gst::GstClock,
1916 );
1917 #[cfg(feature = "v1_16")]
1918 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1919 pub fn gst_rtsp_media_factory_set_do_retransmission(
1920 factory: *mut GstRTSPMediaFactory,
1921 do_retransmission: gboolean,
1922 );
1923 #[cfg(feature = "v1_18")]
1924 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1925 pub fn gst_rtsp_media_factory_set_dscp_qos(factory: *mut GstRTSPMediaFactory, dscp_qos: c_int);
1926 #[cfg(feature = "v1_20")]
1927 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
1928 pub fn gst_rtsp_media_factory_set_enable_rtcp(
1929 factory: *mut GstRTSPMediaFactory,
1930 enable: gboolean,
1931 );
1932 #[cfg(feature = "v1_24")]
1933 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1934 pub fn gst_rtsp_media_factory_set_ensure_keyunit_on_start(
1935 factory: *mut GstRTSPMediaFactory,
1936 ensure_keyunit_on_start: gboolean,
1937 );
1938 #[cfg(feature = "v1_24")]
1939 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1940 pub fn gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout(
1941 factory: *mut GstRTSPMediaFactory,
1942 timeout: c_uint,
1943 );
1944 pub fn gst_rtsp_media_factory_set_eos_shutdown(
1945 factory: *mut GstRTSPMediaFactory,
1946 eos_shutdown: gboolean,
1947 );
1948 pub fn gst_rtsp_media_factory_set_latency(factory: *mut GstRTSPMediaFactory, latency: c_uint);
1949 pub fn gst_rtsp_media_factory_set_launch(
1950 factory: *mut GstRTSPMediaFactory,
1951 launch: *const c_char,
1952 );
1953 #[cfg(feature = "v1_16")]
1954 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1955 pub fn gst_rtsp_media_factory_set_max_mcast_ttl(
1956 factory: *mut GstRTSPMediaFactory,
1957 ttl: c_uint,
1958 ) -> gboolean;
1959 pub fn gst_rtsp_media_factory_set_media_gtype(
1960 factory: *mut GstRTSPMediaFactory,
1961 media_gtype: GType,
1962 );
1963 pub fn gst_rtsp_media_factory_set_multicast_iface(
1964 factory: *mut GstRTSPMediaFactory,
1965 multicast_iface: *const c_char,
1966 );
1967 pub fn gst_rtsp_media_factory_set_permissions(
1968 factory: *mut GstRTSPMediaFactory,
1969 permissions: *mut GstRTSPPermissions,
1970 );
1971 pub fn gst_rtsp_media_factory_set_profiles(
1972 factory: *mut GstRTSPMediaFactory,
1973 profiles: gst_rtsp::GstRTSPProfile,
1974 );
1975 pub fn gst_rtsp_media_factory_set_protocols(
1976 factory: *mut GstRTSPMediaFactory,
1977 protocols: gst_rtsp::GstRTSPLowerTrans,
1978 );
1979 pub fn gst_rtsp_media_factory_set_publish_clock_mode(
1980 factory: *mut GstRTSPMediaFactory,
1981 mode: GstRTSPPublishClockMode,
1982 );
1983 pub fn gst_rtsp_media_factory_set_retransmission_time(
1984 factory: *mut GstRTSPMediaFactory,
1985 time: gst::GstClockTime,
1986 );
1987 pub fn gst_rtsp_media_factory_set_shared(factory: *mut GstRTSPMediaFactory, shared: gboolean);
1988 pub fn gst_rtsp_media_factory_set_stop_on_disconnect(
1989 factory: *mut GstRTSPMediaFactory,
1990 stop_on_disconnect: gboolean,
1991 );
1992 pub fn gst_rtsp_media_factory_set_suspend_mode(
1993 factory: *mut GstRTSPMediaFactory,
1994 mode: GstRTSPSuspendMode,
1995 );
1996 pub fn gst_rtsp_media_factory_set_transport_mode(
1997 factory: *mut GstRTSPMediaFactory,
1998 mode: GstRTSPTransportMode,
1999 );
2000
2001 pub fn gst_rtsp_media_factory_uri_get_type() -> GType;
2005 pub fn gst_rtsp_media_factory_uri_new() -> *mut GstRTSPMediaFactoryURI;
2006 pub fn gst_rtsp_media_factory_uri_get_uri(factory: *mut GstRTSPMediaFactoryURI) -> *mut c_char;
2007 pub fn gst_rtsp_media_factory_uri_set_uri(
2008 factory: *mut GstRTSPMediaFactoryURI,
2009 uri: *const c_char,
2010 );
2011
2012 pub fn gst_rtsp_mount_points_get_type() -> GType;
2016 pub fn gst_rtsp_mount_points_new() -> *mut GstRTSPMountPoints;
2017 pub fn gst_rtsp_mount_points_add_factory(
2018 mounts: *mut GstRTSPMountPoints,
2019 path: *const c_char,
2020 factory: *mut GstRTSPMediaFactory,
2021 );
2022 pub fn gst_rtsp_mount_points_make_path(
2023 mounts: *mut GstRTSPMountPoints,
2024 url: *const gst_rtsp::GstRTSPUrl,
2025 ) -> *mut c_char;
2026 pub fn gst_rtsp_mount_points_match(
2027 mounts: *mut GstRTSPMountPoints,
2028 path: *const c_char,
2029 matched: *mut c_int,
2030 ) -> *mut GstRTSPMediaFactory;
2031 pub fn gst_rtsp_mount_points_remove_factory(
2032 mounts: *mut GstRTSPMountPoints,
2033 path: *const c_char,
2034 );
2035
2036 pub fn gst_rtsp_onvif_client_get_type() -> GType;
2040 #[cfg(feature = "v1_18")]
2041 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2042 pub fn gst_rtsp_onvif_client_new() -> *mut GstRTSPClient;
2043
2044 pub fn gst_rtsp_onvif_media_get_type() -> GType;
2048 pub fn gst_rtsp_onvif_media_collect_backchannel(media: *mut GstRTSPOnvifMedia) -> gboolean;
2049 pub fn gst_rtsp_onvif_media_get_backchannel_bandwidth(media: *mut GstRTSPOnvifMedia) -> c_uint;
2050 pub fn gst_rtsp_onvif_media_set_backchannel_bandwidth(
2051 media: *mut GstRTSPOnvifMedia,
2052 bandwidth: c_uint,
2053 );
2054
2055 pub fn gst_rtsp_onvif_media_factory_get_type() -> GType;
2059 pub fn gst_rtsp_onvif_media_factory_new() -> *mut GstRTSPMediaFactory;
2060 pub fn gst_rtsp_onvif_media_factory_requires_backchannel(
2061 factory: *mut GstRTSPMediaFactory,
2062 ctx: *mut GstRTSPContext,
2063 ) -> gboolean;
2064 pub fn gst_rtsp_onvif_media_factory_get_backchannel_bandwidth(
2065 factory: *mut GstRTSPOnvifMediaFactory,
2066 ) -> c_uint;
2067 pub fn gst_rtsp_onvif_media_factory_get_backchannel_launch(
2068 factory: *mut GstRTSPOnvifMediaFactory,
2069 ) -> *mut c_char;
2070 pub fn gst_rtsp_onvif_media_factory_has_backchannel_support(
2071 factory: *mut GstRTSPOnvifMediaFactory,
2072 ) -> gboolean;
2073 #[cfg(feature = "v1_18")]
2074 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2075 pub fn gst_rtsp_onvif_media_factory_has_replay_support(
2076 factory: *mut GstRTSPOnvifMediaFactory,
2077 ) -> gboolean;
2078 pub fn gst_rtsp_onvif_media_factory_set_backchannel_bandwidth(
2079 factory: *mut GstRTSPOnvifMediaFactory,
2080 bandwidth: c_uint,
2081 );
2082 pub fn gst_rtsp_onvif_media_factory_set_backchannel_launch(
2083 factory: *mut GstRTSPOnvifMediaFactory,
2084 launch: *const c_char,
2085 );
2086 #[cfg(feature = "v1_18")]
2087 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2088 pub fn gst_rtsp_onvif_media_factory_set_replay_support(
2089 factory: *mut GstRTSPOnvifMediaFactory,
2090 has_replay_support: gboolean,
2091 );
2092
2093 pub fn gst_rtsp_onvif_server_get_type() -> GType;
2097 pub fn gst_rtsp_onvif_server_new() -> *mut GstRTSPServer;
2098
2099 pub fn gst_rtsp_server_get_type() -> GType;
2103 pub fn gst_rtsp_server_new() -> *mut GstRTSPServer;
2104 pub fn gst_rtsp_server_io_func(
2105 socket: *mut gio::GSocket,
2106 condition: glib::GIOCondition,
2107 server: *mut GstRTSPServer,
2108 ) -> gboolean;
2109 pub fn gst_rtsp_server_attach(
2110 server: *mut GstRTSPServer,
2111 context: *mut glib::GMainContext,
2112 ) -> c_uint;
2113 pub fn gst_rtsp_server_client_filter(
2114 server: *mut GstRTSPServer,
2115 func: GstRTSPServerClientFilterFunc,
2116 user_data: gpointer,
2117 ) -> *mut glib::GList;
2118 pub fn gst_rtsp_server_create_socket(
2119 server: *mut GstRTSPServer,
2120 cancellable: *mut gio::GCancellable,
2121 error: *mut *mut glib::GError,
2122 ) -> *mut gio::GSocket;
2123 pub fn gst_rtsp_server_create_source(
2124 server: *mut GstRTSPServer,
2125 cancellable: *mut gio::GCancellable,
2126 error: *mut *mut glib::GError,
2127 ) -> *mut glib::GSource;
2128 pub fn gst_rtsp_server_get_address(server: *mut GstRTSPServer) -> *mut c_char;
2129 pub fn gst_rtsp_server_get_auth(server: *mut GstRTSPServer) -> *mut GstRTSPAuth;
2130 pub fn gst_rtsp_server_get_backlog(server: *mut GstRTSPServer) -> c_int;
2131 pub fn gst_rtsp_server_get_bound_port(server: *mut GstRTSPServer) -> c_int;
2132 #[cfg(feature = "v1_18")]
2133 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2134 pub fn gst_rtsp_server_get_content_length_limit(server: *mut GstRTSPServer) -> c_uint;
2135 pub fn gst_rtsp_server_get_mount_points(server: *mut GstRTSPServer) -> *mut GstRTSPMountPoints;
2136 pub fn gst_rtsp_server_get_service(server: *mut GstRTSPServer) -> *mut c_char;
2137 pub fn gst_rtsp_server_get_session_pool(server: *mut GstRTSPServer) -> *mut GstRTSPSessionPool;
2138 pub fn gst_rtsp_server_get_thread_pool(server: *mut GstRTSPServer) -> *mut GstRTSPThreadPool;
2139 pub fn gst_rtsp_server_set_address(server: *mut GstRTSPServer, address: *const c_char);
2140 pub fn gst_rtsp_server_set_auth(server: *mut GstRTSPServer, auth: *mut GstRTSPAuth);
2141 pub fn gst_rtsp_server_set_backlog(server: *mut GstRTSPServer, backlog: c_int);
2142 #[cfg(feature = "v1_18")]
2143 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2144 pub fn gst_rtsp_server_set_content_length_limit(server: *mut GstRTSPServer, limit: c_uint);
2145 pub fn gst_rtsp_server_set_mount_points(
2146 server: *mut GstRTSPServer,
2147 mounts: *mut GstRTSPMountPoints,
2148 );
2149 pub fn gst_rtsp_server_set_service(server: *mut GstRTSPServer, service: *const c_char);
2150 pub fn gst_rtsp_server_set_session_pool(
2151 server: *mut GstRTSPServer,
2152 pool: *mut GstRTSPSessionPool,
2153 );
2154 pub fn gst_rtsp_server_set_thread_pool(
2155 server: *mut GstRTSPServer,
2156 pool: *mut GstRTSPThreadPool,
2157 );
2158 pub fn gst_rtsp_server_transfer_connection(
2159 server: *mut GstRTSPServer,
2160 socket: *mut gio::GSocket,
2161 ip: *const c_char,
2162 port: c_int,
2163 initial_buffer: *const c_char,
2164 ) -> gboolean;
2165
2166 pub fn gst_rtsp_session_get_type() -> GType;
2170 pub fn gst_rtsp_session_new(sessionid: *const c_char) -> *mut GstRTSPSession;
2171 pub fn gst_rtsp_session_allow_expire(session: *mut GstRTSPSession);
2172 #[cfg(feature = "v1_20")]
2173 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2174 pub fn gst_rtsp_session_dup_media(
2175 sess: *mut GstRTSPSession,
2176 path: *const c_char,
2177 matched: *mut c_int,
2178 ) -> *mut GstRTSPSessionMedia;
2179 pub fn gst_rtsp_session_filter(
2180 sess: *mut GstRTSPSession,
2181 func: GstRTSPSessionFilterFunc,
2182 user_data: gpointer,
2183 ) -> *mut glib::GList;
2184 pub fn gst_rtsp_session_get_header(session: *mut GstRTSPSession) -> *mut c_char;
2185 pub fn gst_rtsp_session_get_media(
2186 sess: *mut GstRTSPSession,
2187 path: *const c_char,
2188 matched: *mut c_int,
2189 ) -> *mut GstRTSPSessionMedia;
2190 pub fn gst_rtsp_session_get_sessionid(session: *mut GstRTSPSession) -> *const c_char;
2191 pub fn gst_rtsp_session_get_timeout(session: *mut GstRTSPSession) -> c_uint;
2192 pub fn gst_rtsp_session_is_expired(
2193 session: *mut GstRTSPSession,
2194 now: *mut glib::GTimeVal,
2195 ) -> gboolean;
2196 pub fn gst_rtsp_session_is_expired_usec(session: *mut GstRTSPSession, now: i64) -> gboolean;
2197 pub fn gst_rtsp_session_manage_media(
2198 sess: *mut GstRTSPSession,
2199 path: *const c_char,
2200 media: *mut GstRTSPMedia,
2201 ) -> *mut GstRTSPSessionMedia;
2202 pub fn gst_rtsp_session_next_timeout(
2203 session: *mut GstRTSPSession,
2204 now: *mut glib::GTimeVal,
2205 ) -> c_int;
2206 pub fn gst_rtsp_session_next_timeout_usec(session: *mut GstRTSPSession, now: i64) -> c_int;
2207 pub fn gst_rtsp_session_prevent_expire(session: *mut GstRTSPSession);
2208 pub fn gst_rtsp_session_release_media(
2209 sess: *mut GstRTSPSession,
2210 media: *mut GstRTSPSessionMedia,
2211 ) -> gboolean;
2212 pub fn gst_rtsp_session_set_timeout(session: *mut GstRTSPSession, timeout: c_uint);
2213 pub fn gst_rtsp_session_touch(session: *mut GstRTSPSession);
2214
2215 pub fn gst_rtsp_session_media_get_type() -> GType;
2219 pub fn gst_rtsp_session_media_new(
2220 path: *const c_char,
2221 media: *mut GstRTSPMedia,
2222 ) -> *mut GstRTSPSessionMedia;
2223 pub fn gst_rtsp_session_media_alloc_channels(
2224 media: *mut GstRTSPSessionMedia,
2225 range: *mut gst_rtsp::GstRTSPRange,
2226 ) -> gboolean;
2227 pub fn gst_rtsp_session_media_get_base_time(
2228 media: *mut GstRTSPSessionMedia,
2229 ) -> gst::GstClockTime;
2230 pub fn gst_rtsp_session_media_get_media(media: *mut GstRTSPSessionMedia) -> *mut GstRTSPMedia;
2231 pub fn gst_rtsp_session_media_get_rtpinfo(media: *mut GstRTSPSessionMedia) -> *mut c_char;
2232 pub fn gst_rtsp_session_media_get_rtsp_state(
2233 media: *mut GstRTSPSessionMedia,
2234 ) -> gst_rtsp::GstRTSPState;
2235 pub fn gst_rtsp_session_media_get_transport(
2236 media: *mut GstRTSPSessionMedia,
2237 idx: c_uint,
2238 ) -> *mut GstRTSPStreamTransport;
2239 pub fn gst_rtsp_session_media_get_transports(
2240 media: *mut GstRTSPSessionMedia,
2241 ) -> *mut glib::GPtrArray;
2242 pub fn gst_rtsp_session_media_matches(
2243 media: *mut GstRTSPSessionMedia,
2244 path: *const c_char,
2245 matched: *mut c_int,
2246 ) -> gboolean;
2247 pub fn gst_rtsp_session_media_set_rtsp_state(
2248 media: *mut GstRTSPSessionMedia,
2249 state: gst_rtsp::GstRTSPState,
2250 );
2251 pub fn gst_rtsp_session_media_set_state(
2252 media: *mut GstRTSPSessionMedia,
2253 state: gst::GstState,
2254 ) -> gboolean;
2255 pub fn gst_rtsp_session_media_set_transport(
2256 media: *mut GstRTSPSessionMedia,
2257 stream: *mut GstRTSPStream,
2258 tr: *mut gst_rtsp::GstRTSPTransport,
2259 ) -> *mut GstRTSPStreamTransport;
2260
2261 pub fn gst_rtsp_session_pool_get_type() -> GType;
2265 pub fn gst_rtsp_session_pool_new() -> *mut GstRTSPSessionPool;
2266 pub fn gst_rtsp_session_pool_cleanup(pool: *mut GstRTSPSessionPool) -> c_uint;
2267 pub fn gst_rtsp_session_pool_create(pool: *mut GstRTSPSessionPool) -> *mut GstRTSPSession;
2268 pub fn gst_rtsp_session_pool_create_watch(pool: *mut GstRTSPSessionPool) -> *mut glib::GSource;
2269 pub fn gst_rtsp_session_pool_filter(
2270 pool: *mut GstRTSPSessionPool,
2271 func: GstRTSPSessionPoolFilterFunc,
2272 user_data: gpointer,
2273 ) -> *mut glib::GList;
2274 pub fn gst_rtsp_session_pool_find(
2275 pool: *mut GstRTSPSessionPool,
2276 sessionid: *const c_char,
2277 ) -> *mut GstRTSPSession;
2278 pub fn gst_rtsp_session_pool_get_max_sessions(pool: *mut GstRTSPSessionPool) -> c_uint;
2279 pub fn gst_rtsp_session_pool_get_n_sessions(pool: *mut GstRTSPSessionPool) -> c_uint;
2280 pub fn gst_rtsp_session_pool_remove(
2281 pool: *mut GstRTSPSessionPool,
2282 sess: *mut GstRTSPSession,
2283 ) -> gboolean;
2284 pub fn gst_rtsp_session_pool_set_max_sessions(pool: *mut GstRTSPSessionPool, max: c_uint);
2285
2286 pub fn gst_rtsp_stream_get_type() -> GType;
2290 pub fn gst_rtsp_stream_new(
2291 idx: c_uint,
2292 payloader: *mut gst::GstElement,
2293 pad: *mut gst::GstPad,
2294 ) -> *mut GstRTSPStream;
2295 #[cfg(feature = "v1_16")]
2296 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2297 pub fn gst_rtsp_stream_add_multicast_client_address(
2298 stream: *mut GstRTSPStream,
2299 destination: *const c_char,
2300 rtp_port: c_uint,
2301 rtcp_port: c_uint,
2302 family: gio::GSocketFamily,
2303 ) -> gboolean;
2304 pub fn gst_rtsp_stream_add_transport(
2305 stream: *mut GstRTSPStream,
2306 trans: *mut GstRTSPStreamTransport,
2307 ) -> gboolean;
2308 pub fn gst_rtsp_stream_allocate_udp_sockets(
2309 stream: *mut GstRTSPStream,
2310 family: gio::GSocketFamily,
2311 transport: *mut gst_rtsp::GstRTSPTransport,
2312 use_client_settings: gboolean,
2313 ) -> gboolean;
2314 pub fn gst_rtsp_stream_complete_stream(
2315 stream: *mut GstRTSPStream,
2316 transport: *const gst_rtsp::GstRTSPTransport,
2317 ) -> gboolean;
2318 pub fn gst_rtsp_stream_get_address_pool(stream: *mut GstRTSPStream) -> *mut GstRTSPAddressPool;
2319 pub fn gst_rtsp_stream_get_buffer_size(stream: *mut GstRTSPStream) -> c_uint;
2320 pub fn gst_rtsp_stream_get_caps(stream: *mut GstRTSPStream) -> *mut gst::GstCaps;
2321 pub fn gst_rtsp_stream_get_control(stream: *mut GstRTSPStream) -> *mut c_char;
2322 pub fn gst_rtsp_stream_get_current_seqnum(stream: *mut GstRTSPStream) -> u16;
2323 pub fn gst_rtsp_stream_get_dscp_qos(stream: *mut GstRTSPStream) -> c_int;
2324 pub fn gst_rtsp_stream_get_index(stream: *mut GstRTSPStream) -> c_uint;
2325 pub fn gst_rtsp_stream_get_joined_bin(stream: *mut GstRTSPStream) -> *mut gst::GstBin;
2326 #[cfg(feature = "v1_16")]
2327 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2328 pub fn gst_rtsp_stream_get_max_mcast_ttl(stream: *mut GstRTSPStream) -> c_uint;
2329 pub fn gst_rtsp_stream_get_mtu(stream: *mut GstRTSPStream) -> c_uint;
2330 pub fn gst_rtsp_stream_get_multicast_address(
2331 stream: *mut GstRTSPStream,
2332 family: gio::GSocketFamily,
2333 ) -> *mut GstRTSPAddress;
2334 #[cfg(feature = "v1_16")]
2335 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2336 pub fn gst_rtsp_stream_get_multicast_client_addresses(
2337 stream: *mut GstRTSPStream,
2338 ) -> *mut c_char;
2339 pub fn gst_rtsp_stream_get_multicast_iface(stream: *mut GstRTSPStream) -> *mut c_char;
2340 pub fn gst_rtsp_stream_get_profiles(stream: *mut GstRTSPStream) -> gst_rtsp::GstRTSPProfile;
2341 pub fn gst_rtsp_stream_get_protocols(stream: *mut GstRTSPStream)
2342 -> gst_rtsp::GstRTSPLowerTrans;
2343 pub fn gst_rtsp_stream_get_pt(stream: *mut GstRTSPStream) -> c_uint;
2344 pub fn gst_rtsp_stream_get_publish_clock_mode(
2345 stream: *mut GstRTSPStream,
2346 ) -> GstRTSPPublishClockMode;
2347 #[cfg(feature = "v1_18")]
2348 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2349 pub fn gst_rtsp_stream_get_rate_control(stream: *mut GstRTSPStream) -> gboolean;
2350 #[cfg(feature = "v1_18")]
2351 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2352 pub fn gst_rtsp_stream_get_rates(
2353 stream: *mut GstRTSPStream,
2354 rate: *mut c_double,
2355 applied_rate: *mut c_double,
2356 ) -> gboolean;
2357 pub fn gst_rtsp_stream_get_retransmission_pt(stream: *mut GstRTSPStream) -> c_uint;
2358 pub fn gst_rtsp_stream_get_retransmission_time(stream: *mut GstRTSPStream)
2359 -> gst::GstClockTime;
2360 pub fn gst_rtsp_stream_get_rtcp_multicast_socket(
2361 stream: *mut GstRTSPStream,
2362 family: gio::GSocketFamily,
2363 ) -> *mut gio::GSocket;
2364 pub fn gst_rtsp_stream_get_rtcp_socket(
2365 stream: *mut GstRTSPStream,
2366 family: gio::GSocketFamily,
2367 ) -> *mut gio::GSocket;
2368 pub fn gst_rtsp_stream_get_rtp_multicast_socket(
2369 stream: *mut GstRTSPStream,
2370 family: gio::GSocketFamily,
2371 ) -> *mut gio::GSocket;
2372 pub fn gst_rtsp_stream_get_rtp_socket(
2373 stream: *mut GstRTSPStream,
2374 family: gio::GSocketFamily,
2375 ) -> *mut gio::GSocket;
2376 pub fn gst_rtsp_stream_get_rtpinfo(
2377 stream: *mut GstRTSPStream,
2378 rtptime: *mut c_uint,
2379 seq: *mut c_uint,
2380 clock_rate: *mut c_uint,
2381 running_time: *mut gst::GstClockTime,
2382 ) -> gboolean;
2383 pub fn gst_rtsp_stream_get_rtpsession(stream: *mut GstRTSPStream) -> *mut gobject::GObject;
2384 pub fn gst_rtsp_stream_get_server_port(
2385 stream: *mut GstRTSPStream,
2386 server_port: *mut gst_rtsp::GstRTSPRange,
2387 family: gio::GSocketFamily,
2388 );
2389 pub fn gst_rtsp_stream_get_sinkpad(stream: *mut GstRTSPStream) -> *mut gst::GstPad;
2390 pub fn gst_rtsp_stream_get_srcpad(stream: *mut GstRTSPStream) -> *mut gst::GstPad;
2391 pub fn gst_rtsp_stream_get_srtp_encoder(stream: *mut GstRTSPStream) -> *mut gst::GstElement;
2392 pub fn gst_rtsp_stream_get_ssrc(stream: *mut GstRTSPStream, ssrc: *mut c_uint);
2393 pub fn gst_rtsp_stream_get_ulpfec_enabled(stream: *mut GstRTSPStream) -> gboolean;
2394 #[cfg(feature = "v1_16")]
2395 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2396 pub fn gst_rtsp_stream_get_ulpfec_percentage(stream: *mut GstRTSPStream) -> c_uint;
2397 #[cfg(feature = "v1_16")]
2398 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2399 pub fn gst_rtsp_stream_get_ulpfec_pt(stream: *mut GstRTSPStream) -> c_uint;
2400 #[cfg(feature = "v1_16")]
2401 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2402 pub fn gst_rtsp_stream_handle_keymgmt(
2403 stream: *mut GstRTSPStream,
2404 keymgmt: *const c_char,
2405 ) -> gboolean;
2406 pub fn gst_rtsp_stream_has_control(
2407 stream: *mut GstRTSPStream,
2408 control: *const c_char,
2409 ) -> gboolean;
2410 #[cfg(feature = "v1_16")]
2411 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2412 pub fn gst_rtsp_stream_is_bind_mcast_address(stream: *mut GstRTSPStream) -> gboolean;
2413 pub fn gst_rtsp_stream_is_blocking(stream: *mut GstRTSPStream) -> gboolean;
2414 pub fn gst_rtsp_stream_is_client_side(stream: *mut GstRTSPStream) -> gboolean;
2415 pub fn gst_rtsp_stream_is_complete(stream: *mut GstRTSPStream) -> gboolean;
2416 pub fn gst_rtsp_stream_is_receiver(stream: *mut GstRTSPStream) -> gboolean;
2417 pub fn gst_rtsp_stream_is_sender(stream: *mut GstRTSPStream) -> gboolean;
2418 pub fn gst_rtsp_stream_is_transport_supported(
2419 stream: *mut GstRTSPStream,
2420 transport: *mut gst_rtsp::GstRTSPTransport,
2421 ) -> gboolean;
2422 pub fn gst_rtsp_stream_join_bin(
2423 stream: *mut GstRTSPStream,
2424 bin: *mut gst::GstBin,
2425 rtpbin: *mut gst::GstElement,
2426 state: gst::GstState,
2427 ) -> gboolean;
2428 pub fn gst_rtsp_stream_leave_bin(
2429 stream: *mut GstRTSPStream,
2430 bin: *mut gst::GstBin,
2431 rtpbin: *mut gst::GstElement,
2432 ) -> gboolean;
2433 pub fn gst_rtsp_stream_query_position(
2434 stream: *mut GstRTSPStream,
2435 position: *mut i64,
2436 ) -> gboolean;
2437 pub fn gst_rtsp_stream_query_stop(stream: *mut GstRTSPStream, stop: *mut i64) -> gboolean;
2438 pub fn gst_rtsp_stream_recv_rtcp(
2439 stream: *mut GstRTSPStream,
2440 buffer: *mut gst::GstBuffer,
2441 ) -> gst::GstFlowReturn;
2442 pub fn gst_rtsp_stream_recv_rtp(
2443 stream: *mut GstRTSPStream,
2444 buffer: *mut gst::GstBuffer,
2445 ) -> gst::GstFlowReturn;
2446 pub fn gst_rtsp_stream_remove_transport(
2447 stream: *mut GstRTSPStream,
2448 trans: *mut GstRTSPStreamTransport,
2449 ) -> gboolean;
2450 #[cfg(feature = "v1_16")]
2451 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2452 pub fn gst_rtsp_stream_request_aux_receiver(
2453 stream: *mut GstRTSPStream,
2454 sessid: c_uint,
2455 ) -> *mut gst::GstElement;
2456 pub fn gst_rtsp_stream_request_aux_sender(
2457 stream: *mut GstRTSPStream,
2458 sessid: c_uint,
2459 ) -> *mut gst::GstElement;
2460 #[cfg(feature = "v1_16")]
2461 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2462 pub fn gst_rtsp_stream_request_ulpfec_decoder(
2463 stream: *mut GstRTSPStream,
2464 rtpbin: *mut gst::GstElement,
2465 sessid: c_uint,
2466 ) -> *mut gst::GstElement;
2467 #[cfg(feature = "v1_16")]
2468 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2469 pub fn gst_rtsp_stream_request_ulpfec_encoder(
2470 stream: *mut GstRTSPStream,
2471 sessid: c_uint,
2472 ) -> *mut gst::GstElement;
2473 pub fn gst_rtsp_stream_reserve_address(
2474 stream: *mut GstRTSPStream,
2475 address: *const c_char,
2476 port: c_uint,
2477 n_ports: c_uint,
2478 ttl: c_uint,
2479 ) -> *mut GstRTSPAddress;
2480 pub fn gst_rtsp_stream_seekable(stream: *mut GstRTSPStream) -> gboolean;
2481 pub fn gst_rtsp_stream_set_address_pool(
2482 stream: *mut GstRTSPStream,
2483 pool: *mut GstRTSPAddressPool,
2484 );
2485 #[cfg(feature = "v1_16")]
2486 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2487 pub fn gst_rtsp_stream_set_bind_mcast_address(
2488 stream: *mut GstRTSPStream,
2489 bind_mcast_addr: gboolean,
2490 );
2491 pub fn gst_rtsp_stream_set_blocked(stream: *mut GstRTSPStream, blocked: gboolean) -> gboolean;
2492 pub fn gst_rtsp_stream_set_buffer_size(stream: *mut GstRTSPStream, size: c_uint);
2493 pub fn gst_rtsp_stream_set_client_side(stream: *mut GstRTSPStream, client_side: gboolean);
2494 pub fn gst_rtsp_stream_set_control(stream: *mut GstRTSPStream, control: *const c_char);
2495 pub fn gst_rtsp_stream_set_dscp_qos(stream: *mut GstRTSPStream, dscp_qos: c_int);
2496 #[cfg(feature = "v1_16")]
2497 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2498 pub fn gst_rtsp_stream_set_max_mcast_ttl(stream: *mut GstRTSPStream, ttl: c_uint) -> gboolean;
2499 pub fn gst_rtsp_stream_set_mtu(stream: *mut GstRTSPStream, mtu: c_uint);
2500 pub fn gst_rtsp_stream_set_multicast_iface(
2501 stream: *mut GstRTSPStream,
2502 multicast_iface: *const c_char,
2503 );
2504 pub fn gst_rtsp_stream_set_profiles(
2505 stream: *mut GstRTSPStream,
2506 profiles: gst_rtsp::GstRTSPProfile,
2507 );
2508 pub fn gst_rtsp_stream_set_protocols(
2509 stream: *mut GstRTSPStream,
2510 protocols: gst_rtsp::GstRTSPLowerTrans,
2511 );
2512 pub fn gst_rtsp_stream_set_pt_map(
2513 stream: *mut GstRTSPStream,
2514 pt: c_uint,
2515 caps: *mut gst::GstCaps,
2516 );
2517 pub fn gst_rtsp_stream_set_publish_clock_mode(
2518 stream: *mut GstRTSPStream,
2519 mode: GstRTSPPublishClockMode,
2520 );
2521 #[cfg(feature = "v1_18")]
2522 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2523 pub fn gst_rtsp_stream_set_rate_control(stream: *mut GstRTSPStream, enabled: gboolean);
2524 pub fn gst_rtsp_stream_set_retransmission_pt(stream: *mut GstRTSPStream, rtx_pt: c_uint);
2525 pub fn gst_rtsp_stream_set_retransmission_time(
2526 stream: *mut GstRTSPStream,
2527 time: gst::GstClockTime,
2528 );
2529 pub fn gst_rtsp_stream_set_seqnum_offset(stream: *mut GstRTSPStream, seqnum: u16);
2530 #[cfg(feature = "v1_16")]
2531 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2532 pub fn gst_rtsp_stream_set_ulpfec_percentage(stream: *mut GstRTSPStream, percentage: c_uint);
2533 #[cfg(feature = "v1_16")]
2534 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2535 pub fn gst_rtsp_stream_set_ulpfec_pt(stream: *mut GstRTSPStream, pt: c_uint);
2536 pub fn gst_rtsp_stream_transport_filter(
2537 stream: *mut GstRTSPStream,
2538 func: GstRTSPStreamTransportFilterFunc,
2539 user_data: gpointer,
2540 ) -> *mut glib::GList;
2541 pub fn gst_rtsp_stream_unblock_linked(stream: *mut GstRTSPStream) -> gboolean;
2542 #[cfg(feature = "v1_20")]
2543 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2544 pub fn gst_rtsp_stream_unblock_rtcp(stream: *mut GstRTSPStream);
2545 pub fn gst_rtsp_stream_update_crypto(
2546 stream: *mut GstRTSPStream,
2547 ssrc: c_uint,
2548 crypto: *mut gst::GstCaps,
2549 ) -> gboolean;
2550 #[cfg(feature = "v1_16")]
2551 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2552 pub fn gst_rtsp_stream_verify_mcast_ttl(stream: *mut GstRTSPStream, ttl: c_uint) -> gboolean;
2553
2554 pub fn gst_rtsp_stream_transport_get_type() -> GType;
2558 pub fn gst_rtsp_stream_transport_new(
2559 stream: *mut GstRTSPStream,
2560 tr: *mut gst_rtsp::GstRTSPTransport,
2561 ) -> *mut GstRTSPStreamTransport;
2562 pub fn gst_rtsp_stream_transport_get_rtpinfo(
2563 trans: *mut GstRTSPStreamTransport,
2564 start_time: gst::GstClockTime,
2565 ) -> *mut c_char;
2566 pub fn gst_rtsp_stream_transport_get_stream(
2567 trans: *mut GstRTSPStreamTransport,
2568 ) -> *mut GstRTSPStream;
2569 pub fn gst_rtsp_stream_transport_get_transport(
2570 trans: *mut GstRTSPStreamTransport,
2571 ) -> *const gst_rtsp::GstRTSPTransport;
2572 pub fn gst_rtsp_stream_transport_get_url(
2573 trans: *mut GstRTSPStreamTransport,
2574 ) -> *const gst_rtsp::GstRTSPUrl;
2575 pub fn gst_rtsp_stream_transport_is_timed_out(trans: *mut GstRTSPStreamTransport) -> gboolean;
2576 pub fn gst_rtsp_stream_transport_keep_alive(trans: *mut GstRTSPStreamTransport);
2577 #[cfg(feature = "v1_16")]
2578 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2579 pub fn gst_rtsp_stream_transport_message_sent(trans: *mut GstRTSPStreamTransport);
2580 pub fn gst_rtsp_stream_transport_recv_data(
2581 trans: *mut GstRTSPStreamTransport,
2582 channel: c_uint,
2583 buffer: *mut gst::GstBuffer,
2584 ) -> gst::GstFlowReturn;
2585 pub fn gst_rtsp_stream_transport_send_rtcp(
2586 trans: *mut GstRTSPStreamTransport,
2587 buffer: *mut gst::GstBuffer,
2588 ) -> gboolean;
2589 #[cfg(feature = "v1_16")]
2590 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2591 pub fn gst_rtsp_stream_transport_send_rtcp_list(
2592 trans: *mut GstRTSPStreamTransport,
2593 buffer_list: *mut gst::GstBufferList,
2594 ) -> gboolean;
2595 pub fn gst_rtsp_stream_transport_send_rtp(
2596 trans: *mut GstRTSPStreamTransport,
2597 buffer: *mut gst::GstBuffer,
2598 ) -> gboolean;
2599 #[cfg(feature = "v1_16")]
2600 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2601 pub fn gst_rtsp_stream_transport_send_rtp_list(
2602 trans: *mut GstRTSPStreamTransport,
2603 buffer_list: *mut gst::GstBufferList,
2604 ) -> gboolean;
2605 pub fn gst_rtsp_stream_transport_set_active(
2606 trans: *mut GstRTSPStreamTransport,
2607 active: gboolean,
2608 ) -> gboolean;
2609 pub fn gst_rtsp_stream_transport_set_callbacks(
2610 trans: *mut GstRTSPStreamTransport,
2611 send_rtp: GstRTSPSendFunc,
2612 send_rtcp: GstRTSPSendFunc,
2613 user_data: gpointer,
2614 notify: glib::GDestroyNotify,
2615 );
2616 pub fn gst_rtsp_stream_transport_set_keepalive(
2617 trans: *mut GstRTSPStreamTransport,
2618 keep_alive: GstRTSPKeepAliveFunc,
2619 user_data: gpointer,
2620 notify: glib::GDestroyNotify,
2621 );
2622 #[cfg(feature = "v1_16")]
2623 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2624 pub fn gst_rtsp_stream_transport_set_list_callbacks(
2625 trans: *mut GstRTSPStreamTransport,
2626 send_rtp_list: GstRTSPSendListFunc,
2627 send_rtcp_list: GstRTSPSendListFunc,
2628 user_data: gpointer,
2629 notify: glib::GDestroyNotify,
2630 );
2631 pub fn gst_rtsp_stream_transport_set_message_sent(
2632 trans: *mut GstRTSPStreamTransport,
2633 message_sent: GstRTSPMessageSentFunc,
2634 user_data: gpointer,
2635 notify: glib::GDestroyNotify,
2636 );
2637 #[cfg(feature = "v1_18")]
2638 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2639 pub fn gst_rtsp_stream_transport_set_message_sent_full(
2640 trans: *mut GstRTSPStreamTransport,
2641 message_sent: GstRTSPMessageSentFuncFull,
2642 user_data: gpointer,
2643 notify: glib::GDestroyNotify,
2644 );
2645 pub fn gst_rtsp_stream_transport_set_timed_out(
2646 trans: *mut GstRTSPStreamTransport,
2647 timedout: gboolean,
2648 );
2649 pub fn gst_rtsp_stream_transport_set_transport(
2650 trans: *mut GstRTSPStreamTransport,
2651 tr: *mut gst_rtsp::GstRTSPTransport,
2652 );
2653 pub fn gst_rtsp_stream_transport_set_url(
2654 trans: *mut GstRTSPStreamTransport,
2655 url: *const gst_rtsp::GstRTSPUrl,
2656 );
2657
2658 pub fn gst_rtsp_thread_pool_get_type() -> GType;
2662 pub fn gst_rtsp_thread_pool_new() -> *mut GstRTSPThreadPool;
2663 pub fn gst_rtsp_thread_pool_cleanup();
2664 pub fn gst_rtsp_thread_pool_get_max_threads(pool: *mut GstRTSPThreadPool) -> c_int;
2665 pub fn gst_rtsp_thread_pool_get_thread(
2666 pool: *mut GstRTSPThreadPool,
2667 type_: GstRTSPThreadType,
2668 ctx: *mut GstRTSPContext,
2669 ) -> *mut GstRTSPThread;
2670 pub fn gst_rtsp_thread_pool_set_max_threads(pool: *mut GstRTSPThreadPool, max_threads: c_int);
2671
2672 pub fn gst_rtsp_params_get(
2676 client: *mut GstRTSPClient,
2677 ctx: *mut GstRTSPContext,
2678 ) -> gst_rtsp::GstRTSPResult;
2679 pub fn gst_rtsp_params_set(
2680 client: *mut GstRTSPClient,
2681 ctx: *mut GstRTSPContext,
2682 ) -> gst_rtsp::GstRTSPResult;
2683 pub fn gst_rtsp_sdp_from_media(
2684 sdp: *mut gst_sdp::GstSDPMessage,
2685 info: *mut GstSDPInfo,
2686 media: *mut GstRTSPMedia,
2687 ) -> gboolean;
2688 pub fn gst_rtsp_sdp_from_stream(
2689 sdp: *mut gst_sdp::GstSDPMessage,
2690 info: *mut GstSDPInfo,
2691 stream: *mut GstRTSPStream,
2692 ) -> gboolean;
2693 pub fn gst_rtsp_sdp_make_media(
2694 sdp: *mut gst_sdp::GstSDPMessage,
2695 info: *mut GstSDPInfo,
2696 stream: *mut GstRTSPStream,
2697 caps: *mut gst::GstCaps,
2698 profile: gst_rtsp::GstRTSPProfile,
2699 ) -> gboolean;
2700
2701}