Trait gstreamer_rtsp_server::prelude::RTSPMediaExt [−][src]
pub trait RTSPMediaExt: 'static {}Show methods
fn collect_streams(&self); fn create_stream<P: IsA<Element>, Q: IsA<Pad>>(
&self,
payloader: &P,
pad: &Q
) -> Option<RTSPStream>; fn find_stream(&self, control: &str) -> Option<RTSPStream>; fn address_pool(&self) -> Option<RTSPAddressPool>; fn base_time(&self) -> Option<ClockTime>; fn buffer_size(&self) -> u32; fn clock(&self) -> Option<Clock>; fn does_retransmission(&self) -> bool; fn dscp_qos(&self) -> i32; fn element(&self) -> Option<Element>; fn latency(&self) -> u32; fn max_mcast_ttl(&self) -> u32; fn multicast_iface(&self) -> Option<GString>; fn profiles(&self) -> RTSPProfile; fn protocols(&self) -> RTSPLowerTrans; fn publish_clock_mode(&self) -> RTSPPublishClockMode; fn range_string(&self, play: bool, unit: RTSPRangeUnit) -> Option<GString>; fn is_rate_control(&self) -> bool; fn rates(&self) -> Option<(f64, f64)>; fn retransmission_time(&self) -> Option<ClockTime>; fn status(&self) -> RTSPMediaStatus; fn stream(&self, idx: u32) -> Option<RTSPStream>; fn suspend_mode(&self) -> RTSPSuspendMode; fn time_provider(
&self,
address: Option<&str>,
port: u16
) -> Option<NetTimeProvider>; fn transport_mode(&self) -> RTSPTransportMode; fn has_completed_sender(&self) -> bool; fn is_bind_mcast_address(&self) -> bool; fn is_eos_shutdown(&self) -> bool; fn is_receive_only(&self) -> bool; fn is_reusable(&self) -> bool; fn is_shared(&self) -> bool; fn is_stop_on_disconnect(&self) -> bool; fn is_time_provider(&self) -> bool; fn lock(&self); fn n_streams(&self) -> u32; fn prepare(&self, thread: Option<&RTSPThread>) -> Result<(), BoolError>; fn set_address_pool<P: IsA<RTSPAddressPool>>(&self, pool: Option<&P>); fn set_bind_mcast_address(&self, bind_mcast_addr: bool); fn set_buffer_size(&self, size: u32); fn set_clock<P: IsA<Clock>>(&self, clock: Option<&P>); fn set_do_retransmission(&self, do_retransmission: bool); fn set_dscp_qos(&self, dscp_qos: i32); fn set_eos_shutdown(&self, eos_shutdown: bool); fn set_latency(&self, latency: u32); fn set_max_mcast_ttl(&self, ttl: u32) -> bool; fn set_multicast_iface(&self, multicast_iface: Option<&str>); fn set_pipeline_state(&self, state: State); fn set_profiles(&self, profiles: RTSPProfile); fn set_protocols(&self, protocols: RTSPLowerTrans); fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode); fn set_rate_control(&self, enabled: bool); fn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>); fn set_reusable(&self, reusable: bool); fn set_shared(&self, shared: bool); fn set_state(
&self,
state: State,
transports: &[RTSPStreamTransport]
) -> bool; fn set_stop_on_disconnect(&self, stop_on_disconnect: bool); fn set_suspend_mode(&self, mode: RTSPSuspendMode); fn set_transport_mode(&self, mode: RTSPTransportMode); fn suspend(&self) -> Result<(), BoolError>; fn unlock(&self); fn unprepare(&self) -> Result<(), BoolError>; fn unsuspend(&self) -> Result<(), BoolError>; fn use_time_provider(&self, time_provider: bool); fn get_property_bind_mcast_address(&self) -> bool; fn set_property_bind_mcast_address(&self, bind_mcast_address: bool); fn get_property_dscp_qos(&self) -> i32; fn set_property_dscp_qos(&self, dscp_qos: i32); fn get_property_max_mcast_ttl(&self) -> u32; fn set_property_max_mcast_ttl(&self, max_mcast_ttl: u32); fn set_time_provider(&self, time_provider: bool); fn connect_new_state<F: Fn(&Self, i32) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_new_stream<F: Fn(&Self, &RTSPStream) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_prepared<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_removed_stream<F: Fn(&Self, &RTSPStream) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_target_state<F: Fn(&Self, i32) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_unprepared<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_bind_mcast_address_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_buffer_size_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_clock_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_max_mcast_ttl_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_reusable_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_shared_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_stop_on_disconnect_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_suspend_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_time_provider_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId; fn connect_transport_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
Expand description
Required methods
fn collect_streams(&self)
[src]
fn collect_streams(&self)
[src]Find all payloader elements, they should be named pay`din the element of
self, and create
GstRTSPStreams` for them.
Collect all dynamic elements, named dynpay`d`, and add them to the list of dynamic elements.
Find all depayloader elements, they should be named depay`din the element of
self, and create
GstRTSPStreams` for them.
fn create_stream<P: IsA<Element>, Q: IsA<Pad>>(
&self,
payloader: &P,
pad: &Q
) -> Option<RTSPStream>
[src]
fn create_stream<P: IsA<Element>, Q: IsA<Pad>>(
&self,
payloader: &P,
pad: &Q
) -> Option<RTSPStream>
[src]Create a new stream in self
that provides RTP data on pad
.
pad
should be a pad of an element inside self
->element.
payloader
pad
a gst::Pad
Returns
a new RTSPStream
that remains valid for as long
as self
exists.
fn find_stream(&self, control: &str) -> Option<RTSPStream>
[src]
fn find_stream(&self, control: &str) -> Option<RTSPStream>
[src]Find a stream in self
with control
as the control uri.
control
the control of the stream
Returns
the RTSPStream
with
control uri control
or None
when a stream with that control did
not exist.
fn address_pool(&self) -> Option<RTSPAddressPool>
[src]
fn address_pool(&self) -> Option<RTSPAddressPool>
[src]Get the RTSPAddressPool
used as the address pool of self
.
Returns
the RTSPAddressPool
of self
.
g_object_unref()
after usage.
Get the base_time that is used by the pipeline in self
.
self
must be prepared before this method returns a valid base_time.
Returns
the base_time used by self
.
fn buffer_size(&self) -> u32
[src]
fn buffer_size(&self) -> u32
[src]Get the clock that is used by the pipeline in self
.
self
must be prepared before this method returns a valid clock object.
Returns
the gst::Clock
used by self
. unref after usage.
fn does_retransmission(&self) -> bool
[src]
fn does_retransmission(&self) -> bool
[src]v1_16
only.Returns
Whether retransmission requests will be sent
v1_18
only.Get the configured DSCP QoS of attached media.
Returns
the DSCP QoS value of attached streams or -1 if disabled.
fn max_mcast_ttl(&self) -> u32
[src]
fn max_mcast_ttl(&self) -> u32
[src]v1_16
only.Get the the maximum time-to-live value of outgoing multicast packets.
Returns
the maximum time-to-live value of outgoing multicast packets.
fn multicast_iface(&self) -> Option<GString>
[src]
fn multicast_iface(&self) -> Option<GString>
[src]Get the multicast interface used for self
.
Returns
the multicast interface for self
.
g_free()
after usage.
fn profiles(&self) -> RTSPProfile
[src]
fn profiles(&self) -> RTSPProfile
[src]fn protocols(&self) -> RTSPLowerTrans
[src]
fn protocols(&self) -> RTSPLowerTrans
[src]fn publish_clock_mode(&self) -> RTSPPublishClockMode
[src]
fn publish_clock_mode(&self) -> RTSPPublishClockMode
[src]Gets if and how the media clock should be published according to RFC7273.
Returns
The GstRTSPPublishClockMode
fn range_string(&self, play: bool, unit: RTSPRangeUnit) -> Option<GString>
[src]
fn range_string(&self, play: bool, unit: RTSPRangeUnit) -> Option<GString>
[src]fn is_rate_control(&self) -> bool
[src]
fn is_rate_control(&self) -> bool
[src]v1_18
only.Returns
whether self
will follow the Rate-Control=no behaviour as specified
in the ONVIF replay spec.
v1_18
only.Get the rate and applied_rate of the current segment.
Returns
false
if looking up the rate and applied rate failed. Otherwise
true
is returned and rate
and applied_rate
are set to the rate and
applied_rate of the current segment.
rate
the rate of the current segment
applied_rate
the applied_rate of the current segment
fn retransmission_time(&self) -> Option<ClockTime>
[src]
fn retransmission_time(&self) -> Option<ClockTime>
[src]Get the amount of time to store retransmission data.
Returns
the amount of time to store retransmission data.
fn status(&self) -> RTSPMediaStatus
[src]
fn status(&self) -> RTSPMediaStatus
[src]Get the status of self
. When self
is busy preparing, this function waits
until self
is prepared or in error.
Returns
the status of self
.
fn stream(&self, idx: u32) -> Option<RTSPStream>
[src]
fn stream(&self, idx: u32) -> Option<RTSPStream>
[src]Retrieve the stream with index idx
from self
.
idx
the stream index
Returns
the RTSPStream
at index
idx
or None
when a stream with that index did not exist.
fn suspend_mode(&self) -> RTSPSuspendMode
[src]
fn suspend_mode(&self) -> RTSPSuspendMode
[src]fn time_provider(
&self,
address: Option<&str>,
port: u16
) -> Option<NetTimeProvider>
[src]
fn time_provider(
&self,
address: Option<&str>,
port: u16
) -> Option<NetTimeProvider>
[src]Get the gst_net::NetTimeProvider
for the clock used by self
. The time provider
will listen on address
and port
for client time requests.
address
an address or None
port
a port or 0
Returns
the gst_net::NetTimeProvider
of self
.
fn transport_mode(&self) -> RTSPTransportMode
[src]
fn transport_mode(&self) -> RTSPTransportMode
[src]fn has_completed_sender(&self) -> bool
[src]
fn has_completed_sender(&self) -> bool
[src]v1_18
only.See RTSPStreamExt::is_complete()
, RTSPStreamExt::is_sender()
.
Returns
whether self
has at least one complete sender stream.
fn is_bind_mcast_address(&self) -> bool
[src]
fn is_bind_mcast_address(&self) -> bool
[src]v1_16
only.fn is_eos_shutdown(&self) -> bool
[src]
fn is_eos_shutdown(&self) -> bool
[src]fn is_receive_only(&self) -> bool
[src]
fn is_receive_only(&self) -> bool
[src]v1_18
only.fn is_reusable(&self) -> bool
[src]
fn is_reusable(&self) -> bool
[src]fn is_stop_on_disconnect(&self) -> bool
[src]
fn is_stop_on_disconnect(&self) -> bool
[src]fn is_time_provider(&self) -> bool
[src]
fn is_time_provider(&self) -> bool
[src]Check if self
can provide a gst_net::NetTimeProvider
for its pipeline clock.
Use time_provider()
to get the network clock.
Returns
true
if self
can provide a gst_net::NetTimeProvider
.
v1_18
only.Lock the entire media. This is needed by callers such as rtsp_client to protect the media when it is shared by many clients. The lock prevents that concurrent clients alters the shared media, while one client already is working with it. Typically the lock is taken in external RTSP API calls that uses shared media such as DESCRIBE, SETUP, ANNOUNCE, TEARDOWN, PLAY, PAUSE.
As best practice take the lock as soon as the function get hold of a shared media object. Release the lock right before the function returns.
Prepare self
for streaming. This function will create the objects
to manage the streaming. A pipeline must have been set on self
with
RTSPMediaExtManual::take_pipeline()
.
It will preroll the pipeline and collect vital information about the streams such as the duration.
thread
a RTSPThread
to run the
bus handler or None
Returns
true
on success.
fn set_address_pool<P: IsA<RTSPAddressPool>>(&self, pool: Option<&P>)
[src]
fn set_address_pool<P: IsA<RTSPAddressPool>>(&self, pool: Option<&P>)
[src]fn set_bind_mcast_address(&self, bind_mcast_addr: bool)
[src]
fn set_bind_mcast_address(&self, bind_mcast_addr: bool)
[src]v1_16
only.Decide whether the multicast socket should be bound to a multicast address or INADDR_ANY.
bind_mcast_addr
the new value
fn set_buffer_size(&self, size: u32)
[src]
fn set_buffer_size(&self, size: u32)
[src]fn set_do_retransmission(&self, do_retransmission: bool)
[src]
fn set_do_retransmission(&self, do_retransmission: bool)
[src]v1_16
only.Set whether retransmission requests will be sent
fn set_dscp_qos(&self, dscp_qos: i32)
[src]
fn set_dscp_qos(&self, dscp_qos: i32)
[src]v1_18
only.Configure the dscp qos of attached streams to dscp_qos
.
dscp_qos
a new dscp qos value (0-63, or -1 to disable)
fn set_eos_shutdown(&self, eos_shutdown: bool)
[src]
fn set_eos_shutdown(&self, eos_shutdown: bool)
[src]Set or unset if an EOS event will be sent to the pipeline for self
before
it is unprepared.
eos_shutdown
the new value
fn set_latency(&self, latency: u32)
[src]
fn set_latency(&self, latency: u32)
[src]fn set_max_mcast_ttl(&self, ttl: u32) -> bool
[src]
fn set_max_mcast_ttl(&self, ttl: u32) -> bool
[src]v1_16
only.fn set_multicast_iface(&self, multicast_iface: Option<&str>)
[src]
fn set_multicast_iface(&self, multicast_iface: Option<&str>)
[src]fn set_pipeline_state(&self, state: State)
[src]
fn set_pipeline_state(&self, state: State)
[src]fn set_profiles(&self, profiles: RTSPProfile)
[src]
fn set_profiles(&self, profiles: RTSPProfile)
[src]fn set_protocols(&self, protocols: RTSPLowerTrans)
[src]
fn set_protocols(&self, protocols: RTSPLowerTrans)
[src]fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode)
[src]
fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode)
[src]Sets if and how the media clock should be published according to RFC7273.
mode
the clock publish mode
fn set_rate_control(&self, enabled: bool)
[src]
fn set_rate_control(&self, enabled: bool)
[src]v1_18
only.Define whether self
will follow the Rate-Control=no behaviour as specified
in the ONVIF replay spec.
fn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>)
[src]
fn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>)
[src]fn set_reusable(&self, reusable: bool)
[src]fn set_stop_on_disconnect(&self, stop_on_disconnect: bool)
[src]fn set_suspend_mode(&self, mode: RTSPSuspendMode)
[src]fn set_transport_mode(&self, mode: RTSPTransportMode)
[src]fn use_time_provider(&self, time_provider: bool)
[src]fn get_property_bind_mcast_address(&self) -> bool
[src]fn set_property_bind_mcast_address(&self, bind_mcast_address: bool)
[src]fn get_property_dscp_qos(&self) -> i32
[src]fn set_property_dscp_qos(&self, dscp_qos: i32)
[src]fn get_property_max_mcast_ttl(&self) -> u32
[src]fn set_property_max_mcast_ttl(&self, max_mcast_ttl: u32)
[src]fn set_time_provider(&self, time_provider: bool)
[src]fn connect_new_state<F: Fn(&Self, i32) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_new_stream<F: Fn(&Self, &RTSPStream) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_prepared<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_removed_stream<F: Fn(&Self, &RTSPStream) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_target_state<F: Fn(&Self, i32) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_unprepared<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_bind_mcast_address_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_buffer_size_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_clock_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_max_mcast_ttl_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_reusable_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_stop_on_disconnect_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_suspend_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_time_provider_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_transport_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]Implementors
fn create_stream<P: IsA<Element>, Q: IsA<Pad>>(
&self,
payloader: &P,
pad: &Q
) -> Option<RTSPStream>
[src]v1_16
only.v1_16
only.v1_18
only.v1_18
only.v1_16
only.v1_18
only.v1_16
only.v1_16
only.v1_18
only.v1_16
only.v1_18
only.fn connect_new_state<F: Fn(&Self, i32) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_new_stream<F: Fn(&Self, &RTSPStream) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_removed_stream<F: Fn(&Self, &RTSPStream) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_target_state<F: Fn(&Self, i32) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_bind_mcast_address_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_buffer_size_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_max_mcast_ttl_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_reusable_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_stop_on_disconnect_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_suspend_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_time_provider_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]fn connect_transport_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]