rtprtxsend

See rtprtxreceive for examples

The purpose of the sender RTX object is to keep a history of RTP packets up to a configurable limit (max-size-time or max-size-packets). It will listen for upstream custom retransmission events (GstRTPRetransmissionRequest) that comes from downstream (#GstRtpSession). When receiving a request it will look up the requested seqnum in its list of stored packets. If the packet is available, it will create a RTX packet according to RFC 4588 and send this as an auxiliary stream. RTX is SSRC-multiplexed

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──rtprtxsend

Factory details

Authors: – Julien Isorce

Classification:Codec

Rank – none

Plugin – rtpmanager

Package – GStreamer Good Plug-ins

Pad Templates

sink

application/x-rtp:

Presencealways

Directionsink

Object typeGstPad


src

application/x-rtp:

Presencealways

Directionsrc

Object typeGstPad


Action Signals

add-extension

g_signal_emit_by_name (param_0, "add-extension", arg0);
ret = param_0.emit ("add-extension", arg0)
let ret = param_0.emit ("add-extension", arg0);

Add ext as an extension for writing part of an RTP header extension onto outgoing RTP packets. Currently only supports using the following extension URIs. All other RTP header extensions are copied as-is.

  • "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id": will be removed
  • "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id": will be written instead of the "rtp-stream-id" header extension.

Parameters:

param_0 (GstElement *)
No description available
arg0 (GstRTPHeaderExtension *)
No description available

Flags: Run Last / Action

Since : 1.22


clear-extensions

g_signal_emit_by_name (object, "clear-extensions");
ret = object.emit ("clear-extensions")
let ret = object.emit ("clear-extensions");

Clear all RTP header extensions used by this rtprtxsend.

Parameters:

object (GstElement *)

the GstRTPBasePayload

Flags: Run Last / Action

Since : 1.22


Properties

clock-rate-map

“clock-rate-map” GstStructure *

Map of payload types to their clock rates

Flags : Read / Write


max-size-packets

“max-size-packets” guint

Amount of packets to queue (0 = unlimited)

Flags : Read / Write

Default value : 100


max-size-time

“max-size-time” guint

Amount of ms to queue (0 = unlimited)

Flags : Read / Write

Default value : 0


num-rtx-packets

“num-rtx-packets” guint

Number of retransmission packets sent

Flags : Read

Default value : 0


num-rtx-requests

“num-rtx-requests” guint

Number of retransmission events received

Flags : Read

Default value : 0


payload-type-map

“payload-type-map” GstStructure *

Map of original payload types to their retransmission payload types

Flags : Read / Write


ssrc-map

“ssrc-map” GstStructure *

Map of SSRCs to their retransmission SSRCs for SSRC-multiplexed mode (default = random)

Flags : Read / Write


The results of the search are