diff --git a/transcoder/main.go b/transcoder/main.go index 7705157e..0584d0b1 100644 --- a/transcoder/main.go +++ b/transcoder/main.go @@ -237,7 +237,7 @@ func (h *Handler) GetAttachment(c echo.Context) error { } <-wait - path := fmt.Sprintf("%s/%s/att/%s", src.GetMetadataPath(), sha, name) + path := fmt.Sprintf("%s/%s/att/%s", src.Settings.Metadata, sha, name) return c.File(path) } @@ -263,7 +263,7 @@ func (h *Handler) GetSubtitle(c echo.Context) error { } <-wait - path := fmt.Sprintf("%s/%s/sub/%s", src.GetMetadataPath(), sha, name) + path := fmt.Sprintf("%s/%s/sub/%s", src.Settings.Metadata, sha, name) return c.File(path) } diff --git a/transcoder/src/extract.go b/transcoder/src/extract.go index 1430d89b..3173d966 100644 --- a/transcoder/src/extract.go +++ b/transcoder/src/extract.go @@ -12,14 +12,6 @@ type Extractor struct { lock sync.RWMutex } -func GetMetadataPath() string { - out := os.Getenv("GOCODER_METADATA_ROOT") - if out == "" { - return "/metadata" - } - return out -} - func NewExtractor() *Extractor { return &Extractor{ extracted: make(map[string]<-chan struct{}), @@ -49,8 +41,8 @@ func (e *Extractor) RunExtractor(path string, sha string, subs *[]Subtitle) <-ch e.lock.Unlock() go func() { - attachment_path := fmt.Sprintf("%s/%s/att", GetMetadataPath(), sha) - subs_path := fmt.Sprintf("%s/%s/sub", GetMetadataPath(), sha) + attachment_path := fmt.Sprintf("%s/%s/att", Settings.Metadata, sha) + subs_path := fmt.Sprintf("%s/%s/sub", Settings.Metadata, sha) os.MkdirAll(attachment_path, 0o644) os.MkdirAll(subs_path, 0o755) diff --git a/transcoder/src/filestream.go b/transcoder/src/filestream.go index a892fd5e..0ca673b9 100644 --- a/transcoder/src/filestream.go +++ b/transcoder/src/filestream.go @@ -23,14 +23,6 @@ type FileStream struct { alock sync.Mutex } -func GetOutPath() string { - out := os.Getenv("GOCODER_CACHE_ROOT") - if out == "" { - return "/cache" - } - return out -} - func NewFileStream(path string) (*FileStream, error) { info_chan := make(chan struct { info *MediaInfo @@ -55,7 +47,7 @@ func NewFileStream(path string) (*FileStream, error) { return &FileStream{ Path: path, - Out: fmt.Sprintf("%s/%s", GetOutPath(), info.info.Sha), + Out: fmt.Sprintf("%s/%s", Settings.Outpath, info.info.Sha), Keyframes: keyframes, CanTransmux: can_transmux, Info: info.info, diff --git a/transcoder/src/settings.go b/transcoder/src/settings.go new file mode 100644 index 00000000..456f982e --- /dev/null +++ b/transcoder/src/settings.go @@ -0,0 +1,21 @@ +package src + +import "os" + +func GetEnvOr(env string, def string) string { + out := os.Getenv(env) + if out == "" { + return def + } + return out +} + +type SettingsT struct { + Outpath string + Metadata string +} + +var Settings = SettingsT{ + Outpath: GetEnvOr("GOCODER_CACHE_ROOT", "/cache"), + Metadata: GetEnvOr("GOCODER_METADATA_ROOT", "/metadata"), +} diff --git a/transcoder/src/thumbnails.go b/transcoder/src/thumbnails.go index 49f119b5..a6256d01 100644 --- a/transcoder/src/thumbnails.go +++ b/transcoder/src/thumbnails.go @@ -71,7 +71,7 @@ func extractThumbnail(path string, name string) (string, error) { if err != nil { return "", err } - out := fmt.Sprintf("%s/%s", GetMetadataPath(), ret.Sha) + out := fmt.Sprintf("%s/%s", Settings.Metadata, ret.Sha) sprite_path := fmt.Sprintf("%s/sprite.png", out) vtt_path := fmt.Sprintf("%s/sprite.vtt", out) diff --git a/transcoder/src/transcoder.go b/transcoder/src/transcoder.go index 28a153c9..4776536f 100644 --- a/transcoder/src/transcoder.go +++ b/transcoder/src/transcoder.go @@ -19,7 +19,7 @@ type Transcoder struct { } func NewTranscoder() (*Transcoder, error) { - out := GetOutPath() + out := Settings.Outpath dir, err := os.ReadDir(out) if err != nil { return nil, err