CURLOPT_RTSP_REQUEST(3)
CURLOPT_RTSP_REQUEST(3curl_easy_setopt optionCURLOPT_RTSP_REQUEST(3)
NAME
CURLOPT_RTSP_REQUEST - specify RTSP request
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle,
CURLOPT_RTSP_REQUEST, long request);
DESCRIPTION
Tell libcurl what kind of RTSP request to make. Pass one of
the following RTSP enum values as a long in the request
argument. Unless noted otherwise, commands require the Ses-
sion ID to be initialized.
CURL_RTSPREQ_OPTIONS
Used to retrieve the available methods of the server.
The application is responsible for parsing and obeying
the response. (The session ID is not needed for this
method.)
CURL_RTSPREQ_DESCRIBE
Used to get the low level description of a stream. The
application should note what formats it understands in
the 'Accept:' header. Unless set manually, libcurl will
automatically fill in 'Accept: application/sdp'.
Time-condition headers will be added to Describe
requests if the CURLOPT_TIMECONDITION(3) option is
active. (The session ID is not needed for this method)
CURL_RTSPREQ_ANNOUNCE
When sent by a client, this method changes the descrip-
tion of the session. For example, if a client is using
the server to record a meeting, the client can use
Announce to inform the server of all the meta-
information about the session. ANNOUNCE acts like a
HTTP PUT or POST just like CURL_RTSPREQ_SET_PARAMETER
CURL_RTSPREQ_SETUP
Setup is used to initialize the transport layer for the
session. The application must set the desired Transport
options for a session by using the
CURLOPT_RTSP_TRANSPORT(3) option prior to calling
setup. If no session ID is currently set with
CURLOPT_RTSP_SESSION_ID(3), libcurl will extract and
use the session ID in the response to this request.
(The session ID is not needed for this method).
CURL_RTSPREQ_PLAY
Send a Play command to the server. Use the
CURLOPT_RANGE(3) option to modify the playback time
(e.g. 'npt=10-15').
libcurl 7.58.0 Last change: May 31, 2017 1
CURLOPT_RTSP_REQUEST(3curl_easy_setopt optionCURLOPT_RTSP_REQUEST(3)
CURL_RTSPREQ_PAUSE
Send a Pause command to the server. Use the
CURLOPT_RANGE(3) option with a single value to indicate
when the stream should be halted. (e.g. npt='25')
CURL_RTSPREQ_TEARDOWN
This command terminates an RTSP session. Simply closing
a connection does not terminate the RTSP session since
it is valid to control an RTSP session over different
connections.
CURL_RTSPREQ_GET_PARAMETER
Retrieve a parameter from the server. By default, lib-
curl will automatically include a Content-Type:
text/parameters header on all non-empty requests unless
a custom one is set. GET_PARAMETER acts just like a
HTTP PUT or POST (see CURL_RTSPREQ_SET_PARAMETER).
Applications wishing to send a heartbeat message (e.g.
in the presence of a server-specified timeout) should
send use an empty GET_PARAMETER request.
CURL_RTSPREQ_SET_PARAMETER
Set a parameter on the server. By default, libcurl will
automatically include a Content-Type: text/parameters
header unless a custom one is set. The interaction with
SET_PARAMETER is much like a HTTP PUT or POST. An
application may either use CURLOPT_UPLOAD(3) with
CURLOPT_READDATA(3) like a HTTP PUT, or it may use
CURLOPT_POSTFIELDS(3) like a HTTP POST. No chunked
transfers are allowed, so the application must set the
CURLOPT_INFILESIZE(3) in the former and
CURLOPT_POSTFIELDSIZE(3) in the latter. Also, there is
no use of multi-part POSTs within RTSP.
CURL_RTSPREQ_RECORD
Used to tell the server to record a session. Use the
CURLOPT_RANGE(3) option to modify the record time.
CURL_RTSPREQ_RECEIVE
This is a special request because it does not send any
data to the server. The application may call this func-
tion in order to receive interleaved RTP data. It will
return after processing one read buffer of data in
order to give the application a chance to run.
DEFAULT
PROTOCOLS
RTSP
EXAMPLE
CURL *curl = curl_easy_init();
if(curl) {
libcurl 7.58.0 Last change: May 31, 2017 2
CURLOPT_RTSP_REQUEST(3curl_easy_setopt optionCURLOPT_RTSP_REQUEST(3)
curl_easy_setopt(curl, CURLOPT_URL, "rtsp://example.com/");
/* ask for options! */
curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, CURL_RTSPREQ_OPTIONS);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
AVAILABILITY
Added in 7.20.0
RETURN VALUE
Returns CURLE_OK if the option is supported, and
CURLE_UNKNOWN_OPTION if not.
SEE ALSO
CURLOPT_RTSP_SESSION_ID(3), CURLOPT_RTSP_STREAM_URI(3),
libcurl 7.58.0 Last change: May 31, 2017 3
Man(1) output converted with
man2html