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]