manpagez: man pages & more
html files: gst-plugins-good-plugins-1.0
Home | html | info | man

rtprtxqueue

rtprtxqueue

Properties

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstRTPRtxQueue

Description

rtprtxqueue maintains a queue of transmitted RTP packets, up to a configurable limit (see “max-size-time”, “max-size-packets”), and retransmits them upon request from the downstream rtpsession (GstRTPRetransmissionRequest event).

This element is similar to rtprtxsend, but it has differences:

  • Retransmission from rtprtxqueue is not RFC 4588 compliant. The retransmitted packets have the same ssrc and payload type as the original stream.

  • As a side-effect of the above, rtprtxqueue does not require the use of rtprtxreceive on the receiving end. rtpjitterbuffer alone is able to reconstruct the stream.

  • Retransmission from rtprtxqueue happens as soon as the next regular flow packet is chained, while rtprtxsend retransmits as soon as the retransmission event is received, using a helper thread.

  • rtprtxqueue can be used with rtpbin without the need of hooking to its “request-aux-sender” signal, which means it can be used with rtpbin using gst-launch.

See also GstRtpRtxSend, GstRtpRtxReceive

Example pipelines

1
2
3
4
5
gst-launch-1.0 rtpbin name=b rtp-profile=avpf \
   audiotestsrc is-live=true ! opusenc ! rtpopuspay pt=96 ! rtprtxqueue ! b.send_rtp_sink_0 \
   b.send_rtp_src_0 ! identity drop-probability=0.01 ! udpsink host="127.0.0.1" port=5000 \
   udpsrc port=5001 ! b.recv_rtcp_sink_0 \
   b.send_rtcp_src_0 ! udpsink host="127.0.0.1" port=5002 sync=false async=false

Sender pipeline

1
2
3
4
5
6
gst-launch-1.0 rtpbin name=b rtp-profile=avpf do-retransmission=true \
   udpsrc port=5000 caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)OPUS,payload=(int)96" ! \
       b.recv_rtp_sink_0 \
   b. ! rtpopusdepay ! opusdec ! audioconvert ! audioresample ! autoaudiosink \
   udpsrc port=5002 ! b.recv_rtcp_sink_0 \
   b.send_rtcp_src_0 ! udpsink host="127.0.0.1" port=5001 sync=false async=false

Receiver pipeline

Synopsis

Element Information

plugin

rtpmanager

author

Wim Taymans <wim.taymans@gmail.com>

class

Codec

Element Pads

name

sink

direction

sink

presence

always

details

application/x-rtp

name

src

direction

source

presence

always

details

application/x-rtp

Functions

Types and Values

struct GstRTPRtxQueue

struct GstRTPRtxQueue;

The opaque GstRTPRtxQueue structure.

Property Details

The “max-size-packets” property

  “max-size-packets”         guint

Amount of packets to queue (0 = unlimited).

Flags: Read / Write

Default value: 100


The “max-size-time” property

  “max-size-time”            guint

Amount of ms to queue (0 = unlimited).

Flags: Read / Write

Default value: 0


The “fulfilled-requests” property

  “fulfilled-requests”       guint

Number of fulfilled retransmission requests.

Flags: Read

Default value: 0


The “requests” property

  “requests”                 guint

Total number of retransmission requests.

Flags: Read

Default value: 0

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.