CURLOPT_RTSP_SESSION_ID(3)

πŸ’– CURLOPT_RTSP_SESSION_ID(3) β€” Library Functions Manual energy πŸ’–

🌸 NAME 🌸

CURLOPT_RTSP_SESSION_ID β€” RTSP session ID. That’s the whole name, bestie, no cap. πŸ’…

✨ SYNOPSIS ✨

Okay so first, the include and the setopt signature, exactly as they live:

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id);

πŸ¦‹ DESCRIPTION πŸ¦‹

Pass a char pointer as a parameter to set the value of the current RTSP Session ID for the handle. It’s useful for resuming an in-progress session β€” yes, like picking your group chat back up, but RTSP. 🫢

Once this value is set to any non-NULL value, libcurl returns CURLE_RTSP_SESSION_ERROR if the ID received from the server does not match. If it’s unset (or set to NULL), libcurl automatically sets the ID the first time the server sets it in a response.

The application does not have to keep the string around after setting this option. So no need to clutch it forever, bestie. πŸ’–

Using this option multiple times makes the last set string override the previous ones. Set it to NULL to disable its use again.

🚨 Vibe check: once you set it to a non-NULL value, a mismatched server ID means CURLE_RTSP_SESSION_ERROR. That’s the important part, fr fr.

πŸŽ€ DEFAULT πŸŽ€

NULL β€” the default is literally NULL, and that’s that. πŸ’…

🌈 PROTOCOLS 🌈

This functionality affects rtsp only. Just rtsp. πŸ‘‘

⭐ EXAMPLE ⭐

Here’s the exact example, copy-pasted energy but make it yours:

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode result;
    char *prev_id = "old"; /* saved from before somehow */
    curl_easy_setopt(curl, CURLOPT_URL, "rtsp://example.com/");
    curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, prev_id);
    result = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}

That’s the whole demo. Slay. πŸ”₯

πŸ’œ AVAILABILITY πŸ’œ

Added in curl 7.20.0. Old-school but still iconic. ⭐

🧚 RETURN VALUE 🧚

curl_easy_setopt(3) returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).

πŸ”₯ SEE ALSO πŸ”₯


Cute sign-off: source/version libcurl, date 2026-10-12, page CURLOPT_RTSP_SESSION_ID(3). That’s the whole footer vibe, periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from