Class MemoryHlsClearKeyCache

java.lang.Object
com.castlabs.android.player.HlsClearKeyCache
com.castlabs.android.player.MemoryHlsClearKeyCache
All Implemented Interfaces:
Parcelable

public class MemoryHlsClearKeyCache extends HlsClearKeyCache implements Parcelable
Cache for Drm.Clearkey which stores keys in memory.

Can be gotten or PlayerController.setHlsKeyCache(HlsClearKeyCache) set} in the PlayerController.

  • Field Details

  • Constructor Details

    • MemoryHlsClearKeyCache

      public MemoryHlsClearKeyCache()
      Create an empty cache with a size of DEFAULT_CACHE_SIZE
    • MemoryHlsClearKeyCache

      public MemoryHlsClearKeyCache(@Nullable Map<Uri,byte[]> cache)
      Create a cache with a size of DEFAULT_CACHE_SIZE and pre-filled with the provided Map.
      Parameters:
      cache - Existing entries to pre-fill the cache with
    • MemoryHlsClearKeyCache

      public MemoryHlsClearKeyCache(int maxCacheSize, @Nullable Map<Uri,byte[]> cache)
      Creates a cache with a size of maxCacheSize and pre-filled with the provided Map.
      Parameters:
      maxCacheSize - Maximum size of the cache
      cache - Existing entries to pre-fill the cache with
  • Method Details

    • writeToParcel

      public void writeToParcel(Parcel dest, int flags)
      Specified by:
      writeToParcel in interface Parcelable
    • describeContents

      public int describeContents()
      Specified by:
      describeContents in interface Parcelable
    • get

      @Nullable public byte[] get(@Nullable Uri uri)
      Description copied from class: HlsClearKeyCache
      Returns the encryptionKey cached against this uri, or null if uri is null or not present in the cache.
      Specified by:
      get in class HlsClearKeyCache
    • put

      @Nullable public byte[] put(@NonNull Uri uri, @NonNull byte[] encryptionKey)
      Description copied from class: HlsClearKeyCache
      Inserts an entry into the cache.
      Specified by:
      put in class HlsClearKeyCache
    • containsUri

      public boolean containsUri(@NonNull Uri uri)
      Description copied from class: HlsClearKeyCache
      Returns true if uri is present in the cache.
      Specified by:
      containsUri in class HlsClearKeyCache
    • remove

      @Nullable public byte[] remove(@NonNull Uri uri)
      Description copied from class: HlsClearKeyCache
      Removes uri from the cache. If uri was present in the cahce, this returns the corresponding encryptionKey, otherwise null.
      Specified by:
      remove in class HlsClearKeyCache