gst-plugins-good.spec.in: spec file fixes
authorThomas Vander Stichele <thomas@apestaart.org>
Fri, 9 Sep 2005 11:09:49 +0000 (11:09 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Fri, 9 Sep 2005 11:09:49 +0000 (11:09 +0000)
Original commit message from CVS:

* gst-plugins-good.spec.in:
spec file fixes
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init),
(gst_multiudpsink_render), (gst_multiudpsink_add),
(gst_multiudpsink_clear):
it actually helps to actually stream if we hook up the
add signal to an actual implementation
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
some debugging

ChangeLog
gst-plugins-good.spec.in
gst/udp/gstmultiudpsink.c
gst/udp/gstudpsrc.c

index 639cf75..735bdd1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * gst-plugins-good.spec.in:
+         spec file fixes
+       * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init),
+       (gst_multiudpsink_render), (gst_multiudpsink_add),
+       (gst_multiudpsink_clear):
+         it actually helps to actually stream if we hook up the
+         "add" signal to an actual implementation
+       * gst/udp/gstudpsrc.c: (gst_udpsrc_start):
+         some debugging
+
 2005-09-08  Flavio Oliveira  <flavio.oliveira@indt.org.br>
 
        * ext/jpeg/Makefile.am:
index 0af894e..b929108 100644 (file)
@@ -24,32 +24,26 @@ Requires(postun): %{gstregister}
 
 BuildRequires:  gcc-c++
 
-@USE_ESD_TRUE@Requires:      esound >= 0.2.8
 @USE_ESD_TRUE@BuildRequires: esound-devel >= 0.2.8
 @USE_ESD_TRUE@Obsoletes:     gstreamer-esd
 @USE_ESD_TRUE@
 @USE_ESD_TRUE@Provides:                gstreamer-audiosrc
 @USE_ESD_TRUE@Provides:                gstreamer-audiosink
-@USE_FLAC_TRUE@Requires:      flac >= 1.0.3
 @USE_FLAC_TRUE@BuildRequires: flac-devel >= 1.0.3
-@USE_GCONF_TRUE@Requires:      GConf2
 @USE_GCONF_TRUE@BuildRequires:         GConf2-devel
-@USE_JPEG_TRUE@Requires:      libjpeg
 @USE_JPEG_TRUE@BuildRequires: libjpeg-devel
-@USE_LIBPNG_TRUE@Requires:      libpng >= 1.2.0
+@USE_LIBCACA_TRUE@BuildRequires: libcaca-devel
+@USE_LIBDV_TRUE@BuildRequires: libdv-devel
 @USE_LIBPNG_TRUE@BuildRequires: libpng-devel >= 1.2.0
-# @USE_MIKMOD_TRUE@Requires:      mikmod
-# @USE_MIKMOD_TRUE@BuildRequires: mikmod
+@USE_MIKMOD_TRUE@BuildRequires: mikmod
 @USE_OSS_TRUE@BuildRequires: glibc-devel
-# @USE_PANGO_TRUE@Requires:        pango
-# @USE_PANGO_TRUE@BuildRequires:   pango-devel
-# @USE_RAW1394_TRUE@Requires:      libraw1394
-# @USE_RAW1394_TRUE@BuildRequires: libraw1394-devel
-@USE_SPEEX_TRUE@Requires:      speex
+@USE_PANGO_TRUE@BuildRequires:   pango-devel
+@USE_RAW1394_TRUE@BuildRequires: libraw1394-devel
+@USE_RAW1394_TRUE@BuildRequires: libavc1394-devel
 @USE_SPEEX_TRUE@BuildRequires: speex-devel
 
 @USE_SHOUT2_TRUE@BuildRequires: libshout-devel >= 2.0
-@USE_LADSPA_TRUE@BuildRequires: ladspa-devel
+@USE_LADSPA_TRUE@BuildRequires: ladspa-devel
 @USE_AALIB_TRUE@BuildRequires:  aalib-devel >= 1.3
 @USE_AALIB_TRUE@Provides:       gstreamer-aasink = %{version}-%{release}
 
@@ -106,7 +100,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/gstreamer-%{majorminor}/libgstrtp.so
 %{_libdir}/gstreamer-%{majorminor}/libgstrtsp.so
 %{_libdir}/gstreamer-%{majorminor}/libgstsmpte.so
-# %{_libdir}/gstreamer-%{majorminor}/libgsttcp.so
 %{_libdir}/gstreamer-%{majorminor}/libgstudp.so
 %{_libdir}/gstreamer-%{majorminor}/libgstvideobox.so
 %{_libdir}/gstreamer-%{majorminor}/libgstvideoflip.so
index ddc4be5..5095825 100644 (file)
@@ -62,7 +62,7 @@ enum
 };
 
 static void gst_multiudpsink_base_init (gpointer g_class);
-static void gst_multiudpsink_class_init (GstMultiUDPSink * klass);
+static void gst_multiudpsink_class_init (GstMultiUDPSinkClass * klass);
 static void gst_multiudpsink_init (GstMultiUDPSink * udpsink);
 static void gst_multiudpsink_finalize (GObject * object);
 
@@ -118,7 +118,7 @@ gst_multiudpsink_base_init (gpointer g_class)
 }
 
 static void
-gst_multiudpsink_class_init (GstMultiUDPSink * klass)
+gst_multiudpsink_class_init (GstMultiUDPSinkClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -168,6 +168,10 @@ gst_multiudpsink_class_init (GstMultiUDPSink * klass)
   gstelement_class->change_state = gst_multiudpsink_change_state;
 
   gstbasesink_class->render = gst_multiudpsink_render;
+  klass->add = gst_multiudpsink_add;
+  klass->remove = gst_multiudpsink_remove;
+  klass->clear = gst_multiudpsink_clear;
+  klass->get_stats = gst_multiudpsink_get_stats;
 
   GST_DEBUG_CATEGORY_INIT (multiudpsink_debug, "multiudpsink", 0, "UDP sink");
 }
@@ -195,7 +199,7 @@ static GstFlowReturn
 gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer)
 {
   GstMultiUDPSink *sink;
-  gint ret, size;
+  gint ret, size, num = 0;
   guint8 *data;
   GList *clients;
 
@@ -204,14 +208,15 @@ gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer)
   size = GST_BUFFER_SIZE (buffer);
   data = GST_BUFFER_DATA (buffer);
 
-  GST_DEBUG ("about to send %d bytes", size);
-
   g_mutex_lock (sink->client_lock);
+  GST_LOG_OBJECT (bsink, "about to send %d bytes", size);
+
   for (clients = sink->clients; clients; clients = g_list_next (clients)) {
     GstUDPClient *client;
 
     client = (GstUDPClient *) clients->data;
-    GST_DEBUG ("sending %d bytes to client %p", size, client);
+    ++num;
+    GST_LOG_OBJECT (sink, "sending %d bytes to client %p", size, client);
 
     while (TRUE) {
       ret = sendto (*client->sock, data, size, 0,
@@ -227,7 +232,7 @@ gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer)
   }
   g_mutex_unlock (sink->client_lock);
 
-  GST_DEBUG ("sent %d bytes", size);
+  GST_LOG_OBJECT (sink, "sent %d bytes to %d clients", size, num);
 
   return GST_FLOW_OK;
 
@@ -316,6 +321,7 @@ gst_multiudpsink_add (GstMultiUDPSink * sink, const gchar * host, gint port)
   struct ip_mreq multi_addr;
   GstUDPClient *client;
 
+  GST_DEBUG_OBJECT (sink, "adding client on host %s, port %d", host, port);
   client = g_new0 (GstUDPClient, 1);
   client->host = g_strdup (host);
   client->port = port;
@@ -414,6 +420,7 @@ gst_multiudpsink_remove (GstMultiUDPSink * sink, const gchar * host, gint port)
 void
 gst_multiudpsink_clear (GstMultiUDPSink * sink)
 {
+  GST_DEBUG_OBJECT (sink, "clearing");
   g_mutex_lock (sink->client_lock);
   g_list_foreach (sink->clients, (GFunc) free_client, sink);
   g_list_free (sink->clients);
index 61fadcd..e462591 100644 (file)
@@ -456,6 +456,7 @@ gst_udpsrc_start (GstBaseSrc * bsrc)
 
   src = GST_UDPSRC (bsrc);
 
+  GST_DEBUG_OBJECT (src, "creating socket pair");
   if ((ret = socketpair (PF_UNIX, SOCK_STREAM, 0, CONTROL_SOCKETS (src))) < 0)
     goto no_socket_pair;
 
@@ -478,6 +479,7 @@ gst_udpsrc_start (GstBaseSrc * bsrc)
   src->myaddr.sin_port = htons (src->port);     /* short, network byte order */
   src->myaddr.sin_addr.s_addr = INADDR_ANY;
 
+  GST_DEBUG_OBJECT (src, "binding on port %d", src->port);
   if ((ret =
           bind (src->sock, (struct sockaddr *) &src->myaddr,
               sizeof (src->myaddr))) < 0)
@@ -498,8 +500,10 @@ gst_udpsrc_start (GstBaseSrc * bsrc)
     goto getsockname_error;
 
   port = ntohs (my_addr.sin_port);
+  GST_DEBUG_OBJECT (src, "bound, on port %d", port);
   if (port != src->port) {
     src->port = port;
+    GST_DEBUG_OBJECT (src, "notifying %d", port);
     g_object_notify (G_OBJECT (src), "port");
   }