summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-05-27 00:24:52 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-05-27 00:24:52 +0000
commit275a6b3b851b60105caf996036c0dff39110d0b3 (patch)
tree273b6eb0d22c642f60b95abcd9ab5a352ffcdba2
parentf08bd17fabd3cf0cf7e4f81a7574de92cd2cb961 (diff)
downloadxine-lib-275a6b3b851b60105caf996036c0dff39110d0b3.tar.gz
xine-lib-275a6b3b851b60105caf996036c0dff39110d0b3.tar.bz2
accept server responses with different cases (Cseq and CSeq)
http://sourceforge.net/tracker/index.php?func=detail&aid=681764&group_id=9655&atid=109655 CVS patchset: 6594 CVS date: 2004/05/27 00:24:52
-rw-r--r--src/input/librtsp/rtsp.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/input/librtsp/rtsp.c b/src/input/librtsp/rtsp.c
index dc60beca2..b07669f91 100644
--- a/src/input/librtsp/rtsp.c
+++ b/src/input/librtsp/rtsp.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: rtsp.c,v 1.16 2004/04/24 20:43:58 miguelfreitas Exp $
+ * $Id: rtsp.c,v 1.17 2004/05/27 00:24:52 miguelfreitas Exp $
*
* a minimalistic implementation of rtsp protocol,
* *not* RFC 2326 compilant yet.
@@ -233,24 +233,24 @@ static int rtsp_get_answers(rtsp_t *s) {
if (!answer)
return 0;
- if (!strncmp(answer,"Cseq:",5)) {
- sscanf(answer,"Cseq: %u",&answer_seq);
+ if (!strncasecmp(answer,"Cseq:",5)) {
+ sscanf(answer,"%*s %u",&answer_seq);
if (s->cseq != answer_seq) {
lprintf("warning: Cseq mismatch. got %u, assumed %u", answer_seq, s->cseq);
s->cseq=answer_seq;
}
}
- if (!strncmp(answer,"Server:",7)) {
+ if (!strncasecmp(answer,"Server:",7)) {
char *buf = xine_xmalloc(strlen(answer));
- sscanf(answer,"Server: %s",buf);
+ sscanf(answer,"%*s %s",buf);
if (s->server) free(s->server);
s->server=strdup(buf);
free(buf);
}
- if (!strncmp(answer,"Session:",8)) {
+ if (!strncasecmp(answer,"Session:",8)) {
char *buf = xine_xmalloc(strlen(answer));
- sscanf(answer,"Session: %s",buf);
+ sscanf(answer,"%*s %s",buf);
if (s->session) {
if (strcmp(buf, s->session)) {
xprintf(s->stream->xine, XINE_VERBOSITY_DEBUG,
@@ -402,8 +402,8 @@ int rtsp_read_data(rtsp_t *s, char *buffer, unsigned int size) {
rest=rtsp_get(s);
if (!rest)
return -1;
- if (!strncmp(rest,"Cseq:",5))
- sscanf(rest,"Cseq: %u",&seq);
+ if (!strncasecmp(rest,"Cseq:",5))
+ sscanf(rest,"%*s %u",&seq);
} while (strlen(rest)!=0);
free(rest);
if (seq<0) {