diff --git a/ChangeLog b/ChangeLog index 5ea783adc1..28c3c1a596 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-02-06 Thomas Vander Stichele + + * 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 * gst/level/gstlevel.c: (gst_level_transform_ip): diff --git a/common b/common index 79d67fe009..58567e5519 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 79d67fe009b6120b82d51df860c78e8361f02aea +Subproject commit 58567e5519f2d00a4592491db1a6e8302993279e diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 0114b8ffc3..4317fed3b4 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -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/ diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index 464f52a372..ae25019ac6 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -21,8 +21,7 @@ - - + @@ -66,7 +65,6 @@ - diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index 2601eb4dbb..6ded2430cd 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -86,6 +86,14 @@ GstMultipartDemux GstMultipartDemuxClass +
+element-multiudpsink +GstMultiUDPSink +multiudpsink + +GstMultiUDPSinkClass +
+
element-videomixer GstVideoMixer diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index bcc81128f7..483238362a 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -17,6 +17,19 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:element-multiupdsink + * @see_also: udpsink, multifdsink + * + * + * + * multiudpsink is a network sink that sends UDP packets to multiple + * clients. + * It can be combined with rtp payload encoders to implement RTP streaming. + * + * + */ + #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);