Describe the Bug
VideoLoader.load_video_batch handles Url and Decoded items but has no validation branch for other values. An invalid item is silently skipped, so the returned video list can contain fewer entries than the request. In a mixed batch, failures can also be logged against the wrong input item because result processing zips the original items with futures created only for supported variants.
Steps to Reproduce
- Call
load_video_batch with a batch containing an unsupported item, for example:
[{"Unexpected": "value"}].
- Or mix a valid URL item with an unsupported item:
[{"Url": "https://example.com/clip.mp4"}, {"Unexpected": "value"}].
- Observe that no validation error is raised and the invalid item is absent from the result.
Expected Behavior
Reject an unsupported item with a clear ValueError identifying its index and the accepted Url and Decoded variants. Validate the batch before scheduling loads so invalid input does not create unawaited coroutines.
Actual Behavior
Unsupported items are silently ignored. A batch with only invalid items returns an empty list; a mixed batch silently omits the invalid video.
Environment
- Repository:
ai-dynamo/dynamo
- Component: Python multimodal video loading
- Affected method:
VideoLoader.load_video_batch in components/src/dynamo/common/multimodal/video_loader.py
- No specific hardware or Kubernetes version is required.
Additional Context
Image and audio batch loaders reject unsupported multimodal variants with an indexed ValueError. Video loading should follow the same input-validation contract.
Describe the Bug
VideoLoader.load_video_batchhandlesUrlandDecodeditems but has no validation branch for other values. An invalid item is silently skipped, so the returned video list can contain fewer entries than the request. In a mixed batch, failures can also be logged against the wrong input item because result processing zips the original items with futures created only for supported variants.Steps to Reproduce
load_video_batchwith a batch containing an unsupported item, for example:[{"Unexpected": "value"}].[{"Url": "https://example.com/clip.mp4"}, {"Unexpected": "value"}].Expected Behavior
Reject an unsupported item with a clear
ValueErroridentifying its index and the acceptedUrlandDecodedvariants. Validate the batch before scheduling loads so invalid input does not create unawaited coroutines.Actual Behavior
Unsupported items are silently ignored. A batch with only invalid items returns an empty list; a mixed batch silently omits the invalid video.
Environment
ai-dynamo/dynamoVideoLoader.load_video_batchincomponents/src/dynamo/common/multimodal/video_loader.pyAdditional Context
Image and audio batch loaders reject unsupported multimodal variants with an indexed
ValueError. Video loading should follow the same input-validation contract.