diff options
author | rtogni <rtogni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-02-18 15:57:50 +0000 |
---|---|---|
committer | rtogni <rtogni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-02-18 15:57:50 +0000 |
commit | ef4a45551be048c38b1a2da67569f4626a74e399 (patch) | |
tree | efe45d840e761ce20ac2c6db5065988a0a803e9b /stream/librtsp/rtsp_session.c | |
parent | 56d17cef0213a9c7a7f15d031b77116349c4a480 (diff) | |
download | mpv-ef4a45551be048c38b1a2da67569f4626a74e399.tar.bz2 mpv-ef4a45551be048c38b1a2da67569f4626a74e399.tar.xz |
Add support for smil playlist served over realrtsp
(audio and video playback only, not full smil support)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22260 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/librtsp/rtsp_session.c')
-rw-r--r-- | stream/librtsp/rtsp_session.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/stream/librtsp/rtsp_session.c b/stream/librtsp/rtsp_session.c index a5c6655cf5..ecc07501f9 100644 --- a/stream/librtsp/rtsp_session.c +++ b/stream/librtsp/rtsp_session.c @@ -140,6 +140,12 @@ rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host, } rtsp_session->real_session = init_real_rtsp_session (); + if(!strncmp(h->streams[0]->mime_type, "application/vnd.rn-rmadriver", h->streams[0]->mime_type_size)) { + rtsp_session->real_session->header_len = 0; + rtsp_session->real_session->recv_size = 0; + rtsp_session->real_session->rdt_rawdata = 1; + 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); @@ -150,6 +156,7 @@ rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host, rtsp_session->real_session->recv_size = rtsp_session->real_session->header_len; + } rtsp_session->real_session->recv_read = 0; } else /* not a Real server : try RTP instead */ { @@ -219,7 +226,7 @@ int rtsp_session_read (rtsp_session_t *this, char *data, int len) { dest += fill; this->real_session->recv_read = 0; this->real_session->recv_size = - real_get_rdt_chunk (this->s, (char **)&(this->real_session->recv)); + real_get_rdt_chunk (this->s, (char **)&(this->real_session->recv), this->real_session->rdt_rawdata); if (this->real_session->recv_size < 0) { this->real_session->rdteof = 1; this->real_session->recv_size = 0; |