Package com.castlabs.sdk.mux

## Class MuxAnalyticsSession

- java.lang.Object
- - com.castlabs.analytics.AnalyticsSession
  - - com.castlabs.sdk.mux.MuxAnalyticsSession

- All Implemented Interfaces:
    `IAnalyticsSession`, `PlayerControllerPlugin.Component`

      public class MuxAnalyticsSession
      extends AnalyticsSession

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `adErrorInternal​(CastlabsPlayerException exception)` |
    `void` | `adSkippedInternal()` |
    `void` | `adStartInternal​(Ad ad)` |
    `void` | `adStopInternal()` |
    `void` | `detachFromControllerInternal()` |
    `Class` | `id()` |
    `void` | `onDestroy​(PlayerController playerController)` |
    `void` | `onExoPlayerStateChangedInternal​(boolean playWhenReady, int playbackState)` |
    `void` | `onOpenBundle​(PlayerController playerController, Bundle bundle)` |
    `void` | `onOpenState​(PlayerController playerController, PlayerConfig playerConfig)` |
    `void` | `releaseInternal()` |
    `void` | `reportPlayerStateInternal​(PlayerController.State state)` |
    `void` | `seekEndInternal()` |
    `void` | `seekProcessedInternal()` |
    `void` | `seekStartInternal​(long newPosition)` |
    `void` | `sendErrorInternal​(String code, String message, int severity)`
    `void` | `startInternal​(PlayerController playerController, AnalyticsMetaData analyticsMetaData)` |
    `void` | `stopInternal()` |

    - ### Methods inherited from class com.castlabs.analytics.AnalyticsSession

      `adError, adSkipped, adStart, adStop, detachFromController, getEnabled, onExoPlayerStateChanged, release, reportPlayerState, seekEnd, seekProcessed, seekStart, sendError, setEnabled, start, stop`

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

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

- - ### Method Detail

    - #### startInternal

          public void startInternal​(@NonNull
                                    PlayerController playerController,
                                    @NonNull
                                    AnalyticsMetaData analyticsMetaData)

    - #### stopInternal

          public void stopInternal()

    - #### releaseInternal

          public void releaseInternal()

    - #### detachFromControllerInternal

          public void detachFromControllerInternal()

    - #### adStartInternal

          public void adStartInternal​(Ad ad)

    - #### adStopInternal

          public void adStopInternal()

    - #### adErrorInternal

          public void adErrorInternal​(CastlabsPlayerException exception)

    - #### adSkippedInternal

          public void adSkippedInternal()

    - #### reportPlayerStateInternal

          public void reportPlayerStateInternal​(PlayerController.State state)

    - #### sendErrorInternal

          public void sendErrorInternal​(String code,
                                        String message,
                                        int severity)

      Forwards the error to MUX, regardless of the severity. For standard fatal errors there's no need to call this method, as they are sent automatically.

      Parameters:
        `code` - The error code. Must be an integer, otherwise -1 will be sent to MUX
        `message` - The error message
        `severity` - Ignored

    - #### seekStartInternal

          public void seekStartInternal​(long newPosition)

    - #### seekEndInternal

          public void seekEndInternal()

    - #### seekProcessedInternal

          public void seekProcessedInternal()

    - #### onExoPlayerStateChangedInternal

          public void onExoPlayerStateChangedInternal​(boolean playWhenReady,
                                                      int playbackState)

    - #### id

          @NonNull
          public Class id()

    - #### onDestroy

          public void onDestroy​(@NonNull
                                PlayerController playerController)

    - #### onOpenBundle

          public void onOpenBundle​(@NonNull
                                   PlayerController playerController,
                                   @NonNull
                                   Bundle bundle)

    - #### onOpenState

          public void onOpenState​(@NonNull
                                  PlayerController playerController,
                                  @NonNull
                                  PlayerConfig playerConfig)