Go to file
JSLMPR bd620fc773 The storage port now has a real staging operation:
- materializeSourceObject(String sourceObjectKey, Path targetPath) in src/main/java/org/example/videoclips/storage/ObjectStoragePort.java

  Both storage adapters implement it:

  - src/main/java/org/example/videoclips/storage/InMemoryObjectStorageAdapter.java creates a placeholder local file for the default stub flow
  - src/main/java/org/example/videoclips/storage/S3ObjectStorageAdapter.java downloads the object from S3-compatible storage to the worker filesystem

  The processor now uses that seam before clip generation starts. In src/main/java/org/example/videoclips/processing/ClipProcessor.java it resolves the local input path under the configured FFmpeg
  input directory, materializes the source object there, and records a SOURCE_MATERIALIZED job event before invoking the clipper.

  That means the FFmpeg path is no longer relying on a file appearing magically in the input directory. The next concrete step is to finish the output side the same way: persist generated clip
  object keys and push FFmpeg outputs back through the storage port instead of only creating clip metadata in memory.
2026-07-09 00:02:05 +02:00
.idea initial 2026-07-08 17:00:58 +02:00
docs wip 2026-07-08 22:25:12 +02:00
src The storage port now has a real staging operation: 2026-07-09 00:02:05 +02:00
tmp/ffmpeg-input/uploads/upl_367df9ed2414 The storage port now has a real staging operation: 2026-07-09 00:02:05 +02:00
.gitignore initial 2026-07-08 17:00:58 +02:00
pom.xml The storage port now has an opt-in S3-compatible implementation in src/main/java/org/example/videoclips/storage/S3ObjectStorageAdapter.java. It uses the AWS SDK presigner to generate multipart 2026-07-08 23:47:05 +02:00