Small refactorings

This commit is contained in:
Deluan 2021-07-21 12:46:30 -04:00
parent 1cef44a543
commit 86c0b422f6
3 changed files with 10 additions and 14 deletions

View file

@ -24,13 +24,13 @@ type MediaStreamer interface {
type TranscodingCache cache.FileCache type TranscodingCache cache.FileCache
func NewMediaStreamer(ds model.DataStore, ffm transcoder.Transcoder, cache TranscodingCache) MediaStreamer { func NewMediaStreamer(ds model.DataStore, t transcoder.Transcoder, cache TranscodingCache) MediaStreamer {
return &mediaStreamer{ds: ds, ffm: ffm, cache: cache} return &mediaStreamer{ds: ds, transcoder: t, cache: cache}
} }
type mediaStreamer struct { type mediaStreamer struct {
ds model.DataStore ds model.DataStore
ffm transcoder.Transcoder transcoder transcoder.Transcoder
cache cache.FileCache cache cache.FileCache
} }
@ -182,7 +182,7 @@ func GetTranscodingCache() TranscodingCache {
log.Error(ctx, "Error loading transcoding command", "format", job.format, err) log.Error(ctx, "Error loading transcoding command", "format", job.format, err)
return nil, os.ErrInvalid return nil, os.ErrInvalid
} }
out, err := job.ms.ffm.Start(ctx, t.Command, job.mf.Path, job.bitRate) out, err := job.ms.transcoder.Start(ctx, t.Command, job.mf.Path, job.bitRate)
if err != nil { if err != nil {
log.Error(ctx, "Error starting transcoder", "id", job.mf.ID, err) log.Error(ctx, "Error starting transcoder", "id", job.mf.ID, err)
return nil, os.ErrInvalid return nil, os.ErrInvalid

View file

@ -16,19 +16,15 @@ type Transcoder interface {
} }
func New() Transcoder { func New() Transcoder {
_, err := exec.LookPath("ffmpeg") return &externalTranscoder{}
if err != nil {
log.Error("Unable to find ffmpeg", err)
}
return &ffmpeg{}
} }
type ffmpeg struct{} type externalTranscoder struct{}
func (ff *ffmpeg) Start(ctx context.Context, command, path string, maxBitRate int) (f io.ReadCloser, err error) { func (e *externalTranscoder) Start(ctx context.Context, command, path string, maxBitRate int) (f io.ReadCloser, err error) {
args := createTranscodeCommand(command, path, maxBitRate) args := createTranscodeCommand(command, path, maxBitRate)
log.Trace(ctx, "Executing ffmpeg command", "cmd", args) log.Trace(ctx, "Executing transcoding command", "cmd", args)
cmd := exec.Command(args[0], args[1:]...) // #nosec cmd := exec.Command(args[0], args[1:]...) // #nosec
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
if f, err = cmd.StdoutPipe(); err != nil { if f, err = cmd.StdoutPipe(); err != nil {