diff options
Diffstat (limited to 'stream/librtsp')
-rw-r--r-- | stream/librtsp/rtsp_session.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/stream/librtsp/rtsp_session.c b/stream/librtsp/rtsp_session.c index cdc8d3d381..a3559212b2 100644 --- a/stream/librtsp/rtsp_session.c +++ b/stream/librtsp/rtsp_session.c @@ -148,7 +148,17 @@ rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host, mp_msg(MSGT_OPEN, MSGL_V, "smil-over-realrtsp playlist, switching to raw rdt mode\n"); } else { rtsp_session->real_session->header_len = - rmff_dump_header (h, (char *) rtsp_session->real_session->header, 1024); + rmff_dump_header (h, (char *) rtsp_session->real_session->header, HEADER_SIZE); + + if (rtsp_session->real_session->header_len < 0) { + mp_msg (MSGT_OPEN, MSGL_ERR,"rtsp_session: error while dumping RMFF headers, session can not be established.\n"); + free_real_rtsp_session(rtsp_session->real_session); + rtsp_close(rtsp_session->s); + free (server); + free (mrl_line); + free(rtsp_session); + return NULL; + } rtsp_session->real_session->recv = xbuffer_copyin (rtsp_session->real_session->recv, 0, |