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 rtpulpfecdec can request in order to perform recovery of lost packets upon receiving custom GstRtpPacketLost events, usually from rtpjitterbuffer.
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 internal-storage property.
The size-time property should be configured with a value
equal to the rtpjitterbuffer 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 rtpbin, a storage element is created automatically, and can be configured upon receiving the new-storage signal.
See also: rtpbin, rtpulpfecdec
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
Properties
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