Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc62baf9 authored by Robert Shih's avatar Robert Shih
Browse files

Remove DRM IResourceManagerClient on session close

Bug: 145889838
Test: DrmSessionManagerTest
Test: Youtube/Play Movies & `adb shell dumpsys media.resource_manager`
Change-Id: I48a8001dbab25a0f4cc1afb15e071f22f1c6d7de
parent 28fc70a6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ bool isEqualSessionId(const Vector<uint8_t> &sessionId1, const Vector<uint8_t> &
}

sp<DrmSessionManager> DrmSessionManager::Instance() {
    auto drmSessionManager = new DrmSessionManager();
    static sp<DrmSessionManager> drmSessionManager = new DrmSessionManager();
    drmSessionManager->init();
    return drmSessionManager;
}
@@ -163,7 +163,8 @@ void DrmSessionManager::removeSession(const Vector<uint8_t> &sessionId) {
    }

    auto info = it->second;
    mService->removeResource(info.pid, info.clientId, toResourceVec(sessionId, INT64_MAX));
    // removeClient instead of removeSession because each client has only one session
    mService->removeClient(info.pid, info.clientId);
    mSessionMap.erase(it);
}