Package com.castlabs.android.drm

## Interface DrmLicenseManagerComponent

-     public interface DrmLicenseManagerComponent

  Extensions that add extra functionality to a `DrmLicenseManager`.
  Since:
    4.2.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `init​(DrmLicenseManager drmSessionManager, DrmConfiguration drmConfiguration, PlayerController playerController)` | Called upon `DrmLicenseManager` creation
    `void` | `register()` | Called whenever the Component is registered
    `void` | `sessionAcquired​(com.google.android.exoplayer2.drm.DrmInitData drmInitData)` | Called after `DrmSessionManager.acquireSession(Looper, DrmInitData)`
    `void` | `sessionClosed()` | Called after `DrmLicenseManager.close()`
    `void` | `sessionReleased​(com.google.android.exoplayer2.drm.DrmSession<com.google.android.exoplayer2.drm.FrameworkMediaCrypto> drmSession)` | Called after `DrmSession.release()`

- - ### Method Detail

    - #### register

          void register()

      Called whenever the Component is registered

    - #### init

          void init​(@NonNull
                    DrmLicenseManager drmSessionManager,
                    DrmConfiguration drmConfiguration,
                    @Nullable
                    PlayerController playerController)

      Called upon `DrmLicenseManager` creation
      Parameters:
        `drmSessionManager` - The `DrmLicenseManager` managing this Component.
        `drmConfiguration` - The `DrmConfiguration` which the DrmLicenseManager is using.
        `playerController` - The `PlayerController` attached to the DrmLicenseManager, if any.

    - #### sessionAcquired

          void sessionAcquired​(com.google.android.exoplayer2.drm.DrmInitData drmInitData)

      Called after `DrmSessionManager.acquireSession(Looper, DrmInitData)`
      Parameters:
        `drmInitData` - instance of DrmInitData used to acquire the session

    - #### sessionReleased

          void sessionReleased​(com.google.android.exoplayer2.drm.DrmSession<com.google.android.exoplayer2.drm.FrameworkMediaCrypto> drmSession)

      Called after `DrmSession.release()`
      Parameters:
        `drmSession` - the session that was released

    - #### sessionClosed

          void sessionClosed()

      Called after `DrmLicenseManager.close()`