rtpstorage

Helper element for storing packets to aid later packet recovery from packet loss using RED/FEC (Forward Error Correction).

The purpose of this element is to store a moving window of packets which downstream elements such as can request in order to perform recovery of lost packets upon receiving custom GstRtpPacketLost events, usually from .

As such, when building a pipeline manually, it should have the form:

rtpstorage ! rtpjitterbuffer ! rtpulpfecdec

where rtpulpfecdec get passed a reference to the object pointed to by the property.

The property should be configured with a value equal to the latency, plus some tolerance, in the order of milliseconds, for example in the example found at https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecclient.rs, size-time is configured as 200 + 50 milliseconds (latency + tolerance).

When using , a storage element is created automatically, and can be configured upon receiving the signal.

See also: ,

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──rtpstorage

Factory details

Authors: – Mikhail Fludkov

Classification:Analyzer/RTP

Rank – none

Plugin – rtp

Package – GStreamer Good Plug-ins

Pad Templates

sink

application/x-rtp:

Presencealways

Directionsink

Object typeGstPad


src

application/x-rtp:

Presencealways

Directionsrc

Object typeGstPad


Properties

internal-storage

“internal-storage” GObject *

Internal RtpStorage object

Flags : Read


size-time

“size-time” guint64

The amount of data to keep in the storage (in ns, 0-disable)

Flags : Read / Write / Construct

Default value : 0


The results of the search are