cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: 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: Thu, 12 Apr 2012 14:17:44 +0200

Hi,

Does anyone know what we could do differently ?

Regards
Tinus

On 2012/04/04 04:02 PM, Tinus van den Berg wrote:
> 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

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