# GstRTPBaseDepayload

Provides a base class for RTP depayloaders

In order to handle RTP header extensions correctly if the depayloader aggregates multiple RTP packet payloads into one output buffer this class provides the function gst_rtp_base_depayload_set_aggregate_hdrext_enabled. If the aggregation is enabled the virtual functions GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet must tell the base class what happens to the current RTP packet. By default the base class assumes that the packet payload is used with the next output buffer.

If the RTP packet will not be used with an output buffer gst_rtp_base_depayload_dropped must be called. A typical situation would be if we are waiting for a keyframe.

If the RTP packet will be used but not with the current output buffer but with the next one gst_rtp_base_depayload_delayed must be called. This may happen if the current RTP packet signals the start of a new output buffer and the currently processed output buffer will be pushed first. The undelay happens implicitly once the current buffer has been pushed or gst_rtp_base_depayload_flush has been called.

If gst_rtp_base_depayload_flush is called all RTP packets that have not been dropped since the last output buffer are dropped, e.g. if an output buffer is discarded due to malformed data. This may or may not include the current RTP packet depending on the 2nd parameter keep_current.

Be aware that in case gst_rtp_base_depayload_push_list is used each buffer will see the same list of RTP header extensions.

## GstRTPBaseDepayload

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstRTPBaseDepayload

### Members

`parent` (GstElement) –
No description available
`sinkpad` (GstPad *) –
No description available
`srcpad` (GstPad *) –
No description available
`clock_rate` (guint) –
No description available
`segment` (GstSegment) –
No description available
`need_newsegment` (gboolean) –
No description available

### Class structure

#### GstRTPBaseDepayloadClass

Base class for RTP depayloaders.

##### Fields

`parent_class` (GstElementClass) –

the parent class

### GstRtp.RTPBaseDepayloadClass

Base class for RTP depayloaders.

##### Attributes

`parent_class` (Gst.ElementClass) –

the parent class

### GstRtp.RTPBaseDepayloadClass

Base class for RTP depayloaders.

##### Attributes

`parent_class` (Gst.ElementClass) –

the parent class

## GstRtp.RTPBaseDepayload

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstRtp.RTPBaseDepayload

### Members

`parent` (Gst.Element) –
No description available
`sinkpad` (Gst.Pad) –
No description available
`srcpad` (Gst.Pad) –
No description available
`clock_rate` (Number) –
No description available
`segment` (Gst.Segment) –
No description available
`need_newsegment` (Number) –
No description available

## GstRtp.RTPBaseDepayload

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstRtp.RTPBaseDepayload

### Members

`parent` (Gst.Element) –
No description available
`sinkpad` (Gst.Pad) –
No description available
`srcpad` (Gst.Pad) –
No description available
`clock_rate` (int) –
No description available
`segment` (Gst.Segment) –
No description available
`need_newsegment` (bool) –
No description available

### Methods

#### gst_rtp_base_depayload_delayed

    gst_rtp_base_depayload_delayed (GstRTPBaseDepayload * depayload)

Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet when the depayloader needs to keep the current input RTP header for use with the next output buffer.

The delayed buffer will remain until the end of processing the current output buffer and then enqueued for processing with the next output buffer.

A typical use-case is when the depayloader implementation will start a new output buffer for the current input RTP buffer but push the current output buffer first.

Must be called with the stream lock held.

Parameters:

`depayload` –

a GstRTPBaseDepayload

Since : 1.24

#### GstRtp.RTPBaseDepayload.prototype.delayed

    function GstRtp.RTPBaseDepayload.prototype.delayed(): {
        // javascript wrapper for 'gst_rtp_base_depayload_delayed'
    }

Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet when the depayloader needs to keep the current input RTP header for use with the next output buffer.

The delayed buffer will remain until the end of processing the current output buffer and then enqueued for processing with the next output buffer.

A typical use-case is when the depayloader implementation will start a new output buffer for the current input RTP buffer but push the current output buffer first.

Must be called with the stream lock held.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Since : 1.24

#### GstRtp.RTPBaseDepayload.delayed

    def GstRtp.RTPBaseDepayload.delayed (self):
        #python wrapper for 'gst_rtp_base_depayload_delayed'

Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet when the depayloader needs to keep the current input RTP header for use with the next output buffer.

The delayed buffer will remain until the end of processing the current output buffer and then enqueued for processing with the next output buffer.

A typical use-case is when the depayloader implementation will start a new output buffer for the current input RTP buffer but push the current output buffer first.

Must be called with the stream lock held.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Since : 1.24

#### gst_rtp_base_depayload_dropped

    gst_rtp_base_depayload_dropped (GstRTPBaseDepayload * depayload)

Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet if the depayloader does not use the current buffer for the output buffer. This will either drop the delayed buffer or the last buffer from the header extension cache.

A typical use-case is when the depayloader implementation is dropping an input RTP buffer while waiting for the first keyframe.

Must be called with the stream lock held.

Parameters:

`depayload` –

a GstRTPBaseDepayload

Since : 1.24

#### GstRtp.RTPBaseDepayload.prototype.dropped

    function GstRtp.RTPBaseDepayload.prototype.dropped(): {
        // javascript wrapper for 'gst_rtp_base_depayload_dropped'
    }

Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet if the depayloader does not use the current buffer for the output buffer. This will either drop the delayed buffer or the last buffer from the header extension cache.

A typical use-case is when the depayloader implementation is dropping an input RTP buffer while waiting for the first keyframe.

Must be called with the stream lock held.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Since : 1.24

#### GstRtp.RTPBaseDepayload.dropped

    def GstRtp.RTPBaseDepayload.dropped (self):
        #python wrapper for 'gst_rtp_base_depayload_dropped'

Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet if the depayloader does not use the current buffer for the output buffer. This will either drop the delayed buffer or the last buffer from the header extension cache.

A typical use-case is when the depayloader implementation is dropping an input RTP buffer while waiting for the first keyframe.

Must be called with the stream lock held.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Since : 1.24

#### gst_rtp_base_depayload_flush

    gst_rtp_base_depayload_flush (GstRTPBaseDepayload * depayload,
                                  gboolean keep_current)

If GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet drop an output buffer this function tells the base class to flush header extension cache as well.

This will not drop an input RTP header marked as delayed from gst_rtp_base_depayload_delayed.

If keep_current is TRUE the current input RTP header will be kept and enqueued after flushing the previous input RTP headers.

A typical use-case for keep_current is when the depayloader implementation invalidates the current output buffer and starts a new one with the current RTP input buffer.

Must be called with the stream lock held.

Parameters:

`depayload` –

a GstRTPBaseDepayload

`keep_current` –

if the current RTP buffer shall be kept

Since : 1.24

#### GstRtp.RTPBaseDepayload.prototype.flush

    function GstRtp.RTPBaseDepayload.prototype.flush(keep_current: Number): {
        // javascript wrapper for 'gst_rtp_base_depayload_flush'
    }

If GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet drop an output buffer this function tells the base class to flush header extension cache as well.

This will not drop an input RTP header marked as delayed from GstRtp.RTPBaseDepayload.prototype.delayed.

If keep_current is true the current input RTP header will be kept and enqueued after flushing the previous input RTP headers.

A typical use-case for keep_current is when the depayloader implementation invalidates the current output buffer and starts a new one with the current RTP input buffer.

Must be called with the stream lock held.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`keep_current` (Number) –

if the current RTP buffer shall be kept

Since : 1.24

#### GstRtp.RTPBaseDepayload.flush

    def GstRtp.RTPBaseDepayload.flush (self, keep_current):
        #python wrapper for 'gst_rtp_base_depayload_flush'

If GstRTPBaseDepayload.process or GstRTPBaseDepayload.process_rtp_packet drop an output buffer this function tells the base class to flush header extension cache as well.

This will not drop an input RTP header marked as delayed from GstRtp.RTPBaseDepayload.delayed.

If keep_current is True the current input RTP header will be kept and enqueued after flushing the previous input RTP headers.

A typical use-case for keep_current is when the depayloader implementation invalidates the current output buffer and starts a new one with the current RTP input buffer.

Must be called with the stream lock held.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`keep_current` (bool) –

if the current RTP buffer shall be kept

Since : 1.24

#### gst_rtp_base_depayload_is_aggregate_hdrext_enabled

    gboolean
    gst_rtp_base_depayload_is_aggregate_hdrext_enabled (GstRTPBaseDepayload * depayload)

Queries whether header extensions will be aggregated per depayloaded buffers.

Parameters:

`depayload` –

a GstRTPBaseDepayload

Returns –

TRUE if aggregate-header-extension is enabled.

Since : 1.24

#### GstRtp.RTPBaseDepayload.prototype.is_aggregate_hdrext_enabled

    function GstRtp.RTPBaseDepayload.prototype.is_aggregate_hdrext_enabled(): {
        // javascript wrapper for 'gst_rtp_base_depayload_is_aggregate_hdrext_enabled'
    }

Queries whether header extensions will be aggregated per depayloaded buffers.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Returns (Number) –

true if aggregate-header-extension is enabled.

Since : 1.24

#### GstRtp.RTPBaseDepayload.is_aggregate_hdrext_enabled

    def GstRtp.RTPBaseDepayload.is_aggregate_hdrext_enabled (self):
        #python wrapper for 'gst_rtp_base_depayload_is_aggregate_hdrext_enabled'

Queries whether header extensions will be aggregated per depayloaded buffers.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Returns (bool) –

True if aggregate-header-extension is enabled.

Since : 1.24

#### gst_rtp_base_depayload_is_source_info_enabled

    gboolean
    gst_rtp_base_depayload_is_source_info_enabled (GstRTPBaseDepayload * depayload)

Queries whether GstRTPSourceMeta will be added to depayloaded buffers.

Parameters:

`depayload` –

a GstRTPBaseDepayload

Returns –

TRUE if source-info is enabled.

Since : 1.16

#### GstRtp.RTPBaseDepayload.prototype.is_source_info_enabled

    function GstRtp.RTPBaseDepayload.prototype.is_source_info_enabled(): {
        // javascript wrapper for 'gst_rtp_base_depayload_is_source_info_enabled'
    }

Queries whether GstRtp.RTPSourceMeta will be added to depayloaded buffers.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Returns (Number) –

true if source-info is enabled.

Since : 1.16

#### GstRtp.RTPBaseDepayload.is_source_info_enabled

    def GstRtp.RTPBaseDepayload.is_source_info_enabled (self):
        #python wrapper for 'gst_rtp_base_depayload_is_source_info_enabled'

Queries whether GstRtp.RTPSourceMeta will be added to depayloaded buffers.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

Returns (bool) –

True if source-info is enabled.

Since : 1.16

#### 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 incoming timestamp on the outgoing buffer when it didn't have a timestamp already.

Parameters:

`filter` –

a GstRTPBaseDepayload

`out_buf` ( [transfer: full]) –

a GstBuffer

Returns –

a GstFlowReturn.

#### GstRtp.RTPBaseDepayload.prototype.push

    function GstRtp.RTPBaseDepayload.prototype.push(out_buf: Gst.Buffer): {
        // javascript wrapper for 'gst_rtp_base_depayload_push'
    }

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

This function will by default apply the last incoming timestamp on the outgoing buffer when it didn't have a timestamp already.

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`out_buf` (Gst.Buffer) –

a Gst.Buffer

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### GstRtp.RTPBaseDepayload.push

    def GstRtp.RTPBaseDepayload.push (self, out_buf):
        #python wrapper for 'gst_rtp_base_depayload_push'

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

This function will by default apply the last incoming timestamp on the outgoing buffer when it didn't have a timestamp already.

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`out_buf` (Gst.Buffer) –

a Gst.Buffer

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### 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.

Parameters:

`filter` –

a GstRTPBaseDepayload

`out_list` ( [transfer: full]) –

a GstBufferList

Returns –

a GstFlowReturn.

#### GstRtp.RTPBaseDepayload.prototype.push_list

    function GstRtp.RTPBaseDepayload.prototype.push_list(out_list: Gst.BufferList): {
        // javascript wrapper for 'gst_rtp_base_depayload_push_list'
    }

Push out_list to the peer of filter. This function takes ownership of out_list.

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`out_list` (Gst.BufferList) –

a Gst.BufferList

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### GstRtp.RTPBaseDepayload.push_list

    def GstRtp.RTPBaseDepayload.push_list (self, out_list):
        #python wrapper for 'gst_rtp_base_depayload_push_list'

Push out_list to the peer of filter. This function takes ownership of out_list.

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`out_list` (Gst.BufferList) –

a Gst.BufferList

Returns (Gst.FlowReturn) –

a Gst.FlowReturn.

#### gst_rtp_base_depayload_set_aggregate_hdrext_enabled

    gst_rtp_base_depayload_set_aggregate_hdrext_enabled (GstRTPBaseDepayload * depayload,
                                                         gboolean enable)

Enable or disable aggregating header extensions.

Parameters:

`depayload` –

a GstRTPBaseDepayload

`enable` –

whether to aggregate header extensions per output buffer

Since : 1.24

#### GstRtp.RTPBaseDepayload.prototype.set_aggregate_hdrext_enabled

    function GstRtp.RTPBaseDepayload.prototype.set_aggregate_hdrext_enabled(enable: Number): {
        // javascript wrapper for 'gst_rtp_base_depayload_set_aggregate_hdrext_enabled'
    }

Enable or disable aggregating header extensions.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`enable` (Number) –

whether to aggregate header extensions per output buffer

Since : 1.24

#### GstRtp.RTPBaseDepayload.set_aggregate_hdrext_enabled

    def GstRtp.RTPBaseDepayload.set_aggregate_hdrext_enabled (self, enable):
        #python wrapper for 'gst_rtp_base_depayload_set_aggregate_hdrext_enabled'

Enable or disable aggregating header extensions.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`enable` (bool) –

whether to aggregate header extensions per output buffer

Since : 1.24

#### gst_rtp_base_depayload_set_source_info_enabled

    gst_rtp_base_depayload_set_source_info_enabled (GstRTPBaseDepayload * depayload,
                                                    gboolean enable)

Enable or disable adding GstRTPSourceMeta to depayloaded buffers.

Parameters:

`depayload` –

a GstRTPBaseDepayload

`enable` –

whether to add meta about RTP sources to buffer

Since : 1.16

#### GstRtp.RTPBaseDepayload.prototype.set_source_info_enabled

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

Enable or disable adding GstRtp.RTPSourceMeta to depayloaded buffers.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`enable` (Number) –

whether to add meta about RTP sources to buffer

Since : 1.16

#### GstRtp.RTPBaseDepayload.set_source_info_enabled

    def GstRtp.RTPBaseDepayload.set_source_info_enabled (self, enable):
        #python wrapper for 'gst_rtp_base_depayload_set_source_info_enabled'

Enable or disable adding GstRtp.RTPSourceMeta to depayloaded buffers.

Parameters:

`depayload` (GstRtp.RTPBaseDepayload) –

a GstRtp.RTPBaseDepayload

`enable` (bool) –

whether to add meta about RTP sources to buffer

Since : 1.16

### Signals

#### request-extension

    GstRTPHeaderExtension *
    request_extension_callback (GstRTPBaseDepayload * 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` ( [nullable]) –

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.RTPBaseDepayload, 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.RTPBaseDepayload) –
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.RTPBaseDepayload) –
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 reading part of an RTP header extension from incoming RTP packets.

Parameters:

`self` (GstRTPBaseDepayload *) –
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 reading part of an RTP header extension from incoming RTP packets.

Parameters:

`self` (GstRtp.RTPBaseDepayload) –
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 reading part of an RTP header extension from incoming RTP packets.

Parameters:

`self` (GstRtp.RTPBaseDepayload) –
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 depayloader.

Parameters:

`self` (GstRTPBaseDepayload *) –
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 depayloader.

Parameters:

`self` (GstRtp.RTPBaseDepayload) –
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 depayloader.

Parameters:

`self` (GstRtp.RTPBaseDepayload) –
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 depayloader will automatically try to enable all the RTP header extensions provided in the sink caps, saving the application the need to handle these extensions manually using the GstRTPBaseDepayload::request-extension: signal.

Flags : Read / Write

Since : 1.20

#### auto-header-extension

    “auto-header-extension” Number

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

Flags : Read / Write

Since : 1.20

#### auto_header_extension

    “self.props.auto_header_extension” bool

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

Flags : Read / Write

Since : 1.20

#### extensions

    “extensions” GstValueArray *

A list of already enabled RTP header extensions. This may be useful for finding out which extensions are already enabled (with add-extension signal) and picking a non-conflicting ID for a new extension that needs to be added on top of the existing ones.

Note that the value returned by reading this property is not dynamically updated when the set of enabled extensions changes by any of existing action signals. Rather, it represents the current state at the time the property is read.

Dynamic updates of this property can be received by subscribing to its corresponding "notify" signal, i.e. "notify::extensions".

Flags : Read

Since : 1.24

#### extensions

    “extensions” Gst.ValueArray

A list of already enabled RTP header extensions. This may be useful for finding out which extensions are already enabled (with add-extension signal) and picking a non-conflicting ID for a new extension that needs to be added on top of the existing ones.

Note that the value returned by reading this property is not dynamically updated when the set of enabled extensions changes by any of existing action signals. Rather, it represents the current state at the time the property is read.

Dynamic updates of this property can be received by subscribing to its corresponding "notify" signal, i.e. "notify::extensions".

Flags : Read

Since : 1.24

#### extensions

    “self.props.extensions” Gst.ValueArray

A list of already enabled RTP header extensions. This may be useful for finding out which extensions are already enabled (with add-extension signal) and picking a non-conflicting ID for a new extension that needs to be added on top of the existing ones.

Note that the value returned by reading this property is not dynamically updated when the set of enabled extensions changes by any of existing action signals. Rather, it represents the current state at the time the property is read.

Dynamic updates of this property can be received by subscribing to its corresponding "notify" signal, i.e. "notify::extensions".

Flags : Read

Since : 1.24

#### max-reorder

    “max-reorder” gint

Max seqnum reorder before the sender is assumed to have restarted.

When max-reorder is set to 0 all reordered/duplicate packets are considered coming from a restarted sender.

Flags : Read / Write

Since : 1.18

#### max-reorder

    “max-reorder” Number

Max seqnum reorder before the sender is assumed to have restarted.

When max-reorder is set to 0 all reordered/duplicate packets are considered coming from a restarted sender.

Flags : Read / Write

Since : 1.18

#### max_reorder

    “self.props.max_reorder” int

Max seqnum reorder before the sender is assumed to have restarted.

When max-reorder is set to 0 all reordered/duplicate packets are considered coming from a restarted sender.

Flags : Read / Write

Since : 1.18

#### source-info

    “source-info” gboolean

Add RTP source information found in RTP header as meta to output buffer.

Flags : Read / Write

Since : 1.16

#### source-info

    “source-info” Number

Add RTP source information found in RTP header as meta to output buffer.

Flags : Read / Write

Since : 1.16

#### source_info

    “self.props.source_info” bool

Add RTP source information found in RTP header as meta to output buffer.

Flags : Read / Write

Since : 1.16

#### stats

    “stats” GstStructure *

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

Flags : Read

#### stats

    “stats” Gst.Structure

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 (not introspectable), clock-rate of the stream
- `npt-start`: G_TYPE_UINT64 (not introspectable), time of playback start
- `npt-stop`: G_TYPE_UINT64 (not introspectable), time of playback stop
- `play-speed`: G_TYPE_DOUBLE (not introspectable), the playback speed
- `play-scale`: G_TYPE_DOUBLE (not introspectable), the playback scale
- `running-time-dts`: G_TYPE_UINT64 (not introspectable), the last running-time of the last DTS
- `running-time-pts`: G_TYPE_UINT64 (not introspectable), the last running-time of the last PTS
- `seqnum`: G_TYPE_UINT (not introspectable), the last seen seqnum
- `timestamp`: G_TYPE_UINT (not introspectable), the last seen RTP timestamp

Flags : Read

#### stats

    “self.props.stats” Gst.Structure

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 (not introspectable), clock-rate of the stream
- `npt-start`: G_TYPE_UINT64 (not introspectable), time of playback start
- `npt-stop`: G_TYPE_UINT64 (not introspectable), time of playback stop
- `play-speed`: G_TYPE_DOUBLE (not introspectable), the playback speed
- `play-scale`: G_TYPE_DOUBLE (not introspectable), the playback scale
- `running-time-dts`: G_TYPE_UINT64 (not introspectable), the last running-time of the last DTS
- `running-time-pts`: G_TYPE_UINT64 (not introspectable), the last running-time of the last PTS
- `seqnum`: G_TYPE_UINT (not introspectable), the last seen seqnum
- `timestamp`: G_TYPE_UINT (not introspectable), the last seen RTP timestamp

Flags : Read

### Virtual Methods

#### handle_event

    gboolean
    handle_event (GstRTPBaseDepayload * filter,
                  GstEvent * event)

custom event handling

Parameters:

`filter` –
No description available
`event` –
No description available
Returns –
No description available

#### vfunc_handle_event

    function vfunc_handle_event(filter: GstRtp.RTPBaseDepayload, event: Gst.Event): {
        // javascript implementation of the 'handle_event' virtual method
    }

custom event handling

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (Number) –
No description available

#### do_handle_event

    def do_handle_event (filter, event):
        #python implementation of the 'handle_event' virtual method

custom event handling

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (bool) –
No description available

#### packet_lost

    gboolean
    packet_lost (GstRTPBaseDepayload * filter,
                 GstEvent * event)

signal the depayloader about packet loss

Parameters:

`filter` –
No description available
`event` –
No description available
Returns –
No description available

#### vfunc_packet_lost

    function vfunc_packet_lost(filter: GstRtp.RTPBaseDepayload, event: Gst.Event): {
        // javascript implementation of the 'packet_lost' virtual method
    }

signal the depayloader about packet loss

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (Number) –
No description available

#### do_packet_lost

    def do_packet_lost (filter, event):
        #python implementation of the 'packet_lost' virtual method

signal the depayloader about packet loss

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –
No description available
`event` (Gst.Event) –
No description available
Returns (bool) –
No description available

#### process

    GstBuffer *
    process (GstRTPBaseDepayload * base,
             GstBuffer * in)

process incoming rtp packets. Subclass must implement either this method or process_rtp_packet to process incoming rtp packets. If the child returns a buffer without a valid timestamp, the timestamp of the provided buffer will be applied to the result buffer and the buffer will be pushed. If this function returns NULL, nothing is pushed.

Parameters:

`base` –
No description available
`in` –
No description available
Returns –
No description available

#### vfunc_process

    function vfunc_process(base: GstRtp.RTPBaseDepayload, in: Gst.Buffer): {
        // javascript implementation of the 'process' virtual method
    }

process incoming rtp packets. Subclass must implement either this method or process_rtp_packet to process incoming rtp packets. If the child returns a buffer without a valid timestamp, the timestamp of the provided buffer will be applied to the result buffer and the buffer will be pushed. If this function returns null, nothing is pushed.

Parameters:

`base` (GstRtp.RTPBaseDepayload) –
No description available
`in` (Gst.Buffer) –
No description available
Returns (Gst.Buffer) –
No description available

#### do_process

    def do_process (base, in):
        #python implementation of the 'process' virtual method

process incoming rtp packets. Subclass must implement either this method or process_rtp_packet to process incoming rtp packets. If the child returns a buffer without a valid timestamp, the timestamp of the provided buffer will be applied to the result buffer and the buffer will be pushed. If this function returns None, nothing is pushed.

Parameters:

`base` (GstRtp.RTPBaseDepayload) –
No description available
`in` (Gst.Buffer) –
No description available
Returns (Gst.Buffer) –
No description available

#### process_rtp_packet

    GstBuffer *
    process_rtp_packet (GstRTPBaseDepayload * base,
                        GstRTPBuffer * rtp_buffer)

Same as the process virtual function, but slightly more efficient, since it is passed the rtp buffer structure that has already been mapped (with GST_MAP_READ) by the base class and thus does not have to be mapped again by the subclass. Can be used by the subclass to process incoming rtp packets. If the subclass returns a buffer without a valid timestamp, the timestamp of the input buffer will be applied to the result buffer and the output buffer will be pushed out. If this function returns NULL, nothing is pushed out. Since: 1.6.

Parameters:

`base` –
No description available
`rtp_buffer` –
No description available
Returns –
No description available

#### vfunc_process_rtp_packet

    function vfunc_process_rtp_packet(base: GstRtp.RTPBaseDepayload, rtp_buffer: GstRtp.RTPBuffer): {
        // javascript implementation of the 'process_rtp_packet' virtual method
    }

Same as the process virtual function, but slightly more efficient, since it is passed the rtp buffer structure that has already been mapped (with GST_MAP_READ) by the base class and thus does not have to be mapped again by the subclass. Can be used by the subclass to process incoming rtp packets. If the subclass returns a buffer without a valid timestamp, the timestamp of the input buffer will be applied to the result buffer and the output buffer will be pushed out. If this function returns null, nothing is pushed out. Since: 1.6.

Parameters:

`base` (GstRtp.RTPBaseDepayload) –
No description available
`rtp_buffer` (GstRtp.RTPBuffer) –
No description available
Returns (Gst.Buffer) –
No description available

#### do_process_rtp_packet

    def do_process_rtp_packet (base, rtp_buffer):
        #python implementation of the 'process_rtp_packet' virtual method

Same as the process virtual function, but slightly more efficient, since it is passed the rtp buffer structure that has already been mapped (with GST_MAP_READ) by the base class and thus does not have to be mapped again by the subclass. Can be used by the subclass to process incoming rtp packets. If the subclass returns a buffer without a valid timestamp, the timestamp of the input buffer will be applied to the result buffer and the output buffer will be pushed out. If this function returns None, nothing is pushed out. Since: 1.6.

Parameters:

`base` (GstRtp.RTPBaseDepayload) –
No description available
`rtp_buffer` (GstRtp.RTPBuffer) –
No description available
Returns (Gst.Buffer) –
No description available

#### set_caps

    gboolean
    set_caps (GstRTPBaseDepayload * filter,
              GstCaps * caps)

configure the depayloader

Parameters:

`filter` –
No description available
`caps` –
No description available
Returns –
No description available

#### vfunc_set_caps

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

configure the depayloader

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (Number) –
No description available

#### do_set_caps

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

configure the depayloader

Parameters:

`filter` (GstRtp.RTPBaseDepayload) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (bool) –
No description available

## Function Macros

### GST_RTP_BASE_DEPAYLOAD_CAST

    #define GST_RTP_BASE_DEPAYLOAD_CAST(obj) ((GstRTPBaseDepayload *)(obj))

### GST_RTP_BASE_DEPAYLOAD_SINKPAD

    #define GST_RTP_BASE_DEPAYLOAD_SINKPAD(depayload) (GST_RTP_BASE_DEPAYLOAD_CAST (depayload)->sinkpad)

### GST_RTP_BASE_DEPAYLOAD_SRCPAD

    #define GST_RTP_BASE_DEPAYLOAD_SRCPAD(depayload)  (GST_RTP_BASE_DEPAYLOAD_CAST (depayload)->srcpad)

The results of the search are