Package com.castlabs.sdk.debug

# 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 Summary

  Constructors
  Constructor
  Description
  `Builder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DebugPlugin.Builder`
  `debugOverlay(boolean value)`
  `DebugPlugin.Builder`
  `debugOverlayPosition(DebugPlugin.DebugOverlayPosition value)`
  `DebugPlugin.Builder`
  `enableRateLimiter(boolean value, long initialLimitBps)`
  Enabled or disable rate limiting and set the initial rate limit.
  `DebugPlugin`
  `get()`
  Create an instance of the debug plugin from this builder.
  `DebugPlugin.Builder`
  `logAll(boolean value)`
  Enable or disable all debug logging
  `DebugPlugin.Builder`
  `logAudioRendererEvents(boolean value)`
  `DebugPlugin.Builder`
  `logDecoderCounters(boolean value)`
  `DebugPlugin.Builder`
  `logDownloadCanceled(boolean value)`
  `DebugPlugin.Builder`
  `logDownloadCompleted(boolean value)`
  `DebugPlugin.Builder`
  `logDownloadError(boolean value)`
  `DebugPlugin.Builder`
  `logDownloadStarted(boolean value)`
  `DebugPlugin.Builder`
  `logDownloadUpstreamDiscarded(boolean value)`
  `DebugPlugin.Builder`
  `logLoadControl(boolean value)`
  `DebugPlugin.Builder`
  `logOpenBundle(boolean value)`
  If enabled, Bundle key values pairs passed to `PlayerController.open(Bundle)` will be logged.
  `DebugPlugin.Builder`
  `logPeriodInfo(boolean logPeriodInfo)`
  Enables logging for period change events.
  `DebugPlugin.Builder`
  `logRequestType(int type)`
  `DebugPlugin.Builder`
  `logResponseType(int type)`
  `DebugPlugin.Builder`
  `logSupportedDrm(boolean value)`
  `DebugPlugin.Builder`
  `logTimingDebugInfo(boolean value)`
  `DebugPlugin.Builder`
  `logTransferInfo(boolean logTransferInfo)`
  Enables detailed logging for network transfer events.
  `DebugPlugin.Builder`
  `logVideoRendererEvents(boolean value)`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Builder

    public Builder()

- ## Method Details

  - ### logAll

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

  - ### logOpenBundle

    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

    public DebugPlugin.Builder logDownloadStarted(boolean value)

  - ### logDownloadCompleted

    public DebugPlugin.Builder logDownloadCompleted(boolean value)

  - ### logDownloadCanceled

    public DebugPlugin.Builder logDownloadCanceled(boolean value)

  - ### logDownloadUpstreamDiscarded

    public DebugPlugin.Builder logDownloadUpstreamDiscarded(boolean value)

  - ### logVideoRendererEvents

    public DebugPlugin.Builder logVideoRendererEvents(boolean value)

  - ### logAudioRendererEvents

    @NonNull public DebugPlugin.Builder logAudioRendererEvents(boolean value)

  - ### logDecoderCounters

    public DebugPlugin.Builder logDecoderCounters(boolean value)

  - ### debugOverlay

    public DebugPlugin.Builder debugOverlay(boolean value)

  - ### debugOverlayPosition

    public DebugPlugin.Builder debugOverlayPosition(DebugPlugin.DebugOverlayPosition value)

  - ### logDownloadError

    public DebugPlugin.Builder logDownloadError(boolean value)

  - ### logSupportedDrm

    public DebugPlugin.Builder logSupportedDrm(boolean value)

  - ### logLoadControl

    public DebugPlugin.Builder logLoadControl(boolean value)

  - ### logTimingDebugInfo

    public DebugPlugin.Builder logTimingDebugInfo(boolean value)

  - ### logRequestType

    public DebugPlugin.Builder logRequestType(int type)

  - ### logResponseType

    public DebugPlugin.Builder logResponseType(int type)

  - ### enableRateLimiter

    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

  - ### logTransferInfo

    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

    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