gstrtpbasedepayload

## gstrtpbasedepayload gstrtpbasedepayload — Base class for RTP depayloader |

## Synopsis

    #include <gst/rtp/gstrtpbasedepayload.h>

    struct              GstRTPBaseDepayload;
    struct              GstRTPBaseDepayloadClass;
    #define             GST_RTP_BASE_DEPAYLOAD_SINKPAD      (depayload)
    #define             GST_RTP_BASE_DEPAYLOAD_SRCPAD       (depayload)
    GstFlowReturn       gst_rtp_base_depayload_push         (GstRTPBaseDepayload *filter,
                                                             GstBuffer *out_buf);
    GstFlowReturn       gst_rtp_base_depayload_push_list    (GstRTPBaseDepayload *filter,
                                                             GstBufferList *out_list);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstRTPBaseDepayload

## Description

Provides a base class for RTP depayloaders

## Details

### struct GstRTPBaseDepayload

    struct GstRTPBaseDepayload;

### struct GstRTPBaseDepayloadClass

    struct GstRTPBaseDepayloadClass {
      GstElementClass parent_class;

      /* virtuals, inform the subclass of the caps. */
      gboolean (*set_caps) (GstRTPBaseDepayload *filter, GstCaps *caps);

      /* pure virtual function, child must use this to process incoming
       * rtp packets. If the child returns a buffer without a valid timestamp,
       * the timestamp of @in will be applied to the result buffer and the
       * buffer will be pushed. If this function returns %NULL, nothing is
       * pushed.  */
      GstBuffer * (*process) (GstRTPBaseDepayload *base, GstBuffer *in);

      /* non-pure function used to to signal the depayloader about packet loss. the
       * timestamp and duration are the estimated values of the lost packet.
       * The default implementation of this message pushes a segment update. */
      gboolean (*packet_lost) (GstRTPBaseDepayload *filter, GstEvent *event);

      /* the default implementation does the default actions for events but
       * implementation can override. */
      gboolean (*handle_event) (GstRTPBaseDepayload * filter, GstEvent * event);
    };

Base class for audio RTP payloader.

GstElementClass `parent_class`; | the parent class
`set_caps` () | configure the depayloader
`process` () | process incoming rtp packets
`packet_lost` () | signal the depayloader about packet loss
`handle_event` () | custom event handling

### GST_RTP_BASE_DEPAYLOAD_SINKPAD()

    #define GST_RTP_BASE_DEPAYLOAD_SINKPAD(depayload) (GST_RTP_BASE_DEPAYLOAD (depayload)->sinkpad)

### GST_RTP_BASE_DEPAYLOAD_SRCPAD()

    #define GST_RTP_BASE_DEPAYLOAD_SRCPAD(depayload)  (GST_RTP_BASE_DEPAYLOAD (depayload)->srcpad)

### gst_rtp_base_depayload_push ()

    GstFlowReturn       gst_rtp_base_depayload_push         (GstRTPBaseDepayload *filter,
                                                             GstBuffer *out_buf);

Push `out_buf` to the peer of `filter`. This function takes ownership of `out_buf`.

This function will by default apply the last incomming timestamp on the outgoing buffer when it didn't have a timestamp already.

`filter` : | a GstRTPBaseDepayload
`out_buf` : | a GstBuffer
Returns : | a GstFlowReturn.

### gst_rtp_base_depayload_push_list ()

    GstFlowReturn       gst_rtp_base_depayload_push_list    (GstRTPBaseDepayload *filter,
                                                             GstBufferList *out_list);

Push `out_list` to the peer of `filter`. This function takes ownership of `out_list`.

`filter` : | a GstRTPBaseDepayload
`out_list` : | a GstBufferList
Returns : | a GstFlowReturn.