pub trait RTSPMediaFactoryExt: IsA<RTSPMediaFactory> + Sealed + 'static {
Show 69 methods
// Provided methods
fn construct(&self, url: &RTSPUrl) -> Result<RTSPMedia, BoolError> { ... }
fn create_element(&self, url: &RTSPUrl) -> Result<Element, BoolError> { ... }
fn address_pool(&self) -> Option<RTSPAddressPool> { ... }
fn buffer_size(&self) -> u32 { ... }
fn clock(&self) -> Option<Clock> { ... }
fn does_retransmission(&self) -> bool { ... }
fn dscp_qos(&self) -> i32 { ... }
fn is_ensure_keyunit_on_start(&self) -> bool { ... }
fn ensure_keyunit_on_start_timeout(&self) -> u32 { ... }
fn latency(&self) -> u32 { ... }
fn launch(&self) -> Option<GString> { ... }
fn max_mcast_ttl(&self) -> u32 { ... }
fn media_gtype(&self) -> Type { ... }
fn multicast_iface(&self) -> Option<GString> { ... }
fn profiles(&self) -> RTSPProfile { ... }
fn protocols(&self) -> RTSPLowerTrans { ... }
fn publish_clock_mode(&self) -> RTSPPublishClockMode { ... }
fn retransmission_time(&self) -> Option<ClockTime> { ... }
fn suspend_mode(&self) -> RTSPSuspendMode { ... }
fn transport_mode(&self) -> RTSPTransportMode { ... }
fn is_bind_mcast_address(&self) -> bool { ... }
fn is_enable_rtcp(&self) -> bool { ... }
fn is_eos_shutdown(&self) -> bool { ... }
fn is_shared(&self) -> bool { ... }
fn is_stop_on_disonnect(&self) -> bool { ... }
fn set_address_pool(&self, pool: Option<&impl IsA<RTSPAddressPool>>) { ... }
fn set_bind_mcast_address(&self, bind_mcast_addr: bool) { ... }
fn set_buffer_size(&self, size: u32) { ... }
fn set_clock(&self, clock: Option<&impl IsA<Clock>>) { ... }
fn set_do_retransmission(&self, do_retransmission: bool) { ... }
fn set_dscp_qos(&self, dscp_qos: i32) { ... }
fn set_enable_rtcp(&self, enable: bool) { ... }
fn set_ensure_keyunit_on_start(&self, ensure_keyunit_on_start: bool) { ... }
fn set_ensure_keyunit_on_start_timeout(&self, timeout: u32) { ... }
fn set_eos_shutdown(&self, eos_shutdown: bool) { ... }
fn set_latency(&self, latency: u32) { ... }
fn set_launch(&self, launch: &str) { ... }
fn set_max_mcast_ttl(&self, ttl: u32) -> bool { ... }
fn set_media_gtype(&self, media_gtype: Type) { ... }
fn set_multicast_iface(&self, multicast_iface: Option<&str>) { ... }
fn set_profiles(&self, profiles: RTSPProfile) { ... }
fn set_protocols(&self, protocols: RTSPLowerTrans) { ... }
fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode) { ... }
fn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>) { ... }
fn set_shared(&self, shared: 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 get_property_bind_mcast_address(&self) -> bool { ... }
fn is_stop_on_disconnect(&self) -> bool { ... }
fn connect_media_configure<F: Fn(&Self, &RTSPMedia) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn connect_media_constructed<F: Fn(&Self, &RTSPMedia) + 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_enable_rtcp_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn connect_ensure_keyunit_on_start_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn connect_ensure_keyunit_on_start_timeout_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_launch_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_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_transport_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
}
Expand description
Trait containing all RTSPMediaFactory
methods.
§Implementors
RTSPMediaFactoryURI
, RTSPMediaFactory
, RTSPOnvifMediaFactory
Provided Methods§
sourcefn construct(&self, url: &RTSPUrl) -> Result<RTSPMedia, BoolError>
fn construct(&self, url: &RTSPUrl) -> Result<RTSPMedia, BoolError>
Construct the media object and create its streams. Implementations should create the needed gstreamer elements and add them to the result object. No state changes should be performed on them yet.
One or more GstRTSPStream objects should be created from the result with gst_rtsp_media_create_stream ().
After the media is constructed, it can be configured and then prepared with gst_rtsp_media_prepare ().
The returned media will be locked and must be unlocked afterwards.
§url
the url used
§Returns
a new RTSPMedia
if the media could be prepared.
sourcefn create_element(&self, url: &RTSPUrl) -> Result<Element, BoolError>
fn create_element(&self, url: &RTSPUrl) -> Result<Element, BoolError>
Construct and return a gst::Element
that is a gst::Bin
containing
the elements to use for streaming the media.
The bin should contain payloaders pay`d` for each stream. The default implementation of this function returns the bin created from the launch parameter.
§url
the url used
§Returns
a new gst::Element
.
sourcefn address_pool(&self) -> Option<RTSPAddressPool>
fn address_pool(&self) -> Option<RTSPAddressPool>
Get the RTSPAddressPool
used as the address pool of self
.
§Returns
the RTSPAddressPool
of self
. g_object_unref()
after
usage.
sourcefn buffer_size(&self) -> u32
fn buffer_size(&self) -> u32
sourcefn clock(&self) -> Option<Clock>
fn clock(&self) -> Option<Clock>
Returns the clock that is going to be used by the pipelines of all medias created from this factory.
§Returns
The GstClock
sourcefn does_retransmission(&self) -> bool
fn does_retransmission(&self) -> bool
§Returns
Whether retransmission requests will be sent for receiving media
sourcefn is_ensure_keyunit_on_start(&self) -> bool
fn is_ensure_keyunit_on_start(&self) -> bool
sourcefn ensure_keyunit_on_start_timeout(&self) -> u32
fn ensure_keyunit_on_start_timeout(&self) -> u32
sourcefn launch(&self) -> Option<GString>
fn launch(&self) -> Option<GString>
Get the gst_parse_launch()
pipeline description that will be used in the
default prepare vmethod.
§Returns
the configured launch description. g_free()
after
usage.
sourcefn max_mcast_ttl(&self) -> u32
fn max_mcast_ttl(&self) -> u32
Get the the maximum time-to-live value of outgoing multicast packets.
§Returns
the maximum time-to-live value of outgoing multicast packets.
sourcefn media_gtype(&self) -> Type
fn media_gtype(&self) -> Type
Return the GType of the GstRTSPMedia subclass this factory will create.
sourcefn multicast_iface(&self) -> Option<GString>
fn multicast_iface(&self) -> Option<GString>
Get the multicast interface used for self
.
§Returns
the multicast interface for self
. g_free()
after
usage.
sourcefn profiles(&self) -> RTSPProfile
fn profiles(&self) -> RTSPProfile
sourcefn protocols(&self) -> RTSPLowerTrans
fn protocols(&self) -> RTSPLowerTrans
sourcefn publish_clock_mode(&self) -> RTSPPublishClockMode
fn publish_clock_mode(&self) -> RTSPPublishClockMode
Gets if and how the media clock should be published according to RFC7273.
§Returns
The GstRTSPPublishClockMode
sourcefn retransmission_time(&self) -> Option<ClockTime>
fn retransmission_time(&self) -> Option<ClockTime>
sourcefn suspend_mode(&self) -> RTSPSuspendMode
fn suspend_mode(&self) -> RTSPSuspendMode
sourcefn transport_mode(&self) -> RTSPTransportMode
fn transport_mode(&self) -> RTSPTransportMode
Get if media created from this factory can be used for PLAY or RECORD methods.
§Returns
The transport mode.
sourcefn is_bind_mcast_address(&self) -> bool
fn is_bind_mcast_address(&self) -> bool
sourcefn is_enable_rtcp(&self) -> bool
fn is_enable_rtcp(&self) -> bool
sourcefn is_eos_shutdown(&self) -> bool
fn is_eos_shutdown(&self) -> bool
fn is_stop_on_disonnect(&self) -> bool
sourcefn set_address_pool(&self, pool: Option<&impl IsA<RTSPAddressPool>>)
fn set_address_pool(&self, pool: Option<&impl IsA<RTSPAddressPool>>)
sourcefn set_bind_mcast_address(&self, bind_mcast_addr: bool)
fn set_bind_mcast_address(&self, bind_mcast_addr: bool)
Decide whether the multicast socket should be bound to a multicast address or INADDR_ANY.
§bind_mcast_addr
the new value
sourcefn set_buffer_size(&self, size: u32)
fn set_buffer_size(&self, size: u32)
sourcefn set_clock(&self, clock: Option<&impl IsA<Clock>>)
fn set_clock(&self, clock: Option<&impl IsA<Clock>>)
Configures a specific clock to be used by the pipelines of all medias created from this factory.
§clock
the clock to be used by the media factory
sourcefn set_do_retransmission(&self, do_retransmission: bool)
fn set_do_retransmission(&self, do_retransmission: bool)
Set whether retransmission requests will be sent for receiving media
sourcefn set_dscp_qos(&self, dscp_qos: i32)
fn set_dscp_qos(&self, dscp_qos: i32)
sourcefn set_enable_rtcp(&self, enable: bool)
fn set_enable_rtcp(&self, enable: bool)
sourcefn set_ensure_keyunit_on_start(&self, ensure_keyunit_on_start: bool)
fn set_ensure_keyunit_on_start(&self, ensure_keyunit_on_start: bool)
If media from this factory should ensure a key unit when a client connects.
§ensure_keyunit_on_start
the new value
sourcefn set_ensure_keyunit_on_start_timeout(&self, timeout: u32)
fn set_ensure_keyunit_on_start_timeout(&self, timeout: u32)
Configures medias from this factory to consider keyunits older than timeout to be expired. Expired keyunits will be discarded.
§timeout
the new value
sourcefn set_eos_shutdown(&self, eos_shutdown: bool)
fn set_eos_shutdown(&self, eos_shutdown: bool)
Configure if media created from this factory will have an EOS sent to the pipeline before shutdown.
§eos_shutdown
the new value
sourcefn set_latency(&self, latency: u32)
fn set_latency(&self, latency: u32)
sourcefn set_launch(&self, launch: &str)
fn set_launch(&self, launch: &str)
The gst_parse_launch()
line to use for constructing the pipeline in the
default prepare vmethod.
The pipeline description should return a GstBin as the toplevel element which can be accomplished by enclosing the description with brackets ‘(’ ‘)’.
The description should return a pipeline with payloaders named pay0, pay1, etc.. Each of the payloaders will result in a stream.
§launch
the launch description
sourcefn set_max_mcast_ttl(&self, ttl: u32) -> bool
fn set_max_mcast_ttl(&self, ttl: u32) -> bool
sourcefn set_media_gtype(&self, media_gtype: Type)
fn set_media_gtype(&self, media_gtype: Type)
Configure the GType of the GstRTSPMedia subclass to create (by default, overridden construct vmethods may of course do something different)
§media_gtype
the GType of the class to create
sourcefn set_multicast_iface(&self, multicast_iface: Option<&str>)
fn set_multicast_iface(&self, multicast_iface: Option<&str>)
sourcefn set_profiles(&self, profiles: RTSPProfile)
fn set_profiles(&self, profiles: RTSPProfile)
sourcefn set_protocols(&self, protocols: RTSPLowerTrans)
fn set_protocols(&self, protocols: RTSPLowerTrans)
sourcefn set_publish_clock_mode(&self, mode: RTSPPublishClockMode)
fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode)
Sets if and how the media clock should be published according to RFC7273.
§mode
the clock publish mode
sourcefn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>)
fn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>)
sourcefn set_stop_on_disconnect(&self, stop_on_disconnect: bool)
fn set_stop_on_disconnect(&self, stop_on_disconnect: bool)
Configure if media created from this factory should be stopped when a client disconnects without sending TEARDOWN.
§stop_on_disconnect
the new value