Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_RTSP_REQUEST(3)	   curl_easy_setopt options    CURLOPT_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 re-
       quest);

DESCRIPTION
       Tell libcurl what kind of RTSP request to make. Pass one	of the follow-
       ing  RTSP  enum	values as a long in the	request	argument. Unless noted
       otherwise, commands require the Session ID to be	initialized.

       CURL_RTSPREQ_OPTIONS
	      Used to retrieve the available methods of	the server. The	appli-
	      cation  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  applica-
	      tion  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	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 CURL_RTSPREQ_SET_PARAME-
	      TER

       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 CUR-
	      LOPT_RTSP_SESSION_ID(3), libcurl will extract and	use  the  ses-
	      sion  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)  op-
	      tion to modify the playback time (e.g. 'npt=10-15').

       CURL_RTSPREQ_PAUSE
	      Send a Pause command to the server. Use the CURLOPT_RANGE(3) op-
	      tion 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 con-
	      nection 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, libcurl 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 an	HTTP PUT or POST (see CURL_RTSPREQ_SET_PARAME-
	      TER).  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 automat-
	      ically include a Content-Type: text/parameters 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  CUR-
	      LOPT_UPLOAD(3)  with  CURLOPT_READDATA(3)	like a HTTP PUT, or it
	      may use CURLOPT_POSTFIELDS(3) like  an  HTTP  POST.  No  chunked
	      transfers	 are  allowed,	so  the	 application must set the CUR-
	      LOPT_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  CUR-
	      LOPT_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	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.

DEFAULT
PROTOCOLS
       RTSP

EXAMPLE
       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);
       }

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.72.0			 July 16, 2019	       CURLOPT_RTSP_REQUEST(3)

NAME | SYNOPSIS | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLOPT_RTSP_REQUEST&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help