diff --git a/Gir_GstRtspServer.toml b/Gir_GstRtspServer.toml index 513bd5aa6..bf35fed48 100644 --- a/Gir_GstRtspServer.toml +++ b/Gir_GstRtspServer.toml @@ -22,7 +22,6 @@ external_libraries = [ generate = [ "GstRtspServer.RTSPAddressFlags", "GstRtspServer.RTSPAddressPoolResult", - "GstRtspServer.RTSPMediaFactory", "GstRtspServer.RTSPMediaFactoryURI", "GstRtspServer.RTSPMediaStatus", "GstRtspServer.RTSPMountPoints", @@ -206,6 +205,15 @@ status = "generate" [object.function.return] bool_return_is_error = "Failed to unsuspend media" +[[object]] +name = "GstRtspServer.RTSPMediaFactory" +status = "generate" + + [[object.function]] + name = "add_role_from_structure" + # Different structure mutability needed + ignore = true + [[object]] name = "GstRtspServer.RTSPSessionMedia" status = "generate" diff --git a/gstreamer-rtsp-server/Cargo.toml b/gstreamer-rtsp-server/Cargo.toml index 1470e62db..4e86f828a 100644 --- a/gstreamer-rtsp-server/Cargo.toml +++ b/gstreamer-rtsp-server/Cargo.toml @@ -36,6 +36,7 @@ optional = true [features] v1_10 = ["gstreamer-sys/v1_10", "gstreamer-rtsp-sys/v1_10", "gstreamer-net-sys/v1_10", "gstreamer-rtsp-server-sys/v1_10"] v1_12 = ["gstreamer-sys/v1_12", "gstreamer-rtsp-sys/v1_12", "gstreamer-net-sys/v1_12", "gstreamer-rtsp-server-sys/v1_12", "v1_10"] +v1_14 = ["gstreamer-sys/v1_14", "gstreamer-rtsp-sys/v1_14", "gstreamer-net-sys/v1_14", "gstreamer-rtsp-server-sys/v1_14", "v1_12"] embed-lgpl-docs = ["rustdoc-stripper"] purge-lgpl-docs = ["rustdoc-stripper"] dox = ["gstreamer-rtsp-server-sys/dox", "glib/dox", "gstreamer/dox"] diff --git a/gstreamer-rtsp-server/src/auto/enums.rs b/gstreamer-rtsp-server/src/auto/enums.rs index 0e0da6902..9b9c71707 100644 --- a/gstreamer-rtsp-server/src/auto/enums.rs +++ b/gstreamer-rtsp-server/src/auto/enums.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/flags.rs b/gstreamer-rtsp-server/src/auto/flags.rs index c0375721d..6f504d81a 100644 --- a/gstreamer-rtsp-server/src/auto/flags.rs +++ b/gstreamer-rtsp-server/src/auto/flags.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/mod.rs b/gstreamer-rtsp-server/src/auto/mod.rs index 12368a4c8..7fdb0b084 100644 --- a/gstreamer-rtsp-server/src/auto/mod.rs +++ b/gstreamer-rtsp-server/src/auto/mod.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_address.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_address.rs index fd43f4a73..1e9bf6b58 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_address.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_address.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_address_pool.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_address_pool.rs index d23bd7114..f5e6188b2 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_address_pool.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_address_pool.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_auth.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_auth.rs index bc06cd791..1afcc28d0 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_auth.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_auth.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_client.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_client.rs index b3040fa15..de6537f15 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_client.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_client.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_media.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_media.rs index 9f240dd0e..ddeaaabd0 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_media.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_media.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -50,6 +50,8 @@ unsafe impl Sync for RTSPMedia {} pub trait RTSPMediaExt { fn collect_streams(&self); + //fn complete_pipeline(&self, transports: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 9, id: 31 }) -> bool; + fn create_stream, Q: IsA>(&self, payloader: &P, pad: &Q) -> Option; fn find_stream(&self, control: &str) -> Option; @@ -108,6 +110,10 @@ pub trait RTSPMediaExt { //fn seek(&self, range: /*Ignored*/&mut gst_rtsp::RTSPTimeRange) -> bool; + //fn seek_full(&self, range: /*Ignored*/&mut gst_rtsp::RTSPTimeRange, flags: /*Ignored*/gst::SeekFlags) -> bool; + + //fn seekable(&self) -> /*Ignored*/gst::ClockTimeDiff; + fn set_address_pool<'a, P: Into>>(&self, pool: P); fn set_buffer_size(&self, size: u32); @@ -212,6 +218,10 @@ impl + IsA> RTSPMediaExt for O { } } + //fn complete_pipeline(&self, transports: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 9, id: 31 }) -> bool { + // unsafe { TODO: call ffi::gst_rtsp_media_complete_pipeline() } + //} + fn create_stream, Q: IsA>(&self, payloader: &P, pad: &Q) -> Option { unsafe { from_glib_none(ffi::gst_rtsp_media_create_stream(self.to_glib_none().0, payloader.to_glib_none().0, pad.to_glib_none().0)) @@ -376,6 +386,14 @@ impl + IsA> RTSPMediaExt for O { // unsafe { TODO: call ffi::gst_rtsp_media_seek() } //} + //fn seek_full(&self, range: /*Ignored*/&mut gst_rtsp::RTSPTimeRange, flags: /*Ignored*/gst::SeekFlags) -> bool { + // unsafe { TODO: call ffi::gst_rtsp_media_seek_full() } + //} + + //fn seekable(&self) -> /*Ignored*/gst::ClockTimeDiff { + // unsafe { TODO: call ffi::gst_rtsp_media_seekable() } + //} + fn set_address_pool<'a, P: Into>>(&self, pool: P) { let pool = pool.into(); let pool = pool.to_glib_none(); diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory.rs index c75cc4468..572c26aff 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory_u_r_i.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory_u_r_i.rs index 980c67293..0e812b340 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory_u_r_i.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_media_factory_u_r_i.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_mount_points.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_mount_points.rs index 8927f5b20..35ed62846 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_mount_points.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_mount_points.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_server.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_server.rs index 7bff59c29..b1a84fafa 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_server.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_server.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -39,7 +39,7 @@ impl RTSPServer { } } - pub fn io_func(socket: &gio::Socket, condition: glib::IOCondition, server: &RTSPServer) -> bool { + pub fn io_func>(socket: &gio::Socket, condition: glib::IOCondition, server: &P) -> bool { skip_assert_initialized!(); unsafe { from_glib(ffi::gst_rtsp_server_io_func(socket.to_glib_none().0, condition.to_glib(), server.to_glib_none().0)) diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_session.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_session.rs index ccb4b6fd9..a1ed6339f 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_session.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_session.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -57,7 +57,7 @@ pub trait RTSPSessionExt { fn is_expired_usec(&self, now: i64) -> bool; - fn manage_media(&self, path: &str, media: &RTSPMedia) -> Option; + fn manage_media>(&self, path: &str, media: &P) -> Option; //fn next_timeout(&self, now: /*Ignored*/&mut glib::TimeVal) -> i32; @@ -129,7 +129,7 @@ impl + IsA> RTSPSessionExt for O { } } - fn manage_media(&self, path: &str, media: &RTSPMedia) -> Option { + fn manage_media>(&self, path: &str, media: &P) -> Option { unsafe { from_glib_none(ffi::gst_rtsp_session_manage_media(self.to_glib_none().0, path.to_glib_none().0, media.to_glib_full())) } diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_session_media.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_session_media.rs index 761350d96..5a405ca23 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_session_media.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_session_media.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -23,7 +23,7 @@ glib_wrapper! { } impl RTSPSessionMedia { - pub fn new(path: &str, media: &RTSPMedia) -> RTSPSessionMedia { + pub fn new>(path: &str, media: &P) -> RTSPSessionMedia { skip_assert_initialized!(); unsafe { from_glib_full(ffi::gst_rtsp_session_media_new(path.to_glib_none().0, media.to_glib_full())) @@ -47,6 +47,8 @@ pub trait RTSPSessionMediaExt { fn get_transport(&self, idx: u32) -> Option; + //fn get_transports(&self) -> /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 26 }; + fn matches(&self, path: &str) -> Option; //fn set_rtsp_state(&self, state: /*Ignored*/gst_rtsp::RTSPState); @@ -89,6 +91,10 @@ impl> RTSPSessionMediaExt for O { } } + //fn get_transports(&self) -> /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 26 } { + // unsafe { TODO: call ffi::gst_rtsp_session_media_get_transports() } + //} + fn matches(&self, path: &str) -> Option { unsafe { let mut matched = mem::uninitialized(); diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_session_pool.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_session_pool.rs index 97feee706..cf299d0af 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_session_pool.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_session_pool.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_stream.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_stream.rs index 660cef996..3e55dbfe8 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_stream.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_stream.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT @@ -47,7 +47,9 @@ unsafe impl Sync for RTSPStream {} pub trait RTSPStreamExt { fn add_transport(&self, trans: &RTSPStreamTransport) -> Result<(), glib::error::BoolError>; - //fn allocate_udp_sockets(&self, family: gio::SocketFamily, transport: /*Ignored*/&mut gst_rtsp::RTSPTransport, use_client_setttings: bool) -> bool; + //fn allocate_udp_sockets(&self, family: gio::SocketFamily, transport: /*Ignored*/&mut gst_rtsp::RTSPTransport, use_client_settings: bool) -> bool; + + //fn complete_stream(&self, transport: /*Ignored*/&gst_rtsp::RTSPTransport) -> bool; fn get_address_pool(&self) -> Option; @@ -83,8 +85,12 @@ pub trait RTSPStreamExt { fn get_retransmission_time(&self) -> gst::ClockTime; + fn get_rtcp_multicast_socket(&self, family: gio::SocketFamily) -> Option; + fn get_rtcp_socket(&self, family: gio::SocketFamily) -> Option; + fn get_rtp_multicast_socket(&self, family: gio::SocketFamily) -> Option; + fn get_rtp_socket(&self, family: gio::SocketFamily) -> Option; fn get_rtpinfo(&self) -> Option<(u32, u32, u32, gst::ClockTime)>; @@ -107,6 +113,12 @@ pub trait RTSPStreamExt { fn is_client_side(&self) -> bool; + fn is_complete(&self) -> bool; + + fn is_receiver(&self) -> bool; + + fn is_sender(&self) -> bool; + //fn is_transport_supported(&self, transport: /*Ignored*/&mut gst_rtsp::RTSPTransport) -> bool; fn join_bin, Q: IsA>(&self, bin: &P, rtpbin: &Q, state: gst::State) -> Result<(), glib::error::BoolError>; @@ -123,6 +135,8 @@ pub trait RTSPStreamExt { fn reserve_address(&self, address: &str, port: u32, n_ports: u32, ttl: u32) -> Option; + fn seekable(&self) -> bool; + fn set_address_pool<'a, P: Into>>(&self, pool: P); fn set_blocked(&self, blocked: bool) -> bool; @@ -155,6 +169,8 @@ pub trait RTSPStreamExt { //fn transport_filter<'a, P: Into>, Q: Into>>(&self, func: P, user_data: Q) -> Vec; + fn unblock_linked(&self) -> bool; + fn update_crypto<'a, P: Into>>(&self, ssrc: u32, crypto: P) -> bool; fn connect_new_rtcp_encoder(&self, f: F) -> SignalHandlerId; @@ -175,10 +191,14 @@ impl + IsA> RTSPStreamExt for O { } } - //fn allocate_udp_sockets(&self, family: gio::SocketFamily, transport: /*Ignored*/&mut gst_rtsp::RTSPTransport, use_client_setttings: bool) -> bool { + //fn allocate_udp_sockets(&self, family: gio::SocketFamily, transport: /*Ignored*/&mut gst_rtsp::RTSPTransport, use_client_settings: bool) -> bool { // unsafe { TODO: call ffi::gst_rtsp_stream_allocate_udp_sockets() } //} + //fn complete_stream(&self, transport: /*Ignored*/&gst_rtsp::RTSPTransport) -> bool { + // unsafe { TODO: call ffi::gst_rtsp_stream_complete_stream() } + //} + fn get_address_pool(&self) -> Option { unsafe { from_glib_full(ffi::gst_rtsp_stream_get_address_pool(self.to_glib_none().0)) @@ -281,12 +301,24 @@ impl + IsA> RTSPStreamExt for O { } } + fn get_rtcp_multicast_socket(&self, family: gio::SocketFamily) -> Option { + unsafe { + from_glib_full(ffi::gst_rtsp_stream_get_rtcp_multicast_socket(self.to_glib_none().0, family.to_glib())) + } + } + fn get_rtcp_socket(&self, family: gio::SocketFamily) -> Option { unsafe { from_glib_full(ffi::gst_rtsp_stream_get_rtcp_socket(self.to_glib_none().0, family.to_glib())) } } + fn get_rtp_multicast_socket(&self, family: gio::SocketFamily) -> Option { + unsafe { + from_glib_full(ffi::gst_rtsp_stream_get_rtp_multicast_socket(self.to_glib_none().0, family.to_glib())) + } + } + fn get_rtp_socket(&self, family: gio::SocketFamily) -> Option { unsafe { from_glib_full(ffi::gst_rtsp_stream_get_rtp_socket(self.to_glib_none().0, family.to_glib())) @@ -360,6 +392,24 @@ impl + IsA> RTSPStreamExt for O { } } + fn is_complete(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_stream_is_complete(self.to_glib_none().0)) + } + } + + fn is_receiver(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_stream_is_receiver(self.to_glib_none().0)) + } + } + + fn is_sender(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_stream_is_sender(self.to_glib_none().0)) + } + } + //fn is_transport_supported(&self, transport: /*Ignored*/&mut gst_rtsp::RTSPTransport) -> bool { // unsafe { TODO: call ffi::gst_rtsp_stream_is_transport_supported() } //} @@ -406,6 +456,12 @@ impl + IsA> RTSPStreamExt for O { } } + fn seekable(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_stream_seekable(self.to_glib_none().0)) + } + } + fn set_address_pool<'a, P: Into>>(&self, pool: P) { let pool = pool.into(); let pool = pool.to_glib_none(); @@ -506,6 +562,12 @@ impl + IsA> RTSPStreamExt for O { // unsafe { TODO: call ffi::gst_rtsp_stream_transport_filter() } //} + fn unblock_linked(&self) -> bool { + unsafe { + from_glib(ffi::gst_rtsp_stream_unblock_linked(self.to_glib_none().0)) + } + } + fn update_crypto<'a, P: Into>>(&self, ssrc: u32, crypto: P) -> bool { let crypto = crypto.into(); let crypto = crypto.to_glib_none(); diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_stream_transport.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_stream_transport.rs index 12c9af019..6594ea169 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_stream_transport.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_stream_transport.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/auto/r_t_s_p_thread_pool.rs b/gstreamer-rtsp-server/src/auto/r_t_s_p_thread_pool.rs index 9847d7623..a6d695b09 100644 --- a/gstreamer-rtsp-server/src/auto/r_t_s_p_thread_pool.rs +++ b/gstreamer-rtsp-server/src/auto/r_t_s_p_thread_pool.rs @@ -1,4 +1,4 @@ -// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4) +// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e0127) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT diff --git a/gstreamer-rtsp-server/src/lib.rs b/gstreamer-rtsp-server/src/lib.rs index 798221076..46cfe71dd 100644 --- a/gstreamer-rtsp-server/src/lib.rs +++ b/gstreamer-rtsp-server/src/lib.rs @@ -62,12 +62,14 @@ mod r_t_s_p_session_pool; mod r_t_s_p_context; mod r_t_s_p_auth; mod r_t_s_p_token; +mod r_t_s_p_media_factory; pub use r_t_s_p_server::RTSPServerExtManual; pub use r_t_s_p_address_pool::RTSPAddressPoolExtManual; pub use r_t_s_p_client::RTSPClientExtManual; pub use r_t_s_p_session_pool::RTSPSessionPoolExtManual; pub use r_t_s_p_auth::RTSPAuthExtManual; +pub use r_t_s_p_media_factory::RTSPMediaFactoryExtManual; pub use r_t_s_p_context::*; pub use r_t_s_p_token::*; @@ -100,4 +102,5 @@ pub mod prelude { pub use r_t_s_p_session_pool::RTSPSessionPoolExtManual; pub use r_t_s_p_auth::RTSPAuthExtManual; pub use r_t_s_p_token::GstRcRTSPTokenExt; + pub use r_t_s_p_media_factory::RTSPMediaFactoryExtManual; } diff --git a/gstreamer-rtsp-server/src/r_t_s_p_media_factory.rs b/gstreamer-rtsp-server/src/r_t_s_p_media_factory.rs new file mode 100644 index 000000000..e0a1b62a8 --- /dev/null +++ b/gstreamer-rtsp-server/src/r_t_s_p_media_factory.rs @@ -0,0 +1,26 @@ +// Copyright (C) 2018 Sebastian Dröge +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use RTSPMediaFactory; + +use glib::translate::*; +use gst; + +pub trait RTSPMediaFactoryExtManual { + #[cfg(any(feature = "v1_14", feature = "dox"))] + fn add_role_from_structure(&self, structure: &gst::StructureRef); +} + +impl> RTSPMediaFactoryExtManual for O { + #[cfg(any(feature = "v1_14", feature = "dox"))] + fn add_role_from_structure(&self, structure: &gst::StructureRef) { + unsafe { + ffi::gst_rtsp_media_factory_add_role_from_structure(self.to_glib_none().0, structure.as_mut_ptr()); + } + } +}