diff --git a/internal/manager/task_generate_screenshot.go b/internal/manager/task_generate_screenshot.go index b3cd93e38..a245dcdca 100644 --- a/internal/manager/task_generate_screenshot.go +++ b/internal/manager/task_generate_screenshot.go @@ -21,17 +21,20 @@ func (t *GenerateCoverTask) GetDescription() string { } func (t *GenerateCoverTask) Start(ctx context.Context) { - if !t.required(ctx) { - return - } - scenePath := t.Scene.Path + var required bool if err := t.txnManager.WithReadTxn(ctx, func(ctx context.Context) error { + required = t.required(ctx) + return t.Scene.LoadPrimaryFile(ctx, t.txnManager.File) }); err != nil { logger.Error(err) } + + if !required { + return + } videoFile := t.Scene.Files.Primary() if videoFile == nil { @@ -89,6 +92,7 @@ func (t *GenerateCoverTask) Start(ctx context.Context) { } // required returns true if the sprite needs to be generated +// assumes in a transaction func (t *GenerateCoverTask) required(ctx context.Context) bool { if t.Scene.Path == "" { return false