mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 15:18:21 +00:00
rtpulpfec*: Improve documentation
This commit is contained in:
parent
070eacdd4f
commit
11f3018170
3 changed files with 36 additions and 6 deletions
|
@ -34,7 +34,7 @@
|
|||
* types of the RED packets.
|
||||
*
|
||||
* When using #GstRtpBin, this element should be inserted through the
|
||||
* #GstRtpBin::request-fec-decoder signal.
|
||||
* #GstRtpBin::request-aux-receiver signal.
|
||||
*
|
||||
* See also: #GstRtpRedEnc, #GstWebRTCBin, #GstRtpBin
|
||||
* Since: 1.14
|
||||
|
|
|
@ -26,6 +26,11 @@
|
|||
* Generic Forward Error Correction (FEC) decoder for Uneven Level
|
||||
* Protection (ULP) as described in RFC 5109.
|
||||
*
|
||||
* It differs from the RFC in one important way, it multiplexes the
|
||||
* FEC packets in the same sequence number as media packets. This is to be
|
||||
* compatible with libwebrtc as using in Google Chrome and with Microsoft
|
||||
* Lync / Skype for Business.
|
||||
*
|
||||
* This element will work in combination with an upstream #GstRtpStorage
|
||||
* element and attempt to recover packets declared lost through custom
|
||||
* 'GstRTPPacketLost' events, usually emitted by #GstRtpJitterBuffer.
|
||||
|
@ -33,17 +38,25 @@
|
|||
* If no storage is provided using the #GstRtpUlpFecDec:storage
|
||||
* property, it will try to get it from an element upstream.
|
||||
*
|
||||
* Example programs are available at
|
||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecserver.rs>
|
||||
* and
|
||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecclient.rs>.
|
||||
*
|
||||
* Additionally, the payload types of the protection packets *must* be
|
||||
* provided to this element via its #GstRtpUlpFecDec:pt property.
|
||||
*
|
||||
* When using #GstRtpBin, this element should be inserted through the
|
||||
* #GstRtpBin::request-fec-decoder signal.
|
||||
*
|
||||
* <refsect2>
|
||||
* <title>Example pipeline</title>
|
||||
* |[
|
||||
* gst-launch-1.0 udpsrc port=8888 caps="application/x-rtp, payload=96, clock-rate=90000" ! rtpstorage size-time=220000000 ! rtpssrcdemux ! application/x-rtp, payload=96, clock-rate=90000, media=video, encoding-name=H264 ! rtpjitterbuffer do-lost=1 latency=200 ! rtpulpfecdec pt=122 ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink
|
||||
* ]| This example will receive a stream with FEC and try to reconstruct the packets.
|
||||
*
|
||||
* Example programs are available at
|
||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecserver.rs>
|
||||
* and
|
||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecclient.rs>.
|
||||
*
|
||||
* </refsect2>
|
||||
*
|
||||
* See also: #GstRtpUlpFecEnc, #GstRtpBin, #GstRtpStorage
|
||||
* Since: 1.14
|
||||
*/
|
||||
|
|
|
@ -26,6 +26,15 @@
|
|||
* Generic Forward Error Correction (FEC) encoder using Uneven Level
|
||||
* Protection (ULP) as described in RFC 5109.
|
||||
*
|
||||
* It differs from the RFC in one important way, it multiplexes the
|
||||
* FEC packets in the same sequence number as media packets. This is to be
|
||||
* compatible with libwebrtc as using in Google Chrome and with Microsoft
|
||||
* Lync / Skype for Business.
|
||||
*
|
||||
* Be warned that after using this element, it is no longer possible to know if
|
||||
* there is a gap in the media stream based on the sequence numbers as the FEC
|
||||
* packets become interleaved with the media packets.
|
||||
*
|
||||
* This element will insert protection packets in any RTP stream, which
|
||||
* can then be used on the receiving side to recover lost packets.
|
||||
*
|
||||
|
@ -60,10 +69,18 @@
|
|||
* When using #GstRtpBin, this element should be inserted through the
|
||||
* #GstRtpBin::request-fec-encoder signal.
|
||||
*
|
||||
*
|
||||
* <refsect2>
|
||||
* <title>Example pipeline</title>
|
||||
* |[
|
||||
* gst-launch-1.0 videotestsrc ! x264enc ! video/x-h264, profile=baseline ! rtph264pay pt=96 ! rtpulpfecenc percentage=100 pt=122 ! udpsink port=8888
|
||||
* ]| This example will receive a stream with FEC and try to reconstruct the packets.
|
||||
*
|
||||
* Example programs using this element can be found at
|
||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecserver.rs>
|
||||
* and
|
||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecclient.rs>.
|
||||
* </refsect2>
|
||||
*
|
||||
* See also: #GstRtpUlpFecDec, #GstRtpBin
|
||||
* Since: 1.14
|
||||
|
|
Loading…
Reference in a new issue