gst/udp/gstudpsrc.c: Properly balance WSA_Cleanup with WSA_Startup.
authorOle André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Fri, 7 Mar 2008 10:01:40 +0000 (10:01 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 7 Mar 2008 10:01:40 +0000 (10:01 +0000)
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst/udp/gstudpsrc.c: (gst_udpsrc_finalize), (gst_udpsrc_start),
(gst_udpsrc_stop):
Properly balance WSA_Cleanup with WSA_Startup.
Also make the poll controllable on windows. Fixes #520888.

ChangeLog
gst/udp/gstudpsrc.c

index ac7ae58..d34dea2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
+
+       * gst/udp/gstudpsrc.c: (gst_udpsrc_finalize), (gst_udpsrc_start),
+       (gst_udpsrc_stop):
+       Properly balance WSA_Cleanup with WSA_Startup.
+       Also make the poll controllable on windows. Fixes #520888.
+
 2008-03-06  Wim Taymans  <wim.taymans@collabora.co.uk>
 
        * gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes),
index a727250..cbf120d 100644 (file)
@@ -326,6 +326,8 @@ gst_udpsrc_finalize (GObject * object)
   g_free (udpsrc->multi_group);
   g_free (udpsrc->uri);
 
+  WSA_CLEANUP (src);
+
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -759,13 +761,8 @@ gst_udpsrc_start (GstBaseSrc * bsrc)
 
   src->myaddr.sin_port = htons (src->port + 1);
 
-#ifdef G_OS_WIN32
-  if ((src->fdset = gst_poll_new (GST_POLL_MODE_AUTO, FALSE)) == NULL)
-    goto no_fdset;
-#else
   if ((src->fdset = gst_poll_new (GST_POLL_MODE_AUTO, TRUE)) == NULL)
     goto no_fdset;
-#endif
 
   gst_poll_add_fd (src->fdset, &src->sock);
   gst_poll_fd_ctl_read (src->fdset, &src->sock, TRUE);
@@ -877,8 +874,6 @@ gst_udpsrc_stop (GstBaseSrc * bsrc)
     src->fdset = NULL;
   }
 
-  WSA_CLEANUP (src);
-
   return TRUE;
 }