rtppassthroughpay

This elements pass RTP packets along unchanged and appear as a RTP payloader element to the outside world.

This is useful, for example, in the case where you are receiving RTP packets from a different source and want to serve them over RTSP. Since the gst-rtsp-server library expect the element marked as payX to be a RTP payloader element and assumes certain properties are available.

Example pipelines

 gst-launch-1.0 rtpbin name=rtpbin \
     videotestsrc ! videoconvert ! x264enc ! rtph264pay ! rtpbin.send_rtp_sink_0 \
     rtpbin.send_rtp_src_0 ! udpsink port=5000

Encode and payload H264 video from videotestsrc. The H264 RTP packets are sent on UDP port 5000.

 test-launch "( udpsrc port=5000 caps=application/x-rtp, ..." ! .recv_rtp_sink_0 \
      rtpbin ! rtppassthroughpay name=pay0 )"

Setup a gstreamer-rtsp-server using the example tool, it will listen for H264 RTP packets on port 5000 and present them using the rtppassthroughpay element as the well-known payloader pay0.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──rtppassthroughpay

Factory details

Authors: – Sebastian Dröge , Jonas Danielsson

Classification:Codec/Payloader/Network/RTP

Rank – none

Plugin – rtp

Package – GStreamer Good Plug-ins

Pad Templates

sink

application/x-rtp:
        payload: [ 0, 127 ]
     clock-rate: [ 1, 2147483647 ]

Presencealways

Directionsink

Object typeGstPad


src

application/x-rtp:
        payload: [ 0, 127 ]
     clock-rate: [ 1, 2147483647 ]

Presencealways

Directionsrc

Object typeGstPad


Properties

mtu

“mtu” guint

Setting this property has no effect on this element, it is here and it is writable only to emulate a proper RTP payloader.

Flags : Read / Write

Default value : 0

Since : 1.24


pt

“pt” guint

If set this will override the payload of the incoming RTP packets. If not set the payload type will be same as incoming RTP packets.

Flags : Read / Write

Default value : 128

Since : 1.24


retimestamp-mode

“retimestamp-mode” Rtp-passthrough-pay-retimestamp-mode *

If enabled, this mode will cause RTP timestamps to be re-generated based on the PTS of each processed buffer.

Flags : Read / Write

Default value : disabled (0)

Since : 1.26


seqnum

“seqnum” guint

Flags : Read

Default value : 0

Since : 1.24


seqnum-offset

“seqnum-offset” gint

Flags : Read / Write

Default value : 0

Since : 1.24


stats

“stats” GstStructure *

Flags : Read

Default value :

application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)0, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)128, seqnum-offset=(uint)0, timestamp-offset=(uint)0;

Since : 1.24


timestamp

“timestamp” guint

Flags : Read

Default value : 0

Since : 1.24


timestamp-offset

“timestamp-offset” guint

Flags : Read / Write

Default value : 0

Since : 1.24


Named constants

Rtp-passthrough-pay-retimestamp-mode

Members

disabled (0) – No retimestamping
enabled (1) – Retimestamp based on PTS of each buffer

Since : 1.26


The results of the search are