# DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/python/mod.rs
# Based on "crates/store/re_sdk_types/definitions/rerun/components/video_sample.fbs".

# You can extend this class by creating a "VideoSampleExt" class in "video_sample_ext.py".

from __future__ import annotations

from .. import datatypes
from .._baseclasses import (
    ComponentBatchMixin,
    ComponentMixin,
)

__all__ = ["VideoSample", "VideoSampleBatch"]


class VideoSample(datatypes.Blob, ComponentMixin):
    """
    **Component**: Video sample data (also known as "video chunk").

    Each video sample must contain enough data for exactly one video frame
    (this restriction may be relaxed in the future for some codecs).

    Keyframes may require additional data, for details see [`components.VideoCodec`][rerun.components.VideoCodec].
    """

    _BATCH_TYPE = None
    # You can define your own __init__ function as a member of VideoSampleExt in video_sample_ext.py

    # Note: there are no fields here because VideoSample delegates to datatypes.Blob


class VideoSampleBatch(datatypes.BlobBatch, ComponentBatchMixin):
    _COMPONENT_TYPE: str = "rerun.components.VideoSample"


# This is patched in late to avoid circular dependencies.
VideoSample._BATCH_TYPE = VideoSampleBatch  # type: ignore[assignment]
