DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

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