123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- .\" **************************************************************************
- .\" * _ _ ____ _
- .\" * 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 "April 17, 2018" "libcurl 7.61.1" "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), "
|