Media
Object Hierarchy:
Description:
[ CCode ( cname = "GstRTSPMedia" , lower_case_cprefix = "gst_rtsp_media_" , type_id = "gst_rtsp_media_get_type ()" ) ]
[ GIR ( name = "RTSPMedia" ) ]
public class Media : Object
[ GIR ( name = "RTSPMedia" ) ]
public class Media : Object
A class that contains the GStreamer element along with a list of Stream objects that can produce data.
This object is usually created from a MediaFactory.
All known sub-classes:
Namespace: Gst.RTSPServer
Package: gstreamer-rtsp-server-1.0
Content:
Properties:
- public bool bind_mcast_address { get; set; }
- public uint buffer_size { get; set; }
- public Clock clock { owned get; set; }
- public int dscp_qos { get; set; }
- public Element element { owned get; construct; }
- public bool eos_shutdown { get; set; }
- public uint latency { get; set; }
- public uint max_mcast_ttl { get; set; }
- public Profile profiles { get; set; }
- public LowerTrans protocols { get; set; }
- public bool reusable { get; set; }
- public bool shared { get; set; }
- public bool stop_on_disconnect { get; set; }
- public SuspendMode suspend_mode { get; set; }
- public bool time_provider { get; set; }
- public TransportMode transport_mode { get; set; }
Creation methods:
Methods:
- public void @lock ()
Lock the entire media.
- public void @unlock ()
Unlock the media.
- public bool can_be_shared ()
Check if the pipeline for this can be shared between multiple clients.
- public void collect_streams ()
Find all payloader elements, they should be named pay%d in the element of this, and create Streams for them.
- public bool complete_pipeline (GenericArray<Transport?> transports)
Add a receiver and sender parts to the pipeline based on the transport from SETUP.
- public virtual bool convert_range (TimeRange range, RangeUnit unit)
- public virtual Element create_rtpbin ()
- public unowned Stream create_stream (Element payloader, Pad pad)
Create a new stream in this that provides RTP data on
pad
. - public unowned Stream? find_stream (string control)
Find a stream in this with
control
as the control uri. - public AddressPool? get_address_pool ()
Get the AddressPool used as the address pool of this.
- public ClockTime get_base_time ()
Get the base_time that is used by the pipeline in this.
- public uint get_buffer_size ()
Get the kernel UDP buffer size.
- public Clock? get_clock ()
Get the clock that is used by the pipeline in this.
- public bool get_do_retransmission ()
- public int get_dscp_qos ()
Get the configured DSCP QoS of attached media.
- public Element get_element ()
Get the element that was used when constructing this.
- public uint get_latency ()
Get the latency that is used for receiving media.
- public uint get_max_mcast_ttl ()
Get the the maximum time-to-live value of outgoing multicast packets.
- public string? get_multicast_iface ()
Get the multicast interface used for this.
- public Permissions? get_permissions ()
Get the permissions object from this.
- public Profile get_profiles ()
Get the allowed profiles of this.
- public LowerTrans get_protocols ()
Get the allowed protocols of this.
- public PublishClockMode get_publish_clock_mode ()
Gets if and how the media clock should be published according to RFC7273.
- public string? get_range_string (bool play, RangeUnit unit)
Get the current range as a string.
- public bool get_rate_control ()
- public bool get_rates (out double rate, out double applied_rate)
Get the rate and applied_rate of the current segment.
- public ClockTime get_retransmission_time ()
Get the amount of time to store retransmission data.
- public MediaStatus get_status ()
Get the status of this.
- public unowned Stream? get_stream (uint idx)
Retrieve the stream with index
idx
from this. - public SuspendMode get_suspend_mode ()
Get how this will be suspended.
- public TimeProvider? get_time_provider (string? address, uint16 port)
Get the TimeProvider for the clock used by this .
- public TransportMode get_transport_mode ()
Check if the pipeline for this can be used for PLAY or RECORD methods.
- public virtual bool handle_sdp (Message sdp)
Configure an SDP on this for receiving streams
- public bool has_completed_sender ()
See is_complete, is_sender.
- public bool is_bind_mcast_address ()
Check if multicast sockets are configured to be bound to multicast addresses.
- public bool is_eos_shutdown ()
Check if the pipeline for this will send an EOS down the pipeline before unpreparing.
- public bool is_receive_only ()
- public bool is_reusable ()
Check if the pipeline for this can be reused after an unprepare.
- public bool is_shared ()
Check if the pipeline for this can be shared between multiple clients in theory.
- public bool is_stop_on_disconnect ()
Check if the pipeline for this will be stopped when a client disconnects without sending TEARDOWN.
- public bool is_time_provider ()
Check if this can provide a TimeProvider for its pipeline clock.
- public uint n_streams ()
Get the number of streams in this media.
- public virtual bool prepare (owned Thread? thread)
Prepare this for streaming.
- public virtual bool query_position (int64 position)
- public virtual bool query_stop (int64 stop)
- public bool seek (TimeRange range)
Seek the pipeline of this to
range
. - public bool seek_full (TimeRange range, SeekFlags flags)
Seek the pipeline of this to
range
with the givenflags
. - public bool seek_trickmode (TimeRange range, SeekFlags flags, double rate, ClockTime trickmode_interval)
Seek the pipeline of this to
range
with the givenflags
andrate
, andtrickmode_interval
. - public ClockTimeDiff seekable ()
Check if the pipeline for this seek and up to what point in time, it can seek.
- 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 void set_buffer_size (uint size)
Set the kernel UDP buffer size.
- public void set_clock (Clock? clock)
Configure the clock used for the media.
- public void set_do_retransmission (bool do_retransmission)
Set whether retransmission requests will be sent
- public void set_dscp_qos (int dscp_qos)
Configure the dscp qos of attached streams to
dscp_qos
. - public void set_eos_shutdown (bool eos_shutdown)
Set or unset if an EOS event will be sent to the pipeline for this before it is unprepared.
- public void set_latency (uint latency)
Configure the latency used for receiving media.
- public bool set_max_mcast_ttl (uint ttl)
Set the maximum time-to-live value of outgoing multicast packets.
- public void set_multicast_iface (string? multicast_iface)
configure
multicast_iface
to be used for this. - public void set_permissions (Permissions? permissions)
Set
permissions
on this. - public void set_pipeline_state (State state)
Set the state of the pipeline managed by this to
state
- public void set_profiles (Profile profiles)
Configure the allowed lower transport for this .
- public void set_protocols (LowerTrans protocols)
Configure the allowed lower transport for this .
- public void set_publish_clock_mode (PublishClockMode mode)
Sets if and how the media clock should be published according to RFC7273.
- public void set_rate_control (bool enabled)
Define whether
media
will follow the Rate-Control=no behaviour as specified in the ONVIF replay spec. - public void set_retransmission_time (ClockTime time)
Set the amount of time to store retransmission packets.
- public void set_reusable (bool reusable)
Set or unset if the pipeline for this can be reused after the pipeline has been unprepared.
- public void set_shared (bool shared)
Set or unset if the pipeline for this can be shared will multiple clients.
- public bool set_state (State state, GenericArray<StreamTransport> transports)
Set the state of this to
state
and for the transports intransports
. - public void set_stop_on_disconnect (bool stop_on_disconnect)
Set or unset if the pipeline for this should be stopped when a client disconnects without sending TEARDOWN.
- public void set_suspend_mode (SuspendMode mode)
Control how @ media will be suspended after the SDP has been generated and after a PAUSE request has been performed.
- public void set_transport_mode (TransportMode mode)
Sets if the media pipeline can work in PLAY or RECORD mode
- public virtual bool setup_rtpbin (Element rtpbin)
- public virtual bool setup_sdp (Message sdp, SDPInfo info)
Add this specific info to
sdp
. - public virtual bool suspend ()
Suspend this.
- public void take_pipeline (Pipeline pipeline)
Set
pipeline
as the Pipeline for this. - public virtual bool unprepare ()
Unprepare this.
- public virtual bool unsuspend ()
Unsuspend this if it was in a suspended state.
- public void use_time_provider (bool time_provider)
Set this to provide a TimeProvider.
Signals:
- public virtual signal bool handle_message (Message message)
Will be emitted when a message appears on the pipeline bus.
- public virtual signal void new_state (int state)
- public virtual signal void new_stream (Stream stream)
- public virtual signal void prepared ()
- public virtual signal void removed_stream (Stream stream)
- public virtual signal void target_state (int state)
- public virtual signal void unprepared ()
Inherited Members:
All known members inherited from class GLib.Object