[−][src]Trait gstreamer_rtsp_server::RTSPStreamExt
Required methods
fn add_multicast_client_address(
&self,
destination: &str,
rtp_port: u32,
rtcp_port: u32,
family: SocketFamily
) -> bool
&self,
destination: &str,
rtp_port: u32,
rtcp_port: u32,
family: SocketFamily
) -> bool
Add multicast client address to stream. At this point, the sockets that
will stream RTP and RTCP data to destination
are supposed to be
allocated.
Feature: v1_16
destination
a multicast address to add
rtp_port
RTP port
rtcp_port
RTCP port
family
socket family
Returns
true
if destination
can be addedd and handled by self
.
fn add_transport<P: IsA<RTSPStreamTransport>>(
&self,
trans: &P
) -> Result<(), BoolError>
&self,
trans: &P
) -> Result<(), BoolError>
Add the transport in trans
to self
. The media of self
will
then also be send to the values configured in trans
. Adding the
same transport twice will not add it a second time.
self
must be joined to a bin.
trans
must contain a valid gst_rtsp::RTSPTransport
.
trans
a RTSPStreamTransport
Returns
true
if trans
was added
fn get_address_pool(&self) -> Option<RTSPAddressPool>
Get the RTSPAddressPool
used as the address pool of self
.
Returns
the RTSPAddressPool
of self
.
gobject::ObjectExt::unref
after usage.
fn get_buffer_size(&self) -> u32
fn get_caps(&self) -> Option<Caps>
fn get_control(&self) -> Option<GString>
fn get_current_seqnum(&self) -> u16
fn get_dscp_qos(&self) -> i32
Get the configured DSCP QoS in of the outgoing sockets.
Returns
the DSCP QoS value of the outgoing sockets, or -1 if disbled.
fn get_index(&self) -> u32
fn get_joined_bin(&self) -> Option<Bin>
fn get_max_mcast_ttl(&self) -> u32
Get the the maximum time-to-live value of outgoing multicast packets.
Feature: v1_16
Returns
the maximum time-to-live value of outgoing multicast packets.
fn get_mtu(&self) -> u32
fn get_multicast_address(&self, family: SocketFamily) -> Option<RTSPAddress>
Get the multicast address of self
for family
. The original
RTSPAddress
is cached and copy is returned, so freeing the return value
won't release the address from the pool.
family
the gio::SocketFamily
Returns
the RTSPAddress
of self
or None
when no address could be allocated. RTSPAddress::free
after usage.
fn get_multicast_client_addresses(&self) -> Option<GString>
Get all multicast client addresses that RTP data will be sent to
Feature: v1_16
Returns
A comma separated list of host:port pairs with destinations
fn get_multicast_iface(&self) -> Option<GString>
Get the multicast interface used for self
.
Returns
the multicast interface for self
.
g_free
after usage.
fn get_profiles(&self) -> RTSPProfile
fn get_protocols(&self) -> RTSPLowerTrans
fn get_pt(&self) -> u32
fn get_publish_clock_mode(&self) -> RTSPPublishClockMode
Gets if and how the stream clock should be published according to RFC7273.
Returns
The GstRTSPPublishClockMode
fn get_rate_control(&self) -> bool
Feature: v1_18
Returns
whether self
will follow the Rate-Control=no behaviour as specified
in the ONVIF replay spec.
fn get_rates(&self) -> Option<(f64, f64)>
Retrieve the current rate and/or applied_rate.
Feature: v1_18
rate
the configured rate
applied_rate
the configured applied_rate
Returns
true
if rate and/or applied_rate could be determined.
fn get_retransmission_pt(&self) -> u32
fn get_retransmission_time(&self) -> ClockTime
Get the amount of time to store retransmission data.
Returns
the amount of time to store retransmission data.
fn get_rtcp_multicast_socket(&self, family: SocketFamily) -> Option<Socket>
Get the multicast RTCP socket from self
for a family
.
Feature: v1_14
family
the socket family
Returns
the multicast RTCP socket or None
if no
socket could be allocated for family
. Unref after usage
fn get_rtcp_socket(&self, family: SocketFamily) -> Option<Socket>
Get the RTCP socket from self
for a family
.
self
must be joined to a bin.
family
the socket family
Returns
the RTCP socket or None
if no
socket could be allocated for family
. Unref after usage
fn get_rtp_multicast_socket(&self, family: SocketFamily) -> Option<Socket>
Get the multicast RTP socket from self
for a family
.
family
the socket family
Returns
the multicast RTP socket or None
if no
socket could be allocated for family
. Unref after usage
fn get_rtp_socket(&self, family: SocketFamily) -> Option<Socket>
Get the RTP socket from self
for a family
.
self
must be joined to a bin.
family
the socket family
Returns
the RTP socket or None
if no
socket could be allocated for family
. Unref after usage
fn get_rtpinfo(&self) -> Option<(u32, u32, u32, ClockTime)>
Retrieve the current rtptime, seq and running-time. This is used to construct a RTPInfo reply header.
rtptime
result RTP timestamp
seq
result RTP seqnum
clock_rate
the clock rate
running_time
result running-time
Returns
true
when rtptime, seq and running-time could be determined.
fn get_rtpsession(&self) -> Option<Object>
fn get_sinkpad(&self) -> Option<Pad>
fn get_srcpad(&self) -> Option<Pad>
fn get_srtp_encoder(&self) -> Option<Element>
fn get_ssrc(&self) -> u32
Get the SSRC used by the RTP session of this stream. This function can only
be called when self
has been joined.
ssrc
result ssrc
fn get_ulpfec_enabled(&self) -> bool
fn get_ulpfec_percentage(&self) -> u32
fn get_ulpfec_pt(&self) -> u32
fn handle_keymgmt(&self, keymgmt: &str) -> bool
fn has_control(&self, control: Option<&str>) -> bool
Check if self
has the control string control
.
control
a control string
Returns
true
is self
has control
as the control string
fn is_bind_mcast_address(&self) -> bool
Check if multicast sockets are configured to be bound to multicast addresses.
Feature: v1_16
Returns
true
if multicast sockets are configured to be bound to multicast addresses.
fn is_blocking(&self) -> bool
fn is_client_side(&self) -> bool
fn is_complete(&self) -> bool
Checks whether the stream is complete, contains the receiver and the sender parts. As the stream contains sink(s) element(s), it's possible to perform seek operations on it.
Feature: v1_14
Returns
true
if the stream contains at least one sink element.
fn is_receiver(&self) -> bool
Checks whether the stream is a receiver.
Feature: v1_14
Returns
true
if the stream is a receiver and false
otherwise.
fn is_sender(&self) -> bool
Checks whether the stream is a sender.
Feature: v1_14
Returns
true
if the stream is a sender and false
otherwise.
fn join_bin<P: IsA<Bin>, Q: IsA<Element>>(
&self,
bin: &P,
rtpbin: &Q,
state: State
) -> Result<(), BoolError>
&self,
bin: &P,
rtpbin: &Q,
state: State
) -> Result<(), BoolError>
Join the gst::Bin
bin
that contains the element rtpbin
.
self
will link to rtpbin
, which must be inside bin
. The elements
added to bin
will be set to the state given in state
.
bin
a gst::Bin
to join
rtpbin
a rtpbin element in bin
state
the target state of the new elements
Returns
true
on success.
fn leave_bin<P: IsA<Bin>, Q: IsA<Element>>(
&self,
bin: &P,
rtpbin: &Q
) -> Result<(), BoolError>
&self,
bin: &P,
rtpbin: &Q
) -> Result<(), BoolError>
Remove the elements of self
from bin
.
bin
a gst::Bin
rtpbin
a rtpbin gst::Element
Returns
true
on success.
fn remove_transport<P: IsA<RTSPStreamTransport>>(
&self,
trans: &P
) -> Result<(), BoolError>
&self,
trans: &P
) -> Result<(), BoolError>
Remove the transport in trans
from self
. The media of self
will
not be sent to the values configured in trans
.
self
must be joined to a bin.
trans
must contain a valid gst_rtsp::RTSPTransport
.
trans
a RTSPStreamTransport
Returns
true
if trans
was removed
fn request_aux_receiver(&self, sessid: u32) -> Option<Element>
fn request_aux_sender(&self, sessid: u32) -> Option<Element>
fn request_ulpfec_decoder<P: IsA<Element>>(
&self,
rtpbin: &P,
sessid: u32
) -> Option<Element>
&self,
rtpbin: &P,
sessid: u32
) -> Option<Element>
fn request_ulpfec_encoder(&self, sessid: u32) -> Option<Element>
fn reserve_address(
&self,
address: &str,
port: u32,
n_ports: u32,
ttl: u32
) -> Option<RTSPAddress>
&self,
address: &str,
port: u32,
n_ports: u32,
ttl: u32
) -> Option<RTSPAddress>
Reserve address
and port
as the address and port of self
. The original
RTSPAddress
is cached and copy is returned, so freeing the return value
won't release the address from the pool.
address
an address
port
a port
n_ports
n_ports
ttl
a TTL
Returns
the RTSPAddress
of self
or None
when
the address could not be reserved. RTSPAddress::free
after
usage.
fn seekable(&self) -> bool
Checks whether the individual self
is seekable.
Feature: v1_14
Returns
true
if self
is seekable, else false
.
fn set_address_pool<P: IsA<RTSPAddressPool>>(&self, pool: Option<&P>)
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.
Feature: v1_16
bind_mcast_addr
the new value
fn set_blocked(&self, blocked: bool) -> Result<(), BoolError>
Blocks or unblocks the dataflow on self
.
blocked
boolean indicating we should block or unblock
Returns
true
on success
fn set_buffer_size(&self, size: u32)
Set the size of the UDP transmission buffer (in bytes) Needs to be set before the stream is joined to a bin.
size
the buffer size
fn set_client_side(&self, client_side: bool)
Sets the RTSPStream
as a 'client side' stream - used for sending
streams to an RTSP server via RECORD. This has the practical effect
of changing which UDP port numbers are used when setting up the local
side of the stream sending to be either the 'server' or 'client' pair
of a configured UDP transport.
client_side
TRUE if this RTSPStream
is running on the 'client' side of
an RTSP connection.
fn set_control(&self, control: Option<&str>)
fn set_dscp_qos(&self, dscp_qos: i32)
Configure the dscp qos of the outgoing sockets to dscp_qos
.
dscp_qos
a new dscp qos value (0-63, or -1 to disable)
fn set_max_mcast_ttl(&self, ttl: u32) -> bool
Set the maximum time-to-live value of outgoing multicast packets.
Feature: v1_16
ttl
the new multicast ttl value
Returns
true
if the requested ttl has been set successfully.
fn set_mtu(&self, mtu: u32)
fn set_multicast_iface(&self, multicast_iface: Option<&str>)
fn set_profiles(&self, profiles: RTSPProfile)
fn set_protocols(&self, protocols: RTSPLowerTrans)
fn set_pt_map(&self, pt: u32, caps: &Caps)
fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode)
Sets if and how the stream clock should be published according to RFC7273.
mode
the clock publish mode
fn set_rate_control(&self, enabled: bool)
Define whether self
will follow the Rate-Control=no behaviour as specified
in the ONVIF replay spec.
Feature: v1_18
fn set_retransmission_pt(&self, rtx_pt: u32)
fn set_retransmission_time(&self, time: ClockTime)
fn set_seqnum_offset(&self, seqnum: u16)
fn set_ulpfec_percentage(&self, percentage: u32)
Sets the amount of redundancy to apply when creating ULPFEC protection packets.
Feature: v1_16
fn set_ulpfec_pt(&self, pt: u32)
Set the payload type to be used for ULPFEC protection packets
Feature: v1_16
fn transport_filter(
&self,
func: Option<&mut dyn FnMut(&RTSPStream, &RTSPStreamTransport) -> RTSPFilterResult>
) -> Vec<RTSPStreamTransport>
&self,
func: Option<&mut dyn FnMut(&RTSPStream, &RTSPStreamTransport) -> RTSPFilterResult>
) -> Vec<RTSPStreamTransport>
Call func
for each transport managed by self
. The result value of func
determines what happens to the transport. func
will be called with self
locked so no further actions on self
can be performed from func
.
If func
returns RTSPFilterResult::Remove
, the transport will be removed from
self
.
If func
returns RTSPFilterResult::Keep
, the transport will remain in self
.
If func
returns RTSPFilterResult::Ref
, the transport will remain in self
but
will also be added with an additional ref to the result glib::List
of this
function..
When func
is None
, RTSPFilterResult::Ref
will be assumed for each transport.
func
a callback
user_data
user data passed to func
Returns
a glib::List
with all
transports for which func
returned RTSPFilterResult::Ref
. After usage, each
element in the glib::List
should be unreffed before the list is freed.
fn unblock_linked(&self) -> Result<(), BoolError>
fn update_crypto(
&self,
ssrc: u32,
crypto: Option<&Caps>
) -> Result<(), BoolError>
&self,
ssrc: u32,
crypto: Option<&Caps>
) -> Result<(), BoolError>
Update the new crypto information for ssrc
in self
. If information
for ssrc
did not exist, it will be added. If information
for ssrc
existed, it will be replaced. If crypto
is None
, it will
be removed from self
.
ssrc
the SSRC
crypto
a gst::Caps
with crypto info
Returns
true
if crypto
could be updated
fn verify_mcast_ttl(&self, ttl: u32) -> bool
Check if the requested multicast ttl value is allowed.
Feature: v1_16
ttl
a requested multicast ttl
Returns
TRUE if the requested ttl value is allowed.
fn connect_new_rtcp_encoder<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_new_rtp_encoder<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_new_rtp_rtcp_decoder<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_control_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<RTSPStream>> RTSPStreamExt for O
[src]
fn add_multicast_client_address(
&self,
destination: &str,
rtp_port: u32,
rtcp_port: u32,
family: SocketFamily
) -> bool
[src]
&self,
destination: &str,
rtp_port: u32,
rtcp_port: u32,
family: SocketFamily
) -> bool
fn add_transport<P: IsA<RTSPStreamTransport>>(
&self,
trans: &P
) -> Result<(), BoolError>
[src]
&self,
trans: &P
) -> Result<(), BoolError>
fn get_address_pool(&self) -> Option<RTSPAddressPool>
[src]
fn get_buffer_size(&self) -> u32
[src]
fn get_caps(&self) -> Option<Caps>
[src]
fn get_control(&self) -> Option<GString>
[src]
fn get_current_seqnum(&self) -> u16
[src]
fn get_dscp_qos(&self) -> i32
[src]
fn get_index(&self) -> u32
[src]
fn get_joined_bin(&self) -> Option<Bin>
[src]
fn get_max_mcast_ttl(&self) -> u32
[src]
fn get_mtu(&self) -> u32
[src]
fn get_multicast_address(&self, family: SocketFamily) -> Option<RTSPAddress>
[src]
fn get_multicast_client_addresses(&self) -> Option<GString>
[src]
fn get_multicast_iface(&self) -> Option<GString>
[src]
fn get_profiles(&self) -> RTSPProfile
[src]
fn get_protocols(&self) -> RTSPLowerTrans
[src]
fn get_pt(&self) -> u32
[src]
fn get_publish_clock_mode(&self) -> RTSPPublishClockMode
[src]
fn get_rate_control(&self) -> bool
[src]
fn get_rates(&self) -> Option<(f64, f64)>
[src]
fn get_retransmission_pt(&self) -> u32
[src]
fn get_retransmission_time(&self) -> ClockTime
[src]
fn get_rtcp_multicast_socket(&self, family: SocketFamily) -> Option<Socket>
[src]
fn get_rtcp_socket(&self, family: SocketFamily) -> Option<Socket>
[src]
fn get_rtp_multicast_socket(&self, family: SocketFamily) -> Option<Socket>
[src]
fn get_rtp_socket(&self, family: SocketFamily) -> Option<Socket>
[src]
fn get_rtpinfo(&self) -> Option<(u32, u32, u32, ClockTime)>
[src]
fn get_rtpsession(&self) -> Option<Object>
[src]
fn get_sinkpad(&self) -> Option<Pad>
[src]
fn get_srcpad(&self) -> Option<Pad>
[src]
fn get_srtp_encoder(&self) -> Option<Element>
[src]
fn get_ssrc(&self) -> u32
[src]
fn get_ulpfec_enabled(&self) -> bool
[src]
fn get_ulpfec_percentage(&self) -> u32
[src]
fn get_ulpfec_pt(&self) -> u32
[src]
fn handle_keymgmt(&self, keymgmt: &str) -> bool
[src]
fn has_control(&self, control: Option<&str>) -> bool
[src]
fn is_bind_mcast_address(&self) -> bool
[src]
fn is_blocking(&self) -> bool
[src]
fn is_client_side(&self) -> bool
[src]
fn is_complete(&self) -> bool
[src]
fn is_receiver(&self) -> bool
[src]
fn is_sender(&self) -> bool
[src]
fn join_bin<P: IsA<Bin>, Q: IsA<Element>>(
&self,
bin: &P,
rtpbin: &Q,
state: State
) -> Result<(), BoolError>
[src]
&self,
bin: &P,
rtpbin: &Q,
state: State
) -> Result<(), BoolError>
fn leave_bin<P: IsA<Bin>, Q: IsA<Element>>(
&self,
bin: &P,
rtpbin: &Q
) -> Result<(), BoolError>
[src]
&self,
bin: &P,
rtpbin: &Q
) -> Result<(), BoolError>
fn remove_transport<P: IsA<RTSPStreamTransport>>(
&self,
trans: &P
) -> Result<(), BoolError>
[src]
&self,
trans: &P
) -> Result<(), BoolError>
fn request_aux_receiver(&self, sessid: u32) -> Option<Element>
[src]
fn request_aux_sender(&self, sessid: u32) -> Option<Element>
[src]
fn request_ulpfec_decoder<P: IsA<Element>>(
&self,
rtpbin: &P,
sessid: u32
) -> Option<Element>
[src]
&self,
rtpbin: &P,
sessid: u32
) -> Option<Element>
fn request_ulpfec_encoder(&self, sessid: u32) -> Option<Element>
[src]
fn reserve_address(
&self,
address: &str,
port: u32,
n_ports: u32,
ttl: u32
) -> Option<RTSPAddress>
[src]
&self,
address: &str,
port: u32,
n_ports: u32,
ttl: u32
) -> Option<RTSPAddress>
fn seekable(&self) -> bool
[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_blocked(&self, blocked: bool) -> Result<(), BoolError>
[src]
fn set_buffer_size(&self, size: u32)
[src]
fn set_client_side(&self, client_side: bool)
[src]
fn set_control(&self, control: Option<&str>)
[src]
fn set_dscp_qos(&self, dscp_qos: i32)
[src]
fn set_max_mcast_ttl(&self, ttl: u32) -> bool
[src]
fn set_mtu(&self, mtu: u32)
[src]
fn set_multicast_iface(&self, multicast_iface: Option<&str>)
[src]
fn set_profiles(&self, profiles: RTSPProfile)
[src]
fn set_protocols(&self, protocols: RTSPLowerTrans)
[src]
fn set_pt_map(&self, pt: u32, caps: &Caps)
[src]
fn set_publish_clock_mode(&self, mode: RTSPPublishClockMode)
[src]
fn set_rate_control(&self, enabled: bool)
[src]
fn set_retransmission_pt(&self, rtx_pt: u32)
[src]
fn set_retransmission_time(&self, time: ClockTime)
[src]
fn set_seqnum_offset(&self, seqnum: u16)
[src]
fn set_ulpfec_percentage(&self, percentage: u32)
[src]
fn set_ulpfec_pt(&self, pt: u32)
[src]
fn transport_filter(
&self,
func: Option<&mut dyn FnMut(&RTSPStream, &RTSPStreamTransport) -> RTSPFilterResult>
) -> Vec<RTSPStreamTransport>
[src]
&self,
func: Option<&mut dyn FnMut(&RTSPStream, &RTSPStreamTransport) -> RTSPFilterResult>
) -> Vec<RTSPStreamTransport>
fn unblock_linked(&self) -> Result<(), BoolError>
[src]
fn update_crypto(
&self,
ssrc: u32,
crypto: Option<&Caps>
) -> Result<(), BoolError>
[src]
&self,
ssrc: u32,
crypto: Option<&Caps>
) -> Result<(), BoolError>
fn verify_mcast_ttl(&self, ttl: u32) -> bool
[src]
fn connect_new_rtcp_encoder<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_new_rtp_encoder<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_new_rtp_rtcp_decoder<F: Fn(&Self, &Element) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_control_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_profiles_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_protocols_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId