From 09d7572ecec09fb3198ca208e101f41cd222ca24 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Mon, 8 May 2023 23:21:47 -0700 Subject: [PATCH] Fix oec session id in dynamic adpater [ Merge of http://go/wvgerrit/174572 ] Pass the real oemcrypto session id from `pair.session` instead of `session` for CopyBuffer, since `session` can be changed when L1 and L3 are running in parallel and `session` in that case may not be the correct oemcrypto session id any more. Bug: 279967915 Test: wvts Change-Id: Ic5e21ccb227d4c4992ef500435fa3b68812c4d9b --- libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp b/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp index 1cc7b5eb..e71ff28b 100644 --- a/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp +++ b/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp @@ -2303,7 +2303,7 @@ extern "C" OEMCryptoResult OEMCrypto_CopyBuffer( LevelSession pair = gAdapter->GetSession(session); if (!pair.fcn) return OEMCrypto_ERROR_INVALID_SESSION; if (pair.fcn->CopyBuffer == nullptr) return OEMCrypto_ERROR_NOT_IMPLEMENTED; - return pair.fcn->CopyBuffer(session, data_addr, data_length, + return pair.fcn->CopyBuffer(pair.session, data_addr, data_length, out_buffer_descriptor, subsample_flags); }