|
- #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);
- }
|