ffserver: Try matching the RTSP url without a trailing slash
authorMartin Storsjö <martin@martin.st>
Wed, 16 Feb 2011 14:37:40 +0000 (16:37 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Thu, 17 Feb 2011 22:18:46 +0000 (23:18 +0100)
If the client sends PLAY/PAUSE requests with the same url as
specified in Content-Base, these requests may have urls with
trailing slashes.

ffserver.c

index 20ba890..74bce85 100644 (file)
@@ -3199,7 +3199,7 @@ static HTTPContext *find_rtp_session_with_url(const char *url,
     char path1[1024];
     const char *path;
     char buf[1024];
-    int s;
+    int s, len;
 
     rtp_c = find_rtp_session(session_id);
     if (!rtp_c)
@@ -3219,6 +3219,10 @@ static HTTPContext *find_rtp_session_with_url(const char *url,
         return rtp_c;
       }
     }
+    len = strlen(path);
+    if (len > 0 && path[len - 1] == '/' &&
+        !strncmp(path, rtp_c->stream->filename, len - 1))
+        return rtp_c;
     return NULL;
 }