You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lal/pkg/hls/filesystemlayer.go

47 lines
911 B
Go

// Copyright 2021, Chef. All rights reserved.
// https://github.com/q191201771/lal
//
// Use of this source code is governed by a MIT-style license
// that can be found in the License file.
//
// Author: Chef (191201771@qq.com)
package hls
import (
"sync"
"github.com/q191201771/naza/pkg/filesystemlayer"
)
var (
fslCtx filesystemlayer.IFileSystemLayer
setOnce sync.Once
)
func SetUseMemoryAsDiskFlag(flag bool) {
setOnce.Do(func() {
var t filesystemlayer.FSLType
if flag {
t = filesystemlayer.FSLTypeMemory
} else {
t = filesystemlayer.FSLTypeDisk
}
if fslCtx == nil || fslCtx.Type() != t {
fslCtx = filesystemlayer.FSLFactory(t)
}
})
}
func ReadFile(filename string) ([]byte, error) {
return fslCtx.ReadFile(filename)
}
func RemoveAll(path string) error {
return fslCtx.RemoveAll(path)
}
func init() {
fslCtx = filesystemlayer.FSLFactory(filesystemlayer.FSLTypeDisk)
}