<!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>&nbsp;</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>&nbsp; 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>&nbsp; gboolean rv=FALSE;<BR>&nbsp; 
watch-&gt;readfd.revents=0;<BR>&nbsp; watch-&gt;writefd.revents=0;<BR>&nbsp; 
gst_poll_wait(watch-&gt;conn-&gt;fdset,0);<BR>&nbsp; 
if(gst_poll_fd_can_read(watch-&gt;conn-&gt;fdset,watch-&gt;conn-&gt;readfd)){<BR>&nbsp;watch-&gt;readfd.revents 
|= G_IO_IN;<BR>&nbsp;rv=TRUE;<BR>&nbsp; }<BR>&nbsp; 
if(gst_poll_fd_can_write(watch-&gt;conn-&gt;fdset,watch-&gt;conn-&gt;writefd)){<BR>&nbsp;watch-&gt;writefd.revents 
|= G_IO_OUT;<BR>&nbsp;rv=TRUE;<BR>&nbsp; }<BR>&nbsp; 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>&nbsp; if (watch-&gt;readfd.revents &amp; 
READ_COND)<BR>&nbsp;&nbsp;&nbsp; return TRUE;</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2 
face=Arial>&nbsp; if (watch-&gt;writefd.revents &amp; 
WRITE_COND)<BR>&nbsp;&nbsp;&nbsp; return TRUE;</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=339203411-20102011><FONT size=2 
face=Arial>&nbsp; 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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>