diff --git a/ChangeLog b/ChangeLog index ac7ae5838e..d34dea2544 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-03-07 Wim Taymans + + Patch by: Ole André Vadla Ravnås + + * 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 * gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes), diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c index a727250155..cbf120d6cd 100644 --- a/gst/udp/gstudpsrc.c +++ b/gst/udp/gstudpsrc.c @@ -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; }