pub trait RTSPMediaFactoryExt: IsA<RTSPMediaFactory> + Sealed + 'static {
Show 74 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 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 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

Provided Methods§

source

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.

source

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.

source

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.

source

fn buffer_size(&self) -> u32

Get the kernel UDP buffer size.

§Returns

the kernel UDP buffer size.

source

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

source

fn does_retransmission(&self) -> bool

§Returns

Whether retransmission requests will be sent for receiving media

source

fn dscp_qos(&self) -> i32

Get the configured media DSCP QoS.

§Returns

the media DSCP QoS value or -1 if disabled.

source

fn is_ensure_keyunit_on_start(&self) -> bool

Get ensure-keyunit-on-start flag.

§Returns

The ensure-keyunit-on-start flag.

source

fn ensure_keyunit_on_start_timeout(&self) -> u32

Get ensure-keyunit-on-start-timeout time.

§Returns

The ensure-keyunit-on-start-timeout time.

source

fn latency(&self) -> u32

Get the latency that is used for receiving media

§Returns

latency in milliseconds

source

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.

source

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.

source

fn media_gtype(&self) -> Type

Return the GType of the GstRTSPMedia subclass this factory will create.

source

fn multicast_iface(&self) -> Option<GString>

Get the multicast interface used for self.

§Returns

the multicast interface for self. g_free() after usage.

source

fn profiles(&self) -> RTSPProfile

Get the allowed profiles of self.

§Returns

a gst_rtsp::RTSPProfile

source

fn protocols(&self) -> RTSPLowerTrans

Get the allowed protocols of self.

§Returns

a gst_rtsp::RTSPLowerTrans

source

fn publish_clock_mode(&self) -> RTSPPublishClockMode

Gets if and how the media clock should be published according to RFC7273.

§Returns

The GstRTSPPublishClockMode

source

fn retransmission_time(&self) -> Option<ClockTime>

Get the time that is stored for retransmission purposes

§Returns

a GstClockTime

source

fn suspend_mode(&self) -> RTSPSuspendMode

Get how media created from this factory will be suspended.

§Returns

a RTSPSuspendMode.

source

fn transport_mode(&self) -> RTSPTransportMode

Get if media created from this factory can be used for PLAY or RECORD methods.

§Returns

The transport mode.

source

fn is_bind_mcast_address(&self) -> bool

Check if multicast sockets are configured to be bound to multicast addresses.

§Returns

true if multicast sockets are configured to be bound to multicast addresses.

source

fn is_enable_rtcp(&self) -> bool

Check if created media will send and receive RTCP

§Returns

true if created media will send and receive RTCP

source

fn is_eos_shutdown(&self) -> bool

Get if media created from this factory will have an EOS event sent to the pipeline before shutdown.

§Returns

true if the media will receive EOS before shutdown.

source

fn is_shared(&self) -> bool

Get if media created from this factory can be shared between clients.

§Returns

true if the media will be shared between clients.

source

fn is_stop_on_disonnect(&self) -> bool

source

fn set_address_pool(&self, pool: Option<&impl IsA<RTSPAddressPool>>)

configure pool to be used as the address pool of self.

§pool

a RTSPAddressPool

source

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

source

fn set_buffer_size(&self, size: u32)

Set the kernel UDP buffer size.

§size

the new value

source

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

source

fn set_do_retransmission(&self, do_retransmission: bool)

Set whether retransmission requests will be sent for receiving media

source

fn set_dscp_qos(&self, dscp_qos: i32)

Configure the media dscp qos to dscp_qos.

§dscp_qos

a new dscp qos value (0-63, or -1 to disable)

source

fn set_enable_rtcp(&self, enable: bool)

Decide whether the created media should send and receive RTCP

§enable

the new value

source

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

source

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

source

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

source

fn set_latency(&self, latency: u32)

Configure the latency used for receiving media

§latency

latency in milliseconds

source

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

source

fn set_max_mcast_ttl(&self, ttl: u32) -> bool

Set the maximum time-to-live value of outgoing multicast packets.

§ttl

the new multicast ttl value

§Returns

true if the requested ttl has been set successfully.

source

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

source

fn set_multicast_iface(&self, multicast_iface: Option<&str>)

configure multicast_iface to be used for self.

§multicast_iface

a multicast interface name

source

fn set_profiles(&self, profiles: RTSPProfile)

Configure the allowed profiles for self.

§profiles

the new flags

source

fn set_protocols(&self, protocols: RTSPLowerTrans)

Configure the allowed lower transport for self.

§protocols

the new flags

source

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

source

fn set_retransmission_time(&self, time: impl Into<Option<ClockTime>>)

Configure the time to store for possible retransmission

§time

a GstClockTime

source

fn set_shared(&self, shared: bool)

Configure if media created from this factory can be shared between clients.

§shared

the new value

source

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

source

fn set_suspend_mode(&self, mode: RTSPSuspendMode)

Configure how media created from this factory will be suspended.

§mode

the new RTSPSuspendMode

source

fn set_transport_mode(&self, mode: RTSPTransportMode)

Configure if this factory creates media for PLAY or RECORD modes.

§mode

the new value

source

fn get_property_bind_mcast_address(&self) -> bool

source

fn set_property_bind_mcast_address(&self, bind_mcast_address: bool)

source

fn get_property_dscp_qos(&self) -> i32

source

fn set_property_dscp_qos(&self, dscp_qos: i32)

source

fn get_property_max_mcast_ttl(&self) -> u32

source

fn set_property_max_mcast_ttl(&self, max_mcast_ttl: u32)

source

fn is_stop_on_disconnect(&self) -> bool

source

fn connect_media_configure<F: Fn(&Self, &RTSPMedia) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_media_constructed<F: Fn(&Self, &RTSPMedia) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_bind_mcast_address_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_buffer_size_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_clock_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_enable_rtcp_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_ensure_keyunit_on_start_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_ensure_keyunit_on_start_timeout_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_latency_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_launch_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_max_mcast_ttl_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_shared_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_stop_on_disconnect_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_suspend_mode_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_transport_mode_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

Object Safety§

This trait is not object safe.

Implementors§