summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-02-22 14:58:12 +0000
committerTim-Philipp Müller <tim@centricular.com>2018-02-22 15:56:49 +0000
commit427033591caf3cf9e51ed359072c518771313731 (patch)
treef38f35966cd6cfa2d279bcb89c94fd8e14785d7e
parent59fc403ee665af04351c7195c9bdd3ce5994e653 (diff)
docs: hook up new RTP FEC elements
https://bugzilla.gnome.org/show_bug.cgi?id=792696
-rw-r--r--docs/plugins/gst-plugins-good-plugins-docs.sgml5
-rw-r--r--docs/plugins/gst-plugins-good-plugins-sections.txt80
-rw-r--r--docs/plugins/gst-plugins-good-plugins.args200
-rw-r--r--docs/plugins/gst-plugins-good-plugins.hierarchy5
-rw-r--r--docs/plugins/gst-plugins-good-plugins.signals33
-rw-r--r--docs/plugins/inspect/plugin-rtp.xml105
-rw-r--r--gst/rtp/gstrtpreddec.c10
-rw-r--r--gst/rtp/gstrtpredenc.c10
-rw-r--r--gst/rtp/gstrtpstorage.c14
-rw-r--r--gst/rtp/gstrtpulpfecdec.c11
-rw-r--r--gst/rtp/gstrtpulpfecenc.c11
11 files changed, 484 insertions, 0 deletions
diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml
index 626a23bde..660d1ca97 100644
--- a/docs/plugins/gst-plugins-good-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml
@@ -224,6 +224,8 @@
<xi:include href="xml/element-rtpptdemux.xml" />
<xi:include href="xml/element-rtpqcelpdepay.xml" />
<xi:include href="xml/element-rtpqdm2depay.xml" />
+ <xi:include href="xml/element-rtpreddec.xml" />
+ <xi:include href="xml/element-rtpredenc.xml" />
<xi:include href="xml/element-rtprtxqueue.xml" />
<xi:include href="xml/element-rtprtxreceive.xml" />
<xi:include href="xml/element-rtprtxsend.xml" />
@@ -235,11 +237,14 @@
<xi:include href="xml/element-rtpspeexdepay.xml" />
<xi:include href="xml/element-rtpspeexpay.xml" />
<xi:include href="xml/element-rtpssrcdemux.xml" />
+ <xi:include href="xml/element-rtpstorage.xml" />
<xi:include href="xml/element-rtpstreamdepay.xml" />
<xi:include href="xml/element-rtpstreampay.xml" />
<xi:include href="xml/element-rtpsv3vdepay.xml" />
<xi:include href="xml/element-rtptheoradepay.xml" />
<xi:include href="xml/element-rtptheorapay.xml" />
+ <xi:include href="xml/element-rtpulpfecdec.xml" />
+ <xi:include href="xml/element-rtpulpfecenc.xml" />
<xi:include href="xml/element-rtpvorbisdepay.xml" />
<xi:include href="xml/element-rtpvorbispay.xml" />
<xi:include href="xml/element-rtpvp8depay.xml" />
diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt
index 89de073c3..97cd2351e 100644
--- a/docs/plugins/gst-plugins-good-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-good-plugins-sections.txt
@@ -3332,6 +3332,38 @@ gst_rtp_qd_m2_depay_get_type
</SECTION>
<SECTION>
+<FILE>element-rtpreddec</FILE>
+<TITLE>rtpreddec</TITLE>
+GstRtpRedDec
+<SUBSECTION Standard>
+GstRtpRedDecClass
+GST_RTP_RED_DEC
+GST_RTP_RED_DEC_CAST
+GST_IS_RTP_RED_DEC
+GST_RTP_RED_DEC_CLASS
+GST_IS_RTP_RED_DEC_CLASS
+GST_TYPE_RTP_RED_DEC
+<SUBSECTION Private>
+gst_rtp_red_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rtpredenc</FILE>
+<TITLE>rtpredenc</TITLE>
+GstRtpRedEnc
+<SUBSECTION Standard>
+GstRtpRedEncClass
+GST_RTP_RED_ENC
+GST_RTP_RED_ENC_CAST
+GST_IS_RTP_RED_ENC
+GST_RTP_RED_ENC_CLASS
+GST_IS_RTP_RED_ENC_CLASS
+GST_TYPE_RTP_RED_ENC
+<SUBSECTION Private>
+gst_rtp_red_enc_get_type
+</SECTION>
+
+<SECTION>
<FILE>element-rtprtxreceive</FILE>
<TITLE>rtprtxreceive</TITLE>
GstRtpRtxReceive
@@ -3475,6 +3507,22 @@ GST_TYPE_RTP_SSRC_DEMUX
gst_rtp_ssrc_demux_get_type
</SECTION>
+ <SECTION>
+<FILE>element-rtpstorage</FILE>
+<TITLE>rtpstorage</TITLE>
+GstRtpStorage
+<SUBSECTION Standard>
+GstRtpStorageClass
+GST_RTP_STORAGE
+GST_RTP_STORAGE_CAST
+GST_IS_RTP_STORAGE
+GST_RTP_STORAGE_CLASS
+GST_IS_RTP_STORAGE_CLASS
+GST_TYPE_RTP_STORAGE
+<SUBSECTION Private>
+gst_rtp_storage_get_type
+</SECTION>
+
<SECTION>
<FILE>element-rtpstreamdepay</FILE>
<TITLE>rtpstreamdepay</TITLE>
@@ -3540,6 +3588,38 @@ gst_rtp_theora_pay_get_type
</SECTION>
<SECTION>
+<FILE>element-rtpulpfecdec</FILE>
+<TITLE>rtpulpfecdec</TITLE>
+GstRtpUlpFecDec
+<SUBSECTION Standard>
+GstRtpUlpFecDecClass
+GST_RTP_ULP_FEC_DEC
+GST_RTP_ULP_FEC_DEC_CAST
+GST_IS_RTP_ULP_FEC_DEC
+GST_RTP_ULP_FEC_DEC_CLASS
+GST_IS_RTP_ULP_FEC_DEC_CLASS
+GST_TYPE_RTP_ULP_FEC_DEC
+<SUBSECTION Private>
+gst_rtp_ulp_fec_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rtpulpfecenc</FILE>
+<TITLE>rtpulpfecenc</TITLE>
+GstRtpUlpFecEnc
+<SUBSECTION Standard>
+GstRtpUlpFecEncClass
+GST_RTP_ULP_FEC_ENC
+GST_RTP_ULP_FEC_ENC_CAST
+GST_IS_RTP_ULP_FEC_ENC
+GST_RTP_ULP_FEC_ENC_CLASS
+GST_IS_RTP_ULP_FEC_ENC_CLASS
+GST_TYPE_RTP_ULP_FEC_ENC
+<SUBSECTION Private>
+gst_rtp_ulp_fec_enc_get_type
+</SECTION>
+
+<SECTION>
<FILE>element-rtpvp8depay</FILE>
<TITLE>rtpvp8depay</TITLE>
GstRtpVP8Depay
diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args
index 4a124b482..57e8fcbbb 100644
--- a/docs/plugins/gst-plugins-good-plugins.args
+++ b/docs/plugins/gst-plugins-good-plugins.args
@@ -24648,3 +24648,203 @@
<DEFAULT></DEFAULT>
</ARG>
+<ARG>
+<NAME>GstRtpPtDemux::ignored-payload-types</NAME>
+<TYPE>GstValueArray</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Ignored payload types</NICK>
+<BLURB>Packets with these payload types will be dropped.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::multipacket</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Multipacket</NICK>
+<BLURB>Apply FEC on multiple packets.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::mux-seq</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Mux seq</NICK>
+<BLURB>Mux seqnum for media and fec packets in same seqnum space.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::percentage</NAME>
+<TYPE>guint</TYPE>
+<RANGE><= 100</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Percentage</NICK>
+<BLURB>FEC overhead percentage for the whole stream.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::percentage-important</NAME>
+<TYPE>guint</TYPE>
+<RANGE><= 100</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Percentage important</NICK>
+<BLURB>FEC overhead percentage for important packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::protected</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Protected</NICK>
+<BLURB>Count of protected packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::pt</NAME>
+<TYPE>guint</TYPE>
+<RANGE><= 255</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>payload type</NICK>
+<BLURB>The payload type of FEC packets.</BLURB>
+<DEFAULT>255</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecEnc::ssrc</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>SSRC</NICK>
+<BLURB>The SSRC to use on FEC'd packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecDec::pt</NAME>
+<TYPE>guint</TYPE>
+<RANGE><= 127</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>pt</NICK>
+<BLURB>FEC packets payload type.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecDec::recovered</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>recovered</NICK>
+<BLURB>The number of recovered packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecDec::storage</NAME>
+<TYPE>GObject*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>RTP storage</NICK>
+<BLURB>RTP storage.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpUlpFecDec::unrecovered</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>unrecovered</NICK>
+<BLURB>The number of unrecovered packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpStorage::internal-storage</NAME>
+<TYPE>GObject*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Internal storage</NICK>
+<BLURB>Internal RtpStorage object.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpStorage::size-time</NAME>
+<TYPE>guint64</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Storage size (in ns)</NICK>
+<BLURB>The amount of data to keep in the storage (in ns, 0-disable).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpRedEnc::allow-no-red-blocks</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Allow no redundant blocks</NICK>
+<BLURB>true - can produce RED packets even without redundant blocks (distance==0) false - RED packets will be produced only if distance>0.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpRedEnc::distance</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>RED distance</NICK>
+<BLURB>Tells which media packet to use as a redundant block (0 - no redundant blocks, 1 to use previous packet, 2 to use the packet before previous, etc.).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpRedEnc::pt</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,127]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>payload type</NICK>
+<BLURB>Payload type FEC packets (-1 disable).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpRedEnc::sent</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Sent</NICK>
+<BLURB>Count of sent packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpRedDec::pt</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[G_MAXULONG,127]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>payload type</NICK>
+<BLURB>Payload type FEC packets.</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRtpRedDec::received</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Received</NICK>
+<BLURB>Count of received packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-plugins-good-plugins.hierarchy b/docs/plugins/gst-plugins-good-plugins.hierarchy
index 9a43e0fd8..1f947d451 100644
--- a/docs/plugins/gst-plugins-good-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-good-plugins.hierarchy
@@ -289,11 +289,16 @@ GObject
GstRndBufferSize
GstRtpJitterBuffer
GstRtpPtDemux
+ GstRtpRedDec
+ GstRtpRedEnc
GstRtpRtxReceive
GstRtpRtxSend
GstRtpSession
GstRtpSsrcDemux
+ GstRtpStorage
GstRtpStreamPay
+ GstRtpUlpFecDec
+ GstRtpUlpFecEnc
GstSMPTE
GstShapeWipe
GstTagDemux
diff --git a/docs/plugins/gst-plugins-good-plugins.signals b/docs/plugins/gst-plugins-good-plugins.signals
index 2882331ab..82742a5d1 100644
--- a/docs/plugins/gst-plugins-good-plugins.signals
+++ b/docs/plugins/gst-plugins-good-plugins.signals
@@ -383,6 +383,39 @@ guint arg1
</SIGNAL>
<SIGNAL>
+<NAME>GstRtpBin::get-internal-storage</NAME>
+<RETURNS>GObject*</RETURNS>
+<FLAGS>la</FLAGS>
+GstRtpBin *gstrtpbin
+guint arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstRtpBin::new-storage</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstRtpBin *gstrtpbin
+GstElement *arg1
+guint arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstRtpBin::request-fec-decoder</NAME>
+<RETURNS>GstElement*</RETURNS>
+<FLAGS>l</FLAGS>
+GstRtpBin *gstrtpbin
+guint arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstRtpBin::request-fec-encoder</NAME>
+<RETURNS>GstElement*</RETURNS>
+<FLAGS>l</FLAGS>
+GstRtpBin *gstrtpbin
+guint arg1
+</SIGNAL>
+
+<SIGNAL>
<NAME>GstRtpJitterBuffer::clear-pt-map</NAME>
<RETURNS>void</RETURNS>
<FLAGS>la</FLAGS>
diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml
index 9186cd41a..6ebba8c85 100644
--- a/docs/plugins/inspect/plugin-rtp.xml
+++ b/docs/plugins/inspect/plugin-rtp.xml
@@ -1459,6 +1459,48 @@
</pads>
</element>
<element>
+ <name>rtpreddec</name>
+ <longname>Redundant Audio Data (RED) Decoder</longname>
+ <class>Codec/Depayloader/Network/RTP</class>
+ <description>Decode Redundant Audio Data (RED)</description>
+ <author>Hani Mustafa &lt;hani@pexip.com&gt;, Mikhail Fludkov &lt;misha@pexip.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
+ <name>rtpredenc</name>
+ <longname>Redundant Audio Data (RED) Encoder</longname>
+ <class>Codec/Payloader/Network/RTP</class>
+ <description>Encode Redundant Audio Data (RED)</description>
+ <author>Hani Mustafa &lt;hani@pexip.com&gt;, Mikhail Fludkov &lt;misha@pexip.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>rtpsbcdepay</name>
<longname>RTP SBC audio depayloader</longname>
<class>Codec/Depayloader/Network/RTP</class>
@@ -1585,6 +1627,27 @@
</pads>
</element>
<element>
+ <name>rtpstorage</name>
+ <longname>RTP storage</longname>
+ <class>Analyzer/RTP</class>
+ <description>Helper element for various purposes (ex. recovering from packet loss using RED/FEC). Saves given number of RTP packets. Should be instantiated before jitterbuffer</description>
+ <author>Mikhail Fludkov &lt;misha@pexip.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>rtpstreamdepay</name>
<longname>RTP Stream Depayloading</longname>
<class>Codec/Depayloader/Network</class>
@@ -1690,6 +1753,48 @@
</pads>
</element>
<element>
+ <name>rtpulpfecdec</name>
+ <longname>RTP FEC Decoder</longname>
+ <class>Codec/Depayloader/Network/RTP</class>
+ <description>Decodes RTP FEC (RFC5109)</description>
+ <author>Mikhail Fludkov &lt;misha@pexip.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
+ <name>rtpulpfecenc</name>
+ <longname>RTP FEC Encoder</longname>
+ <class>Codec/Payloader/Network/RTP</class>
+ <description>Encodes RTP FEC (RFC5109)</description>
+ <author>Mikhail Fludkov &lt;misha@pexip.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>application/x-rtp</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>rtpvorbisdepay</name>
<longname>RTP Vorbis depayloader</longname>
<class>Codec/Depayloader/Network/RTP</class>
diff --git a/gst/rtp/gstrtpreddec.c b/gst/rtp/gstrtpreddec.c
index 6a2297254..488a9350c 100644
--- a/gst/rtp/gstrtpreddec.c
+++ b/gst/rtp/gstrtpreddec.c
@@ -18,6 +18,16 @@
* Author: Mikhail Fludkov <misha@pexip.com>
*/
+/**
+ * SECTION:element-rtpreddec
+ * @short_description: RTP Redundant Audio Data (RED) decoder
+ * @title: rtpreddec
+ *
+ * Decode Redundant Audio Data (RED) as per RFC 2198.
+ *
+ * Since: 1.14
+ */
+
#include <gst/rtp/gstrtpbuffer.h>
#include "rtpredcommon.h"
diff --git a/gst/rtp/gstrtpredenc.c b/gst/rtp/gstrtpredenc.c
index 59b9bc243..b3068bc8b 100644
--- a/gst/rtp/gstrtpredenc.c
+++ b/gst/rtp/gstrtpredenc.c
@@ -18,6 +18,16 @@
* Author: Mikhail Fludkov <misha@pexip.com>
*/
+/**
+ * SECTION:element-rtpredenc
+ * @short_description: RTP Redundant Audio Data (RED) encoder
+ * @title: rtpredenc
+ *
+ * Encode Redundant Audio Data (RED) as per RFC 2198.
+ *
+ * Since: 1.14
+ */
+
#include <gst/rtp/gstrtpbuffer.h>
#include <string.h>
#include <stdio.h>
diff --git a/gst/rtp/gstrtpstorage.c b/gst/rtp/gstrtpstorage.c
index d35b3def6..907380840 100644
--- a/gst/rtp/gstrtpstorage.c
+++ b/gst/rtp/gstrtpstorage.c
@@ -18,6 +18,20 @@
* Author: Mikhail Fludkov <misha@pexip.com>
*/
+/**
+ * SECTION:element-rtpstorage
+ * @short_description: RTP storage for forward error correction (FEC) in rtpbin
+ * @title: rtpstorage
+ *
+ * Helper element for storing packets to aid later packet recovery from packet
+ * loss using RED/FEC (Forward Error Correction).
+ *
+ * This element is used internally by rtpbin and is usually created
+ * automatically.
+ *
+ * Since: 1.14
+ */
+
#include "gstrtpstorage.h"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
diff --git a/gst/rtp/gstrtpulpfecdec.c b/gst/rtp/gstrtpulpfecdec.c
index c9be11965..28a0a6914 100644
--- a/gst/rtp/gstrtpulpfecdec.c
+++ b/gst/rtp/gstrtpulpfecdec.c
@@ -18,6 +18,17 @@
* Author: Mikhail Fludkov <misha@pexip.com>
*/
+/**
+ * SECTION:element-rtpulpfecdec
+ * @short_description: Generic RTP Forward Error Correction (FEC) decoder
+ * @title: rtpulpfecdec
+ *
+ * Generic Forward Error Correction (FEC) decoder for Uneven Level
+ * Protection (ULP) as described in RFC 5109.
+ *
+ * Since: 1.14
+ */
+
#include <gst/rtp/gstrtpbuffer.h>
#include <gst/rtp/gstrtp-enumtypes.h>
diff --git a/gst/rtp/gstrtpulpfecenc.c b/gst/rtp/gstrtpulpfecenc.c
index 43a735d28..aa8ac7b42 100644
--- a/gst/rtp/gstrtpulpfecenc.c
+++ b/gst/rtp/gstrtpulpfecenc.c
@@ -18,6 +18,17 @@
* Author: Mikhail Fludkov <misha@pexip.com>
*/
+/**
+ * SECTION:element-rtpulpfecenc
+ * @short_description: Generic RTP Forward Error Correction (FEC) encoder
+ * @title: rtpulpfecenc
+ *
+ * Generic Forward Error Correction (FEC) encoder using Uneven Level
+ * Protection (ULP) as described in RFC 5109.
+ *
+ * Since: 1.14
+ */
+
#include <gst/rtp/gstrtp-enumtypes.h>
#include <gst/rtp/gstrtpbuffer.h>
#include <string.h>