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.