Trait gstreamer_rtsp_server::prelude::RTSPSessionExt [−][src]
pub trait RTSPSessionExt: 'static {
Show methods
fn allow_expire(&self);
fn filter(
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>;
fn header(&self) -> Option<GString>;
fn media(&self, path: &str) -> (Option<RTSPSessionMedia>, i32);
fn sessionid(&self) -> Option<GString>;
fn timeout(&self) -> u32;
fn is_expired_usec(&self, now: i64) -> bool;
fn manage_media<P: IsA<RTSPMedia>>(
&self,
path: &str,
media: &P
) -> Result<RTSPSessionMedia, BoolError>;
fn next_timeout_usec(&self, now: i64) -> i32;
fn prevent_expire(&self);
fn release_media<P: IsA<RTSPSessionMedia>>(&self, media: &P) -> bool;
fn set_timeout(&self, timeout: u32);
fn touch(&self);
fn extra_timeout(&self) -> u32;
fn set_extra_timeout(&self, extra_timeout: u32);
fn is_timeout_always_visible(&self) -> bool;
fn set_timeout_always_visible(&self, timeout_always_visible: bool);
fn connect_extra_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_timeout_always_visible_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
}Expand description
Required methods
fn allow_expire(&self)[src]
fn allow_expire(&self)[src]Allow self to expire. This method must be called an equal
amount of time as prevent_expire().
fn filter(
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>[src]
fn filter(
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>[src]Call func for each media in self. The result value of func determines
what happens to the media. func will be called with self
locked so no further actions on self can be performed from func.
If func returns RTSPFilterResult::Remove, the media will be removed from
self.
If func returns RTSPFilterResult::Keep, the media will remain in self.
If func returns RTSPFilterResult::Ref, the media will remain in self but
will also be added with an additional ref to the result GList of this
function..
When func is None, RTSPFilterResult::Ref will be assumed for all media.
func
a callback
Returns
a GList with all
media for which func returned RTSPFilterResult::Ref. After usage, each
element in the GList should be unreffed before the list is freed.
Get the string that can be placed in the Session header field.
Returns
the Session header of self.
g_free() after usage.
Get the sessionid of self.
Returns
the sessionid of self.
The value remains valid as long as self is alive.
fn is_expired_usec(&self, now: i64) -> bool[src]
fn is_expired_usec(&self, now: i64) -> bool[src]fn manage_media<P: IsA<RTSPMedia>>(
&self,
path: &str,
media: &P
) -> Result<RTSPSessionMedia, BoolError>[src]
fn manage_media<P: IsA<RTSPMedia>>(
&self,
path: &str,
media: &P
) -> Result<RTSPSessionMedia, BoolError>[src]fn next_timeout_usec(&self, now: i64) -> i32[src]
fn next_timeout_usec(&self, now: i64) -> i32[src]fn prevent_expire(&self)[src]
fn prevent_expire(&self)[src]Prevent self from expiring.
fn release_media<P: IsA<RTSPSessionMedia>>(&self, media: &P) -> bool[src]
fn release_media<P: IsA<RTSPSessionMedia>>(&self, media: &P) -> bool[src]fn set_timeout(&self, timeout: u32)[src]
fn set_timeout(&self, timeout: u32)[src]Configure self for a timeout of timeout seconds. The session will be
cleaned up when there is no activity for timeout seconds.
timeout
the new timeout
fn extra_timeout(&self) -> u32[src]fn set_extra_timeout(&self, extra_timeout: u32)[src]fn is_timeout_always_visible(&self) -> bool[src]fn set_timeout_always_visible(&self, timeout_always_visible: bool)[src]fn connect_extra_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]fn connect_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]fn connect_timeout_always_visible_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]Implementors
fn filter(
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>[src]fn manage_media<P: IsA<RTSPMedia>>(
&self,
path: &str,
media: &P
) -> Result<RTSPSessionMedia, BoolError>[src]fn connect_extra_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]fn connect_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]fn connect_timeout_always_visible_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]