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)`
  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(DrmSessionEventListener.EventDispatcher, Format, TrackOutput.Origin)`
  `void`
  `sessionClosed()`
  Called after `DrmLicenseManager.close()`
  `void`
  `sessionReleased(com.google.android.exoplayer2.drm.DrmSession drmSession)`
  Called after `DrmSession.release(DrmSessionEventListener.EventDispatcher)`

- ## Method Details

  - ### register

    void register()
    Called whenever the Component is registered

  - ### init

    void init(@NonNull DrmLicenseManager drmSessionManager, DrmConfiguration drmConfiguration)
    Called upon `DrmLicenseManager` creation
    Parameters:
      `drmSessionManager` - The `DrmLicenseManager` managing this Component.
      `drmConfiguration` - The `DrmConfiguration` which the DrmLicenseManager is using.

  - ### sessionAcquired

    void sessionAcquired(com.google.android.exoplayer2.drm.DrmInitData drmInitData)
    Called after `DrmSessionManager.acquireSession(DrmSessionEventListener.EventDispatcher, Format, TrackOutput.Origin)`
    Parameters:
      `drmInitData` - instance of DrmInitData used to acquire the session

  - ### sessionReleased

    void sessionReleased(com.google.android.exoplayer2.drm.DrmSession drmSession)
    Called after `DrmSession.release(DrmSessionEventListener.EventDispatcher)`
    Parameters:
      `drmSession` - the session that was released

  - ### sessionClosed

    void sessionClosed()
    Called after `DrmLicenseManager.close()`