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 GstRtpPtDemux::new-payload-type signal will be emitted. When the payload for the RTP stream changes, the GstRtpPtDemux::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 GstRtpPtDemux::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:
src_%u
application/x-rtp:
payload: [ 0, 255 ]
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
–
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
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 GstRtpJitterBuffer, but cease to be useful past that point, GstRtpBin will make use of this property for that purpose.
Flags : Read / Write
The results of the search are