Package com.castlabs.android.drm

# Interface DrmLicenseManagerComponent

public interface DrmLicenseManagerComponent
Extensions that add extra functionality to a `DrmLicenseManager`.

Since:
  4.2.0

- ## Method Summary

  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, Format, TrackOutput.Origin)`
  `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 Details

  - ### 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, Format, TrackOutput.Origin)`
    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()`