diff options
| author | davy <davy.wybiral@gmail.com> | 2019-06-26 14:02:31 -0500 |
|---|---|---|
| committer | davy <davy.wybiral@gmail.com> | 2019-06-26 14:02:31 -0500 |
| commit | e1090a7583cfbb75fa03eb56d2b26d68732282cf (patch) | |
| tree | 624e842a7a61b76330f8381c519f8e6e37a942a0 /pkg/media/video.go | |
| parent | a946d2b96618ff3d49364d272cb637af19e6d54e (diff) | |
import code
Diffstat (limited to 'pkg/media/video.go')
| -rw-r--r-- | pkg/media/video.go | 40 |
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 +} |
