[−][src]Trait gstreamer_rtsp_server::prelude::RTSPSessionExt
Required methods
fn allow_expire(&self)
Allow self
to expire. This method must be called an equal
amount of time as RTSPSessionExt::prevent_expire
.
fn filter(
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>
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 glib::List
of this
function..
When func
is None
, RTSPFilterResult::Ref
will be assumed for all media.
func
a callback
user_data
user data passed to func
Returns
a GList with all
media for which func
returned RTSPFilterResult::Ref
. After usage, each
element in the glib::List
should be unreffed before the list is freed.
fn get_header(&self) -> Option<GString>
Get the string that can be placed in the Session header field.
Returns
the Session header of self
.
g_free
after usage.
fn get_media(&self, path: &str) -> (Option<RTSPSessionMedia>, i32)
Get the session media for path
. matched
will contain the number of matched
characters of path
.
path
the path for the media
matched
the amount of matched characters
Returns
the configuration for path
in self
.
fn get_sessionid(&self) -> Option<GString>
Get the sessionid of self
.
Returns
the sessionid of self
.
The value remains valid as long as self
is alive.
fn get_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>
&self,
path: &str,
media: &P
) -> Result<RTSPSessionMedia, BoolError>
Manage the media object obj
in self
. path
will be used to retrieve this
media from the session with RTSPSessionExt::get_media
.
Ownership is taken from media
.
path
the path for the media
media
a RTSPMedia
Returns
a new RTSPSessionMedia
object.
fn next_timeout_usec(&self, now: i64) -> i32
Get the amount of milliseconds till the session will expire.
now
the current monotonic time
Returns
the amount of milliseconds since the session will time out.
fn prevent_expire(&self)
Prevent self
from expiring.
fn release_media<P: IsA<RTSPSessionMedia>>(&self, media: &P) -> bool
Release the managed media
in self
, freeing the memory allocated by it.
media
a RTSPMedia
Returns
true
if there are more media session left in self
.
fn set_timeout(&self, timeout: u32)
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 touch(&self)
Update the last_access time of the session to the current time.
fn get_property_extra_timeout(&self) -> u32
fn set_property_extra_timeout(&self, extra_timeout: u32)
fn get_property_timeout_always_visible(&self) -> bool
fn set_property_timeout_always_visible(&self, timeout_always_visible: bool)
fn connect_property_extra_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_timeout_always_visible_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<RTSPSession>> RTSPSessionExt for O
[src]
fn allow_expire(&self)
[src]
fn filter(
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>
[src]
&self,
func: Option<&mut dyn FnMut(&RTSPSession, &RTSPSessionMedia) -> RTSPFilterResult>
) -> Vec<RTSPSessionMedia>
fn get_header(&self) -> Option<GString>
[src]
fn get_media(&self, path: &str) -> (Option<RTSPSessionMedia>, i32)
[src]
fn get_sessionid(&self) -> Option<GString>
[src]
fn get_timeout(&self) -> u32
[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]
&self,
path: &str,
media: &P
) -> Result<RTSPSessionMedia, BoolError>
fn next_timeout_usec(&self, now: i64) -> i32
[src]
fn prevent_expire(&self)
[src]
fn release_media<P: IsA<RTSPSessionMedia>>(&self, media: &P) -> bool
[src]
fn set_timeout(&self, timeout: u32)
[src]
fn touch(&self)
[src]
fn get_property_extra_timeout(&self) -> u32
[src]
fn set_property_extra_timeout(&self, extra_timeout: u32)
[src]
fn get_property_timeout_always_visible(&self) -> bool
[src]
fn set_property_timeout_always_visible(&self, timeout_always_visible: bool)
[src]
fn connect_property_extra_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_timeout_always_visible_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId