Dear all,<div><br></div><div>I am also trying to run RTSP Server on Windows XP 32bits.</div><div><br></div><div>I am using <span style="font-size:13px;font-family:arial,sans-serif">GStreamer WinBuilds v0.10.7, Beta 04 Winbuild and SDK packages.</span></div>
<div><span style="font-size:13px;font-family:arial,sans-serif">(Gstreamer 0.10.31)</span></div><div><br></div><div>I have downloaded the source code of OSSBuild to perform the changes that Matt suggest:</div><div><div>a) <i style="white-space:pre-wrap"><a href="https://bugzilla.gnome.org/show_bug.cgi?id=663300">https://bugzilla.gnome.org/show_bug.cgi?id=663300</a></i></div>
<div>b) <i style="white-space:pre-wrap"><a href="https://bugzilla.gnome.org/show_bug.cgi?id=663298">https://bugzilla.gnome.org/show_bug.cgi?id=663298</a></i></div><div><br></div></div><div>This means:</div><div>a) some minor changes on rtsp_server.c and rtsp_client.c</div>
<div><div>Deal with some Linux includes by adding:</div><div>#include <winsock2.h></div><div>#include <ws2tcpip.h></div></div><div>Change socket creation</div><div>@ gst_rtsp_server_get_io_channel @ rtsp_server.c</div>
<div><div>unsigned long flags = 1; //To make non-blocking:1 blocking:0</div><div>WSADATA wsaData;</div><div>int iResult;</div></div><div>:</div><div><div>// Initialize Winsock to avoid error</div><div>iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);</div>
<div>if (iResult != 0) {</div><div>GST_ERROR_OBJECT (server, "WSAStartup failed: %d\n", iResult);</div><div>return FALSE;</div><div>}</div></div><div>:</div><div><div>// fcntl (sockfd, F_SETFL, O_NONBLOCK); // LINUX</div>
<div>if (ioctlsocket (sockfd, FIONBIO, &flags) != 0) // WIN32</div><div>GST_WARNING_OBJECT (server, "Error creating socket!");</div></div><div>:</div><div>/* create IO channel for the socket */</div><div><div>
// channel = g_io_channel_unix_new (sockfd); // LINUX</div><div>channel = g_io_channel_win32_new_socket (sockfd); // WIN32</div></div><div><br></div><div>b) some minor changes on gstrtspconnection.c</div><div><a href="http://bugzilla-attachments.gnome.org/attachment.cgi?id=200575" target="_blank">http://bugzilla-attachments.gnome.org/attachment.cgi?id=200575</a></div>
<div><br></div><div>I see that socket watching problems lays on Glib issues (also tackeld in other distribution list thread):</div><div><a href="https://bugzilla.gnome.org/show_bug.cgi?id=661530">https://bugzilla.gnome.org/show_bug.cgi?id=661530</a></div>
<div><br></div><div>After compiling all and overwrite the dlls, and libs corresponding to gstrtsp and gstsdp (I suppose that some changes have been done in the svn working copy from the beta version, because I had runtime errors due to that).</div>
<div><br></div><div>I use the test-launch example for the server:</div><div>test-launch.exe "( videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 )" </div><div><br></div><div>And for the client:</div><div>gst-launch rtspsrc location=rtsp://<a href="http://127.0.0.1:8554/test" target="_blank">127.0.0.1:8554/test</a> latency=100 ! rtph264depay ! decodebin ! fakesink</div>
<div><br></div><div>It seems to work but It still gets frozen after these logs on the server:</div><div><div>0:00:11.146027000 2376 003D2C38 INFO rtspclient rtsp-client.c:1939:gst_rtsp_client_accept: client 00CD2010 connected to server ip 127.0.0.1, ipv6 = 0</div>
<div>0:00:11.156041000 2376 003D2C38 INFO rtspclient rtsp-client.c:1942:gst_rtsp_client_accept: added new client 00CD2010 ip <a href="http://127.0.0.1:43269/" target="_blank">127.0.0.1:43269</a></div><div>
0:00:11.156041000 2376 003D2C38 INFO rtspclient rtsp-client.c:1956:gst_rtsp_client_accept: attaching to context 00CF5580</div><div>0:00:11.166056000 2376 003D2C38 DEBUG rtspserver rtsp-server.c:742:manage_client:<GstRTSPServer@00AE23F8> manage client 00CD2010</div>
<div>0:00:11.166056000 2376 003D2C38 DEBUG GST_POLL gstpoll.c:1141:gst_poll_wait: timeout :0:00:00.000000000</div><div>0:00:11.166056000 2376 003D2C38 DEBUG GST_POLL gstpoll.c:979:gst_poll_fd_can_read_unlocked: 00AE70E0: fd (fd:1908, idx:0)</div>
<div>0:00:11.176070000 2376 003D2C38 DEBUG GST_POLL gstpoll.c:1049:gst_poll_fd_can_write: 00AE70E0: fd (fd:1908, idx:0)</div><div>RTSP request message 00CF8690</div><div> request line:</div><div> method: 'OPTIONS'</div>
<div> uri: 'rtsp://<a href="http://127.0.0.1:8554/test" target="_blank">127.0.0.1:8554/test</a>'</div><div> version: '1.0'</div><div> headers:</div><div> key: 'CSeq', value: '1'</div>
<div> key: 'Date', value: 'Wed, 30 May 2012 13:35:27 GMT'</div><div> body:</div><div>0:00:11.186084000 2376 003D2C38 INFO rtspclient rtsp-client.c:13</div><div>13:handle_request: client 00CD2010: received a request</div>
<div>RTSP response message 0012FB94</div><div> status line:</div><div> code: '200'</div><div> reason: 'OK'</div><div> version: '1.0'</div><div> headers:</div><div> key: 'CSeq', value: '1'</div>
<div> key: 'Public', value: 'OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP,</div><div>SET_PARAMETER, TEARDOWN'</div><div> key: 'Server', value: 'GStreamer RTSP server'</div><div>
body: length 0</div></div><div><br></div><div>And the log in the client:</div><div><div>0:00:01.782563000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:3310:gst_rtsp_conninfo_connect:<rtspsrc0> connecting (rtsp://<a href="http://127.0.0.1:8554/test)." target="_blank">127.0.0.1:8554/test).</a>..</div>
<div>0:00:01.822621000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:5388:gst_rtspsrc_retrieve_sdp:<rtspsrc0> create options...</div><div>0:00:01.832635000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:5396:gst_rtspsrc_retrieve_sdp:<rtspsrc0> send options...</div>
<div>0:00:01.832635000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:4330:gst_rtspsrc_try_send:<rtspsrc0> sending message</div><div>0:00:01.932779000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:4359:gst_rtspsrc_try_send:<rtspsrc0> received response message</div>
<div>0:00:01.932779000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:4370:gst_rtspsrc_try_send:<rtspsrc0> got response message 200</div><div>0:00:01.942794000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:5406:gst_rtspsrc_retrieve_sdp:<rtspsrc0> create describe...</div>
<div>0:00:01.942794000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:5418:gst_rtspsrc_retrieve_sdp:<rtspsrc0> send describe...</div><div>0:00:01.942794000 3884 00332C48 DEBUG rtspsrc gstrtspsrc.c:4330:gst_rtspsrc_try_send:<rtspsrc0> sending message</div>
<div>0:00:21.951565000 3884 00332C48 WARN rtspsrc gstrtspsrc.c:4419:gst_rtspsrc_try_send:<rtspsrc0> error: Could not receive message. (Timeout while waiting for server response)</div></div><div><br>
</div><div>I have also tried different combinations and changes from the proposed modifications, but the malfunction persist.</div><div><br></div><div>Could someone that got to perform a RTSP session (Matthias Dodt or Matteo) publish or attach the whole code for the libgstrtspserver and the libgstrtsp?</div>
<div><br></div><div>Thank you in advance,</div><div><br></div><div>Best regards,</div><div><br></div><div>Angel</div><div><br></div>