## gstbasertppayload

gstbasertppayload — Base class for RTP payloader

## Synopsis

    #include <gst/rtp/gstbasertppayload.h>

                        GstBaseRTPPayload;
                        GstBaseRTPPayloadClass;
    #define             GST_BASE_RTP_PAYLOAD_MTU            (payload)
    #define             GST_BASE_RTP_PAYLOAD_PT             (payload)
    #define             GST_BASE_RTP_PAYLOAD_SINKPAD        (payload)
    #define             GST_BASE_RTP_PAYLOAD_SRCPAD         (payload)
    gboolean            gst_basertppayload_is_filled        (GstBaseRTPPayload *payload,
                                                             guint size,
                                                             GstClockTime duration);
    GstFlowReturn       gst_basertppayload_push             (GstBaseRTPPayload *payload,
                                                             GstBuffer *buffer);
    void                gst_basertppayload_set_options      (GstBaseRTPPayload *payload,
                                                             gchar *media,
                                                             gboolean dynamic,
                                                             gchar *encoding_name,
                                                             guint32 clock_rate);
    gboolean            gst_basertppayload_set_outcaps      (GstBaseRTPPayload *payload,
                                                             gchar *fieldname,
                                                             ...);

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseRTPPayload
                         +----GstBaseRTPAudioPayload

## Properties

      "max-ptime"                gint64                : Read / Write
      "min-ptime"                gint64                : Read / Write
      "mtu"                      guint                 : Read / Write
      "pt"                       guint                 : Read / Write
      "seqnum"                   guint                 : Read
      "seqnum-offset"            gint                  : Read / Write
      "ssrc"                     guint                 : Read / Write
      "timestamp"                guint                 : Read
      "timestamp-offset"         guint                 : Read / Write

## Description

Provides a base class for RTP payloaders

## Details

### GstBaseRTPPayload

    typedef struct _GstBaseRTPPayload GstBaseRTPPayload;

### GstBaseRTPPayloadClass

    typedef struct {
      GstElementClass parent_class;

      /* receive caps on the sink pad, configure the payloader. */
      gboolean      (*set_caps)             (GstBaseRTPPayload *payload, GstCaps *caps);
      /* handle a buffer, perform 0 or more gst_basertppayload_push() on
       * the RTP buffers */
      GstFlowReturn (*handle_buffer)        (GstBaseRTPPayload *payload,
                                             GstBuffer *buffer);
      gboolean      (*handle_event)         (GstPad * pad, GstEvent * event);
    } GstBaseRTPPayloadClass;

### GST_BASE_RTP_PAYLOAD_MTU()

    #define GST_BASE_RTP_PAYLOAD_MTU(payload) (GST_BASE_RTP_PAYLOAD (payload)->mtu)

`payload` : |

### GST_BASE_RTP_PAYLOAD_PT()

    #define GST_BASE_RTP_PAYLOAD_PT(payload)  (GST_BASE_RTP_PAYLOAD (payload)->pt)

`payload` : |

### GST_BASE_RTP_PAYLOAD_SINKPAD()

    #define GST_BASE_RTP_PAYLOAD_SINKPAD(payload) (GST_BASE_RTP_PAYLOAD (payload)->sinkpad)

`payload` : |

### GST_BASE_RTP_PAYLOAD_SRCPAD()

    #define GST_BASE_RTP_PAYLOAD_SRCPAD(payload)  (GST_BASE_RTP_PAYLOAD (payload)->srcpad)

`payload` : |

### gst_basertppayload_is_filled ()

    gboolean            gst_basertppayload_is_filled        (GstBaseRTPPayload *payload,
                                                             guint size,
                                                             GstClockTime duration);

`payload` : |
`size` : |
`duration` : |
Returns : |

### gst_basertppayload_push ()

    GstFlowReturn       gst_basertppayload_push             (GstBaseRTPPayload *payload,
                                                             GstBuffer *buffer);

`payload` : |
`buffer` : |
Returns : |

### gst_basertppayload_set_options ()

    void                gst_basertppayload_set_options      (GstBaseRTPPayload *payload,
                                                             gchar *media,
                                                             gboolean dynamic,
                                                             gchar *encoding_name,
                                                             guint32 clock_rate);

`payload` : |
`media` : |
`dynamic` : |
`encoding_name` : |
`clock_rate` : |

### gst_basertppayload_set_outcaps ()

    gboolean            gst_basertppayload_set_outcaps      (GstBaseRTPPayload *payload,
                                                             gchar *fieldname,
                                                             ...);

`payload` : |
`fieldname` : |
`...` : |
Returns : |

## Property Details

### The "`max-ptime`" property

      "max-ptime"                gint64                : Read / Write

Maximum duration of the packet data in ns (-1 = unlimited up to MTU).

Allowed values: >= G_MAXULONG

Default value: -1

### The "`min-ptime`" property

      "min-ptime"                gint64                : Read / Write

Minimum duration of the packet data in ns (can't go above MTU).

Allowed values: >= 0

Default value: 0

### The "`mtu`" property

      "mtu"                      guint                 : Read / Write

Maximum size of one packet.

Allowed values: >= 28

Default value: 1024

### The "`pt`" property

      "pt"                       guint                 : Read / Write

The payload type of the packets.

Allowed values: <= 128

Default value: 96

### The "`seqnum`" property

      "seqnum"                   guint                 : Read

The RTP sequence number of the last processed packet.

Allowed values: <= 65535

Default value: 0

### The "`seqnum-offset`" property

      "seqnum-offset"            gint                  : Read / Write

Offset to add to all outgoing seqnum (-1 = random).

Allowed values: [G_MAXULONG,65535]

Default value: -1

### The "`ssrc`" property

      "ssrc"                     guint                 : Read / Write

The SSRC of the packets (default == random).

Default value: 4294967295

### The "`timestamp`" property

      "timestamp"                guint                 : Read

The RTP timestamp of the last processed packet.

Default value: 0

### The "`timestamp-offset`" property

      "timestamp-offset"         guint                 : Read / Write

Offset to add to all outgoing timestamps (default = random).

Default value: 4294967295