34 lines
813 B
C++
34 lines
813 B
C++
#include "rtsp-server-internal.h"
|
|
#include "rfc822-datetime.h"
|
|
|
|
int rtsp_server_describe(struct rtsp_server_t *rtsp, const char* uri)
|
|
{
|
|
return rtsp->handler.ondescribe(rtsp->param, rtsp, uri);
|
|
}
|
|
|
|
int rtsp_server_reply_describe(struct rtsp_server_t *rtsp, int code, const char* sdp)
|
|
{
|
|
int len;
|
|
rfc822_datetime_t datetime;
|
|
|
|
if (200 != code)
|
|
return rtsp_server_reply(rtsp, code);
|
|
|
|
len = snprintf(rtsp->reply, sizeof(rtsp->reply),
|
|
"RTSP/1.0 200 OK\r\n"
|
|
"CSeq: %u\r\n"
|
|
"Date: %s\r\n"
|
|
"Content-Type: application/sdp\r\n"
|
|
"Content-Length: %u\r\n"
|
|
"\r\n"
|
|
"%s",
|
|
rtsp->cseq,
|
|
rfc822_datetime_format(time(NULL), datetime),
|
|
(unsigned int)strlen(sdp), sdp);
|
|
|
|
if (len > sizeof(rtsp->reply))
|
|
len = sizeof(rtsp->reply); // fix length
|
|
|
|
return rtsp->handler.send(rtsp->sendparam, rtsp->reply, len);
|
|
}
|