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
src_%u
application/x-rtp:
payload: [ 0, 255 ]
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
–
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
–
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
–
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:
the object which received the signal
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