forked from jsl/video_editing_poc
java/org/example/videoclips/persistence/entity/ClipEntity.java and src/main/java/org/example/videoclips/persistence/JpaVideoClippingMapper.java, and added the schema migration at src/main/ resources/db/migration/V5__clip_object_key.sql. The clipper contract now returns both metadata and the local file path for each generated clip through src/main/java/org/example/videoclips/processing/GeneratedClip.java and the updated src/main/ java/org/example/videoclips/processing/VideoClipperPort.java. Both adapters were updated: - src/main/java/org/example/videoclips/processing/StubVideoClipperAdapter.java now creates stub local output files - src/main/java/org/example/videoclips/processing/FfmpegVideoClipperAdapter.java now returns deterministic local output paths for generated segments On the storage side, ObjectStoragePort gained uploadGeneratedClip(...), with implementations in: - src/main/java/org/example/videoclips/storage/InMemoryObjectStorageAdapter.java - src/main/java/org/example/videoclips/storage/S3ObjectStorageAdapter.java And src/main/java/org/example/videoclips/processing/ClipProcessor.java now uploads each generated local file through storage before saving the clip record, so the job path is finally staged input -> process -> uploaded output -> persisted clip metadata. I also exposed objectKey in the clip response via src/main/java/org/example/videoclips/application/VideoAssetService.java and extended the MockMvc test to assert it exists in src/test/java/org/ example/videoclips/api/VideoAssetControllerTest.java. |
||
|---|---|---|
| .. | ||
| clip_00000.mp4 | ||
| clip_00001.mp4 | ||
| clip_00002.mp4 | ||