Created attachment 358791 [details] propect patch We're about to begin to implement license persistence and of course to comply with the spec (and common sense) we need to do things per-origin. I crafted this patch to provide origin information to the CDMInstanceSession so that it could communicate with CDMs should they require to perform persistence by themselves. We are also wondering if we should provide persistence by ourselves and not rely on the CDMs for that so that we can allow users to clear information, without depending on CDMs. We don't even know if these two questions are unrelated and maybe we still need origin info in the CDMInstanceSession if we handle info by ourselves. Input is appreciated.
FYI, the way we handle this with FairPlay is to set the directory which the CDM is allowed to read from and write to on a per-origin basis, without exposing origin information directly to the CDM. I'm not sure if this meets your per-origin goals, but that interface exists in CDMInstance and is implemented in CDMInstanceFairPlayStreamingAVFObjC::setStorageDirectory() if you want to TAL.