- public void @lock ()
Lock the entire media.
- public void @unlock ()
Unlock the media.
- 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 ()
- 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_message (Message message)
- public virtual bool handle_sdp (Message sdp)
Configure an SDP on this for
receiving streams
- public bool has_completed_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.
- 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 given flags
.
- public bool seek_trickmode (TimeRange range, SeekFlags flags, double rate, ClockTime trickmode_interval)
Seek the pipeline of this to
range
with the given flags
and rate
, and trickmode_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 in transports
.
- 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.