// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use RTSPStream; use glib; use glib::GString; use glib::object::IsA; use glib::translate::*; use gst; use gst_rtsp; use gst_rtsp_server_sys; use std::boxed::Box as Box_; glib_wrapper! { pub struct RTSPStreamTransport(Object); match fn { get_type => || gst_rtsp_server_sys::gst_rtsp_stream_transport_get_type(), } } impl RTSPStreamTransport { //pub fn new>(stream: &P, tr: /*Ignored*/&mut gst_rtsp::RTSPTransport) -> RTSPStreamTransport { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_new() } //} } pub const NONE_RTSP_STREAM_TRANSPORT: Option<&RTSPStreamTransport> = None; pub trait RTSPStreamTransportExt: 'static { fn get_rtpinfo(&self, start_time: gst::ClockTime) -> Option; fn get_stream(&self) -> Option; //fn get_transport(&self) -> /*Ignored*/Option; fn get_url(&self) -> Option; fn is_timed_out(&self) -> bool; fn keep_alive(&self); #[cfg(any(feature = "v1_16", feature = "dox"))] fn message_sent(&self); fn send_rtcp(&self, buffer: &gst::Buffer) -> Result<(), glib::error::BoolError>; //#[cfg(any(feature = "v1_16", feature = "dox"))] //fn send_rtcp_list(&self, buffer_list: /*Ignored*/&mut gst::BufferList) -> bool; fn send_rtp(&self, buffer: &gst::Buffer) -> Result<(), glib::error::BoolError>; //#[cfg(any(feature = "v1_16", feature = "dox"))] //fn send_rtp_list(&self, buffer_list: /*Ignored*/&mut gst::BufferList) -> bool; fn set_active(&self, active: bool) -> Result<(), glib::error::BoolError>; //fn set_callbacks bool + 'static, Q: Fn(&gst::Buffer, u8) -> bool + 'static>(&self, send_rtp: P, send_rtcp: Q); fn set_keepalive(&self, keep_alive: P); //#[cfg(any(feature = "v1_16", feature = "dox"))] //fn set_list_callbacks(&self, send_rtp_list: /*Unimplemented*/Fn(/*Ignored*/gst::BufferList, u8) -> bool, send_rtcp_list: /*Unimplemented*/Fn(/*Ignored*/gst::BufferList, u8) -> bool, user_data: /*Unimplemented*/Option); fn set_message_sent(&self, message_sent: P); fn set_timed_out(&self, timedout: bool); //fn set_transport(&self, tr: /*Ignored*/&mut gst_rtsp::RTSPTransport); fn set_url(&self, url: Option<&gst_rtsp::RTSPUrl>); } impl> RTSPStreamTransportExt for O { fn get_rtpinfo(&self, start_time: gst::ClockTime) -> Option { unsafe { from_glib_full(gst_rtsp_server_sys::gst_rtsp_stream_transport_get_rtpinfo(self.as_ref().to_glib_none().0, start_time.to_glib())) } } fn get_stream(&self) -> Option { unsafe { from_glib_none(gst_rtsp_server_sys::gst_rtsp_stream_transport_get_stream(self.as_ref().to_glib_none().0)) } } //fn get_transport(&self) -> /*Ignored*/Option { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_get_transport() } //} fn get_url(&self) -> Option { unsafe { from_glib_none(gst_rtsp_server_sys::gst_rtsp_stream_transport_get_url(self.as_ref().to_glib_none().0)) } } fn is_timed_out(&self) -> bool { unsafe { from_glib(gst_rtsp_server_sys::gst_rtsp_stream_transport_is_timed_out(self.as_ref().to_glib_none().0)) } } fn keep_alive(&self) { unsafe { gst_rtsp_server_sys::gst_rtsp_stream_transport_keep_alive(self.as_ref().to_glib_none().0); } } #[cfg(any(feature = "v1_16", feature = "dox"))] fn message_sent(&self) { unsafe { gst_rtsp_server_sys::gst_rtsp_stream_transport_message_sent(self.as_ref().to_glib_none().0); } } fn send_rtcp(&self, buffer: &gst::Buffer) -> Result<(), glib::error::BoolError> { unsafe { glib_result_from_gboolean!(gst_rtsp_server_sys::gst_rtsp_stream_transport_send_rtcp(self.as_ref().to_glib_none().0, buffer.to_glib_none().0), "Failed to send rtcp") } } //#[cfg(any(feature = "v1_16", feature = "dox"))] //fn send_rtcp_list(&self, buffer_list: /*Ignored*/&mut gst::BufferList) -> bool { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_send_rtcp_list() } //} fn send_rtp(&self, buffer: &gst::Buffer) -> Result<(), glib::error::BoolError> { unsafe { glib_result_from_gboolean!(gst_rtsp_server_sys::gst_rtsp_stream_transport_send_rtp(self.as_ref().to_glib_none().0, buffer.to_glib_none().0), "Failed to send rtp") } } //#[cfg(any(feature = "v1_16", feature = "dox"))] //fn send_rtp_list(&self, buffer_list: /*Ignored*/&mut gst::BufferList) -> bool { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_send_rtp_list() } //} fn set_active(&self, active: bool) -> Result<(), glib::error::BoolError> { unsafe { glib_result_from_gboolean!(gst_rtsp_server_sys::gst_rtsp_stream_transport_set_active(self.as_ref().to_glib_none().0, active.to_glib()), "Failed to set active") } } //fn set_callbacks bool + 'static, Q: Fn(&gst::Buffer, u8) -> bool + 'static>(&self, send_rtp: P, send_rtcp: Q) { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_set_callbacks() } //} fn set_keepalive(&self, keep_alive: P) { let keep_alive_data: Box_

= Box::new(keep_alive); unsafe extern "C" fn keep_alive_func(user_data: glib_sys::gpointer) { let callback: &P = &*(user_data as *mut _); (*callback)(); } let keep_alive = Some(keep_alive_func::

as _); unsafe extern "C" fn notify_func(data: glib_sys::gpointer) { let _callback: Box_

= Box_::from_raw(data as *mut _); } let destroy_call3 = Some(notify_func::

as _); let super_callback0: Box_

= keep_alive_data; unsafe { gst_rtsp_server_sys::gst_rtsp_stream_transport_set_keepalive(self.as_ref().to_glib_none().0, keep_alive, Box::into_raw(super_callback0) as *mut _, destroy_call3); } } //#[cfg(any(feature = "v1_16", feature = "dox"))] //fn set_list_callbacks(&self, send_rtp_list: /*Unimplemented*/Fn(/*Ignored*/gst::BufferList, u8) -> bool, send_rtcp_list: /*Unimplemented*/Fn(/*Ignored*/gst::BufferList, u8) -> bool, user_data: /*Unimplemented*/Option) { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_set_list_callbacks() } //} fn set_message_sent(&self, message_sent: P) { let message_sent_data: Box_

= Box::new(message_sent); unsafe extern "C" fn message_sent_func(user_data: glib_sys::gpointer) { let callback: &P = &*(user_data as *mut _); (*callback)(); } let message_sent = Some(message_sent_func::

as _); unsafe extern "C" fn notify_func(data: glib_sys::gpointer) { let _callback: Box_

= Box_::from_raw(data as *mut _); } let destroy_call3 = Some(notify_func::

as _); let super_callback0: Box_

= message_sent_data; unsafe { gst_rtsp_server_sys::gst_rtsp_stream_transport_set_message_sent(self.as_ref().to_glib_none().0, message_sent, Box::into_raw(super_callback0) as *mut _, destroy_call3); } } fn set_timed_out(&self, timedout: bool) { unsafe { gst_rtsp_server_sys::gst_rtsp_stream_transport_set_timed_out(self.as_ref().to_glib_none().0, timedout.to_glib()); } } //fn set_transport(&self, tr: /*Ignored*/&mut gst_rtsp::RTSPTransport) { // unsafe { TODO: call gst_rtsp_server_sys:gst_rtsp_stream_transport_set_transport() } //} fn set_url(&self, url: Option<&gst_rtsp::RTSPUrl>) { unsafe { gst_rtsp_server_sys::gst_rtsp_stream_transport_set_url(self.as_ref().to_glib_none().0, url.to_glib_none().0); } } }