BasePayload
Object Hierarchy:
Gst.RTP.BasePayload
Gst.RTP.BasePayload
Gst.RTP.BasePayload
Gst.Element
Gst.Element
Gst.Element->Gst.RTP.BasePayload
Gst.Object
Gst.Object
Gst.Object->Gst.Element
GLib.InitiallyUnowned
GLib.InitiallyUnowned
GLib.InitiallyUnowned->Gst.Object
GLib.Object
GLib.Object
GLib.Object->GLib.InitiallyUnowned
Description:
[ CCode ( type_id = "gst_rtp_base_payload_get_type ()" ) ] [ GIR ( name = "RTPBasePayload" ) ]public abstract class BasePayload : Element
Provides a base class for RTP payloaders
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:
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 of payload_len
and padding of
pad_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
and duration
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 correct
ext_id
and with the necessary attributes as required by the extension implementation.
Inherited Members:
All known members inherited from class Gst.Element
All known members inherited from class Gst.Object
@lock
@ref
add_control_binding
check_uniqueness
deep_notify
default_deep_notify
default_error
flags
get_control_binding
get_control_rate
get_g_value_array
get_name
get_parent
get_path_string
get_value
has_active_control_bindings
has_ancestor
has_as_ancestor
has_as_parent
name
parent
remove_control_binding
replace
set_control_binding_disabled
set_control_bindings_disabled
set_control_rate
set_name
set_parent
suggest_next_sync
sync_values
unparent
unref
All known members inherited from class GLib.Object
@get
@new
@ref
@set
add_toggle_ref
add_weak_pointer
bind_property
connect
constructed
disconnect
dispose
dup_data
dup_qdata
force_floating
freeze_notify
get_class
get_data
get_property
get_qdata
get_type
getv
interface_find_property
interface_install_property
interface_list_properties
is_floating
new_valist
new_with_properties
newv
notify
notify_property
ref_count
ref_sink
remove_toggle_ref
remove_weak_pointer
replace_data
replace_qdata
set_data
set_data_full
set_property
set_qdata
set_qdata_full
set_valist
setv
steal_data
steal_qdata
thaw_notify
unref
watch_closure
weak_ref
weak_unref