summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Torri <vtorri@univ-evry.fr>2007-06-15 08:32:52 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2007-06-15 08:32:52 +0000
commitd5e801139c52defb0e6f7702dc30ea1eda2672fb (patch)
tree78be4b568c79c3f88bf907721d5504c4be21d4aa
parent2e1747f76d4d31dbbacdb2c17eb7484060260e5a (diff)
gst/rtsp/rtspconnection.c: Fix the MingW build.
Original commit message from CVS: * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect): Fix the MingW build. Patch By: Vincent Torri <vtorri at univ-evry dot fr> Fixes: #446981
-rw-r--r--ChangeLog8
-rw-r--r--gst/rtsp/rtspconnection.c16
2 files changed, 24 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5eb73d74..50732e09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
+
+ * gst/rtsp/rtspconnection.c: (rtsp_connection_create),
+ (rtsp_connection_connect):
+ Fix the MingW build.
+ Patch By: Vincent Torri <vtorri at univ-evry dot fr>
+ Fixes: #446981
+
2007-06-14 Jan Schmidt <thaytan@mad.scientist.com>
* tests/check/elements/.cvsignore:
diff --git a/gst/rtsp/rtspconnection.c b/gst/rtsp/rtspconnection.c
index 56142cda..f96caf4d 100644
--- a/gst/rtsp/rtspconnection.c
+++ b/gst/rtsp/rtspconnection.c
@@ -58,6 +58,7 @@
#ifdef G_OS_WIN32
#include <winsock2.h>
+#define EINPROGRESS WSAEINPROGRESS
#else
#include <sys/ioctl.h>
#include <netdb.h>
@@ -122,6 +123,10 @@ rtsp_connection_create (RTSPUrl * url, RTSPConnection ** conn)
gint ret;
RTSPConnection *newconn;
+#ifdef G_OS_WIN32
+ unsigned long flags;
+#endif /* G_OS_WIN32 */
+
g_return_val_if_fail (conn != NULL, RTSP_EINVAL);
newconn = g_new0 (RTSPConnection, 1);
@@ -131,6 +136,9 @@ rtsp_connection_create (RTSPUrl * url, RTSPConnection ** conn)
/* pipe( CONTROL_SOCKETS(newconn) ) */
if ((ret = pipe (CONTROL_SOCKETS (newconn))) < 0)
goto no_socket_pair;
+
+ ioctlsocket (READ_SOCKET (newconn), FIONBIO, &flags);
+ ioctlsocket (WRITE_SOCKET (newconn), FIONBIO, &flags);
#else
if ((ret =
socketpair (PF_UNIX, SOCK_STREAM, 0, CONTROL_SOCKETS (newconn))) < 0)
@@ -177,6 +185,10 @@ rtsp_connection_connect (RTSPConnection * conn, GTimeVal * timeout)
struct timeval tv, *tvp;
gint max_fd, retval;
+#ifdef G_OS_WIN32
+ unsigned long flags;
+#endif /* G_OS_WIN32 */
+
g_return_val_if_fail (conn != NULL, RTSP_EINVAL);
g_return_val_if_fail (conn->url != NULL, RTSP_EINVAL);
g_return_val_if_fail (conn->fd < 0, RTSP_EINVAL);
@@ -211,7 +223,11 @@ rtsp_connection_connect (RTSPConnection * conn, GTimeVal * timeout)
goto sys_error;
/* set to non-blocking mode so that we can cancel the connect */
+#ifndef G_OS_WIN32
fcntl (fd, F_SETFL, O_NONBLOCK);
+#else
+ ioctlsocket (fd, FIONBIO, &flags);
+#endif /* G_OS_WIN32 */
/* we are going to connect ASYNC now */
ret = connect (fd, (struct sockaddr *) &sa_in, sizeof (sa_in));