Interface TrackRendererPlugin.TrackRendererBuilder

All Known Implementing Classes:
ClearkeyTrackRendererBuilder
Enclosing interface:
TrackRendererPlugin

public static interface TrackRendererPlugin.TrackRendererBuilder
Implementations of the builder a responsible to create Renderer instances. The player will create one instance of this builder.
  • Method Details

    • isTypeSupported

      boolean isTypeSupported(@NonNull TrackRendererPlugin.Type type, @Nullable DrmConfiguration configuration)
      Checks if this builder supports the given type and DRM configuration.
      Parameters:
      type - the content type
      configuration - the drm configuration
      Returns:
      true if this builder supports the given type and configuration
    • isTypeSupported

      boolean isTypeSupported(@NonNull TrackRendererPlugin.Type type, @Nullable CasConfiguration configuration)
      Checks if this builder supports the given type and CAS configuration.
      Parameters:
      type - the content type
      configuration - the cas configuration
      Returns:
      true if this builder supports the given type and configuration
    • isDefault

      boolean isDefault()
      Checks if this builder is the default one.
      Returns:
      true if this builder is the default one
    • getRendererCapabilities

      @Nullable com.google.android.exoplayer2.RendererCapabilities getRendererCapabilities(@NonNull Context context, @NonNull TrackRendererPlugin.Type type, @Nullable DrmConfiguration drmConfiguration)
      Returns the renderer capabilities for the given type and DRM configuration.
      Parameters:
      context - the context
      type - the content type
      drmConfiguration - the drm configuration
      Returns:
      RendererCapabilities if this builder supports the given type and configuration
    • createRenderer

      @Nullable TrackRendererPlugin.TrackRendererContainer createRenderer(@NonNull TrackRendererPlugin.Type type, @NonNull PlayerController playerController, @Nullable DrmConfiguration configuration) throws CastlabsPlayerException
      Creates a track renderer container for the given type, player controller and DRM configuration.
      Parameters:
      type - the content type
      playerController - the player controller
      configuration - the drm configuration
      Returns:
      the created track renderer container or null
      Throws:
      CastlabsPlayerException - in case of an error while preparing the renderer
    • createRenderer

      @Nullable TrackRendererPlugin.TrackRendererContainer createRenderer(@NonNull TrackRendererPlugin.Type type, @NonNull PlayerController playerController, @Nullable CasConfiguration configuration) throws CastlabsPlayerException
      Creates a track renderer container for the given type, player controller and CAS configuration.
      Parameters:
      type - the content type
      playerController - the player controller
      configuration - the cas configuration
      Returns:
      the created track renderer container or null
      Throws:
      CastlabsPlayerException - in case of an error while preparing the renderer