Interface LicenseManager

  • All Known Implementing Classes:
    OfflineLicenseManager

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

      • downloadLicense

        @Nullable
        byte[] downloadLicense​(java.lang.String manifestUriString,
                               @NonNull
                               CustomerRightsToken customerRightsToken)
                        throws java.io.IOException,
                               java.lang.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:
        java.io.IOException - If an error occurs while attempt to read the manifest from the stream.
        java.lang.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:
        java.lang.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<java.lang.Long,​java.lang.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:
        java.lang.IllegalStateException - if the license key set identifier is null.
        DrmException
      • releaseResources

        void releaseResources()
        Releases the used resources.
      • setPropertyString

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

        java.lang.String getPropertyString​(java.lang.String key)
        Gets the specified property.