adding docs for multiudpsink

Original commit message from CVS:
adding docs for multiudpsink
This commit is contained in:
Thomas Vander Stichele 2006-02-06 15:31:16 +00:00
parent 1dffb8370c
commit 5118effe7a
6 changed files with 69 additions and 6 deletions

View file

@ -1,3 +1,12 @@
2006-02-06 Thomas Vander Stichele <thomas at apestaart dot org>
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init),
(gst_multiudpsink_get_stats):
adding docs for multiudpsink
2006-02-06 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/level/gstlevel.c: (gst_level_transform_ip):

2
common

@ -1 +1 @@
Subproject commit 79d67fe009b6120b82d51df860c78e8361f02aea
Subproject commit 58567e5519f2d00a4592491db1a6e8302993279e

View file

@ -85,6 +85,7 @@ EXTRA_HFILES = \
$(top_srcdir)/ext/flac/gstflacdec.h \
$(top_srcdir)/gst/multipart/multipartmux.c \
$(top_srcdir)/gst/multipart/multipartdemux.c \
$(top_srcdir)/gst/udp/gstmultiudpsink.h \
$(top_srcdir)/gst/videomixer/videomixer.c
# example code that needs to be converted to xml and placed in xml/

View file

@ -21,8 +21,7 @@
<xi:include href="xml/element-goom.xml" />
<xi:include href="xml/element-id3demux.xml" />
<xi:include href="xml/element-level.xml" />
<xi:include href="xml/element-sunaudiomixer.xml" />
<xi:include href="xml/element-sunaudiosink.xml" />
<xi:include href="xml/element-multiudpsink.xml" />
<xi:include href="xml/element-multipartmux.xml" />
<xi:include href="xml/element-multipartdemux.xml" />
<xi:include href="xml/element-videomixer.xml" />
@ -66,7 +65,6 @@
<xi:include href="xml/plugin-shout2send.xml" />
<xi:include href="xml/plugin-smpte.xml" />
<xi:include href="xml/plugin-speex.xml" />
<xi:include href="xml/plugin-sunaudio.xml" />
<xi:include href="xml/plugin-udp.xml" />
<xi:include href="xml/plugin-videobox.xml" />
<xi:include href="xml/plugin-videoflip.xml" />

View file

@ -86,6 +86,14 @@ GstMultipartDemux
GstMultipartDemuxClass
</SECTION>
<SECTION>
<FILE>element-multiudpsink</FILE>
GstMultiUDPSink
<TITLE>multiudpsink</TITLE>
<SUBSECTION Standard>
GstMultiUDPSinkClass
</SECTION>
<SECTION>
<FILE>element-videomixer</FILE>
GstVideoMixer

View file

@ -17,6 +17,19 @@
* Boston, MA 02111-1307, USA.
*/
/**
* SECTION:element-multiupdsink
* @see_also: udpsink, multifdsink
*
* <refsect2>
* <para>
* multiudpsink is a network sink that sends UDP packets to multiple
* clients.
* It can be combined with rtp payload encoders to implement RTP streaming.
* </para>
* </refsect2>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -134,11 +147,23 @@ gst_multiudpsink_class_init (GstMultiUDPSinkClass * klass)
gobject_class->get_property = gst_multiudpsink_get_property;
gobject_class->finalize = gst_multiudpsink_finalize;
/**
* GstMultiUDPSink::add:
* @gstmultiudpsink: the sink on which the signal is emitted
* @host: the hostname/IP address of the client to add
* @port: the port of the client to add
*/
gst_multiudpsink_signals[SIGNAL_ADD] =
g_signal_new ("add", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstMultiUDPSinkClass, add),
NULL, NULL, gst_udp_marshal_VOID__STRING_INT, G_TYPE_NONE, 2,
G_TYPE_STRING, G_TYPE_INT);
/**
* GstMultiUDPSink::remove:
* @gstmultiudpsink: the sink on which the signal is emitted
* @host: the hostname/IP address of the client to remove
* @port: the port of the client to remove
*/
gst_multiudpsink_signals[SIGNAL_REMOVE] =
g_signal_new ("remove", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstMultiUDPSinkClass, remove),
@ -148,17 +173,37 @@ gst_multiudpsink_class_init (GstMultiUDPSinkClass * klass)
g_signal_new ("clear", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstMultiUDPSinkClass, clear),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/**
* GstMultiUDPSink::get-stats:
* @gstmultiudpsink: the sink on which the signal is emitted
* @host: the hostname/IP address of the client to get stats on
* @port: the port of the client to get stats on
*
* @returns: a GValueArray of uint64: bytes_sent, packets_sent,
* connect_time (in epoch seconds), disconnect_time (in epoch seconds)
*/
gst_multiudpsink_signals[SIGNAL_GET_STATS] =
g_signal_new ("get-stats", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstMultiUDPSinkClass, get_stats),
NULL, NULL, gst_udp_marshal_BOXED__STRING_INT, G_TYPE_VALUE_ARRAY, 2,
G_TYPE_STRING, G_TYPE_INT);
/**
* GstMultiUDPSink::client-added:
* @gstmultiudpsink: the sink emitting the signal
* @host: the hostname/IP address of the added client
* @port: the port of the added client
*/
gst_multiudpsink_signals[SIGNAL_CLIENT_ADDED] =
g_signal_new ("client-added", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstMultiUDPSinkClass, client_added),
NULL, NULL, gst_udp_marshal_VOID__STRING_INT, G_TYPE_NONE, 2,
G_TYPE_STRING, G_TYPE_INT);
/**
* GstMultiUDPSink::client-removed:
* @gstmultiudpsink: the sink emitting the signal
* @host: the hostname/IP address of the removed client
* @port: the port of the removed client
*/
gst_multiudpsink_signals[SIGNAL_CLIENT_REMOVED] =
g_signal_new ("client-removed", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstMultiUDPSinkClass,
@ -434,6 +479,8 @@ gst_multiudpsink_remove (GstMultiUDPSink * sink, const gchar * host, gint port)
g_mutex_unlock (sink->client_lock);
}
/* FIXME: what's the point of this signal/method ? It frees client structure
* data without removing them from the sink */
void
gst_multiudpsink_clear (GstMultiUDPSink * sink)
{
@ -466,7 +513,7 @@ gst_multiudpsink_get_stats (GstMultiUDPSink * sink, const gchar * host,
client = (GstUDPClient *) find->data;
/* Result is a value array of (bytes_sent, packets_sent,
/* Result is a value array of (bytes_sent, packets_sent,
* connect_time, disconnect_time), all as uint64 */
result = g_value_array_new (4);