Package com.castlabs.android.player

# Class CatchupConfiguration

java.lang.Object
com.castlabs.android.player.CatchupConfiguration

All Implemented Interfaces:
  `Parcelable`

public final class CatchupConfiguration extends Object implements Parcelable
Represents a catchup configuration. This allows the playback position to be between two defined thresholds. The trigger of the Catchup mechanism is automatic and based on the playhead. The two available Catchup Types are `CatchupConfiguration.Type.SEEK` and `CatchupConfiguration.Type.SPEED`. Use one of the Builder methods to create a configuration, `CatchupConfiguration.Builder.speed(long, long, long, float)` or `CatchupConfiguration.Builder.seek(long, long)`.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `CatchupConfiguration.Builder`
  Builder for a `CatchupConfiguration`.
  `static enum`
  `CatchupConfiguration.TimeReference`
  Timing reference which will be used to calculate the thresholds of the CatchupConfiguration
  `static enum`
  `CatchupConfiguration.Type`
  Represents the catchup strategy.

  ## Nested classes/interfaces inherited from interface android.os.Parcelable

  `Parcelable.ClassLoaderCreator<T extends Object>, Parcelable.Creator<T extends Object>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Parcelable.Creator<CatchupConfiguration>`
  `CREATOR`
  `static CatchupConfiguration`
  `DEFAULT`
  `final long`
  `fallbackTimeThresholdMs`
  Threshold relative to the `timeReference` which indicates a fallback safeguard for the `speed` mode.
  `final long`
  `lowerTimeThresholdMs`
  Threshold relative to the `timeReference` which indicates the end or destination of the Catchup.
  `boolean`
  `seekOnDownloadError`
  Directs the player seek to Catchup Upper Time Threshold on Video Segment Download Timeout Errors.
  `final float`
  `speedCoefficient`
  Player speed at which to perform Catchup when `upperTimeThresholdMs` is reached.
  `final CatchupConfiguration.TimeReference`
  `timeReference`
  The time reference to which the thresholds will be relative
  `final CatchupConfiguration.Type`
  `type`
  The type (strategy) of the Catchup behaviour.
  `final long`
  `upperTimeThresholdMs`
  Threshold relative to the `timeReference` which indicates the start trigger of the Catchup.

  ### Fields inherited from interface android.os.Parcelable

  `CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `describeContents()`
  `boolean`
  `equals(Object obj)`
  `int`
  `hashCode()`
  `String`
  `toString()`
  `void`
  `writeToParcel(Parcel dest, int flags)`

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

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### DEFAULT

    public static CatchupConfiguration DEFAULT

  - ### type

    public final CatchupConfiguration.Type type
    The type (strategy) of the Catchup behaviour.

  - ### timeReference

    public final CatchupConfiguration.TimeReference timeReference
    The time reference to which the thresholds will be relative

  - ### lowerTimeThresholdMs

    public final long lowerTimeThresholdMs
    Threshold relative to the `timeReference` which indicates the end or destination of the Catchup.

  - ### upperTimeThresholdMs

    public final long upperTimeThresholdMs
    Threshold relative to the `timeReference` which indicates the start trigger of the Catchup.

  - ### fallbackTimeThresholdMs

    public final long fallbackTimeThresholdMs
    Threshold relative to the `timeReference` which indicates a fallback safeguard for the `speed` mode. If reached, a seek operation will be triggered to prevent the `playhead` from the timeReference.

  - ### speedCoefficient

    public final float speedCoefficient
    Player speed at which to perform Catchup when `upperTimeThresholdMs` is reached. Only applicable in `speed` mode.

  - ### seekOnDownloadError

    public boolean seekOnDownloadError
    Directs the player seek to Catchup Upper Time Threshold on Video Segment Download Timeout Errors.

  - ### CREATOR

    public static final Parcelable.Creator<CatchupConfiguration> CREATOR

- ## Method Details

  - ### describeContents

    public int describeContents()
    Specified by:
      `describeContents` in interface `Parcelable`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### writeToParcel

    public void writeToParcel(Parcel dest, int flags)
    Specified by:
      `writeToParcel` in interface `Parcelable`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`