stream-deploy/ZLM/3rdpart/media-server/librtsp/source/server/rtsp-server-describe.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);
}