summaryrefslogtreecommitdiff
path: root/src/input/librtsp
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2008-03-01 03:17:33 +0100
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2008-03-01 03:17:33 +0100
commit813c609ea30c3201eec34d4bba185566ad48c998 (patch)
treef93ff7fd2604bf9396d5f1712d3eaa2f6d044178 /src/input/librtsp
parente728b8f587ee41ff483e46fe50a4cb538c5df9e2 (diff)
parenta1508e2f58d2c4b32d032d798f6f137262717e7f (diff)
downloadxine-lib-813c609ea30c3201eec34d4bba185566ad48c998.tar.gz
xine-lib-813c609ea30c3201eec34d4bba185566ad48c998.tar.bz2
Merge from 1.2 tip.
--HG-- rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c
Diffstat (limited to 'src/input/librtsp')
-rw-r--r--src/input/librtsp/rtsp.c6
-rw-r--r--src/input/librtsp/rtsp.h6
-rw-r--r--src/input/librtsp/rtsp_session.c6
3 files changed, 18 insertions, 0 deletions
diff --git a/src/input/librtsp/rtsp.c b/src/input/librtsp/rtsp.c
index cd844654b..c660751fe 100644
--- a/src/input/librtsp/rtsp.c
+++ b/src/input/librtsp/rtsp.c
@@ -359,12 +359,14 @@ int rtsp_request_play(rtsp_t *s, const char *what) {
return rtsp_get_answers(s);
}
+#if 0
int rtsp_request_tearoff(rtsp_t *s, const char *what) {
rtsp_send_request(s,"TEAROFF",what);
return rtsp_get_answers(s);
}
+#endif
/*
* read opaque data from stream
@@ -557,6 +559,7 @@ char *rtsp_search_answers(rtsp_t *s, const char *tag) {
return NULL;
}
+#if 0
/*
* session id management
*/
@@ -574,6 +577,7 @@ char *rtsp_get_session(rtsp_t *s) {
return s->session;
}
+#endif
char *rtsp_get_mrl(rtsp_t *s) {
@@ -597,6 +601,7 @@ void rtsp_schedule_field(rtsp_t *s, const char *string) {
s->scheduled[i]=strdup(string);
}
+#if 0
/*
* removes the first scheduled field which prefix matches string.
*/
@@ -617,6 +622,7 @@ void rtsp_unschedule_field(rtsp_t *s, const char *string) {
*(ptr-1)=*ptr;
} while(*ptr);
}
+#endif
/*
* unschedule all fields
diff --git a/src/input/librtsp/rtsp.h b/src/input/librtsp/rtsp.h
index 3c829e2e8..1cec57e1e 100644
--- a/src/input/librtsp/rtsp.h
+++ b/src/input/librtsp/rtsp.h
@@ -47,7 +47,9 @@ int rtsp_request_describe(rtsp_t *s, const char *what);
int rtsp_request_setup(rtsp_t *s, const char *what);
int rtsp_request_setparameter(rtsp_t *s, const char *what);
int rtsp_request_play(rtsp_t *s, const char *what);
+#if 0
int rtsp_request_tearoff(rtsp_t *s, const char *what);
+#endif
int rtsp_send_ok(rtsp_t *s);
@@ -61,15 +63,19 @@ void rtsp_free_answers(rtsp_t *this);
int rtsp_read (rtsp_t *this, char *data, int len);
void rtsp_close (rtsp_t *this);
+#if 0
void rtsp_set_session(rtsp_t *s, const char *id);
char *rtsp_get_session(rtsp_t *s);
+#endif
char *rtsp_get_mrl(rtsp_t *s);
/*int rtsp_peek_header (rtsp_t *this, char *data); */
void rtsp_schedule_field(rtsp_t *s, const char *string);
+#if 0
void rtsp_unschedule_field(rtsp_t *s, const char *string);
+#endif
void rtsp_unschedule_all(rtsp_t *s);
#endif
diff --git a/src/input/librtsp/rtsp_session.c b/src/input/librtsp/rtsp_session.c
index 5cb0dfb63..d8f7ae583 100644
--- a/src/input/librtsp/rtsp_session.c
+++ b/src/input/librtsp/rtsp_session.c
@@ -148,6 +148,11 @@ connect:
rtsp_session->header_left =
rtsp_session->header_len = rmff_dump_header(h,rtsp_session->header,HEADER_SIZE);
+ if (rtsp_session->header_len < 0) {
+ xprintf (stream->xine, XINE_VERBOSITY_LOG,
+ _("rtsp_session: rtsp server returned overly-large headers, session can not be established.\n"));
+ goto session_abort;
+ }
xine_buffer_copyin(rtsp_session->recv, 0, rtsp_session->header, rtsp_session->header_len);
rtsp_session->recv_size = rtsp_session->header_len;
@@ -157,6 +162,7 @@ connect:
{
xprintf(stream->xine, XINE_VERBOSITY_LOG,
_("rtsp_session: rtsp server type '%s' not supported yet. sorry.\n"), server);
+ session_abort:
rtsp_close(rtsp_session->s);
free(server);
xine_buffer_free(rtsp_session->recv);