## gstbasertpdepayload

gstbasertpdepayload — Base class for RTP depayloader

## Synopsis

    #include <gst/rtp/gstbasertpdepayload.h>

                        GstBaseRTPDepayload;
                        GstBaseRTPDepayloadClass;
    #define             GST_BASE_RTP_DEPAYLOAD_SINKPAD      (depayload)
    #define             GST_BASE_RTP_DEPAYLOAD_SRCPAD       (depayload)
    GstFlowReturn       gst_base_rtp_depayload_push         (GstBaseRTPDepayload *filter,
                                                             GstBuffer *out_buf);
    GstFlowReturn       gst_base_rtp_depayload_push_ts      (GstBaseRTPDepayload *filter,
                                                             guint32 timestamp,
                                                             GstBuffer *out_buf);

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseRTPDepayload

## Properties

      "queue-delay"              guint                 : Read / Write

## Description

Provides a base class for RTP depayloaders

## Details

### GstBaseRTPDepayload

    typedef struct _GstBaseRTPDepayload GstBaseRTPDepayload;

### GstBaseRTPDepayloadClass

    typedef struct {
      GstElementClass parent_class;

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

      /* non-pure function, default implementation in base class
       * this does buffering, reordering and dropping, deprecated */
      GstFlowReturn (*add_to_queue) (GstBaseRTPDepayload *filter, GstBuffer *in);

      /* 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) (GstBaseRTPDepayload *base, GstBuffer *in);

      /* non-pure function used to convert from RTP timestamp to GST timestamp
       * this function is used by the child class before gst_pad_pushing */
      void (*set_gst_timestamp) (GstBaseRTPDepayload *filter, guint32 timestamp, GstBuffer *buf);

      /* 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) (GstBaseRTPDepayload *filter, GstEvent *event);
    } GstBaseRTPDepayloadClass;

### GST_BASE_RTP_DEPAYLOAD_SINKPAD()

    #define GST_BASE_RTP_DEPAYLOAD_SINKPAD(depayload) (GST_BASE_RTP_DEPAYLOAD (depayload)->sinkpad)

`depayload` : |

### GST_BASE_RTP_DEPAYLOAD_SRCPAD()

    #define GST_BASE_RTP_DEPAYLOAD_SRCPAD(depayload)  (GST_BASE_RTP_DEPAYLOAD (depayload)->srcpad)

`depayload` : |

### gst_base_rtp_depayload_push ()

    GstFlowReturn       gst_base_rtp_depayload_push         (GstBaseRTPDepayload *filter,
                                                             GstBuffer *out_buf);

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

Unlike `gst_base_rtp_depayload_push_ts()`, this function will not apply any timestamp on the outgoing buffer.

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

### gst_base_rtp_depayload_push_ts ()

    GstFlowReturn       gst_base_rtp_depayload_push_ts      (GstBaseRTPDepayload *filter,
                                                             guint32 timestamp,
                                                             GstBuffer *out_buf);

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

Unlike `gst_base_rtp_depayload_push()`, this function will apply `timestamp` on the outgoing buffer, using the configured clock_rate to convert the timestamp to a valid GStreamer clock time.

`filter` : | a GstBaseRTPDepayload
`timestamp` : | an RTP timestamp to apply
`out_buf` : | a GstBuffer
Returns : | a GstFlowReturn.

## Property Details

### The `"queue-delay"` property

      "queue-delay"              guint                 : Read / Write

Amount of ms to queue/buffer, deprecated.

Default value: 0