From 49e53ffdfed9aca5def024b7d0ef4474bbf7ed2d Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Wed, 5 Aug 2020 02:20:28 -0700 Subject: [PATCH] Log OEMCrypto_CloseSession error [ Merge of http://go/wvgerrit/103643 ] Bug: 161417560 Test: WV unit/integration test Change-Id: I2d7e3b90e2e34e7854dea7aac865f8577d113aab --- libwvdrmengine/cdm/core/src/crypto_session.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/libwvdrmengine/cdm/core/src/crypto_session.cpp b/libwvdrmengine/cdm/core/src/crypto_session.cpp index 03197264..f1238ac5 100644 --- a/libwvdrmengine/cdm/core/src/crypto_session.cpp +++ b/libwvdrmengine/cdm/core/src/crypto_session.cpp @@ -852,7 +852,22 @@ void CryptoSession::Close() { WithOecWriteLock( "Close", [&] { close_sts = OEMCrypto_CloseSession(oec_session_id_); }); metrics_->oemcrypto_close_session_.Increment(close_sts); - if (OEMCrypto_SUCCESS == close_sts) open_ = false; + + if (close_sts != OEMCrypto_SUCCESS) { + LOGW("OEMCrypto_CloseSession failed: status = %d", + static_cast(close_sts)); + } + switch (close_sts) { + case OEMCrypto_SUCCESS: + case OEMCrypto_ERROR_INVALID_SESSION: + case OEMCrypto_ERROR_SYSTEM_INVALIDATED: + open_ = false; + break; + case OEMCrypto_ERROR_CLOSE_SESSION_FAILED: + default: + // empty case + break; + } } CdmResponseType CryptoSession::PrepareAndSignLicenseRequest(