From ad7445b6f61e9f1544e5c8e412b3106be91e68f7 Mon Sep 17 00:00:00 2001 From: Carl Pearson Date: Tue, 5 Nov 2024 05:39:49 -0700 Subject: [PATCH] Clip and Video share VideoFile --- handlers.go | 16 +++++++++------- media/models.go | 18 ++++++++++++++---- workers.go | 6 ++++-- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/handlers.go b/handlers.go index d2c4519..ad36fd9 100644 --- a/handlers.go +++ b/handlers.go @@ -654,16 +654,18 @@ func startDownload(originalID uint, videoURL string, audioOnly bool) { } video := media.Video{ - MediaFile: media.MediaFile{ - Length: mediaMeta.length, - Size: mediaMeta.size, - Filename: dlFilename, + VideoFile: media.VideoFile{ + MediaFile: media.MediaFile{ + Length: mediaMeta.length, + Size: mediaMeta.size, + Filename: dlFilename, + }, + FPS: mediaMeta.fps, + Width: mediaMeta.width, + Height: mediaMeta.height, }, OriginalID: originalID, Source: "original", - FPS: mediaMeta.fps, - Width: mediaMeta.width, - Height: mediaMeta.height, } log.Debugln("create Video", video) if db.Create(&video).Error != nil { diff --git a/media/models.go b/media/models.go index 7d3e015..9aa915e 100644 --- a/media/models.go +++ b/media/models.go @@ -19,6 +19,13 @@ type MediaFile struct { Filename string } +type VideoFile struct { + MediaFile + Width uint + Height uint + FPS float64 +} + type Audio struct { gorm.Model MediaFile @@ -30,11 +37,14 @@ type Audio struct { type Video struct { gorm.Model - MediaFile + VideoFile OriginalID uint // Original.ID Source string // "original", "transcode" - Width uint - Height uint - FPS float64 Status Status } + +type Clip struct { + gorm.Model + VideoFile + OriginalID uint // Original.ID +} diff --git a/workers.go b/workers.go index 641be59..c018ee3 100644 --- a/workers.go +++ b/workers.go @@ -81,8 +81,10 @@ func videoToVideo(sem chan struct{}, transID uint, srcFilepath string) { // create video record video := media.Video{ - MediaFile: media.MediaFile{ - Filename: dstFilename, + VideoFile: media.VideoFile{ + MediaFile: media.MediaFile{ + Filename: dstFilename, + }, }, OriginalID: orig.ID, Source: "transcode", }