summaryrefslogtreecommitdiff
path: root/pkg/media/video.go
diff options
context:
space:
mode:
authordavy <davy.wybiral@gmail.com>2019-06-26 14:02:31 -0500
committerdavy <davy.wybiral@gmail.com>2019-06-26 14:02:31 -0500
commite1090a7583cfbb75fa03eb56d2b26d68732282cf (patch)
tree624e842a7a61b76330f8381c519f8e6e37a942a0 /pkg/media/video.go
parenta946d2b96618ff3d49364d272cb637af19e6d54e (diff)
import code
Diffstat (limited to 'pkg/media/video.go')
-rw-r--r--pkg/media/video.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkg/media/video.go b/pkg/media/video.go
new file mode 100644
index 0000000..bd0def8
--- /dev/null
+++ b/pkg/media/video.go
@@ -0,0 +1,40 @@
+package media
+
+import (
+ "os"
+
+ "github.com/dhowden/tag"
+)
+
+type Video struct {
+ ID string
+ Title string
+ Album string
+ Description string
+ Thumb []byte
+ ThumbType string
+ Modified string
+}
+
+func ParseVideo(path string) (*Video, error) {
+ f, err := os.Open(path)
+ if err != nil {
+ return nil, err
+ }
+ m, err := tag.ReadFrom(f)
+ if err != nil {
+ return nil, err
+ }
+ v := &Video{
+ Title: m.Title(),
+ Album: m.Album(),
+ Description: m.Comment(),
+ }
+ // Add thumbnail (if exists)
+ p := m.Picture()
+ if p != nil {
+ v.Thumb = p.Data
+ v.ThumbType = p.MIMEType
+ }
+ return v, nil
+}