Stream
Object Hierarchy:
Description:
[ CCode ( cname = "GstRTSPStream" , lower_case_cprefix = "gst_rtsp_stream_" , type_id = "gst_rtsp_stream_get_type ()" ) ]
[ GIR ( name = "RTSPStream" ) ]
public class Stream : Object
[ GIR ( name = "RTSPStream" ) ]
public class Stream : Object
The definition of a media stream.
Namespace: Gst.RTSPServer
Package: gstreamer-rtsp-server-1.0
Content:
Properties:
- public string control { owned get; set; }
- public Profile profiles { get; set; }
- public LowerTrans protocols { get; set; }
Creation methods:
- public Stream (uint idx, Element payloader, Pad pad)
Create a new media stream with index
idx
that handles RTP data onpad
and has a payloader elementpayloader
ifpad
is a source pad or a depayloader elementpayloader
ifpad
is a sink pad.
Methods:
- public bool add_multicast_client_address (string destination, uint rtp_port, uint rtcp_port, SocketFamily family)
Add multicast client address to stream.
- public bool add_transport (StreamTransport trans)
Add the transport in
trans
to this . - public bool allocate_udp_sockets (SocketFamily family, Transport transport, bool use_client_settings)
Allocates RTP and RTCP ports.
- public bool complete_stream (Transport transport)
Add a receiver and sender part to the pipeline based on the transport from SETUP.
- public AddressPool? get_address_pool ()
Get the AddressPool used as the address pool of this.
- public uint get_buffer_size ()
Get the size of the UDP transmission buffer (in bytes)
- public Caps? get_caps ()
Retrieve the current caps of this.
- public string? get_control ()
Get the control string to identify this stream.
- public uint16 get_current_seqnum ()
- public int get_dscp_qos ()
Get the configured DSCP QoS in of the outgoing sockets.
- public uint get_index ()
Get the stream index.
- public Bin? get_joined_bin ()
Get the previous joined bin with join_bin or NULL.
- public uint get_max_mcast_ttl ()
Get the the maximum time-to-live value of outgoing multicast packets.
- public uint get_mtu ()
Get the configured MTU in the payloader of this .
- public Address? get_multicast_address (SocketFamily family)
Get the multicast address of this for
family
. - public string get_multicast_client_addresses ()
Get all multicast client addresses that RTP data will be sent to
- public string? get_multicast_iface ()
Get the multicast interface used for this.
- public Profile get_profiles ()
Get the allowed profiles of this.
- public LowerTrans get_protocols ()
Get the allowed protocols of this.
- public uint get_pt ()
Get the stream payload type.
- public PublishClockMode get_publish_clock_mode ()
Gets if and how the stream clock should be published according to RFC7273.
- public bool get_rate_control ()
- public bool get_rates (out double rate, out double applied_rate)
Retrieve the current rate and/or applied_rate.
- public uint get_retransmission_pt ()
Get the payload-type used for retransmission of this stream
- public ClockTime get_retransmission_time ()
Get the amount of time to store retransmission data.
- public Socket? get_rtcp_multicast_socket (SocketFamily family)
Get the multicast RTCP socket from this for a
family
. - public Socket? get_rtcp_socket (SocketFamily family)
Get the RTCP socket from this for a
family
. - public Socket? get_rtp_multicast_socket (SocketFamily family)
Get the multicast RTP socket from this for a
family
. - public Socket? get_rtp_socket (SocketFamily family)
Get the RTP socket from this for a
family
. - public bool get_rtpinfo (out uint rtptime, out uint seq, out uint clock_rate, out ClockTime running_time)
Retrieve the current rtptime, seq and running-time.
- public Object? get_rtpsession ()
Get the RTP session of this stream.
- public void get_server_port (out Range server_port, SocketFamily family)
Fill
server_port
with the port pair used by the server. - public Pad? get_sinkpad ()
Get the sinkpad associated with this.
- public Pad? get_srcpad ()
Get the srcpad associated with this.
- public Element? get_srtp_encoder ()
Get the SRTP encoder for this stream.
- public void get_ssrc (out uint ssrc)
Get the SSRC used by the RTP session of this stream.
- public bool get_ulpfec_enabled ()
- public uint get_ulpfec_percentage ()
- public uint get_ulpfec_pt ()
- public bool handle_keymgmt (string keymgmt)
Parse and handle a KeyMgmt header.
- public bool has_control (string? control)
Check if this has the control string
control
. - public bool is_bind_mcast_address ()
Check if multicast sockets are configured to be bound to multicast addresses.
- public bool is_blocking ()
Check if this is blocking on a Buffer.
- public bool is_client_side ()
See set_client_side
- public bool is_complete ()
Checks whether the stream is complete, contains the receiver and the sender parts.
- public bool is_receiver ()
Checks whether the stream is a receiver.
- public bool is_sender ()
Checks whether the stream is a sender.
- public bool is_transport_supported (Transport transport)
Check if
transport
can be handled by stream - public bool join_bin (Bin bin, Element rtpbin, State state)
Join the Bin
bin
that contains the elementrtpbin
. - public bool leave_bin (Bin bin, Element rtpbin)
Remove the elements of this from
bin
. - public bool query_position (out int64 position)
Query the position of the stream in gst_format_time.
- public bool query_stop (out int64 stop)
Query the stop of the stream in gst_format_time .
- public FlowReturn recv_rtcp (owned Buffer buffer)
Handle an RTCP buffer for the stream.
- public FlowReturn recv_rtp (owned Buffer buffer)
Handle an RTP buffer for the stream.
- public bool remove_transport (StreamTransport trans)
Remove the transport in
trans
from this. - public Element? request_aux_receiver (uint sessid)
Creating a rtxreceive bin
- public Element? request_aux_sender (uint sessid)
Creating a rtxsend bin
- public Element? request_ulpfec_decoder (Element rtpbin, uint sessid)
Creating a rtpulpfecdec element
- public Element? request_ulpfec_encoder (uint sessid)
Creating a rtpulpfecenc element
- public Address? reserve_address (string address, uint port, uint n_ports, uint ttl)
Reserve
address
andport
as the address and port of this. - public bool seekable ()
Checks whether the individual this is seekable.
- public void set_address_pool (AddressPool? pool)
configure
pool
to be used as the address pool of this. - public void set_bind_mcast_address (bool bind_mcast_addr)
Decide whether the multicast socket should be bound to a multicast address or INADDR_ANY.
- public bool set_blocked (bool blocked)
Blocks or unblocks the dataflow on this.
- public void set_buffer_size (uint size)
Set the size of the UDP transmission buffer (in bytes) Needs to be set before the stream is joined to a bin.
- public void set_client_side (bool client_side)
Sets the Stream as a 'client side' stream - used for sending streams to an RTSP server via RECORD.
- public void set_control (string? control)
Set the control string in this.
- public void set_dscp_qos (int dscp_qos)
Configure the dscp qos of the outgoing sockets to
dscp_qos
. - public bool set_max_mcast_ttl (uint ttl)
Set the maximum time-to-live value of outgoing multicast packets.
- public void set_mtu (uint mtu)
Configure the mtu in the payloader of this to
mtu
. - public void set_multicast_iface (string? multicast_iface)
configure
multicast_iface
to be used for this. - public void set_profiles (Profile profiles)
Configure the allowed profiles for this.
- public void set_protocols (LowerTrans protocols)
Configure the allowed lower transport for this .
- public void set_pt_map (uint pt, Caps caps)
Configure a pt map between
pt
andcaps
. - public void set_publish_clock_mode (PublishClockMode mode)
Sets if and how the stream clock should be published according to RFC7273.
- public void set_rate_control (bool enabled)
Define whether
stream
will follow the Rate-Control=no behaviour as specified in the ONVIF replay spec. - public void set_retransmission_pt (uint rtx_pt)
Set the payload type (pt) for retransmission of this stream.
- public void set_retransmission_time (ClockTime time)
Set the amount of time to store retransmission packets.
- public void set_seqnum_offset (uint16 seqnum)
- public void set_ulpfec_percentage (uint percentage)
Sets the amount of redundancy to apply when creating ULPFEC protection packets.
- public void set_ulpfec_pt (uint pt)
Set the payload type to be used for ULPFEC protection packets
- public List<StreamTransport> transport_filter (StreamTransportFilterFunc? func)
Call
func
for each transport managed by this. - public bool unblock_linked ()
- public void unblock_rtcp ()
Remove blocking probe from the RTCP source.
- public bool update_crypto (uint ssrc, Caps? crypto)
Update the new crypto information for
ssrc
in this. - public bool verify_mcast_ttl (uint ttl)
Check if the requested multicast ttl value is allowed.
Signals:
- public signal void new_rtcp_encoder (Element object)
- public signal void new_rtp_encoder (Element object)
- public signal void new_rtp_rtcp_decoder (Element object)
Inherited Members:
All known members inherited from class GLib.Object