mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 23:28:16 +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.
|
* types of the RED packets.
|
||||||
*
|
*
|
||||||
* When using #GstRtpBin, this element should be inserted through the
|
* 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
|
* See also: #GstRtpRedEnc, #GstWebRTCBin, #GstRtpBin
|
||||||
* Since: 1.14
|
* Since: 1.14
|
||||||
|
|
|
@ -26,6 +26,11 @@
|
||||||
* Generic Forward Error Correction (FEC) decoder for Uneven Level
|
* Generic Forward Error Correction (FEC) decoder for Uneven Level
|
||||||
* Protection (ULP) as described in RFC 5109.
|
* 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
|
* This element will work in combination with an upstream #GstRtpStorage
|
||||||
* element and attempt to recover packets declared lost through custom
|
* element and attempt to recover packets declared lost through custom
|
||||||
* 'GstRTPPacketLost' events, usually emitted by #GstRtpJitterBuffer.
|
* 'GstRTPPacketLost' events, usually emitted by #GstRtpJitterBuffer.
|
||||||
|
@ -33,17 +38,25 @@
|
||||||
* If no storage is provided using the #GstRtpUlpFecDec:storage
|
* If no storage is provided using the #GstRtpUlpFecDec:storage
|
||||||
* property, it will try to get it from an element upstream.
|
* 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
|
* Additionally, the payload types of the protection packets *must* be
|
||||||
* provided to this element via its #GstRtpUlpFecDec:pt property.
|
* provided to this element via its #GstRtpUlpFecDec:pt property.
|
||||||
*
|
*
|
||||||
* When using #GstRtpBin, this element should be inserted through the
|
* When using #GstRtpBin, this element should be inserted through the
|
||||||
* #GstRtpBin::request-fec-decoder signal.
|
* #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
|
* See also: #GstRtpUlpFecEnc, #GstRtpBin, #GstRtpStorage
|
||||||
* Since: 1.14
|
* Since: 1.14
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -26,6 +26,15 @@
|
||||||
* Generic Forward Error Correction (FEC) encoder using Uneven Level
|
* Generic Forward Error Correction (FEC) encoder using Uneven Level
|
||||||
* Protection (ULP) as described in RFC 5109.
|
* 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
|
* This element will insert protection packets in any RTP stream, which
|
||||||
* can then be used on the receiving side to recover lost packets.
|
* 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
|
* When using #GstRtpBin, this element should be inserted through the
|
||||||
* #GstRtpBin::request-fec-encoder signal.
|
* #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
|
* Example programs using this element can be found at
|
||||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecserver.rs>
|
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecserver.rs>
|
||||||
* and
|
* and
|
||||||
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecclient.rs>.
|
* <https://github.com/sdroege/gstreamer-rs/blob/master/examples/src/bin/rtpfecclient.rs>.
|
||||||
|
* </refsect2>
|
||||||
*
|
*
|
||||||
* See also: #GstRtpUlpFecDec, #GstRtpBin
|
* See also: #GstRtpUlpFecDec, #GstRtpBin
|
||||||
* Since: 1.14
|
* Since: 1.14
|
||||||
|
|
Loading…
Reference in a new issue