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

Properties

  "stats"                    GstStructure*         : Read

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.

Property Details

The "stats" property

  "stats"                    GstStructure*         : Read

Various depayloader statistics retrieved atomically (and are therefore synchroized with each other). This property return a GstStructure named application/x-rtp-depayload-stats containing the following fields relating to the last processed buffer and current state of the stream being depayloaded:

clock-rate

G_TYPE_UINT, clock-rate of the stream

npt-start

G_TYPE_UINT64, time of playback start

npt-stop

G_TYPE_UINT64, time of playback stop

play-speed

G_TYPE_DOUBLE, the playback speed

play-scale

G_TYPE_DOUBLE, the playback scale

running-time-dts

G_TYPE_UINT64, the last running-time of the last DTS

running-time-pts

G_TYPE_UINT64, the last running-time of the last PTS

seqnum

G_TYPE_UINT, the last seen seqnum

timestamp

G_TYPE_UINT, the last seen RTP timestamp