rtpvorbispay2

Payloads an Vorbis audio stream into RTP packets as per RFC 5215.

Aggregation Modes

The default aggregation mode is auto: If upstream is live, the payloader will send out all audio frames immediately, even if they don't completely fill a packet, in order to minimise latency. If upstream is not live, the payloader will by default aggregate audio frames until it has completely filled an RTP packet as per the configured MTU size or the max-ptime property if it is set (it is not set by default).

The aggregation mode can be controlled via the aggregate-mode property.

Example pipeline

 gst-launch audiotestsrc wave=ticks ! vorbisenc ! rtpvorbispay2 ! udpsink host=127.0.0.1 port=5004

This will encode an audio test signal to Vorbis and then payload the encoded audio into RTP packets and send them out via UDP to localhost (IPv4) port 5004. You can use the rtpvorbisdepay2 or rtpvorbisdepay elements to depayload such a stream, and the vorbisdec element to decode the depayloaded stream. Note that if you don't have external signalling (RTSP, SDP, WebRTC, RTP caps with a configuration field) you may need to set the config-interval property on the payloader/sender to enable in-band header transmission.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstRtpBasePay2
                    ╰──rtpvorbispay2

Factory details

Authors: – Tim-Philipp Müller

Classification: – Codec/Payloader/Network/RTP

Rank – primary + 1

Plugin – rsrtp

Package – gst-plugin-rtp

Pad Templates

sink

audio/x-vorbis:
       channels: [ 1, 255 ]
           rate: [ 1, 200000 ]

Presence – always

Direction – sink

Object type – GstPad


src

application/x-rtp:
          media: audio
  encoding-name: VORBIS
     clock-rate: [ 1, 2147483647 ]

Presence – always

Direction – src

Object type – GstPad


Properties

aggregate-mode

“aggregate-mode” Rtp-vorbis-pay-aggregate-mode *

Whether to send out audio frames immediately or aggregate them until a packet is full.

Flags : Read / Write

Default value : auto (-1)


config-interval

“config-interval” guint

Regularly send Vorbis configuration headers in-band instead of relying on external signalling (0 = disabled)

Flags : Read / Write

Default value : 0


max-ptime

“max-ptime” gint64

Maximum duration of the packet data in ns (-1 = unlimited up to MTU)

Flags : Read / Write

Default value : 18446744073709551615


Named constants

Rtp-vorbis-pay-aggregate-mode

Members

auto (-1) – Automatic: zero-latency if upstream is live, otherwise aggregate frames until packet is full.
zero-latency (0) – Zero Latency: always send out frames right away, do not wait for more frames to fill a packet.
aggregate (1) – Aggregate: collect audio frames until we have a full packet or the max-ptime limit is hit (if set).

The results of the search are