Skip to content

[BUG]: Video batch loading silently ignores invalid multimodal items #15207

Description

@tangming1996

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

  1. Call load_video_batch with a batch containing an unsupported item, for example:
    [{"Unexpected": "value"}].
  2. Or mix a valid URL item with an unsupported item:
    [{"Url": "https://example.com/clip.mp4"}, {"Unexpected": "value"}].
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmultimodalpythonPull requests that update python code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions