summaryrefslogtreecommitdiff
path: root/media/video.go
diff options
context:
space:
mode:
authorJames Mills <prologic@shortcircuit.net.au>2020-03-22 18:42:35 +1000
committerJames Mills <prologic@shortcircuit.net.au>2020-03-22 18:42:35 +1000
commit8ae65e4b73eb0d4269a7e0a50827df3d7d761481 (patch)
treecfbcf46e5813b813dc851bfdb9cd1d2d50c5c0ee /media/video.go
parent7492a150ebf1d81782bd113140ad213354d6c107 (diff)
Don't generate new thumbnails if they already exist
Diffstat (limited to 'media/video.go')
-rw-r--r--media/video.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/media/video.go b/media/video.go
index f37c697..e864be0 100644
--- a/media/video.go
+++ b/media/video.go
@@ -79,10 +79,13 @@ func ParseVideo(p *Path, name string) (*Video, error) {
v.Thumb = pic.Data
v.ThumbType = pic.MIMEType
} else if utils.CmdExists("mt") {
- if err := utils.RunCmd(10, "mt", "-s", "-n", "1", pth); err != nil {
- err := fmt.Errorf("error generating thumbnail: %w", err)
- log.Error(err.Error())
- return nil, err
+ thumbFn := fmt.Sprintf("%s.jpg", strings.TrimSuffix(pth, filepath.Ext(pth)))
+ if !utils.FileExists(thumbFn) {
+ if err := utils.RunCmd(10, "mt", "-s", "-n", "1", pth); err != nil {
+ err := fmt.Errorf("error generating thumbnail: %w", err)
+ log.Error(err.Error())
+ return nil, err
+ }
}
data, err := ioutil.ReadFile(fmt.Sprintf("%s.jpg", strings.TrimSuffix(pth, filepath.Ext(pth))))
if err != nil {