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

    All Methods Instance Methods Concrete Methods
    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` | `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` | `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` | `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 Detail

    - #### Builder

          public Builder()

  - ### Method Detail

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

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

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