# GstRTPBasePayload

Provides a base class for RTP payloaders

## GstRTPBasePayload

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstRTPBasePayload
                        ╰──GstRTPBaseAudioPayload

### Members

`element` (GstElement) –
No description available

### Class structure

#### GstRTPBasePayloadClass

Base class for audio RTP payloader.

##### Fields

`parent_class` (GstElementClass) –

the parent class

### GstRtp.RTPBasePayloadClass

Base class for audio RTP payloader.

##### Attributes

`parent_class` (Gst.ElementClass) –

the parent class

### GstRtp.RTPBasePayloadClass

Base class for audio RTP payloader.

##### Attributes

`parent_class` (Gst.ElementClass) –

the parent class

## GstRtp.RTPBasePayload

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstRtp.RTPBasePayload
                        ╰──GstRtp.RTPBaseAudioPayload

### Members

`element` (Gst.Element) –
No description available

## GstRtp.RTPBasePayload

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstRtp.RTPBasePayload
                        ╰──GstRtp.RTPBaseAudioPayload

### Members

`element` (Gst.Element) –
No description available

### Methods

#### gst_rtp_base_payload_allocate_output_buffer

    GstBuffer *
    gst_rtp_base_payload_allocate_output_buffer (GstRTPBasePayload * payload,
                                                 guint payload_len,
                                                 guint8 pad_len,
                                                 guint8 csrc_count)

Allocate a new GstBuffer with enough data to hold an RTP packet with minimum csrc_count CSRCs, a payload length of payload_len and padding of pad_len. If payload has source-info TRUE additional CSRCs may be allocated and filled with RTP source information.

Parameters:

`payload` –

a GstRTPBasePayload

`payload_len` –

the length of the payload

`pad_len` –

the amount of padding

`csrc_count` –

the minimum number of CSRC entries

Returns –

A newly allocated buffer that can hold an RTP packet with given parameters.

Since : 1.16

#### GstRtp.RTPBasePayload.prototype.allocate_output_buffer

    function GstRtp.RTPBasePayload.prototype.allocate_output_buffer(payload_len: Number, pad_len: Number, csrc_count: Number): {
        // javascript wrapper for 'gst_rtp_base_payload_allocate_output_buffer'
    }

Allocate a new Gst.Buffer with enough data to hold an RTP packet with minimum csrc_count CSRCs, a payload length of payload_len and padding of pad_len. If payload has source-info true additional CSRCs may be allocated and filled with RTP source information.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`payload_len` (Number) –

the length of the payload

`pad_len` (Number) –

the amount of padding

`csrc_count` (Number) –

the minimum number of CSRC entries

Returns (Gst.Buffer) –

A newly allocated buffer that can hold an RTP packet with given parameters.

Since : 1.16

#### GstRtp.RTPBasePayload.allocate_output_buffer

    def GstRtp.RTPBasePayload.allocate_output_buffer (self, payload_len, pad_len, csrc_count):
        #python wrapper for 'gst_rtp_base_payload_allocate_output_buffer'

Allocate a new Gst.Buffer with enough data to hold an RTP packet with minimum csrc_count CSRCs, a payload length of payload_len and padding of pad_len. If payload has source_info True additional CSRCs may be allocated and filled with RTP source information.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`payload_len` (int) –

the length of the payload

`pad_len` (int) –

the amount of padding

`csrc_count` (int) –

the minimum number of CSRC entries

Returns (Gst.Buffer) –

A newly allocated buffer that can hold an RTP packet with given parameters.

Since : 1.16

#### gst_rtp_base_payload_get_source_count

    guint
    gst_rtp_base_payload_get_source_count (GstRTPBasePayload * payload,
                                           GstBuffer * buffer)

Count the total number of RTP sources found in the meta of buffer, which will be automically added by gst_rtp_base_payload_allocate_output_buffer. If source-info is FALSE the count will be 0.

Parameters:

`payload` –

a GstRTPBasePayload

`buffer` ( [transfer: none]) –

a GstBuffer, typically the buffer to payload

Returns –

The number of sources.

Since : 1.16

#### GstRtp.RTPBasePayload.prototype.get_source_count

    function GstRtp.RTPBasePayload.prototype.get_source_count(buffer: Gst.Buffer): {
        // javascript wrapper for 'gst_rtp_base_payload_get_source_count'
    }

Count the total number of RTP sources found in the meta of buffer, which will be automically added by GstRtp.RTPBasePayload.prototype.allocate_output_buffer. If source-info is false the count will be 0.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`buffer` (Gst.Buffer) –

a Gst.Buffer, typically the buffer to payload

Returns (Number) –

The number of sources.

Since : 1.16

#### GstRtp.RTPBasePayload.get_source_count

    def GstRtp.RTPBasePayload.get_source_count (self, buffer):
        #python wrapper for 'gst_rtp_base_payload_get_source_count'

Count the total number of RTP sources found in the meta of buffer, which will be automically added by GstRtp.RTPBasePayload.allocate_output_buffer. If source_info is False the count will be 0.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`buffer` (Gst.Buffer) –

a Gst.Buffer, typically the buffer to payload

Returns (int) –

The number of sources.

Since : 1.16

#### gst_rtp_base_payload_is_filled

    gboolean
    gst_rtp_base_payload_is_filled (GstRTPBasePayload * payload,
                                    guint size,
                                    GstClockTime duration)

Check if the packet with size and duration would exceed the configured maximum size.

Parameters:

`payload` –

a GstRTPBasePayload

`size` –

the size of the packet

`duration` –

the duration of the packet

Returns –

TRUE if the packet of size and duration would exceed the configured MTU or max_ptime.

#### GstRtp.RTPBasePayload.prototype.is_filled

    function GstRtp.RTPBasePayload.prototype.is_filled(size: Number, duration: Number): {
        // javascript wrapper for 'gst_rtp_base_payload_is_filled'
    }

Check if the packet with size and duration would exceed the configured maximum size.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`size` (Number) –

the size of the packet

`duration` (Number) –

the duration of the packet

Returns (Number) –

true if the packet of size and duration would exceed the configured MTU or max_ptime.

#### GstRtp.RTPBasePayload.is_filled

    def GstRtp.RTPBasePayload.is_filled (self, size, duration):
        #python wrapper for 'gst_rtp_base_payload_is_filled'

Check if the packet with size and duration would exceed the configured maximum size.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`size` (int) –

the size of the packet

`duration` (int) –

the duration of the packet

Returns (bool) –

True if the packet of size and duration would exceed the configured MTU or max_ptime.

#### gst_rtp_base_payload_is_source_info_enabled

    gboolean
    gst_rtp_base_payload_is_source_info_enabled (GstRTPBasePayload * payload)

Queries whether the payloader will add contributing sources (CSRCs) to the RTP header from GstRTPSourceMeta.

Parameters:

`payload` –

a GstRTPBasePayload

Returns –

TRUE if source-info is enabled.

Since : 1.16

#### GstRtp.RTPBasePayload.prototype.is_source_info_enabled

    function GstRtp.RTPBasePayload.prototype.is_source_info_enabled(): {
        // javascript wrapper for 'gst_rtp_base_payload_is_source_info_enabled'
    }

Queries whether the payloader will add contributing sources (CSRCs) to the RTP header from GstRtp.RTPSourceMeta.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

Returns (Number) –

true if source-info is enabled.

Since : 1.16

#### GstRtp.RTPBasePayload.is_source_info_enabled

    def GstRtp.RTPBasePayload.is_source_info_enabled (self):
        #python wrapper for 'gst_rtp_base_payload_is_source_info_enabled'

Queries whether the payloader will add contributing sources (CSRCs) to the RTP header from GstRtp.RTPSourceMeta.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

Returns (bool) –

True if source-info is enabled.

Since : 1.16

#### gst_rtp_base_payload_push

    GstFlowReturn
    gst_rtp_base_payload_push (GstRTPBasePayload * payload,
                               GstBuffer * buffer)

Push buffer to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first.

This function takes ownership of buffer.

Parameters:

`payload` –

a GstRTPBasePayload

`buffer` ( [transfer: full]) –

a GstBuffer

Returns –

a GstFlowReturn.

#### GstRtp.RTPBasePayload.prototype.push

    function GstRtp.RTPBasePayload.prototype.push(buffer: Gst.Buffer): {
        // javascript wrapper for 'gst_rtp_base_payload_push'
    }

Push buffer to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first.

This function takes ownership of buffer.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`buffer` (Gst.Buffer) –

a Gst.Buffer

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### GstRtp.RTPBasePayload.push

    def GstRtp.RTPBasePayload.push (self, buffer):
        #python wrapper for 'gst_rtp_base_payload_push'

Push buffer to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first.

This function takes ownership of buffer.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`buffer` (Gst.Buffer) –

a Gst.Buffer

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### gst_rtp_base_payload_push_list

    GstFlowReturn
    gst_rtp_base_payload_push_list (GstRTPBasePayload * payload,
                                    GstBufferList * list)

Push list to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first.

This function takes ownership of list.

Parameters:

`payload` –

a GstRTPBasePayload

`list` ( [transfer: full]) –

a GstBufferList

Returns –

a GstFlowReturn.

#### GstRtp.RTPBasePayload.prototype.push_list

    function GstRtp.RTPBasePayload.prototype.push_list(list: Gst.BufferList): {
        // javascript wrapper for 'gst_rtp_base_payload_push_list'
    }

Push list to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first.

This function takes ownership of list.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`list` (Gst.BufferList) –

a Gst.BufferList

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### GstRtp.RTPBasePayload.push_list

    def GstRtp.RTPBasePayload.push_list (self, list):
        #python wrapper for 'gst_rtp_base_payload_push_list'

Push list to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first.

This function takes ownership of list.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`list` (Gst.BufferList) –

a Gst.BufferList

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### gst_rtp_base_payload_set_options

    gst_rtp_base_payload_set_options (GstRTPBasePayload * payload,
                                      const gchar * media,
                                      gboolean dynamic,
                                      const gchar * encoding_name,
                                      guint32 clock_rate)

Set the rtp options of the payloader. These options will be set in the caps of the payloader. Subclasses must call this method before calling gst_rtp_base_payload_push or gst_rtp_base_payload_set_outcaps.

Parameters:

`payload` –

a GstRTPBasePayload

`media` –

the media type (typically "audio" or "video")

`dynamic` –

if the payload type is dynamic

`encoding_name` –

the encoding name

`clock_rate` –

the clock rate of the media

#### GstRtp.RTPBasePayload.prototype.set_options

    function GstRtp.RTPBasePayload.prototype.set_options(media: String, dynamic: Number, encoding_name: String, clock_rate: Number): {
        // javascript wrapper for 'gst_rtp_base_payload_set_options'
    }

Set the rtp options of the payloader. These options will be set in the caps of the payloader. Subclasses must call this method before calling GstRtp.RTPBasePayload.prototype.push or gst_rtp_base_payload_set_outcaps (not introspectable).

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`media` (String) –

the media type (typically "audio" or "video")

`dynamic` (Number) –

if the payload type is dynamic

`encoding_name` (String) –

the encoding name

`clock_rate` (Number) –

the clock rate of the media

#### GstRtp.RTPBasePayload.set_options

    def GstRtp.RTPBasePayload.set_options (self, media, dynamic, encoding_name, clock_rate):
        #python wrapper for 'gst_rtp_base_payload_set_options'

Set the rtp options of the payloader. These options will be set in the caps of the payloader. Subclasses must call this method before calling GstRtp.RTPBasePayload.push or gst_rtp_base_payload_set_outcaps (not introspectable).

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`media` (str) –

the media type (typically "audio" or "video")

`dynamic` (bool) –

if the payload type is dynamic

`encoding_name` (str) –

the encoding name

`clock_rate` (int) –

the clock rate of the media

#### gst_rtp_base_payload_set_outcaps

    gboolean
    gst_rtp_base_payload_set_outcaps (GstRTPBasePayload * payload,
                                      const gchar * fieldname,
                                      ... ...)

Configure the output caps with the optional parameters.

Variable arguments should be in the form field name, field type (as a GType), value(s). The last variable argument should be NULL.

Parameters:

`payload` –

a GstRTPBasePayload

`fieldname` –

the first field name or NULL

`...` –

field values

Returns –

TRUE if the caps could be set.

#### gst_rtp_base_payload_set_outcaps_structure

    gboolean
    gst_rtp_base_payload_set_outcaps_structure (GstRTPBasePayload * payload,
                                                GstStructure * s)

Configure the output caps with the optional fields.

Parameters:

`payload` –

a GstRTPBasePayload

`s` ( [nullable]) –

a GstStructure with the caps fields

Returns –

TRUE if the caps could be set.

Since : 1.20

#### GstRtp.RTPBasePayload.prototype.set_outcaps_structure

    function GstRtp.RTPBasePayload.prototype.set_outcaps_structure(s: Gst.Structure): {
        // javascript wrapper for 'gst_rtp_base_payload_set_outcaps_structure'
    }

Configure the output caps with the optional fields.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`s` (Gst.Structure) –

a Gst.Structure with the caps fields

Returns (Number) –

true if the caps could be set.

Since : 1.20

#### GstRtp.RTPBasePayload.set_outcaps_structure

    def GstRtp.RTPBasePayload.set_outcaps_structure (self, s):
        #python wrapper for 'gst_rtp_base_payload_set_outcaps_structure'

Configure the output caps with the optional fields.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`s` (Gst.Structure) –

a Gst.Structure with the caps fields

Returns (bool) –

True if the caps could be set.

Since : 1.20

#### gst_rtp_base_payload_set_source_info_enabled

    gst_rtp_base_payload_set_source_info_enabled (GstRTPBasePayload * payload,
                                                  gboolean enable)

Enable or disable adding contributing sources to RTP packets from GstRTPSourceMeta.

Parameters:

`payload` –

a GstRTPBasePayload

`enable` –

whether to add contributing sources to RTP packets

Since : 1.16

#### GstRtp.RTPBasePayload.prototype.set_source_info_enabled

    function GstRtp.RTPBasePayload.prototype.set_source_info_enabled(enable: Number): {
        // javascript wrapper for 'gst_rtp_base_payload_set_source_info_enabled'
    }

Enable or disable adding contributing sources to RTP packets from GstRtp.RTPSourceMeta.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`enable` (Number) –

whether to add contributing sources to RTP packets

Since : 1.16

#### GstRtp.RTPBasePayload.set_source_info_enabled

    def GstRtp.RTPBasePayload.set_source_info_enabled (self, enable):
        #python wrapper for 'gst_rtp_base_payload_set_source_info_enabled'

Enable or disable adding contributing sources to RTP packets from GstRtp.RTPSourceMeta.

Parameters:

`payload` (GstRtp.RTPBasePayload) –

a GstRtp.RTPBasePayload

`enable` (bool) –

whether to add contributing sources to RTP packets

Since : 1.16

### Signals

#### request-extension

    GstRTPHeaderExtension *
    request_extension_callback (GstRTPBasePayload * self,
                                guint ext_id,
                                gchar * ext_uri,
                                gpointer user_data)

The returned ext must be configured with the correct ext_id and with the necessary attributes as required by the extension implementation.

Parameters:

`self` –
No description available
`ext_id` –

the extension id being requested

`ext_uri` –

the extension URI being requested

`user_data` –
No description available
Returns ( [transfer: full][nullable]) –

the GstRTPHeaderExtension for ext_id, or NULL

Flags: Run Last

Since : 1.20

#### request-extension

    function request_extension_callback(self: GstRtp.RTPBasePayload, ext_id: Number, ext_uri: String, user_data: Object): {
        // javascript callback for the 'request-extension' signal
    }

The returned ext must be configured with the correct ext_id and with the necessary attributes as required by the extension implementation.

Parameters:

`self` (GstRtp.RTPBasePayload) –
No description available
`ext_id` (Number) –

the extension id being requested

`ext_uri` (String) –

the extension URI being requested

`user_data` (Object) –
No description available
Returns (GstRtp.RTPHeaderExtension) –

the GstRtp.RTPHeaderExtension for ext_id, or null

Flags: Run Last

Since : 1.20

#### request-extension

    def request_extension_callback (self, ext_id, ext_uri, *user_data):
        #python callback for the 'request-extension' signal

The returned ext must be configured with the correct ext_id and with the necessary attributes as required by the extension implementation.

Parameters:

`self` (GstRtp.RTPBasePayload) –
No description available
`ext_id` (int) –

the extension id being requested

`ext_uri` (str) –

the extension URI being requested

`user_data` (variadic) –
No description available
Returns (GstRtp.RTPHeaderExtension) –

the GstRtp.RTPHeaderExtension for ext_id, or None

Flags: Run Last

Since : 1.20

### Action Signals

#### add-extension

    g_signal_emit_by_name (self, "add-extension", ext, user_data);

Add ext as an extension for writing part of an RTP header extension onto outgoing RTP packets.

Parameters:

`self` (GstRTPBasePayload *) –
No description available
`ext` (GstRTPHeaderExtension *, [transfer: full]) –

the GstRTPHeaderExtension

`user_data` (gpointer) –
No description available

Flags: Run Last / Action

Since : 1.20

#### add-extension

    let ret = self.emit ("add-extension", ext, user_data);

Add ext as an extension for writing part of an RTP header extension onto outgoing RTP packets.

Parameters:

`self` (GstRtp.RTPBasePayload) –
No description available
`ext` (GstRtp.RTPHeaderExtension) –

the GstRtp.RTPHeaderExtension

`user_data` (Object) –
No description available

Flags: Run Last / Action

Since : 1.20

#### add-extension

    ret = self.emit ("add-extension", ext, user_data)

Add ext as an extension for writing part of an RTP header extension onto outgoing RTP packets.

Parameters:

`self` (GstRtp.RTPBasePayload) –
No description available
`ext` (GstRtp.RTPHeaderExtension) –

the GstRtp.RTPHeaderExtension

`user_data` (variadic) –
No description available

Flags: Run Last / Action

Since : 1.20

#### clear-extensions

    g_signal_emit_by_name (self, "clear-extensions", user_data);

Clear all RTP header extensions used by this payloader.

Parameters:

`self` (GstRTPBasePayload *) –
No description available
`user_data` (gpointer) –
No description available

Flags: Run Last / Action

Since : 1.20

#### clear-extensions

    let ret = self.emit ("clear-extensions", user_data);

Clear all RTP header extensions used by this payloader.

Parameters:

`self` (GstRtp.RTPBasePayload) –
No description available
`user_data` (Object) –
No description available

Flags: Run Last / Action

Since : 1.20

#### clear-extensions

    ret = self.emit ("clear-extensions", user_data)

Clear all RTP header extensions used by this payloader.

Parameters:

`self` (GstRtp.RTPBasePayload) –
No description available
`user_data` (variadic) –
No description available

Flags: Run Last / Action

Since : 1.20

### Properties

#### auto-header-extension

    “auto-header-extension” gboolean

If enabled, the payloader will automatically try to enable all the RTP header extensions provided in the src caps, saving the application the need to handle these extensions manually using the GstRTPBasePayload::request-extension: signal.

Flags : Read / Write

#### auto-header-extension

    “auto-header-extension” Number

If enabled, the payloader will automatically try to enable all the RTP header extensions provided in the src caps, saving the application the need to handle these extensions manually using the GstRTPBasePayload::request-extension: signal.

Flags : Read / Write

#### auto_header_extension

    “self.props.auto_header_extension” bool

If enabled, the payloader will automatically try to enable all the RTP header extensions provided in the src caps, saving the application the need to handle these extensions manually using the GstRTPBasePayload::request-extension: signal.

Flags : Read / Write

#### max-ptime

    “max-ptime” gint64

Flags : Read / Write

#### max-ptime

    “max-ptime” Number

Flags : Read / Write

#### max_ptime

    “self.props.max_ptime” int

Flags : Read / Write

#### min-ptime

    “min-ptime” gint64

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

Flags : Read / Write

#### min-ptime

    “min-ptime” Number

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

Flags : Read / Write

#### min_ptime

    “self.props.min_ptime” int

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

Flags : Read / Write

#### mtu

    “mtu” guint

Flags : Read / Write

#### mtu

    “mtu” Number

Flags : Read / Write

#### mtu

    “self.props.mtu” int

Flags : Read / Write

#### onvif-no-rate-control

    “onvif-no-rate-control” gboolean

Make the payloader timestamp packets according to the Rate-Control=no behaviour specified in the ONVIF replay spec.

Flags : Read / Write

#### onvif-no-rate-control

    “onvif-no-rate-control” Number

Make the payloader timestamp packets according to the Rate-Control=no behaviour specified in the ONVIF replay spec.

Flags : Read / Write

#### onvif_no_rate_control

    “self.props.onvif_no_rate_control” bool

Make the payloader timestamp packets according to the Rate-Control=no behaviour specified in the ONVIF replay spec.

Flags : Read / Write

#### perfect-rtptime

    “perfect-rtptime” gboolean

Try to use the offset fields to generate perfect RTP timestamps. When this option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of each payloaded buffer. The PTSes of buffers may not necessarily increment with the amount of data in each input buffer, consider e.g. the case where the buffer arrives from a network which means that the PTS is unrelated to the amount of data. Because the RTP timestamps are generated from GST_BUFFER_PTS this can result in RTP timestamps that also don't increment with the amount of data in the payloaded packet. To circumvent this it is possible to set the perfect rtptime option enabled. When this option is enabled the payloader will increment the RTP timestamps based on GST_BUFFER_OFFSET which relates to the amount of data in each packet rather than the GST_BUFFER_PTS of each buffer and therefore the RTP timestamps will more closely correlate with the amount of data in each buffer. Currently GstRTPBasePayload is limited to handling perfect RTP timestamps for audio streams.

Flags : Read / Write

#### perfect-rtptime

    “perfect-rtptime” Number

Try to use the offset fields to generate perfect RTP timestamps. When this option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of each payloaded buffer. The PTSes of buffers may not necessarily increment with the amount of data in each input buffer, consider e.g. the case where the buffer arrives from a network which means that the PTS is unrelated to the amount of data. Because the RTP timestamps are generated from GST_BUFFER_PTS this can result in RTP timestamps that also don't increment with the amount of data in the payloaded packet. To circumvent this it is possible to set the perfect rtptime option enabled. When this option is enabled the payloader will increment the RTP timestamps based on GST_BUFFER_OFFSET which relates to the amount of data in each packet rather than the GST_BUFFER_PTS of each buffer and therefore the RTP timestamps will more closely correlate with the amount of data in each buffer. Currently GstRTPBasePayload is limited to handling perfect RTP timestamps for audio streams.

Flags : Read / Write

#### perfect_rtptime

    “self.props.perfect_rtptime” bool

Try to use the offset fields to generate perfect RTP timestamps. When this option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of each payloaded buffer. The PTSes of buffers may not necessarily increment with the amount of data in each input buffer, consider e.g. the case where the buffer arrives from a network which means that the PTS is unrelated to the amount of data. Because the RTP timestamps are generated from GST_BUFFER_PTS this can result in RTP timestamps that also don't increment with the amount of data in the payloaded packet. To circumvent this it is possible to set the perfect rtptime option enabled. When this option is enabled the payloader will increment the RTP timestamps based on GST_BUFFER_OFFSET which relates to the amount of data in each packet rather than the GST_BUFFER_PTS of each buffer and therefore the RTP timestamps will more closely correlate with the amount of data in each buffer. Currently GstRTPBasePayload is limited to handling perfect RTP timestamps for audio streams.

Flags : Read / Write

#### pt

    “pt” guint

Flags : Read / Write

#### pt

    “pt” Number

Flags : Read / Write

#### pt

    “self.props.pt” int

Flags : Read / Write

#### ptime-multiple

    “ptime-multiple” gint64

Force buffers to be multiples of this duration in ns (0 disables)

Flags : Read / Write

#### ptime-multiple

    “ptime-multiple” Number

Force buffers to be multiples of this duration in ns (0 disables)

Flags : Read / Write

#### ptime_multiple

    “self.props.ptime_multiple” int

Force buffers to be multiples of this duration in ns (0 disables)

Flags : Read / Write

#### scale-rtptime

    “scale-rtptime” gboolean

Make the RTP packets' timestamps be scaled with the segment's rate (corresponding to RTSP speed parameter). Disabling this property means the timestamps will not be affected by the set delivery speed (RTSP speed).

Example: A server wants to allow streaming a recorded video in double speed but still have the timestamps correspond to the position in the video. This is achieved by the client setting RTSP Speed to 2 while the server has this property disabled.

Flags : Read / Write

#### scale-rtptime

    “scale-rtptime” Number

Make the RTP packets' timestamps be scaled with the segment's rate (corresponding to RTSP speed parameter). Disabling this property means the timestamps will not be affected by the set delivery speed (RTSP speed).

Example: A server wants to allow streaming a recorded video in double speed but still have the timestamps correspond to the position in the video. This is achieved by the client setting RTSP Speed to 2 while the server has this property disabled.

Flags : Read / Write

#### scale_rtptime

    “self.props.scale_rtptime” bool

Make the RTP packets' timestamps be scaled with the segment's rate (corresponding to RTSP speed parameter). Disabling this property means the timestamps will not be affected by the set delivery speed (RTSP speed).

Example: A server wants to allow streaming a recorded video in double speed but still have the timestamps correspond to the position in the video. This is achieved by the client setting RTSP Speed to 2 while the server has this property disabled.

Flags : Read / Write

#### seqnum

    “seqnum” guint

Flags : Read

#### seqnum

    “seqnum” Number

Flags : Read

#### seqnum

    “self.props.seqnum” int

Flags : Read

#### seqnum-offset

    “seqnum-offset” gint

Flags : Read / Write

#### seqnum-offset

    “seqnum-offset” Number

Flags : Read / Write

#### seqnum_offset

    “self.props.seqnum_offset” int

Flags : Read / Write

#### source-info

    “source-info” gboolean

Enable writing the CSRC field in allocated RTP header based on RTP source information found in the input buffer's GstRTPSourceMeta.

Flags : Read / Write

#### source-info

    “source-info” Number

Enable writing the CSRC field in allocated RTP header based on RTP source information found in the input buffer's GstRtp.RTPSourceMeta.

Flags : Read / Write

#### source_info

    “self.props.source_info” bool

Enable writing the CSRC field in allocated RTP header based on RTP source information found in the input buffer's GstRtp.RTPSourceMeta.

Flags : Read / Write

#### ssrc

    “ssrc” guint

Flags : Read / Write

#### ssrc

    “ssrc” Number

Flags : Read / Write

#### ssrc

    “self.props.ssrc” int

Flags : Read / Write

#### stats

    “stats” GstStructure *

Various payloader statistics retrieved atomically (and are therefore synchroized with each other), these can be used e.g. to generate an RTP-Info header. This property return a GstStructure named application/x-rtp-payload-stats containing the following fields relating to the last processed buffer and current state of the stream being payloaded:

- `clock-rate` :#G_TYPE_UINT, clock-rate of the stream
- `running-time` :#G_TYPE_UINT64, running time
- `seqnum` :#G_TYPE_UINT, sequence number, same as seqnum
- `timestamp` :#G_TYPE_UINT, RTP timestamp, same as timestamp
- `ssrc` :#G_TYPE_UINT, The SSRC in use
- `pt` :#G_TYPE_UINT, The Payload type in use, same as pt
- `seqnum-offset` :#G_TYPE_UINT, The current offset added to the seqnum
- `timestamp-offset` :#G_TYPE_UINT, The current offset added to the timestamp

Flags : Read

#### stats

    “stats” Gst.Structure

Various payloader statistics retrieved atomically (and are therefore synchroized with each other), these can be used e.g. to generate an RTP-Info header. This property return a GstStructure named application/x-rtp-payload-stats containing the following fields relating to the last processed buffer and current state of the stream being payloaded:

- `clock-rate` :#G_TYPE_UINT, clock-rate of the stream
- `running-time` :#G_TYPE_UINT64, running time
- `seqnum` :#G_TYPE_UINT, sequence number, same as seqnum
- `timestamp` :#G_TYPE_UINT, RTP timestamp, same as timestamp
- `ssrc` :#G_TYPE_UINT, The SSRC in use
- `pt` :#G_TYPE_UINT, The Payload type in use, same as pt
- `seqnum-offset` :#G_TYPE_UINT, The current offset added to the seqnum
- `timestamp-offset` :#G_TYPE_UINT, The current offset added to the timestamp

Flags : Read

#### stats

    “self.props.stats” Gst.Structure

Various payloader statistics retrieved atomically (and are therefore synchroized with each other), these can be used e.g. to generate an RTP-Info header. This property return a GstStructure named application/x-rtp-payload-stats containing the following fields relating to the last processed buffer and current state of the stream being payloaded:

- `clock-rate` :#G_TYPE_UINT, clock-rate of the stream
- `running-time` :#G_TYPE_UINT64, running time
- `seqnum` :#G_TYPE_UINT, sequence number, same as seqnum
- `timestamp` :#G_TYPE_UINT, RTP timestamp, same as timestamp
- `ssrc` :#G_TYPE_UINT, The SSRC in use
- `pt` :#G_TYPE_UINT, The Payload type in use, same as pt
- `seqnum-offset` :#G_TYPE_UINT, The current offset added to the seqnum
- `timestamp-offset` :#G_TYPE_UINT, The current offset added to the timestamp

Flags : Read

#### timestamp

    “timestamp” guint

Flags : Read

#### timestamp

    “timestamp” Number

Flags : Read

#### timestamp

    “self.props.timestamp” int

Flags : Read

#### timestamp-offset

    “timestamp-offset” guint

Flags : Read / Write

#### timestamp-offset

    “timestamp-offset” Number

Flags : Read / Write

#### timestamp_offset

    “self.props.timestamp_offset” int

Flags : Read / Write

### Virtual Methods

#### get_caps

    GstCaps *
    get_caps (GstRTPBasePayload * payload,
              GstPad * pad,
              GstCaps * filter)

get desired caps

Parameters:

`payload` –
No description available
`pad` –
No description available
`filter` –
No description available
Returns –
No description available

#### vfunc_get_caps

    function vfunc_get_caps(payload: GstRtp.RTPBasePayload, pad: Gst.Pad, filter: Gst.Caps): {
        // javascript implementation of the 'get_caps' virtual method
    }

get desired caps

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`pad` (Gst.Pad) –
No description available
`filter` (Gst.Caps) –
No description available
Returns (Gst.Caps) –
No description available

#### do_get_caps

    def do_get_caps (payload, pad, filter):
        #python implementation of the 'get_caps' virtual method

get desired caps

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`pad` (Gst.Pad) –
No description available
`filter` (Gst.Caps) –
No description available
Returns (Gst.Caps) –
No description available

#### handle_buffer

    GstFlowReturn
    handle_buffer (GstRTPBasePayload * payload,
                   GstBuffer * buffer)

process data

Parameters:

`payload` –
No description available
`buffer` –
No description available
Returns –
No description available

#### vfunc_handle_buffer

    function vfunc_handle_buffer(payload: GstRtp.RTPBasePayload, buffer: Gst.Buffer): {
        // javascript implementation of the 'handle_buffer' virtual method
    }

process data

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`buffer` (Gst.Buffer) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_handle_buffer

    def do_handle_buffer (payload, buffer):
        #python implementation of the 'handle_buffer' virtual method

process data

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`buffer` (Gst.Buffer) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### query

    gboolean
    query (GstRTPBasePayload * payload,
           GstPad * pad,
           GstQuery * query)

custom query handling

Parameters:

`payload` –
No description available
`pad` –
No description available
`query` –
No description available
Returns –
No description available

#### vfunc_query

    function vfunc_query(payload: GstRtp.RTPBasePayload, pad: Gst.Pad, query: Gst.Query): {
        // javascript implementation of the 'query' virtual method
    }

custom query handling

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`pad` (Gst.Pad) –
No description available
`query` (Gst.Query) –
No description available
Returns (Number) –
No description available

#### do_query

    def do_query (payload, pad, query):
        #python implementation of the 'query' virtual method

custom query handling

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`pad` (Gst.Pad) –
No description available
`query` (Gst.Query) –
No description available
Returns (bool) –
No description available

#### set_caps

    gboolean
    set_caps (GstRTPBasePayload * payload,
              GstCaps * caps)

configure the payloader

Parameters:

`payload` –
No description available
`caps` –
No description available
Returns –
No description available

#### vfunc_set_caps

    function vfunc_set_caps(payload: GstRtp.RTPBasePayload, caps: Gst.Caps): {
        // javascript implementation of the 'set_caps' virtual method
    }

configure the payloader

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (Number) –
No description available

#### do_set_caps

    def do_set_caps (payload, caps):
        #python implementation of the 'set_caps' virtual method

configure the payloader

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (bool) –
No description available

#### sink_event

    gboolean
    sink_event (GstRTPBasePayload * payload,
                GstEvent * event)

custom event handling on the sinkpad

Parameters:

`payload` –
No description available
`event` –
No description available
Returns –
No description available

#### vfunc_sink_event

    function vfunc_sink_event(payload: GstRtp.RTPBasePayload, event: Gst.Event): {
        // javascript implementation of the 'sink_event' virtual method
    }

custom event handling on the sinkpad

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (Number) –
No description available

#### do_sink_event

    def do_sink_event (payload, event):
        #python implementation of the 'sink_event' virtual method

custom event handling on the sinkpad

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (bool) –
No description available

#### src_event

    gboolean
    src_event (GstRTPBasePayload * payload,
               GstEvent * event)

custom event handling on the srcpad

Parameters:

`payload` –
No description available
`event` –
No description available
Returns –
No description available

#### vfunc_src_event

    function vfunc_src_event(payload: GstRtp.RTPBasePayload, event: Gst.Event): {
        // javascript implementation of the 'src_event' virtual method
    }

custom event handling on the srcpad

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (Number) –
No description available

#### do_src_event

    def do_src_event (payload, event):
        #python implementation of the 'src_event' virtual method

custom event handling on the srcpad

Parameters:

`payload` (GstRtp.RTPBasePayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (bool) –
No description available

## Function Macros

### GST_RTP_BASE_PAYLOAD_CAST

    #define GST_RTP_BASE_PAYLOAD_CAST(obj) \
            ((GstRTPBasePayload*)(obj))

### GST_RTP_BASE_PAYLOAD_MTU

    #define GST_RTP_BASE_PAYLOAD_MTU(payload) (GST_RTP_BASE_PAYLOAD (payload)->mtu)

Get access to the configured MTU of payload.

Parameters:

`payload` –

a GstRTPBasePayload

### GST_RTP_BASE_PAYLOAD_PT

    #define GST_RTP_BASE_PAYLOAD_PT(payload)  (GST_RTP_BASE_PAYLOAD (payload)->pt)

Get access to the configured payload type of payload.

Parameters:

`payload` –

a GstRTPBasePayload

### GST_RTP_BASE_PAYLOAD_SINKPAD

    #define GST_RTP_BASE_PAYLOAD_SINKPAD(payload) (GST_RTP_BASE_PAYLOAD (payload)->sinkpad)

Get access to the sinkpad of payload.

Parameters:

`payload` –

a GstRTPBasePayload

### GST_RTP_BASE_PAYLOAD_SRCPAD

    #define GST_RTP_BASE_PAYLOAD_SRCPAD(payload)  (GST_RTP_BASE_PAYLOAD (payload)->srcpad)

Get access to the srcpad of payload.

Parameters:

`payload` –

a GstRTPBasePayload

## Constants

### GST_TYPE_RTP_BASE_PAYLOAD

    #define GST_TYPE_RTP_BASE_PAYLOAD \
            (gst_rtp_base_payload_get_type())

The results of the search are