|
|
|
@ -9,7 +9,6 @@
|
|
|
|
|
package logic
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"flag"
|
|
|
|
|
"fmt"
|
|
|
|
|
"net"
|
|
|
|
|
"net/http"
|
|
|
|
@ -28,7 +27,6 @@ import (
|
|
|
|
|
"github.com/q191201771/lal/pkg/rtmp"
|
|
|
|
|
"github.com/q191201771/lal/pkg/rtsp"
|
|
|
|
|
"github.com/q191201771/naza/pkg/defertaskthread"
|
|
|
|
|
"github.com/q191201771/naza/pkg/nazalog"
|
|
|
|
|
//"github.com/felixge/fgprof"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -74,17 +72,7 @@ func NewServerManager(modOption ...ModOption) *ServerManager {
|
|
|
|
|
|
|
|
|
|
rawContent := sm.option.ConfRawContent
|
|
|
|
|
if len(rawContent) == 0 {
|
|
|
|
|
confFile := sm.option.ConfFilename
|
|
|
|
|
// 运行参数中没有配置文件,尝试从几个默认位置读取
|
|
|
|
|
if confFile == "" {
|
|
|
|
|
nazalog.Warnf("config file did not specify in the command line, try to load it in the usual path.")
|
|
|
|
|
confFile = firstExistDefaultConfFilename()
|
|
|
|
|
|
|
|
|
|
// 所有默认位置都找不到配置文件,退出程序
|
|
|
|
|
if confFile == "" {
|
|
|
|
|
// TODO(chef): refactor ILalserver既然已经作为package提供了,那么内部就不应该包含flag和os exit的操作,应该返回给上层
|
|
|
|
|
// TODO(chef): refactor new中逻辑是否该往后移
|
|
|
|
|
flag.Usage()
|
|
|
|
|
rawContent = base.WrapReadConfigFile(sm.option.ConfFilename, DefaultConfFilenameList, func() {
|
|
|
|
|
_, _ = fmt.Fprintf(os.Stderr, `
|
|
|
|
|
Example:
|
|
|
|
|
%s -c %s
|
|
|
|
@ -92,15 +80,7 @@ Example:
|
|
|
|
|
Github: %s
|
|
|
|
|
Doc: %s
|
|
|
|
|
`, os.Args[0], filepath.FromSlash("./conf/lalserver.conf.json"), base.LalGithubSite, base.LalDocSite)
|
|
|
|
|
base.OsExitAndWaitPressIfWindows(1)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var err error
|
|
|
|
|
rawContent, err = os.ReadFile(confFile)
|
|
|
|
|
if err != nil {
|
|
|
|
|
_, _ = fmt.Fprintf(os.Stderr, "read conf file failed. file=%s err=%+v", confFile, err)
|
|
|
|
|
base.OsExitAndWaitPressIfWindows(1)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
sm.config = LoadConfAndInitLog(rawContent)
|
|
|
|
|
base.LogoutStartInfo()
|
|
|
|
@ -842,18 +822,3 @@ func (sm *ServerManager) serveHls(writer http.ResponseWriter, req *http.Request)
|
|
|
|
|
|
|
|
|
|
sm.hlsServerHandler.ServeHTTP(writer, req)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
func firstExistDefaultConfFilename() string {
|
|
|
|
|
for _, dcf := range DefaultConfFilenameList {
|
|
|
|
|
fi, err := os.Stat(dcf)
|
|
|
|
|
if err == nil && fi.Size() > 0 && !fi.IsDir() {
|
|
|
|
|
nazalog.Warnf("%s exist. using it as config file.", dcf)
|
|
|
|
|
return dcf
|
|
|
|
|
} else {
|
|
|
|
|
nazalog.Warnf("%s not exist.", dcf)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ""
|
|
|
|
|
}
|
|
|
|
|