# Package com.brightcove.player.drm

- Interface Summary
  Interface | Description
  --- | ---
  BrightcoveDrmSession | Contract of a DRM session.
  DrmSession<T extends com.google.android.exoplayer2.drm.ExoMediaCrypto> | The contract of an ExoPlayer 2 compatible DRM Session.
  LicenseManager | Contract of license manager implementation that can be used to manage offline playback licenses.
  LicenseManagerFactory | Contract of a factory that can be used to createLicenseManager `LicenseManager` instances.

- Class Summary
  Class | Description
  --- | ---
  BrightcoveDrmUtil | Provides utility methods to work DRM licenses.
  BrightcoveMediaDrmCallback | Provides a base implementation of Media DRM callback handler that can be used to concrete implementations specific to ExoPlayer/CDM.
  CustomerRightsToken | An immutable transfer object that can be set the absolute expiration and play duration when requesting an offline playback license.
  CustomerRightsToken.PurchaseLicense | Purchase license describes properties of license that has no time restrictions.
  CustomerRightsToken.PurchaseProfile | Purchase must be used for requesting a license without time restrictions.
  CustomerRightsToken.RentalLicense | The rental license describes the time restrictions to be imposed on the license.
  CustomerRightsToken.RentalProfile | Rental profile must be used for requesting a license with time restrictions.
  CustomerRightsTokenConfig | An immutable CustomerRightsToken configuration class which can be used to set additional and optional parameters when renting or purchasing a DRM license.
  CustomerRightsTokenConfig.Builder | The CustomerRightsTokenConfig Builder.
  DrmUtil | Provides utility methods to work DRM licenses.
  ExoPlayerDrmSessionManager<T extends com.google.android.exoplayer2.drm.ExoMediaCrypto> | A `DrmSessionManager` that supports offline playback of DRM restricted content using `MediaDrm`.
  ExoPlayerDrmSessionManager.Builder |
  OfflineLicenseManager | Offline license helper can be used to download, renew and release offline playback licenses.
  OfflineLicenseManager.Builder |
  OfflineLicenseManagerFactory | Factory for creating `LicenseManager` instances.
  OutputProtection | An immutable class used to configure the output protection when downloading a DRM license.
  WidevineMediaDrmCallback | Provides a concrete implementation of `BrightcoveMediaDrmCallback` that use Widevine to support playback of DRM protected content in ExoPlayer 2.

- Exception Summary
  Exception | Description
  --- | ---
  DrmException | DRM exception is an immutable class that can be provide details related to an error that was encountered while performing an DRM protected operation.