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

Trait containing all RTSPSession methods.

Implementors

RTSPSession

Required methods

Allow self to expire. This method must be called an equal amount of time as prevent_expire().

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 session media for path. matched will contain the number of matched characters of path.

path

the path for the media

Returns

the configuration for path in self.

matched

the amount of matched characters

Get the sessionid of self.

Returns

the sessionid of self. The value remains valid as long as self is alive.

Get the timeout value of self.

Returns

the timeout of self in seconds.

Check if self timeout out.

now

the current monotonic time

Returns

true if self timed out

Manage the media object obj in self. path will be used to retrieve this media from the session with media().

Ownership is taken from media.

path

the path for the media

media

a RTSPMedia

Returns

a new RTSPSessionMedia object.

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.

Prevent self from expiring.

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.

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

Update the last_access time of the session to the current time.

Implementors