diff options
author | Hangyu Kuang <hkuang@google.com> | 2019-05-23 13:51:57 -0700 |
---|---|---|
committer | Hangyu Kuang <hkuang@google.com> | 2019-05-23 13:55:52 -0700 |
commit | 839b7e19887df89b0c7afd4bac06adcf1b43622f (patch) | |
tree | 455aa142af3c0ba11301f2620a344ec4df89e4f5 /media | |
parent | d55e1a690a27c530ab72790935a65de25e9be7c8 (diff) | |
download | av-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.cpp | 6 |
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"); } |