-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
If the question is related to FairPlay, have you read the tutorial?
no FairPlay
What version of Shaka Player are you using?
v4.16.9
What browser and OS are you using?
Hisense TV 2022 using vidaa U06.20 with chrome v88
Please ask your question
Hello,
We are using version 4.16.9, and our client has asked us to test the implementation of a persistent license.
Documentation link:
https://shaka-player-demo.appspot.com/docs/api/tutorial-drm-config.html - § Re-use persistent license DRM for online playback
We are using DASH streams with PlayReady DRM.
Device: Hisense TV 2022 with Chrome v88
In the Shaka configuration, we have correctly added sessionType: "persistent-license".
config: {
streaming: {
rebufferingGoal: 1,
bufferingGoal: 6,
bufferBehind: 4,
retryParameters: {
timeout: 5000,
connectionTimeout: 5000
}
},
manifest: {
dash: {
ignoreMinBufferTime: true
},
retryParameters: {
maxAttempts: 4,
timeout: 5000
}
},
abr: {
defaultBandwidthEstimate: 500000
},
drm: {
advanced: {
"com.microsoft.playready": {sessionType: "persistent-license"}
}
}
}
When the application launches, the player attempts to start the live stream but encounters error 6001.
As the documentation indicates, I'm checking the metadata of the current sessions.
`
const activeDrmSessions = currentScreen.player.player.player.shakaPlayer.getActiveSessionsMetadata();
activeDrmSessions
▼ (1)
▼ {…}
▼ 0:
initData: Uint8Array(796) [0, 0, 3, 28, 112, 115, 115, 104, 0, 0, 0, 0, 154, 4, 240, 121, 152, 64, 66, 134, 171, 146, 230, 91, 224, 136, 95, 149, 0, 0, 2, 252, 252, 2, 0, 0, 1, 0, 1, 0, 242, 2, 60, 0, 87, 0, 82, 0, 77, 0, 72, 0, 69, 0, 65, 0, 68, 0, 69, 0, 82, 0, 32, 0, 120, 0, 109, 0, 188, 0, 110, 0, 115, 0, 61, 0, 34, 0, 104…
initDataType: "cenc"
sessionId: "1"
sessionType: "temporary"
▼ proto: Object
length: 1
▼ proto: Array(0)
const persistentDrmSessions = activeDrmSessions.filter(
({ sessionType }) => sessionType === 'persistent-license'
);
persistentDrmSessions
▼ []
`
We've noticed that the permanent license array is empty because we're only receiving one temporary license.
The client assures us they've activated the permanent license on the PlayReady DRM server.
Is there another way to verify the license type (in DrmEngine, for example)?
We welcome any information or feedback regarding persistent licenses with DASH streams.
Thanks!