Package com.castlabs.sdk.debug
Class DebugPlugin.Builder
java.lang.Object
com.castlabs.sdk.debug.DebugPlugin.Builder
- Enclosing class:
DebugPlugin
Use this builder to create new instances of the
DebugPlugin
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondebugOverlay
(boolean value) Enables or disables the debug overlay.Sets the position of the debug overlay.enableRateLimiter
(boolean value, long initialLimitBps) Enabled or disable rate limiting and set the initial rate limit.get()
Create an instance of the debug plugin from this builder.logAll
(boolean value) Enable or disable all debug logginglogAudioRendererEvents
(boolean value) If enabled, logs audio renderer events.logDecoderCounters
(boolean value) If enabled, logs decoder counters.logDownloadCanceled
(boolean value) If enabled, logs when a download is canceled.logDownloadCompleted
(boolean value) If enabled, logs when a download completes.logDownloadError
(boolean value) If enabled, logs download errors.logDownloadStarted
(boolean value) If enabled, logs when a download starts.logDownloadUpstreamDiscarded
(boolean value) If enabled, logs when downloaded data is discarded from upstream.logLoadControl
(boolean value) If enabled, logs load control events.logOpenBundle
(boolean value) If enabled, Bundle key values pairs passed toPlayerController.open(Bundle)
will be logged.logPeriodInfo
(boolean logPeriodInfo) Enables logging for period change events.logRequestType
(int type) Adds a request type to be logged.logResponseType
(int type) Adds a response type to be logged.logSupportedDrm
(boolean value) If enabled, logs supported DRM systems.logTimingDebugInfo
(boolean value) If enabled, logs timing debug information.logTransferInfo
(boolean logTransferInfo) Enables detailed logging for network transfer events.logVideoFrameMetadata
(boolean value, long logAVSyncThresholdUs, long logMeanAndDeviationPeriodUs) Enable or disable the AV sync measurements.logVideoRendererEvents
(boolean value) If enabled, logs video renderer events.
-
Constructor Details
-
Builder
public Builder()Constructs a new Builder.
-
-
Method Details
-
logAll
Enable or disable all debug logging- Parameters:
value
- The value- Returns:
- The builder
-
logOpenBundle
If enabled, Bundle key values pairs passed toPlayerController.open(Bundle)
will be logged.- Parameters:
value
- enable or disable- Returns:
- The builder
-
logDownloadStarted
If enabled, logs when a download starts.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logDownloadCompleted
If enabled, logs when a download completes.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logDownloadCanceled
If enabled, logs when a download is canceled.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logDownloadUpstreamDiscarded
If enabled, logs when downloaded data is discarded from upstream.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logVideoRendererEvents
If enabled, logs video renderer events.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logAudioRendererEvents
If enabled, logs audio renderer events.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logDecoderCounters
If enabled, logs decoder counters.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
debugOverlay
Enables or disables the debug overlay.- Parameters:
value
- true to enable the debug overlay, false to disable.- Returns:
- The builder.
-
debugOverlayPosition
Sets the position of the debug overlay.- Parameters:
value
- The desired position of the debug overlay.- Returns:
- The builder.
-
logDownloadError
If enabled, logs download errors.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logSupportedDrm
If enabled, logs supported DRM systems.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logLoadControl
If enabled, logs load control events.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logTimingDebugInfo
If enabled, logs timing debug information.- Parameters:
value
- true to enable logging, false to disable.- Returns:
- The builder.
-
logRequestType
Adds a request type to be logged.- Parameters:
type
- The request type to log.- Returns:
- The builder.
-
logResponseType
Adds a response type to be logged.- Parameters:
type
- The response type to log.- Returns:
- The builder.
-
enableRateLimiter
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 limiterinitialLimitBps
- 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 measurementslogAVSyncThresholdUs
- AV sync threshold in us, exceeding which will result in logging PTS and calculated AV sync values per framelogMeanAndDeviationPeriodUs
- Period in us, how frequent to log AV sync mean and deviation values- Returns:
- The builder
-
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
Enables logging for period change events.- Parameters:
logPeriodInfo
- Enable or disable logging.- Returns:
- The builder
-
get
Create an instance of the debug plugin from this builder.- Returns:
- The debug plugin instance
-