Trait gstreamer_rtsp_server::RTSPMediaFactoryExt[][src]

pub trait RTSPMediaFactoryExt {
    fn construct(&self, url: &RTSPUrl) -> Option<RTSPMedia>;
fn create_element(&self, url: &RTSPUrl) -> Option<Element>;
fn get_address_pool(&self) -> Option<RTSPAddressPool>;
fn get_buffer_size(&self) -> u32;
fn get_clock(&self) -> Option<Clock>;
fn get_latency(&self) -> u32;
fn get_launch(&self) -> Option<String>;
fn get_media_gtype(&self) -> Type;
fn get_multicast_iface(&self) -> Option<String>;
fn get_profiles(&self) -> RTSPProfile;
fn get_protocols(&self) -> RTSPLowerTrans;
fn get_publish_clock_mode(&self) -> RTSPPublishClockMode;
fn get_retransmission_time(&self) -> ClockTime;
fn get_suspend_mode(&self) -> RTSPSuspendMode;
fn get_transport_mode(&self) -> RTSPTransportMode;
fn is_eos_shutdown(&self) -> bool;
fn is_shared(&self) -> bool;
fn is_stop_on_disonnect(&self) -> bool;
fn set_address_pool<'a, P: Into<Option<&'a RTSPAddressPool>>>(
        &self,
        pool: P
    );
fn set_buffer_size(&self, size: u32);
fn set_clock<'a, P: IsA<Clock> + 'a, Q: Into<Option<&'a P>>>(
        &self,
        clock: Q
    );
fn set_eos_shutdown(&self, eos_shutdown: bool);
fn set_latency(&self, latency: u32);
fn set_launch(&self, launch: &str);
fn set_media_gtype(&self, media_gtype: Type);
fn set_multicast_iface<'a, P: Into<Option<&'a str>>>(
        &self,
        multicast_iface: P
    );
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: 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_eos_shutdown(&self) -> bool;
fn get_property_shared(&self) -> bool;
fn get_property_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_property_buffer_size_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_clock_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_launch_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_shared_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_stop_on_disconnect_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_suspend_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_transport_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }

Trait containing all RTSPMediaFactory methods.

Implementors

RTSPMediaFactoryURI, RTSPMediaFactory

Required Methods

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 ().

url

the url used

Returns

a new RTSPMedia if the media could be prepared.

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.

Get the RTSPAddressPool used as the address pool of self.

Returns

the RTSPAddressPool of self. gobject::ObjectExt::unref after usage.

Get the kernel UDP buffer size.

Returns

the kernel UDP buffer size.

Returns the clock that is going to be used by the pipelines of all medias created from this factory.

Returns

The GstClock

Get the latency that is used for receiving media

Returns

latency in milliseconds

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.

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

Get the multicast interface used for self.

Returns

the multicast interface for self. g_free after usage.

Get the allowed profiles of self.

Returns

a gst_rtsp::RTSPProfile

Get the allowed protocols of self.

Returns

a gst_rtsp::RTSPLowerTrans

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

Returns

The GstRTSPPublishClockMode

Get the time that is stored for retransmission purposes

Returns

a gst::ClockTime

Get how media created from this factory will be suspended.

Returns

a RTSPSuspendMode.

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

Returns

The transport mode.

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.

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

Returns

true if the media will be shared between clients.

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

pool

a RTSPAddressPool

Set the kernel UDP buffer size.

size

the new value

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

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

eos_shutdown

the new value

Configure the latency used for receiving media

latency

latency in milliseconds

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

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

configure multicast_iface to be used for self.

multicast_iface

a multicast interface name

Configure the allowed profiles for self.

profiles

the new flags

Configure the allowed lower transport for self.

protocols

the new flags

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

mode

the clock publish mode

Configure the time to store for possible retransmission

time

a gst::ClockTime

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

shared

the new value

Configure if media created from this factory should be stopped when a client disconnects without sending TEARDOWN.

stop_on_disconnect

the new value

Configure how media created from this factory will be suspended.

mode

the new RTSPSuspendMode

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

mode

the new value

Implementors