Thanks!
Knowing the per-session caching is expected (not a bug) and that we don't need distinct Key IDs for streaming vs download led us to the fix: we now use two AVContentKeySession instances — one for streaming (non-persistable) and one for downloads/offline playback (persistable). Each has its own cache, so even during non-persistable playback, adding the asset to the download session fires a fresh delegate callback, and the persistable flow works as documented.
Works great now!
Topic:
Media Technologies
SubTopic:
Streaming
Tags: