Я пытаюсь сделать RTSP-клиент, используя curl, и в ответе ANNOUNCE я не могу получить тело с SPD.
Я делаю эту настройку.
curl_easy_setopt(ch, CURLOPT_URL, fullURL);
curl_easy_setopt(ch, CURLOPT_RTSP_STREAM_URI, fullURL);
curl_easy_setopt(ch, CURLOPT_RTSP_REQUEST, CURL_RTSPREQ_ANNOUNCE);
curl_easy_setopt(ch,CURLOPT_POSTFIELDS,sdp);
curl_easy_setopt(ch, CURLOPT_WRITEDATA, &body);
curl_easy_setopt(ch, CURLOPT_WRITEFUNCTION, write_cb);
У меня есть точка останова в функции write_cb, и она не останавливается. Если я добавлю эту опцию: curl_easy_setopt (ch, CURLOPT_HEADER, 1L); функция останавливается, но только получает информацию заголовка.
Заранее спасибо.
Хорошо, это ответ.
У RTSP нет тела в ответе ANNOUNCE, но в моем случае с EUROCAE, есть тело в ответе ANNOUNCE.
Для управления этой ситуацией я изменил библиотеку curl в lib / rtsp.c и определил ANNOUNCE как сообщение с телом. После этого моя проблема была решена.
Благодарю.
Других решений пока нет …