summaryrefslogtreecommitdiffstats
path: root/gst/rtpmux
diff options
context:
space:
mode:
authorzeeshan.ali@nokia.com <zeeshan.ali@nokia.com>2007-03-22 11:31:54 +0000
committerEdward Hervey <bilboed@bilboed.com>2009-02-21 17:48:51 +0100
commit750462f54071f4b11c0274492b3a073742911e1f (patch)
tree1f6e93bce270f86d79ca373597a66066959b52b7 /gst/rtpmux
parent1cf3b17cb31e5087a19d5311d5f770b44886c154 (diff)
downloadgst-plugins-bad-750462f54071f4b11c0274492b3a073742911e1f.tar.gz
gst-plugins-bad-750462f54071f4b11c0274492b3a073742911e1f.tar.bz2
gst-plugins-bad-750462f54071f4b11c0274492b3a073742911e1f.zip
[MOVED FROM GST-P-FARSIGHT] More documentation
20070322113154-65035-624850541a5b5fc3df231204be5a83d07239db28.gz
Diffstat (limited to 'gst/rtpmux')
-rw-r--r--gst/rtpmux/gstrtpdtmfmux.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/gst/rtpmux/gstrtpdtmfmux.c b/gst/rtpmux/gstrtpdtmfmux.c
index 0d1e0f6a..f4dfa159 100644
--- a/gst/rtpmux/gstrtpdtmfmux.c
+++ b/gst/rtpmux/gstrtpdtmfmux.c
@@ -25,10 +25,42 @@
/**
* SECTION:element-rtpdtmfmux
- * @short_description: Muxer that takes one or several RTP streams
- * and muxes them to a single rtp stream.
+ * @short_description: mixes RTP DTMF streams into other RTP streams
*
* <refsect2>
+ * <para>
+ * The RTPDTMFMuxer mixes/muxes RTP DTMF stream(s) into other RTP
+ * streams. It does exactly what it's parent (RTPMuxer) does, except
+ * that it allows upstream peer elements to request exclusive access
+ * to the stream, which is required by the RTP DTMF standards(see RFC
+ * 2833 for details). The peer upstream element requests the
+ * requisition and release of a stream lock beginning using custom
+ * downstream gstreamer events. To request the requesition of the
+ * lock, the peer element must send an event of type
+ * GST_EVENT_CUSTOM_DOWNSTREAM_OOB, having a
+ * structure of name "stream-lock" with only one boolean field:
+ * "lock". If this field is set to TRUE, the request is for the
+ * requisition of the lock, otherwise it is for release of the lock.
+ * </para>
+ * <para>For example, the following code in an upstream peer element
+ * requests the requisition of the stream lock:
+ * </para>
+ * <para>
+ * <programlisting>
+ * GstEvent *event;
+ * GstStructure *structure;
+ * GstPad *srcpad;
+ *
+ * ... /\* srcpad initialization goes here \*\/
+ *
+ * structure = gst_structure_new ("stream-lock",
+ * "lock", G_TYPE_BOOLEAN, TRUE, NULL);
+ *
+ * event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM_OOB, structure);
+ * gst_pad_push_event (dtmfsrc->srcpad, event);
+ * </programlisting>
+ * </para>
+ *
* </refsect2>
*/