Hello, there.
I’m working on a web-based application which uses DRM playback (DASH/PlayReady and DASH/Widevine) with Shaka-Player.
My application logic requires DRM device id to identify a device across multiple launches. I used this code to check whether license persistent state is supported:
try {
const basicConfig = {
initDataTypes: ['cenc'],
persistentState: 'required',
videoCapabilities: basicVideoCapabilities,
};
const access = await navigator.requestMediaKeySystemAccess(
keySystem, [basicConfig as MediaKeySystemConfiguration]
);
return access.getConfiguration().persistentState === 'required';
} catch (e) {
return false;
}
It shows that PlayReady supports persistent state but Widevine no.
And here I see quite strange behavior since real results are directly opposite. (with PlayReady I see new device ID on every app start, but with Widevine device ID is the same across multiple launches).
I found this article in webOS documentation: DRM Content Playback | webOS TV Developer
As I understand it describes some webOS specific way of setting up DRM playback and getting license, but Shaka-Player already does it for me on its own.
Is it necessary to rework license getting flow in order to fix the device ID issue?