rtpptdemux

rtpptdemux acts as a demuxer for RTP packets based on the payload type of the packets. Its main purpose is to allow an application to easily receive and decode an RTP stream with multiple payload types.

For each payload type that is detected, a new pad will be created and the new-payload-type signal will be emitted. When the payload for the RTP stream changes, the payload-type-change signal will be emitted.

The element will try to set complete and unique application/x-rtp caps on the output pads based on the result of the request-pt-map signal.

Example pipelines

 gst-launch-1.0 udpsrc caps="application/x-rtp" ! rtpptdemux ! fakesink

Takes an RTP stream and send the RTP packets with the first detected payload type to fakesink, discarding the other payload types.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──rtpptdemux

Factory details

Authors: – Kai Vehmanen

Classification:Demux/Network/RTP

Rank – none

Plugin – gstrtpmanager

Package – GStreamer Good Plug-ins git

Pad Templates

sink

application/x-rtp:

Presencealways

Directionsink


src_%u

application/x-rtp:
        payload: [ 0, 255 ]

Presencesometimes

Directionsrc


Signals

clear-pt-map

clear_pt_map_callback (GstElement * demux,
                       gpointer udata)
def clear_pt_map_callback (demux, udata):
    #python callback for the 'clear-pt-map' signal
function clear_pt_map_callback(demux: GstElement * demux, udata: gpointer udata): {
    // javascript callback for the 'clear-pt-map' signal
}

The application can call this signal to instruct the element to discard the currently cached payload type map.

Parameters:

demux

the object which received the signal

udata
No description available

new-payload-type

new_payload_type_callback (GstElement * demux,
                           guint pt,
                           GstPad * pad,
                           gpointer udata)
def new_payload_type_callback (demux, pt, pad, udata):
    #python callback for the 'new-payload-type' signal
function new_payload_type_callback(demux: GstElement * demux, pt: guint pt, pad: GstPad * pad, udata: gpointer udata): {
    // javascript callback for the 'new-payload-type' signal
}

Emited when a new payload type pad has been created in demux.

Parameters:

demux

the object which received the signal

pt

the payload type

pad

the pad with the new payload

udata
No description available

no-more-pads

no_more_pads_callback (GstElement * param_0,
                       gpointer udata)
def no_more_pads_callback (param_0, udata):
    #python callback for the 'no-more-pads' signal
function no_more_pads_callback(param_0: GstElement * param_0, udata: gpointer udata): {
    // javascript callback for the 'no-more-pads' signal
}

Parameters:

param_0
No description available
udata
No description available

pad-added

pad_added_callback (GstElement * param_0,
                    GstPad * param_1,
                    gpointer udata)
def pad_added_callback (param_0, param_1, udata):
    #python callback for the 'pad-added' signal
function pad_added_callback(param_0: GstElement * param_0, param_1: GstPad * param_1, udata: gpointer udata): {
    // javascript callback for the 'pad-added' signal
}

Parameters:

param_0
No description available
param_1
No description available
udata
No description available

pad-removed

pad_removed_callback (GstElement * param_0,
                      GstPad * param_1,
                      gpointer udata)
def pad_removed_callback (param_0, param_1, udata):
    #python callback for the 'pad-removed' signal
function pad_removed_callback(param_0: GstElement * param_0, param_1: GstPad * param_1, udata: gpointer udata): {
    // javascript callback for the 'pad-removed' signal
}

Parameters:

param_0
No description available
param_1
No description available
udata
No description available

payload-type-change

payload_type_change_callback (GstElement * demux,
                              guint pt,
                              gpointer udata)
def payload_type_change_callback (demux, pt, udata):
    #python callback for the 'payload-type-change' signal
function payload_type_change_callback(demux: GstElement * demux, pt: guint pt, udata: gpointer udata): {
    // javascript callback for the 'payload-type-change' signal
}

Emited when the payload type changed.

Parameters:

demux

the object which received the signal

pt

the new payload type

udata
No description available

request-pt-map

GstCaps *
request_pt_map_callback (GstElement * demux,
                         guint pt,
                         gpointer udata)
def request_pt_map_callback (demux, pt, udata):
    #python callback for the 'request-pt-map' signal
function request_pt_map_callback(demux: GstElement * demux, pt: guint pt, udata: gpointer udata): {
    // javascript callback for the 'request-pt-map' signal
}

Request the payload type as GstCaps for pt.

Parameters:

demux

the object which received the signal

pt

the payload type

udata
No description available
Returns ( GstCaps * ) –
No description available

Properties

ignored-payload-types

“ignored-payload-types” GstValueArray*

If specified, packets with an ignored payload type will be dropped, instead of causing a new pad to be exposed for these to be pushed on.

This is for example useful to drop FEC protection packets, as they need to go through the rtpjitterbuffer, but cease to be useful past that point, rtpbin will make use of this property for that purpose.

Flags : Read / Write


name

“name” gchararray

The name of the object

Flags : Read / Write / Construct

Default value : NULL


parent

“parent” GstObject *

The parent of the object

Flags : Read / Write


The results of the search are