=== modified file 'gst/udp/gstudpsrc.c'
--- gst/udp/gstudpsrc.c	2008-03-23 20:14:49 +0000
+++ gst/udp/gstudpsrc.c	2008-04-22 23:01:30 +0000
@@ -434,8 +434,19 @@
     ret = recvfrom (udpsrc->sock.fd, pktdata, pktsize,
         0, (struct sockaddr *) &tmpaddr, &len);
     if (ret < 0) {
+#ifdef G_OS_WIN32
+	  /* On Windows, a WSAECONNRESET for a UDP socket means that a 
+		* packet sent with udpsink generated an ICMP response 
+		* "port unreachable". We ignore that error and retry...
+		*/
+	  if (WSAGetLastError () == WSAECONNRESET)
+		  goto retry;
+      if (WSAGetLastError () != WSAEINTR)
+        goto receive_error;
+#else
       if (errno != EAGAIN && errno != EINTR)
         goto receive_error;
+#endif
     } else
       break;
   }

