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 – rtpmanager

Package – GStreamer Good Plug-ins

Pad Templates

sink

application/x-rtp:

Presencealways

Directionsink

Object typeGstPad


src_%u

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

Presencesometimes

Directionsrc

Object typeGstPad


Signals

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
}

Emitted 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

Flags: Run Last


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
}

Emitted when the payload type changed.

Parameters:

demux

the object which received the signal

pt

the new payload type

udata
No description available

Flags: Run Last


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

Flags: Run Last


Action Signals

clear-pt-map

g_signal_emit_by_name (demux, "clear-pt-map");
ret = demux.emit ("clear-pt-map")
let ret = demux.emit ("clear-pt-map");

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

Parameters:

demux (GstElement *)

the object which received the signal

Flags: Run Last / Action


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

Since : 1.14


The results of the search are