def __next__(self) -> dict:
        """Retrieves the next clip based on the clip sampling strategy and video sampler.

        Returns:
            A dictionary with the following format.

            .. code-block:: text

                {
                    'video': <video_tensor>,
                    'label': <index_label>,
                    'video_label': <index_label>
                    'video_index': <video_index>,
                }

        """
        if not self._video_sampler_iter:
            # Setup MultiProcessSampler here - after PyTorch DataLoader workers are spawned.
            self._video_sampler_iter = iter(MultiProcessSampler(self._video_sampler))

        # Reuse previously stored video if there are still clips to be sampled from
        # the last loaded video.
        video_index = next(self._video_sampler_iter)
        video_tensor, info_dict = self._labeled_videos[video_index]
        self._loaded_video_label = (video_tensor, info_dict, video_index)

        return {
            "video": self._loaded_video_label[0],
            "video_name": f"video{video_index}",
            "video_index": video_index,
            "label": info_dict,
            "video_label": info_dict,
        }
Retrieves the next clip based on the clip sampling strategy and video sampler.

        Returns:
            A dictionary with the following format.

            .. code-block:: text

                {
                    'video': <video_tensor>,
                    'label': <index_label>,
                    'video_label': <index_label>
                    'video_index': <video_index>,
                }

        
src/flash/video/classification/utils.py