diff --git a/ffserver.c b/ffserver.c index 20ba890e4d..74bce851b9 100644 --- a/ffserver.c +++ b/ffserver.c @@ -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; }