<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16430"></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial>Hi Jose!<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial>We found a workaround for the RTSPServer problem on windows. Besides
the changes mentioned before the following method gst_rtsp_source_chek(GSource *
source) in gstrtspconnection.c (in
plugins-base\gst-libs\gst\rtsp):</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial>static gboolean<BR>gst_rtsp_source_check (GSource *
source)<BR>{<BR> GstRTSPWatch *watch = (GstRTSPWatch *)
source;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT face=Arial><FONT
size=2>#ifdef G_OS_WIN32<BR> gboolean rv=FALSE;<BR>
watch->readfd.revents=0;<BR> watch->writefd.revents=0;<BR>
gst_poll_wait(watch->conn->fdset,0);<BR>
if(gst_poll_fd_can_read(watch->conn->fdset,watch->conn->readfd)){<BR> watch->readfd.revents
|= G_IO_IN;<BR> rv=TRUE;<BR> }<BR>
if(gst_poll_fd_can_write(watch->conn->fdset,watch->conn->writefd)){<BR> watch->writefd.revents
|= G_IO_OUT;<BR> rv=TRUE;<BR> }<BR> return
rv;</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial>#else</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial> if (watch->readfd.revents &
READ_COND)<BR> return TRUE;</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial> if (watch->writefd.revents &
WRITE_COND)<BR> return TRUE;</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2
face=Arial> return FALSE;</FONT></SPAN></DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#0000ff><FONT color=#000000
size=2 face=Arial>#end if</FONT></DIV>
<DIV dir=ltr align=left><BR><FONT color=#000000 size=2 face=Arial>}</FONT></DIV>
<DIV><FONT color=#000000 size=2 face=Arial></FONT> </DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2 face=Arial>I am
not sure if this is the best solution- would be nice if somebody could evaluate
this approach and crosscheck if it works-</FONT></SPAN></DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2
face=Arial>Thanks!</FONT></SPAN></DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2
face=Arial>best,</FONT></SPAN></DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=339203411-20102011><FONT color=#000000 size=2
face=Arial>mat</FONT></SPAN></DIV>
<DIV dir=ltr align=left><FONT face=Arial><BR><FONT
size=2></FONT></FONT></DIV></FONT></SPAN><BR>
<DIV dir=ltr lang=de class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>Von:</B>
gstreamer-devel-bounces+mdodt=xion-medical.com@lists.freedesktop.org
[mailto:gstreamer-devel-bounces+mdodt=xion-medical.com@lists.freedesktop.org]
<B>Im Auftrag von </B>listas<BR><B>Gesendet:</B> 11 October 2011
19:47<BR><B>An:</B> gstreamer-devel@lists.freedesktop.org<BR><B>Betreff:</B> Re:
Latest RTSPServer broken on windows<BR></FONT><BR></DIV>
<DIV></DIV>The problem is in glib. Don't allow multiple watches on the same
socket and we have one for the server and another for each client.<BR><BR><A
href="https://bugzilla.gnome.org/show_bug.cgi?id=338943">https://bugzilla.gnome.org/show_bug.cgi?id=338943</A><BR><BR>Cheers,<BR><BR>Jose<BR><BR><BR><BR>El
mar, 11-10-2011 a las 18:12 +0200, Matthias Dodt escribió:
<BLOCKQUOTE TYPE="CITE"><PRE>Hi guys!
It seems there is a problem with the latest GSTRTSPServer. It doesn't
listen on a socket or establish a connection. Firstly in rtsp-server.c
there is an ifdef missing (line 615...):
gst_rtsp_server_get_io_channel(...){
...
/* create IO channel for the socket */
#ifdef G_OS_WIN32
channel = g_io_channel_win32_new_socket (sockfd);
#else
channel = g_io_channel_unix_new (sockfd);
#endif
...
Then the client connects but the server doesn't react on the client's
OPTIONS request. Any ideas? I guess it must be something with polling
the socket.
Cheers,
mat
_______________________________________________
gstreamer-devel mailing list
<A href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</A>
<A href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</A>
</PRE></BLOCKQUOTE><BR></BODY></HTML>