A little more info. It is not the SDP request that fails, it is the OPTIONS request that returns NULL.<br>I added a check fro null after the getOptionsRequest as shown below. And it returns NULL when called in the same program as starting a RTSP server.<br>
So the actual error message is the same, but it is from the OPTIONS request and not the SDP request.<br>-mat<br><br>Created Client: 0xc3b98 <br>
Sending request: OPTIONS rtsp://<a href="http://18.85.45.131:8554/videoStream">18.85.45.131:8554/videoStream</a> RTSP/1.0 <br>
CSeq: 1 <br>User-Agent: spinner_video_control (LIVE555 Streaming Media v2008.09.02) <br>
<br> <br>
RTSP "OPTIONS" request failed:Failed to read response: Cannot assign requested address <br>Sending request: DESCRIBE rtsp://<a href="http://18.85.45.131:8554/videoStream">18.85.45.131:8554/videoStream</a> RTSP/1.0 <br>
CSeq: 2 <br>Accept: application/sdp <br>
User-Agent: spinner_video_control (LIVE555 Streaming Media v2008.09.02) <br> <br>
------------------------------------------------------- <br> <br>
Failed to get a SDP description from URL "rtsp://<a href="http://18.85.45.131:8554/videoStream">18.85.45.131:8554/videoStream</a>": Failed to read response: Cannot assign requested address <br>
/<br><br> if (sendOptionsRequest) {<br> // Begin by sending an "OPTIONS" command:<br> char* optionsResponse<br> = getOptionsResponse(ourClient, rtspUrl, username, password);<br> if (sendOptionsRequestOnly) {<br>
if (optionsResponse == NULL) {<br> *env << clientProtocolName << " \"OPTIONS\" request failed: "<br> << env->getResultMsg() << "\n";<br> } else {<br>
*env << clientProtocolName << " \"OPTIONS\" request returned: "<br> << optionsResponse << "\n";<br> }<br> return shutdown(FAILURE);<br> }<br> if(optionsResponse == NULL) {<br>
*env << clientProtocolName << " \"OPTIONS\" request failed:" << env->getResultMsg() << "\n";<br> } else {<br> *env << clientProtocolName << " \"OPTIONS\" request returned: "<br>
<< optionsResponse << "\n"; <br> }<br> delete[] optionsResponse;<br> }<br><br><br><div class="gmail_quote">On Sun, Oct 26, 2008 at 5:20 AM, Mat Laibowitz <span dir="ltr"><<a href="mailto:mlaibow.davinci@gmail.com">mlaibow.davinci@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">So I have made it pretty far referencing the complete source code and the test programs.<br>
But I am a bit stuck on one issue.<br>I have built a RTSP server with a custom FrameSource that talks to my hardware for encoding.<br>
This works great, it uses the background read handling and can be received by openRTSP or mplayer or vlc or quicktime without fail.<br><br>I have also created a custom client based on openRTSP that talks to my hardware to decode the stream and display it on the framebuffer or record it to a file. This also works great and when the two programs are on different nodes the client can receive from the server.<br>
<br>If I put them both on the same node, they also work, provided that I turn off the connection to the hardware enc/dec in one of the programs (the client will just record the mpeg4 stream to file and not decode it and display it).<br>
This is because of a limit of the platform that I can only access the hardware codec from one process/program.<br><br>So I am trying to combine the client and the server in one application.<br>The code is essentially the same, it just uses one environment and one call to the task loop.<br>
<br>The RTSP server starts up fine and I can receive the video anywhere including with a version of the same application with the server and hardware decoding turned off.<br><br>However, the client always fails when started from the same program as the server.<br>
The error message is:<br>Failed to get a SDP description from URL "rtsp://<a href="http://18.85.45.131:8554/videoStream" target="_blank">18.85.45.131:8554/videoStream</a>": <br>
Failed to read response: Cannot assign requested address<br>
<br>I am guessing that the client somehow is trying to use some resource that is already in use by the server. But I am not sure what that can be. Any help would be greatly appreciated. I thought it was a port or sockets problem at first, but one is a client and one is a server, and they both work if they are in separate programs on the same device.<br>
<br>Thanks for a great system, I am quite happy to have my devices streaming video between them, I just need to solve this one integration issue and it will be great.<br><font color="#888888"><br>-mat<br>
</font></blockquote></div><br>