Loading lib/rtsp.c +18 −13 Original line number Diff line number Diff line Loading @@ -127,8 +127,9 @@ CURLcode Curl_rtsp_disconnect(struct connectdata *conn) { CURLcode Curl_rtsp_done(struct connectdata *conn, CURLcode status, bool premature) { CURLcode httpStatus; struct SessionHandle *data = conn->data; struct RTSP *rtsp = data->state.proto.rtsp; CURLcode httpStatus; long CSeq_sent; long CSeq_recv; Loading @@ -138,9 +139,10 @@ CURLcode Curl_rtsp_done(struct connectdata *conn, httpStatus = Curl_http_done(conn, status, premature); if(rtsp) { /* Check the sequence numbers */ CSeq_sent = data->state.proto.rtsp->CSeq_sent; CSeq_recv = data->state.proto.rtsp->CSeq_recv; CSeq_sent = rtsp->CSeq_sent; CSeq_recv = rtsp->CSeq_recv; if((data->set.rtspreq != RTSPREQ_RECEIVE) && (CSeq_sent != CSeq_recv)) { failf(data, "The CSeq of this request %ld did not match the response %ld", CSeq_sent, CSeq_recv); Loading @@ -151,6 +153,7 @@ CURLcode Curl_rtsp_done(struct connectdata *conn, infof(data, "Got an RTP Receive with a CSeq of %ld\n", CSeq_recv); /* TODO CPC: Server -> Client logic here */ } } return httpStatus; } Loading Loading @@ -418,6 +421,8 @@ CURLcode Curl_rtsp(struct connectdata *conn, bool *done) p_range ? p_range : "", p_referrer ? p_referrer : "", p_uagent ? p_uagent : ""); if(result) return result; if((rtspreq == RTSPREQ_SETUP) || (rtspreq == RTSPREQ_DESCRIBE)) { result = Curl_add_timecondition(data, req_buffer); Loading tests/libtest/lib570.c +3 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,9 @@ int test(char *URL) test_cleanup: if(stream_uri) free(stream_uri); curl_easy_cleanup(curl); curl_global_cleanup(); Loading tests/libtest/lib571.c +11 −4 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ int test(char *URL) CURL *curl; char *stream_uri = NULL; int request=1; FILE *protofile; FILE *protofile = NULL; protofile = fopen(libtest_arg2, "wb"); if(protofile == NULL) { Loading @@ -109,8 +109,8 @@ int test(char *URL) if ((curl = curl_easy_init()) == NULL) { fprintf(stderr, "curl_easy_init() failed\n"); curl_global_cleanup(); fclose(protofile); curl_global_cleanup(); return TEST_ERR_MAJOR_BAD; } test_setopt(curl, CURLOPT_URL, URL); Loading Loading @@ -163,7 +163,10 @@ int test(char *URL) if(res) goto test_cleanup; stream_uri = suburl(URL, request++); if((stream_uri = suburl(URL, request++)) == NULL) { res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } test_setopt(curl, CURLOPT_RTSP_STREAM_URI, stream_uri); free(stream_uri); stream_uri = NULL; Loading @@ -184,6 +187,10 @@ int test(char *URL) test_cleanup: if(stream_uri) free(stream_uri); if(protofile) fclose(protofile); curl_easy_cleanup(curl); Loading Loading
lib/rtsp.c +18 −13 Original line number Diff line number Diff line Loading @@ -127,8 +127,9 @@ CURLcode Curl_rtsp_disconnect(struct connectdata *conn) { CURLcode Curl_rtsp_done(struct connectdata *conn, CURLcode status, bool premature) { CURLcode httpStatus; struct SessionHandle *data = conn->data; struct RTSP *rtsp = data->state.proto.rtsp; CURLcode httpStatus; long CSeq_sent; long CSeq_recv; Loading @@ -138,9 +139,10 @@ CURLcode Curl_rtsp_done(struct connectdata *conn, httpStatus = Curl_http_done(conn, status, premature); if(rtsp) { /* Check the sequence numbers */ CSeq_sent = data->state.proto.rtsp->CSeq_sent; CSeq_recv = data->state.proto.rtsp->CSeq_recv; CSeq_sent = rtsp->CSeq_sent; CSeq_recv = rtsp->CSeq_recv; if((data->set.rtspreq != RTSPREQ_RECEIVE) && (CSeq_sent != CSeq_recv)) { failf(data, "The CSeq of this request %ld did not match the response %ld", CSeq_sent, CSeq_recv); Loading @@ -151,6 +153,7 @@ CURLcode Curl_rtsp_done(struct connectdata *conn, infof(data, "Got an RTP Receive with a CSeq of %ld\n", CSeq_recv); /* TODO CPC: Server -> Client logic here */ } } return httpStatus; } Loading Loading @@ -418,6 +421,8 @@ CURLcode Curl_rtsp(struct connectdata *conn, bool *done) p_range ? p_range : "", p_referrer ? p_referrer : "", p_uagent ? p_uagent : ""); if(result) return result; if((rtspreq == RTSPREQ_SETUP) || (rtspreq == RTSPREQ_DESCRIBE)) { result = Curl_add_timecondition(data, req_buffer); Loading
tests/libtest/lib570.c +3 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,9 @@ int test(char *URL) test_cleanup: if(stream_uri) free(stream_uri); curl_easy_cleanup(curl); curl_global_cleanup(); Loading
tests/libtest/lib571.c +11 −4 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ int test(char *URL) CURL *curl; char *stream_uri = NULL; int request=1; FILE *protofile; FILE *protofile = NULL; protofile = fopen(libtest_arg2, "wb"); if(protofile == NULL) { Loading @@ -109,8 +109,8 @@ int test(char *URL) if ((curl = curl_easy_init()) == NULL) { fprintf(stderr, "curl_easy_init() failed\n"); curl_global_cleanup(); fclose(protofile); curl_global_cleanup(); return TEST_ERR_MAJOR_BAD; } test_setopt(curl, CURLOPT_URL, URL); Loading Loading @@ -163,7 +163,10 @@ int test(char *URL) if(res) goto test_cleanup; stream_uri = suburl(URL, request++); if((stream_uri = suburl(URL, request++)) == NULL) { res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } test_setopt(curl, CURLOPT_RTSP_STREAM_URI, stream_uri); free(stream_uri); stream_uri = NULL; Loading @@ -184,6 +187,10 @@ int test(char *URL) test_cleanup: if(stream_uri) free(stream_uri); if(protofile) fclose(protofile); curl_easy_cleanup(curl); Loading