Interface LicenseManager

All Known Implementing Classes:
OfflineLicenseManager

public interface LicenseManager
Contract of license manager implementation that can be used to manage offline playback licenses.
  • Field Details

  • Method Details

    • downloadLicense

      @Nullable byte[] downloadLicense(String manifestUriString, @NonNull CustomerRightsToken customerRightsToken) throws IOException, InterruptedException, DrmException
      Downloads an offline license.
      Parameters:
      manifestUriString - the URL to the DASH manifest file.
      customerRightsToken - the customer rights token that describes the license type and limitations.
      Returns:
      The downloaded offline license key set id.
      Throws:
      IOException - If an error occurs while attempt to read the manifest from the stream.
      InterruptedException - If the thread has been interrupted.
      DrmException - Thrown when there is an error during DRM session.
    • renewLicense

      @Nullable byte[] renewLicense(byte[] licenseKeySetId) throws DrmException
      Renews an offline license.
      Parameters:
      licenseKeySetId - The key set id of the license to be renewed.
      Returns:
      Renewed offline license key set id.
      Throws:
      IllegalStateException - if the license key set identifier is null.
      DrmException - Thrown when there is an error during DRM session.
    • releaseLicense

      void releaseLicense(@Nullable byte[] licenseKeySetId) throws DrmException
      Releases an offline license.
      Parameters:
      licenseKeySetId - The key set id of the license to be released.
      Throws:
      DrmException - Thrown when there is an error during DRM session.
    • getRemainingLicenseDuration

      @Nullable android.util.Pair<Long,Long> getRemainingLicenseDuration(byte[] licenseKeySetId) throws DrmException
      Returns license and playback durations remaining in seconds of the given offline license. The Pair.first value in the result will provide the remaining license duration as total number of seconds, while Pair.second value will provide the remain play duration as total number of seconds.
      Parameters:
      licenseKeySetId - The key set id of the license.
      Throws:
      IllegalStateException - if the license key set identifier is null.
      DrmException
    • releaseResources

      void releaseResources()
      Releases the used resources.
    • setPropertyString

      void setPropertyString(String key, String value)
      Sets the specified property.
    • getPropertyString

      String getPropertyString(String key)
      Gets the specified property.