rist: Fix documentation

This commit is contained in:
Olivier Crête 2019-07-31 11:49:55 -04:00 committed by Olivier Crête
parent 9b53ee76fd
commit f175b05c1d
2 changed files with 44 additions and 41 deletions

View file

@ -24,38 +24,40 @@
* @see_also: ristsrc
*
* This element implements RIST TR-06-1 Simple Profile transmitter. It
* currently supports any registered RTP payload types such as MPEG TS. The
* stream passed to this element must be RTP payloaded already. Even though
* RTP SSRC collision is rare in unidirectional streaming, this element expect
* the upstream elements to obey to collision events and change the SSRC in
* use. Collision will occur when transmitting and receiving over multicast on
* the same host.
* currently supports any registered RTP static payload types such as
* MPEG TS. The stream passed to this element must be already RTP
* payloaded. Even though RTP SSRC collision are rare in
* unidirectional streaming, this element expects the upstream elements
* to obey to collision events and change the SSRC in use. Collisions
* will occur when transmitting and receiving over multicast on the
* same host, and will be properly ignored.
*
* ## Example launch line
* ## Example gst-launch line
* |[
* gst-launch-1.0 udpsrc ! tsparse set-timestamp=1 ! rtpmp2pay ! \
* ristsink address=10.0.0.1 port=5004
* gst-launch-1.0 udpsrc ! tsparse set-timestamps=1 smoothing-latency=40000 ! \
* rtpmp2tpay ! ristsink address=10.0.0.1 port=5004
* ]|
*
* Additionally, this element supports bonding, which consist of using multiple
* links in order to transmit the streams. The address of each link is
* configured through the "bonding-addresses" property. When set, this will replace
* the value that might have been set on "address" and "port". Each bonds will be
* mapped to its down RTP session. RTX request are only replied on the link
* the NACK was received from.
* Additionally, this element supports bonding, which consist of using
* multiple links in order to transmit the streams. The address of
* each link is configured through the "bonding-addresses"
* property. When set, this will replace the value that might have
* been set on the "address" and "port" properties. Each link will be
* mapped to its own RTP session. RTX request are only replied to on the
* link the NACK was received from.
*
* There is currently two bonding methods in place: "broadcast" and "round-robin".
* There are currently two bonding methods in place: "broadcast" and "round-robin".
* In "broadcast" mode, all the packets are duplicated over all sessions.
* While in "round-robin" mode, packets are evenly distributed over the links. One
* can also implement its down dispatcher element and configure it using the
* can also implement its own dispatcher element and configure it using the
* "dispatcher" property. As a reference, "broadcast" mode is implemented with
* the "tee" element, while "round-robin" mode is implemented with the
* "round-robin" element.
*
* ## Exmaple launch line for bonding
* ## Example gst-launch line for bonding
* |[
* gst-launch-1.0 udpsrc ! tsparse set-timestamps=1 ! rtpmp2tpay ! \
* ristsink bonding-addresses="10.0.0.1:5004,11.0.0.1:5006"
* gst-launch-1.0 udpsrc ! tsparse set-timestamps=1 smoothing-latency=40000 ! \
* rtpmp2tpay ! ristsink bonding-addresses="10.0.0.1:5004,11.0.0.1:5006"
* ]|
*/
@ -1206,24 +1208,24 @@ gst_rist_sink_class_init (GstRistSinkClass * klass)
g_object_class_install_property (object_class, PROP_PORT,
g_param_spec_uint ("port", "Port", "The port RTP packets will be sent, "
"RTCP port is derived from it, this port must be an even number.",
"the RTCP port is this value + 1. This port must be an even number.",
2, 65534, 5004,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_SENDER_BUFFER,
g_param_spec_uint ("sender-buffer", "Sender Buffer",
"Size of the retransmission queue in ms", 0, G_MAXUINT, 1200,
"Size of the retransmission queue (in ms)", 0, G_MAXUINT, 1200,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_MIN_RTCP_INTERVAL,
g_param_spec_uint ("min-rtcp-interval", "Minimum RTCP Intercal",
"The minimum interval in ms between two regular successive RTCP "
"The minimum interval (in ms) between two regular successive RTCP "
"packets.", 0, 100, 100,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_MAX_RTCP_BANDWIDTH,
g_param_spec_double ("max-rtcp-bandwidth", "Maximum RTCP Bandwidth",
"The maximum bandwidth used for RTCP in fraction of RTP bandwdith",
"The maximum bandwidth used for RTCP as a fraction of RTP bandwdith",
0.0, 0.05, 0.05,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
@ -1273,7 +1275,7 @@ gst_rist_sink_class_init (GstRistSinkClass * klass)
g_object_class_install_property (object_class, PROP_DISPATCHER,
g_param_spec_object ("dispatcher", "Bonding Dispatcher",
"An element that takes care of multi-plexing bounds. When set "
"An element that takes care of multi-plexing bonded links. When set "
"\"bonding-method\" is ignored.",
GST_TYPE_ELEMENT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |

View file

@ -26,21 +26,22 @@
* This element implements RIST TR-06-1 Simple Profile receiver. The stream
* produced by this element will be RTP payloaded. This element also implements
* the URI scheme `rist://` allowing to render RIST streams in GStreamer based
* media players. The RIST URI handler also allows setting propertied through
* media players. The RIST URI handler also allows setting properties through
* the URI query.
*
* ## Example launch line
* ## Example gst-launch line
* |[
* gst-launch-1.0 ristsrc address=0.0.0.0 port=5004 ! rtpmp2depay ! udpsink
* gst-launch-1.0 ristsrc address=0.0.0.0 port=5004 ! rtpmp2tdepay ! udpsink
* gst-play-1.0 "rist://0.0.0.0:5004?receiver-buffer=700"
* ]|
*
* Additionally, this element supports bonding, which means it can receive the
* same stream from multiple addresses. Each address will be mapped to it's
* own RTP session. In order to enable bonding support, one need to configure
* the list of addresses through "bonding-addresses" properties.
* Additionally, this element supports link bonding, which means it
* can receive the same stream from multiple addresses. Each address
* will be mapped to its own RTP session. In order to enable bonding
* support, one need to configure the list of addresses through
* "bonding-addresses" properties.
*
* ## Example launch line for bonding
* ## Example gst-launch line for bonding
* |[
* gst-launch-1.0 ristsrc bonding-addresses="10.0.0.1:5004,11.0.0.1:5006" ! rtpmp2tdepay ! udpsink
* gst-play-1.0 "rist://0.0.0.0:5004?bonding-addresses=10.0.0.1:5004,11.0.0.1:5006"
@ -1202,18 +1203,18 @@ gst_rist_src_class_init (GstRistSrcClass * klass)
g_object_class_install_property (object_class, PROP_PORT,
g_param_spec_uint ("port", "Port", "The port to listen for RTP packets, "
"RTCP port is derived from it, this port must be an even number.",
"the RTCP port is this value + 1. This port must be an even number.",
2, 65534, 5004,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_RECEIVER_BUFFER,
g_param_spec_uint ("receiver-buffer", "Receiver Buffer",
"Buffering duration in ms", 0, G_MAXUINT, 1000,
"Buffering duration (in ms)", 0, G_MAXUINT, 1000,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_REORDER_SECTION,
g_param_spec_uint ("reorder-section", "Recorder Section",
"Time to wait before sending retransmission request in ms.",
"Time to wait before sending retransmission request (in ms)",
0, G_MAXUINT, 70,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
@ -1225,13 +1226,13 @@ gst_rist_src_class_init (GstRistSrcClass * klass)
g_object_class_install_property (object_class, PROP_MIN_RTCP_INTERVAL,
g_param_spec_uint ("min-rtcp-interval", "Minimum RTCP Intercal",
"The minimum interval in ms between two successive RTCP packets",
"The minimum interval (in ms) between two successive RTCP packets",
0, 100, 100,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_MAX_RTCP_BANDWIDTH,
g_param_spec_double ("max-rtcp-bandwidth", "Maximum RTCP Bandwidth",
"The maximum bandwidth used for RTCP in fraction of RTP bandwdith",
"The maximum bandwidth used for RTCP as a fraction of RTP bandwdith",
0.0, 0.05, 0.05,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
@ -1254,7 +1255,7 @@ gst_rist_src_class_init (GstRistSrcClass * klass)
g_object_class_install_property (object_class, PROP_MULTICAST_LOOPBACK,
g_param_spec_boolean ("multicast-loopback", "Multicast Loopback",
"When enabled, the packet will be received locally.", FALSE,
"When enabled, the packets will be received locally.", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_MULTICAST_IFACE,
@ -1269,8 +1270,8 @@ gst_rist_src_class_init (GstRistSrcClass * klass)
g_object_class_install_property (object_class, PROP_BONDING_ADDRESSES,
g_param_spec_string ("bonding-addresses", "Bonding Addresses",
"Comma (,) seperated list of <address>:<port> to receive from. "
"Only used if 'enale-bonding' is set.", NULL,
"Comma (,) separated list of <address>:<port> to receive from. "
"Only used if 'enable-bonding' is set.", NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}