# GstRTPBaseDepayload

Provides a base class for RTP depayloaders

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

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

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

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

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

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

#### source-info

    “source-info” gboolean

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

Flags : Read / Write

#### source-info

    “source-info” Number

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

Flags : Read / Write

#### source_info

    “self.props.source_info” bool

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

Flags : Read / Write

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