cURL / Mailing Lists / curl-library / Single Mail

curl-library

RTSP Command not completing even though data has been received - "additional stuff not fine transfer.c:1037 0 0"

From: Tinus van den Berg <tinusvdb_at_cat.co.za>
Date: Wed, 04 Apr 2012 16:02:28 +0200

Hi,

We have been using the Curl library for our RTSP sessions for quite some
time now. We have however run into some issues recently with an IP
camera from Panogenics. When we do a DESCRIBE request, we get the
callbacks for the header data, and it seems like the transaction is
complete, but curl_easy_perform does not return straight away. Instead
we get the printout "additional stuff not fine transfer.c:1037 0 0"
about once every second, and it eventually times out after 65 seconds.

Our library makes use of the multi handle so I quickly wrote a test
program to see if it happens with just using easy handles and it does
also seem to take very long.

Any suggestions would be appreciated...

See test program and output below:

I can also provide a network trace

Regards
Tinus

*Test Program*
int main(int argc,char** argv)
{
     SetupLogs();
     CheckArgs(argc,argv);

     CURL *curl;
     double total_time=0;
     curl = curl_easy_init();
     curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
     if(curl)
         {
             printf("\n-> Setup Easy Handle <-\r\n");
             curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
             curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_header);

             curl_easy_setopt(curl, CURLOPT_URL,url.c_str());
             curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI,url.c_str());
             curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST,
CURL_RTSPREQ_DESCRIBE);

             printf("-> Perform Action <-\r\n");
             CURLcode result = curl_easy_perform(curl);

             
curl_easy_getinfo(curl,CURLINFO_TOTAL_TIME,(double*)&total_time);
             printf("\n-> Result: %s in %0.2f seconds <-\r\n",
                          curl_easy_strerror(result),total_time);
         }
     return 0;
}

*Output
*-> Setup Easy Handle <-
-> Perform Action <-
* About to connect() to 172.35.2.81 port 8554 (#0)
* Trying 172.35.2.81...
* connected
* Connected to 172.35.2.81 (172.35.2.81) port 8554 (#0)
> DESCRIBE rtsp://172.35.2.81:8554/stream1 RTSP/1.0
CSeq: 1
Accept: application/sdp
If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT

* additional stuff not fine transfer.c:1037: 0 0
* HTTP 1.1 or later with persistent connection, pipelining supported
< RTSP/1.0 401 Unauthorized
< CSeq: 1
< Date: Wed, Apr 04 2012 14:05:44 GMT
< WWW-Authenticate: Digest realm="LIVE555 Streaming Media",
nonce="49fde21dc9bdc0a752f28943dbf92943"
<
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* additional stuff not fine transfer.c:1037: 0 0
* Connection #0 to host 172.35.2.81 left intact

-> Result: No error in 65.55 seconds <-*

*

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2012-04-04