Class VttThumbnailProvider

  • All Implemented Interfaces:
    ThumbnailProvider

    public class VttThumbnailProvider
    extends Object
    Provided thumbnails from WebVTT files.

    The implementation assumes that each thumbnail is referenced as a Cue entry in the VTT file. Gridded thumbnails are supported using the #xywh=<x>,<y>,<width>,<height> anchor on the linked file. If images are linked relative, the URL is resolved based on the base URL of the VTT file.

    Since:
    4.0.0
    • Constructor Detail

      • VttThumbnailProvider

        public VttThumbnailProvider​(@NonNull
                                    com.castlabs.sdk.thumbs.ThumbnailLoader loader,
                                    @NonNull
                                    PlayerController playerController,
                                    @NonNull
                                    LoadingStrategy loadingStrategy,
                                    @NonNull
                                    Uri sourceUri)
    • Method Detail

      • destroy

        public void destroy()
        Description copied from interface: ThumbnailProvider
        Free up all the resources, meaning this provider will not be used anymore
        Specified by:
        destroy in interface ThumbnailProvider
      • getDownloadableResources

        @Nullable
        public DownloadableResource[] getDownloadableResources​(String remoteManifestUrl,
                                                               File basePath,
                                                               Bundle bundle)
        Description copied from interface: ThumbnailProvider
        This methods is used to integrate a thumbnail provider with the downloader plugins and implementation can return an array of resources that should be fetched for offline playback.
        Specified by:
        getDownloadableResources in interface ThumbnailProvider
        Parameters:
        remoteManifestUrl - The manifest URL of the remote manifest that is the source of this download
        basePath - The base folder for this download
        bundle - The bundle that was used to start the initiate the download
        Returns:
        Array of downloadable resources or null
      • getThumbnail

        public void getThumbnail​(long positionUs,
                                 ThumbnailProvider.Callback callback,
                                 @ThumbnailIndex
                                 int thumbnailIndex)
        Description copied from interface: ThumbnailProvider
        Load the thumbnail for the given position and return it through the provided callback.
        Specified by:
        getThumbnail in interface ThumbnailProvider
        Parameters:
        positionUs - The position in microseconds
        callback - The callback that will be triggered once data are available