mirror of
https://github.com/bluenviron/mediamtx.git
synced 2025-12-20 02:00:05 -08:00
hls: fix toggling hlsAlwaysRemux after server is started (#4503)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
When hlsAlwaysRemux was switched from false to true, through API or hot reloading, muxers of existing paths were not created. This fixes the issue.
This commit is contained in:
parent
84ed7a5f3b
commit
defee1eed9
12 changed files with 380 additions and 182 deletions
|
|
@ -77,48 +77,6 @@ func recordingsOfPath(
|
|||
return ret
|
||||
}
|
||||
|
||||
// PathManager contains methods used by the API and Metrics server.
|
||||
type PathManager interface {
|
||||
APIPathsList() (*defs.APIPathList, error)
|
||||
APIPathsGet(string) (*defs.APIPath, error)
|
||||
}
|
||||
|
||||
// HLSServer contains methods used by the API and Metrics server.
|
||||
type HLSServer interface {
|
||||
APIMuxersList() (*defs.APIHLSMuxerList, error)
|
||||
APIMuxersGet(string) (*defs.APIHLSMuxer, error)
|
||||
}
|
||||
|
||||
// RTSPServer contains methods used by the API and Metrics server.
|
||||
type RTSPServer interface {
|
||||
APIConnsList() (*defs.APIRTSPConnsList, error)
|
||||
APIConnsGet(uuid.UUID) (*defs.APIRTSPConn, error)
|
||||
APISessionsList() (*defs.APIRTSPSessionList, error)
|
||||
APISessionsGet(uuid.UUID) (*defs.APIRTSPSession, error)
|
||||
APISessionsKick(uuid.UUID) error
|
||||
}
|
||||
|
||||
// RTMPServer contains methods used by the API and Metrics server.
|
||||
type RTMPServer interface {
|
||||
APIConnsList() (*defs.APIRTMPConnList, error)
|
||||
APIConnsGet(uuid.UUID) (*defs.APIRTMPConn, error)
|
||||
APIConnsKick(uuid.UUID) error
|
||||
}
|
||||
|
||||
// SRTServer contains methods used by the API and Metrics server.
|
||||
type SRTServer interface {
|
||||
APIConnsList() (*defs.APISRTConnList, error)
|
||||
APIConnsGet(uuid.UUID) (*defs.APISRTConn, error)
|
||||
APIConnsKick(uuid.UUID) error
|
||||
}
|
||||
|
||||
// WebRTCServer contains methods used by the API and Metrics server.
|
||||
type WebRTCServer interface {
|
||||
APISessionsList() (*defs.APIWebRTCSessionList, error)
|
||||
APISessionsGet(uuid.UUID) (*defs.APIWebRTCSession, error)
|
||||
APISessionsKick(uuid.UUID) error
|
||||
}
|
||||
|
||||
type apiAuthManager interface {
|
||||
Authenticate(req *auth.Request) error
|
||||
}
|
||||
|
|
@ -139,14 +97,14 @@ type API struct {
|
|||
ReadTimeout conf.Duration
|
||||
Conf *conf.Conf
|
||||
AuthManager apiAuthManager
|
||||
PathManager PathManager
|
||||
RTSPServer RTSPServer
|
||||
RTSPSServer RTSPServer
|
||||
RTMPServer RTMPServer
|
||||
RTMPSServer RTMPServer
|
||||
HLSServer HLSServer
|
||||
WebRTCServer WebRTCServer
|
||||
SRTServer SRTServer
|
||||
PathManager defs.APIPathManager
|
||||
RTSPServer defs.APIRTSPServer
|
||||
RTSPSServer defs.APIRTSPServer
|
||||
RTMPServer defs.APIRTMPServer
|
||||
RTMPSServer defs.APIRTMPServer
|
||||
HLSServer defs.APIHLSServer
|
||||
WebRTCServer defs.APIWebRTCServer
|
||||
SRTServer defs.APISRTServer
|
||||
Parent apiParent
|
||||
|
||||
httpServer *httpp.Server
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue