summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorHangyu Kuang <hkuang@google.com>2019-05-23 13:51:57 -0700
committerHangyu Kuang <hkuang@google.com>2019-05-23 13:55:52 -0700
commit839b7e19887df89b0c7afd4bac06adcf1b43622f (patch)
tree455aa142af3c0ba11301f2620a344ec4df89e4f5 /media
parentd55e1a690a27c530ab72790935a65de25e9be7c8 (diff)
downloadav-839b7e19887df89b0c7afd4bac06adcf1b43622f.tar.gz
[ECOService] Fix the failure of removing listener and provider.
Bug: 117877984 Test: Camera recording. Change-Id: Ic65bed1258b0423b82a3ba5b8a799b5ad61cb976
Diffstat (limited to 'media')
-rw-r--r--media/eco/ECOSession.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/eco/ECOSession.cpp b/media/eco/ECOSession.cpp
index 1bdfa61..e52ad55 100644
--- a/media/eco/ECOSession.cpp
+++ b/media/eco/ECOSession.cpp
@@ -407,8 +407,9 @@ Status ECOSession::removeStatsProvider(
const sp<::android::media::eco::IECOServiceStatsProvider>& provider, bool* status) {
std::scoped_lock<std::mutex> lock(mSessionLock);
// Check if the provider is the same as current provider for the session.
- if (provider.get() != mProvider.get()) {
+ if (IInterface::asBinder(provider) != IInterface::asBinder(mProvider)) {
*status = false;
+ ECOLOGE("Failed to remove provider");
return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, "Provider does not match");
}
@@ -484,8 +485,9 @@ Status ECOSession::removeInfoListener(
const sp<::android::media::eco::IECOServiceInfoListener>& listener, bool* _aidl_return) {
std::scoped_lock<std::mutex> lock(mSessionLock);
// Check if the listener is the same as current listener for the session.
- if (listener.get() != mListener.get()) {
+ if (IInterface::asBinder(listener) != IInterface::asBinder(mListener)) {
*_aidl_return = false;
+ ECOLOGE("Failed to remove listener");
return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, "Listener does not match");
}