BasePayload
Object Hierarchy:
Description:
[ CCode ( type_id = "gst_rtp_base_payload_get_type ()" ) ]
[ GIR ( name = "RTPBasePayload" ) ]
public abstract class BasePayload : Element
[ GIR ( name = "RTPBasePayload" ) ]
public abstract class BasePayload : Element
Provides a base class for RTP payloaders
All known sub-classes:
Namespace: Gst.RTP
Package: gstreamer-rtp-1.0
Content:
Properties:
- public bool auto_header_extension { get; set; }
If enabled, the payloader will automatically try to enable all the RTP header extensions provided in the src caps, saving the application the need to handle these extensions manually using the GstRTPBasePayload::request-extension: signal.
- public int64 max_ptime { get; set; }
- public int64 min_ptime { get; set; }
Minimum duration of the packet data in ns (can't go above MTU)
- public uint mtu { get; set; }
- public bool onvif_no_rate_control { get; set; }
Make the payloader timestamp packets according to the Rate-Control=no behaviour specified in the ONVIF replay spec.
- public bool perfect_rtptime { get; set; }
Try to use the offset fields to generate perfect RTP timestamps.
- public uint pt { get; set; }
- public int64 ptime_multiple { get; set; }
Force buffers to be multiples of this duration in ns (0 disables)
- public bool scale_rtptime { get; set; }
Make the RTP packets' timestamps be scaled with the segment's rate (corresponding to RTSP speed parameter).
- public uint seqnum { get; }
- public int seqnum_offset { get; set; }
- public bool source_info { get; set; }
Enable writing the CSRC field in allocated RTP header based on RTP source information found in the input buffer's SourceMeta.
- public uint ssrc { get; set; }
- public Structure stats { owned get; }
Various payloader statistics retrieved atomically (and are therefore synchroized with each other), these can be used e.g. to generate an RTP-Info header.
- public uint timestamp { get; }
- public uint timestamp_offset { get; set; }
Creation methods:
- protected BasePayload ()
Methods:
- public Buffer allocate_output_buffer (uint payload_len, uint8 pad_len, uint8 csrc_count)
Allocate a new Buffer with enough data to hold an RTP packet with minimum
csrc_count
CSRCs, a payload length ofpayload_len
and padding ofpad_len
. - public virtual Caps get_caps (Pad pad, Caps filter)
- public uint get_source_count (Buffer buffer)
Count the total number of RTP sources found in the meta of
buffer
, which will be automically added by allocate_output_buffer. - public virtual FlowReturn handle_buffer (Buffer buffer)
- public bool is_filled (uint size, ClockTime duration)
Check if the packet with
size
andduration
would exceed the configured maximum size. - public bool is_source_info_enabled ()
Queries whether the payloader will add contributing sources (CSRCs) to the RTP header from SourceMeta.
- public FlowReturn push (owned Buffer buffer)
Push
buffer
to the peer element of the payloader. - public FlowReturn push_list (owned BufferList list)
Push
list
to the peer element of the payloader. - public virtual bool query (Pad pad, Query query)
- public virtual bool set_caps (Caps caps)
- public void set_options (string media, bool @dynamic, string encoding_name, uint32 clock_rate)
Set the rtp options of the payloader.
- public bool set_outcaps_structure (Structure? s)
Configure the output caps with the optional fields.
- public void set_source_info_enabled (bool enable)
Enable or disable adding contributing sources to RTP packets from SourceMeta.
- public virtual bool sink_event (Event event)
- public virtual bool src_event (Event event)
Signals:
- public signal void add_extension (owned HeaderExtension ext)
Add
ext
as an extension for writing part of an RTP header extension onto outgoing RTP packets. - public signal void clear_extensions ()
Clear all RTP header extensions used by this payloader.
- public signal HeaderExtension? request_extension (uint ext_id, string ext_uri)
The returned
ext
must be configured with the correctext_id
and with the necessary attributes as required by the extension implementation.
Inherited Members:
All known members inherited from class Gst.Element
- abort_state
- add_metadata
- add_pad
- add_pad_template
- add_property_deep_notify_watch
- add_property_notify_watch
- add_static_metadata
- add_static_pad_template
- add_static_pad_template_with_gtype
- base_time
- bus
- call_async
- change_state
- class_get_metadata
- class_get_pad_template
- class_get_pad_template_list
- clock
- contexts
- continue_state
- create_all_pads
- current_state
- decorate_stream_id
- decorate_stream_id_printf_valist
- foreach_pad
- foreach_sink_pad
- foreach_src_pad
- get_base_time
- get_bus
- get_clock
- get_compatible_pad
- get_compatible_pad_template
- get_context
- get_context_unlocked
- get_contexts
- get_current_clock_time
- get_current_running_time
- get_factory
- get_metadata
- get_pad_template
- get_pad_template_list
- get_request_pad
- get_start_time
- get_state
- get_static_pad
- is_locked_state
- iterate_pads
- iterate_sink_pads
- iterate_src_pads
- last_return
- link
- link_filtered
- link_many
- link_pads
- link_pads_filtered
- lost_state
- make_from_uri
- message_full
- message_full_with_details
- next_state
- no_more_pads
- numpads
- numsinkpads
- numsrcpads
- pad_added
- pad_removed
- pads
- pads_cookie
- pending_state
- post_message
- provide_clock
- query
- query_convert
- query_duration
- query_position
- register
- release_pad
- release_request_pad
- remove_pad
- remove_property_notify_watch
- request_pad
- request_pad_simple
- seek
- seek_simple
- send_event
- set_base_time
- set_bus
- set_clock
- set_context
- set_locked_state
- set_metadata
- set_start_time
- set_state
- set_static_metadata
- sinkpads
- srcpads
- start_time
- state_change_return_get_name
- state_changed
- state_cond
- state_cookie
- state_get_name
- state_lock
- sync_state_with_parent
- target_state
- type_set_skip_documentation
- unlink
- unlink_many
- unlink_pads
All known members inherited from class Gst.Object
All known members inherited from class GLib.Object