hls: fix population of runOnDemand's MTX_QUERY (#3255)

This commit is contained in:
xjr20042
2024-04-19 22:53:16 +02:00
committed by GitHub
parent 2bd8ac7e19
commit 75ae2f4fac
3 changed files with 8 additions and 3 deletions
+1
View File
@@ -199,6 +199,7 @@ func (s *httpServer) onRequest(ctx *gin.Context) {
mux, err := s.parent.getMuxer(serverGetMuxerReq{
path: dir,
remoteAddr: httpp.RemoteAddr(ctx),
query: ctx.Request.URL.RawQuery,
sourceOnDemand: pathConf.SourceOnDemand,
})
if err != nil {
+2
View File
@@ -59,6 +59,7 @@ type muxer struct {
pathName string
pathManager serverPathManager
parent *Server
query string
ctx context.Context
ctxCancel func()
@@ -124,6 +125,7 @@ func (m *muxer) runInner() error {
AccessRequest: defs.PathAccessRequest{
Name: m.pathName,
SkipAuth: true,
Query: m.query,
},
})
if err != nil {
+5 -3
View File
@@ -25,6 +25,7 @@ type serverGetMuxerRes struct {
type serverGetMuxerReq struct {
path string
remoteAddr string
query string
sourceOnDemand bool
res chan serverGetMuxerRes
}
@@ -152,7 +153,7 @@ outer:
case pa := <-s.chPathReady:
if s.AlwaysRemux && !pa.SafeConf().SourceOnDemand {
if _, ok := s.muxers[pa.Name()]; !ok {
s.createMuxer(pa.Name(), "")
s.createMuxer(pa.Name(), "", "")
}
}
@@ -171,7 +172,7 @@ outer:
case s.AlwaysRemux && !req.sourceOnDemand:
req.res <- serverGetMuxerRes{err: fmt.Errorf("muxer is waiting to be created")}
default:
req.res <- serverGetMuxerRes{muxer: s.createMuxer(req.path, req.remoteAddr)}
req.res <- serverGetMuxerRes{muxer: s.createMuxer(req.path, req.remoteAddr, req.query)}
}
case c := <-s.chCloseMuxer:
@@ -215,7 +216,7 @@ outer:
s.httpServer.close()
}
func (s *Server) createMuxer(pathName string, remoteAddr string) *muxer {
func (s *Server) createMuxer(pathName string, remoteAddr string, query string) *muxer {
r := &muxer{
parentCtx: s.ctx,
remoteAddr: remoteAddr,
@@ -230,6 +231,7 @@ func (s *Server) createMuxer(pathName string, remoteAddr string) *muxer {
pathName: pathName,
pathManager: s.PathManager,
parent: s,
query: query,
}
r.initialize()
s.muxers[pathName] = r