From e2c94d074090f2ef3ec31fc4e7385024ef66d3e3 Mon Sep 17 00:00:00 2001 From: Dylan De Faoite Date: Wed, 1 Jul 2026 22:12:32 +0100 Subject: [PATCH] feat(stream): stream save now auto-persists vod --- .../com/ddf/vodsystem/services/MediaService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ddf/vodsystem/services/MediaService.java b/src/main/java/com/ddf/vodsystem/services/MediaService.java index 8a791a9..f3714cd 100644 --- a/src/main/java/com/ddf/vodsystem/services/MediaService.java +++ b/src/main/java/com/ddf/vodsystem/services/MediaService.java @@ -31,18 +31,20 @@ public class MediaService { private static final float CLIP_MAX_LENGTH = 180; private static final int HLS_SEGMENT_LENGTH = 3; private final StreamActionsService streamActionsService; + private final VodService vodService; public MediaService(JobRegistryService jobRegistryService, DirectoryService directoryService, CompressionService compressionService, UserService userService, - ClipService clipService, StreamActionsService streamActionsService) { + ClipService clipService, StreamActionsService streamActionsService, VodService vodService) { this.jobRegistryService = jobRegistryService; this.directoryService = directoryService; this.compressionService = compressionService; this.userService = userService; this.clipService = clipService; this.streamActionsService = streamActionsService; + this.vodService = vodService; } public Job compress(MultipartFile file, ClipOptions clipOptions) throws IOException, InterruptedException { @@ -132,6 +134,14 @@ public class MediaService { job.setDownload(outputFile); job.setState(JobState.SUCCEEDED); logger.info("Stream save of job {} succeeded", job.getUuid()); + vodService.persist( + Instant.now().toString(), + "", + user, + outputFile, + outputFile.getFileName().toString() + ); + }).exceptionally(ex -> { job.setState(JobState.FAILED); job.setErrorOutput(ex.getMessage());