From eb9141e450b5af656e7b8d7af6961acc3456aefe Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 19 May 2026 07:41:05 -0400 Subject: [PATCH] Edge: Fix inverted check that blocked HTTP-FLV play. SrsHttpStreamServer::assemble() registered the dynamic matcher only when the mux cast was NULL, so the matcher was never wired up. On an edge the FLV mount is created lazily via the dynamic matcher when a client requests it, so HTTP-FLV play on edge always returned 404. Invert the guard so the matcher is registered when the mux is valid, mirroring the destructor. Co-Authored-By: Claude Opus 4.7 (1M context) --- trunk/src/app/srs_app_http_stream.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trunk/src/app/srs_app_http_stream.cpp b/trunk/src/app/srs_app_http_stream.cpp index 4e141e4c2..d154da9b0 100644 --- a/trunk/src/app/srs_app_http_stream.cpp +++ b/trunk/src/app/srs_app_http_stream.cpp @@ -1076,7 +1076,7 @@ SrsHttpStreamServer::SrsHttpStreamServer() void SrsHttpStreamServer::assemble() { SrsHttpServeMux *mux = dynamic_cast(mux_); - if (!mux) { + if (mux) { mux->add_dynamic_matcher(this); } }