Class DebugPlugin.Builder

java.lang.Object
com.castlabs.sdk.debug.DebugPlugin.Builder
Enclosing class:
DebugPlugin

public static class DebugPlugin.Builder extends Object
Use this builder to create new instances of the DebugPlugin.
  • Constructor Details

    • Builder

      public Builder()
      Constructs a new Builder.
  • Method Details

    • logAll

      @NonNull public DebugPlugin.Builder logAll(boolean value)
      Enable or disable all debug logging
      Parameters:
      value - The value
      Returns:
      The builder
    • logOpenBundle

      @NonNull public DebugPlugin.Builder logOpenBundle(boolean value)
      If enabled, Bundle key values pairs passed to PlayerController.open(Bundle) will be logged.
      Parameters:
      value - enable or disable
      Returns:
      The builder
    • logDownloadStarted

      @NonNull public DebugPlugin.Builder logDownloadStarted(boolean value)
      If enabled, logs when a download starts.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logDownloadCompleted

      @NonNull public DebugPlugin.Builder logDownloadCompleted(boolean value)
      If enabled, logs when a download completes.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logDownloadCanceled

      @NonNull public DebugPlugin.Builder logDownloadCanceled(boolean value)
      If enabled, logs when a download is canceled.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logDownloadUpstreamDiscarded

      public DebugPlugin.Builder logDownloadUpstreamDiscarded(boolean value)
      If enabled, logs when downloaded data is discarded from upstream.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logVideoRendererEvents

      @NonNull public DebugPlugin.Builder logVideoRendererEvents(boolean value)
      If enabled, logs video renderer events.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logAudioRendererEvents

      @NonNull public DebugPlugin.Builder logAudioRendererEvents(boolean value)
      If enabled, logs audio renderer events.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logDecoderCounters

      @NonNull public DebugPlugin.Builder logDecoderCounters(boolean value)
      If enabled, logs decoder counters.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • debugOverlay

      @NonNull public DebugPlugin.Builder debugOverlay(boolean value)
      Enables or disables the debug overlay.
      Parameters:
      value - true to enable the debug overlay, false to disable.
      Returns:
      The builder.
    • debugOverlayPosition

      public DebugPlugin.Builder debugOverlayPosition(DebugPlugin.DebugOverlayPosition value)
      Sets the position of the debug overlay.
      Parameters:
      value - The desired position of the debug overlay.
      Returns:
      The builder.
    • logDownloadError

      @NonNull public DebugPlugin.Builder logDownloadError(boolean value)
      If enabled, logs download errors.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logSupportedDrm

      public DebugPlugin.Builder logSupportedDrm(boolean value)
      If enabled, logs supported DRM systems.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logLoadControl

      @NonNull public DebugPlugin.Builder logLoadControl(boolean value)
      If enabled, logs load control events.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logTimingDebugInfo

      @NonNull public DebugPlugin.Builder logTimingDebugInfo(boolean value)
      If enabled, logs timing debug information.
      Parameters:
      value - true to enable logging, false to disable.
      Returns:
      The builder.
    • logRequestType

      @NonNull public DebugPlugin.Builder logRequestType(int type)
      Adds a request type to be logged.
      Parameters:
      type - The request type to log.
      Returns:
      The builder.
    • logResponseType

      @NonNull public DebugPlugin.Builder logResponseType(int type)
      Adds a response type to be logged.
      Parameters:
      type - The response type to log.
      Returns:
      The builder.
    • enableRateLimiter

      @NonNull public DebugPlugin.Builder enableRateLimiter(boolean value, long initialLimitBps)
      Enabled or disable rate limiting and set the initial rate limit. A value < 0 will disable rate limiting.
      Parameters:
      value - Enable or disable the rate limiter
      initialLimitBps - The initial rate limit
      Returns:
      The builder
    • logVideoFrameMetadata

      @NonNull public DebugPlugin.Builder logVideoFrameMetadata(boolean value, long logAVSyncThresholdUs, long logMeanAndDeviationPeriodUs)
      Enable or disable the AV sync measurements. Setup a threshold when to log AV sync values, per frame. Setup a period to log AV sync calculated mean and deviation values.
      Parameters:
      value - Enable or disable the measurements
      logAVSyncThresholdUs - AV sync threshold in us, exceeding which will result in logging PTS and calculated AV sync values per frame
      logMeanAndDeviationPeriodUs - Period in us, how frequent to log AV sync mean and deviation values
      Returns:
      The builder
    • logTransferInfo

      @NonNull public DebugPlugin.Builder logTransferInfo(boolean logTransferInfo)
      Enables detailed logging for network transfer events. Note that this provoke a lot of logging.
      Parameters:
      logTransferInfo - Enable or disable transfer info logging.
      Returns:
      The builder
    • logPeriodInfo

      @NonNull public DebugPlugin.Builder logPeriodInfo(boolean logPeriodInfo)
      Enables logging for period change events.
      Parameters:
      logPeriodInfo - Enable or disable logging.
      Returns:
      The builder
    • get

      @NonNull public DebugPlugin get()
      Create an instance of the debug plugin from this builder.
      Returns:
      The debug plugin instance