BaseDepayload


Object Hierarchy:

Object hierarchy for BaseDepayload

Description:

[ CCode ( type_id = "gst_rtp_base_depayload_get_type ()" ) ]
[ GIR ( name = "RTPBaseDepayload" ) ]
public abstract class BaseDepayload : Element

Provides a base class for RTP depayloaders

In order to handle RTP header extensions correctly if the depayloader aggregates multiple RTP packet payloads into one output buffer this class provides the function gst_rtp_base_depayload_set_aggregate_hdrext_enabled. If the aggregation is enabled the virtual functions GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet must tell the base class what happens to the current RTP packet. By default the base class assumes that the packet payload is used with the next output buffer.

If the RTP packet will not be used with an output buffer gst_rtp_base_depayload_dropped must be called. A typical situation would be if we are waiting for a keyframe.

If the RTP packet will be used but not with the current output buffer but with the next one gst_rtp_base_depayload_delayed must be called. This may happen if the current RTP packet signals the start of a new output buffer and the currently processed output buffer will be pushed first. The undelay happens implicitly once the current buffer has been pushed or gst_rtp_base_depayload_flush has been called.

If gst_rtp_base_depayload_flush is called all RTP packets that have not been dropped since the last output buffer are dropped, e.g. if an output buffer is discarded due to malformed data. This may or may not include the current RTP packet depending on the 2nd parameter keep_current.

Be aware that in case push_list is used each buffer will see the same list of RTP header extensions.


Namespace: Gst.RTP

Content:

Properties:

Creation methods:

Methods:

Signals:

Fields:

Inherited Members:

All known members inherited from class Gst.Element