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.