Hi Chris,
I am sorry to reply so late, I use RTSP interleaved all the time.
Did you get it going? These are the options I set to initialize:
my_curl_easy_setopt(m_curl, CURLOPT_INTERLEAVEDATA, (void*)this);
my_curl_easy_setopt(m_curl, CURLOPT_INTERLEAVEFUNCTION,
rtsp_interleave_callback_s);
my_curl_easy_setopt(m_curl, CURLOPT_RTSP_STREAM_URI, m_uri.c_str());
my_curl_easy_setopt(m_curl, CURLOPT_HEADERDATA, (void*)this);
my_curl_easy_setopt(m_curl, CURLOPT_HEADERFUNCTION, rtsp_header_callback_s);
While running, after every CURLMSG_DONE from curl_multi_info_read() you need
to:
curl_multi_remove_handle(m_multi, m_curl);
my_curl_easy_setopt(m_curl, CURLOPT_RTSP_REQUEST,
(long)CURL_RTSPREQ_RECEIVE);
curl_multi_add_handle(m_multi, m_curl);
I am not so sure about the necessity of the remove and add, but I think better
safe than sorry.
Regards,
Erik
From: curl-library [mailto:[email protected]] On Behalf Of
Chris Ward
Sent: maandag 15 februari 2016 16:00
To: [email protected]
Subject: RTSP Interleaved Multi Interface
Hi,
I am trying to get interleaved RTP over RTSP working with the multi interface
and am struggling to make any progress. I have successfully got the rest of the
RTSP commands working with the multi and easy interfaces without any
difficulties at all.
I can see the incoming interleaved RTP data with Wireshark, but no matter what
I do with libcurl I can't seem to get the data.
I have tried looking for examples online and in libcurl tests but they all work
with the easy interface. I have tried looking through the libcurl code and it
seems like a difficult place to begin understand what should be happening. If
anyone could point me in the right direction, or has an example of it working,
that would be really helpful.
Perhaps what I am trying to achieve is impossible, does anyone have a
definitive answer?
-------------------------------------------------------------------
List admin: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html