-
Notifications
You must be signed in to change notification settings - Fork 152
Description
On WPE 2.38, we observed that load() API fails when the application attempts playback using persistent-license session type. This behaviour was tested using a sample dashjs application, where playback fails during session loading.
Error from wpe logs:
MediaKeys::createSession(BFB0E52D)
MediaKeySession::MediaKeySession(BFB00001) sessionType(2), useDistinctiveIdentifier(false)
MediaKeySession::load(BFB00001) sessionId(ksid98A1E751)
ERROR webkitthunder CDMThunder.cpp:626:operator(): session not loaded
From analysis I could see during the initial playback, the CDM session is created via opencdm_construct_session(...) and the license is successfully acquired. However, during subsequent playback the load() API fails because m_session is nullptr and m_sessionID is empty. As a result, the call to opencdm_session_load() fails.
if (!m_session || m_sessionID.isEmpty() || opencdm_session_load(m_session->get()))
sessionFailure();
widevine-persistent.zip this is the sample app which we have used to test on WPE 2.38. It is configured to use persistent-license session type. The app stores the session ID in the app local storage during first playback and attempts to reload the sessionID on a subsequent playback using MediaKeySession.load(sessionId).
Could you please confirm if any MSE-EME app which uses persistent-license session type is working with WPE 2.38?