diff --git a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp index 1e15d9af..d0cffb72 100644 --- a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp +++ b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp @@ -139,9 +139,9 @@ status_t WVDrmPlugin::openSession(Vector& sessionId) { status_t WVDrmPlugin::closeSession(const Vector& sessionId) { CdmSessionId cdmSessionId(sessionId.begin(), sessionId.end()); - CdmResponseType res = mCDM->CloseSession(cdmSessionId); + mCDM->CloseSession(cdmSessionId); mCryptoSessions.erase(cdmSessionId); - return mapAndNotifyOfCdmResponseType(sessionId, res); + return android::OK; } status_t WVDrmPlugin::getKeyRequest( diff --git a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp index 31e5bb0a..94d71d55 100644 --- a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp +++ b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp @@ -220,6 +220,19 @@ TEST_F(WVDrmPluginTest, ClosesSessions) { ASSERT_EQ(OK, res); } +TEST_F(WVDrmPluginTest, ClosesSessionWithoutReturningError) { + StrictMock cdm; + StrictMock crypto; + WVDrmPlugin plugin(&cdm, &crypto); + + EXPECT_CALL(cdm, CloseSession(cdmSessionId)) + .WillOnce(Return(SESSION_NOT_FOUND_1)); + + status_t res = plugin.closeSession(sessionId); + + ASSERT_EQ(OK, res); +} + TEST_F(WVDrmPluginTest, GeneratesKeyRequests) { StrictMock cdm; StrictMock crypto;