MediaTranscodingService: Simplify TranscodingClientManager.
Change the singleton to return reference instead of sp<>;
Bug: 145233472
Test: Unit test.
Change-Id: Ie5b8631ec9e917d80805f63c77618e24720f53bc
diff --git a/media/libmediatranscoding/TranscodingClientManager.cpp b/media/libmediatranscoding/TranscodingClientManager.cpp
index e26dbaa..7252437 100644
--- a/media/libmediatranscoding/TranscodingClientManager.cpp
+++ b/media/libmediatranscoding/TranscodingClientManager.cpp
@@ -26,9 +26,9 @@
using Status = ::ndk::ScopedAStatus;
// static
-sp<TranscodingClientManager> TranscodingClientManager::getInstance() {
- static sp<TranscodingClientManager> sInstance = new TranscodingClientManager();
- return sInstance;
+TranscodingClientManager& TranscodingClientManager::getInstance() {
+ static TranscodingClientManager gInstance{};
+ return gInstance;
}
// static
@@ -36,8 +36,8 @@
int32_t clientId = static_cast<int32_t>(reinterpret_cast<intptr_t>(cookie));
ALOGD("Client %" PRId32 " is dead", clientId);
// Don't check for pid validity since we know it's already dead.
- sp<TranscodingClientManager> manager = TranscodingClientManager::getInstance();
- manager->removeClient(clientId);
+ TranscodingClientManager& manager = TranscodingClientManager::getInstance();
+ manager.removeClient(clientId);
}
TranscodingClientManager::TranscodingClientManager()