diff --git a/transcoder/main.go b/transcoder/main.go index af4983a0..e6fc54fb 100644 --- a/transcoder/main.go +++ b/transcoder/main.go @@ -190,7 +190,7 @@ func (h *Handler) GetInfo(c echo.Context) error { go src.ExtractThumbnail( ret.Path, route, - &sha, + sha, ) return c.JSON(http.StatusOK, ret) } @@ -265,11 +265,15 @@ func (h *Handler) GetThumbnails(c echo.Context) error { if err != nil { return err } + sha, err := src.GetHash(path) + if err != nil { + return err + } out, err := src.ExtractThumbnail( path, GetRoute(c), - nil, + sha, ) if err != nil { return err @@ -289,11 +293,15 @@ func (h *Handler) GetThumbnailsVtt(c echo.Context) error { if err != nil { return err } + sha, err := src.GetHash(path) + if err != nil { + return err + } out, err := src.ExtractThumbnail( path, GetRoute(c), - nil, + sha, ) if err != nil { return err diff --git a/transcoder/src/thumbnails.go b/transcoder/src/thumbnails.go index 9a84f813..ed8e24c5 100644 --- a/transcoder/src/thumbnails.go +++ b/transcoder/src/thumbnails.go @@ -27,15 +27,8 @@ type Thumbnail struct { var thumbnails = NewCMap[string, *Thumbnail]() -func ExtractThumbnail(path string, route string, sha *string) (string, error) { - ret, _ := thumbnails.GetOrCreate(path, func() *Thumbnail { - if sha == nil { - nsha, err := GetHash(path) - if err != nil { - return nil - } - sha = &nsha - } +func ExtractThumbnail(path string, route string, sha string) (string, error) { + ret, _ := thumbnails.GetOrCreate(sha, func() *Thumbnail { ret := &Thumbnail{ path: fmt.Sprintf("%s/%s", Settings.Metadata, sha), }