112 lines
5.4 KiB
Groff
112 lines
5.4 KiB
Groff
.\" **************************************************************************
|
|
.\" * _ _ ____ _
|
|
.\" * Project ___| | | | _ \| |
|
|
.\" * / __| | | | |_) | |
|
|
.\" * | (__| |_| | _ <| |___
|
|
.\" * \___|\___/|_| \_\_____|
|
|
.\" *
|
|
.\" * Copyright (C) 1998 - 2014, 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
.\" *
|
|
.\" * This software is licensed as described in the file COPYING, which
|
|
.\" * you should have received as part of this distribution. The terms
|
|
.\" * are also available at https://curl.haxx.se/docs/copyright.html.
|
|
.\" *
|
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
.\" * copies of the Software, and permit persons to whom the Software is
|
|
.\" * furnished to do so, under the terms of the COPYING file.
|
|
.\" *
|
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
.\" * KIND, either express or implied.
|
|
.\" *
|
|
.\" **************************************************************************
|
|
.\"
|
|
.TH CURLOPT_RTSP_REQUEST 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
|
.SH NAME
|
|
CURLOPT_RTSP_REQUEST \- specify RTSP request
|
|
.SH SYNOPSIS
|
|
#include <curl/curl.h>
|
|
|
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request);
|
|
.SH DESCRIPTION
|
|
Tell libcurl what kind of RTSP request to make. Pass one of the following RTSP
|
|
enum values as a long in the \fIrequest\fP argument. Unless noted otherwise,
|
|
commands require the Session ID to be initialized.
|
|
.IP CURL_RTSPREQ_OPTIONS
|
|
Used to retrieve the available methods of the server. The application is
|
|
responsible for parsing and obeying the response. \fB(The session ID is not
|
|
needed for this method.)\fP
|
|
.IP CURL_RTSPREQ_DESCRIBE
|
|
Used to get the low level description of a stream. The application should note
|
|
what formats it understands in the \fI'Accept:'\fP header. Unless set
|
|
manually, libcurl will automatically fill in \fI'Accept:
|
|
application/sdp'\fP. Time-condition headers will be added to Describe requests
|
|
if the \fICURLOPT_TIMECONDITION(3)\fP option is active. \fB(The session ID is
|
|
not needed for this method)\fP
|
|
.IP CURL_RTSPREQ_ANNOUNCE
|
|
When sent by a client, this method changes the description 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 an HTTP PUT or POST just like
|
|
\fICURL_RTSPREQ_SET_PARAMETER\fP
|
|
.IP 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
|
|
\fICURLOPT_RTSP_TRANSPORT(3)\fP option prior to calling setup. If no session
|
|
ID is currently set with \fICURLOPT_RTSP_SESSION_ID(3)\fP, libcurl will
|
|
extract and use the session ID in the response to this request. \fB(The
|
|
session ID is not needed for this method).\fP
|
|
.IP CURL_RTSPREQ_PLAY
|
|
Send a Play command to the server. Use the \fICURLOPT_RANGE(3)\fP option to
|
|
modify the playback time (e.g. 'npt=10-15').
|
|
.IP CURL_RTSPREQ_PAUSE
|
|
Send a Pause command to the server. Use the \fICURLOPT_RANGE(3)\fP option with
|
|
a single value to indicate when the stream should be halted. (e.g. npt='25')
|
|
.IP 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.
|
|
.IP CURL_RTSPREQ_GET_PARAMETER
|
|
Retrieve a parameter from the server. By default, libcurl will automatically
|
|
include a \fIContent-Type: text/parameters\fP header on all non-empty requests
|
|
unless a custom one is set. GET_PARAMETER acts just like an HTTP PUT or POST
|
|
(see \fICURL_RTSPREQ_SET_PARAMETER\fP).
|
|
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.
|
|
.IP CURL_RTSPREQ_SET_PARAMETER
|
|
Set a parameter on the server. By default, libcurl will automatically include
|
|
a \fIContent-Type: text/parameters\fP header unless a custom one is set. The
|
|
interaction with SET_PARAMETER is much like an HTTP PUT or POST. An application
|
|
may either use \fICURLOPT_UPLOAD(3)\fP with \fICURLOPT_READDATA(3)\fP like a
|
|
HTTP PUT, or it may use \fICURLOPT_POSTFIELDS(3)\fP like an HTTP POST. No
|
|
chunked transfers are allowed, so the application must set the
|
|
\fICURLOPT_INFILESIZE(3)\fP in the former and \fICURLOPT_POSTFIELDSIZE(3)\fP
|
|
in the latter. Also, there is no use of multi-part POSTs within RTSP.
|
|
.IP CURL_RTSPREQ_RECORD
|
|
Used to tell the server to record a session. Use the \fICURLOPT_RANGE(3)\fP
|
|
option to modify the record time.
|
|
.IP CURL_RTSPREQ_RECEIVE
|
|
This is a special request because it does not send any data to the server. The
|
|
application may call this function 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.
|
|
.SH DEFAULT
|
|
.SH PROTOCOLS
|
|
RTSP
|
|
.SH EXAMPLE
|
|
.nf
|
|
CURL *curl = curl_easy_init();
|
|
if(curl) {
|
|
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);
|
|
}
|
|
.fi
|
|
.SH AVAILABILITY
|
|
Added in 7.20.0
|
|
.SH RETURN VALUE
|
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
|
.SH "SEE ALSO"
|
|
.BR CURLOPT_RTSP_SESSION_ID "(3), " CURLOPT_RTSP_STREAM_URI "(3), "
|