diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-05-10 15:45:18 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-05-10 15:45:18 +0000 |
commit | f10a0c44ff9e28735d55e83cef21d961b0361ce6 (patch) | |
tree | 82021c0095cb8c75d88ea62c54b3a52a049b1cb0 | |
parent | aa17636cc34ef1630006d98878569eef93a2a340 (diff) | |
parent | 81a3f7b6b6f7472711b56dd84a721ad1ff8c20fb (diff) | |
download | av-busytown-mac-infra-release.tar.gz |
Snap for 11819167 from 81a3f7b6b6f7472711b56dd84a721ad1ff8c20fb to busytown-mac-infra-releasebusytown-mac-infra-release
Change-Id: Iea112697389aa68c524cc9577efc6e2eb9c1df8a
-rw-r--r-- | media/eco/Android.bp | 55 | ||||
-rw-r--r-- | media/eco/ECOData.cpp | 4 | ||||
-rw-r--r-- | media/eco/ECOService.cpp | 3 | ||||
-rw-r--r-- | media/eco/ECOServiceStatsProvider.cpp | 5 | ||||
-rw-r--r-- | media/eco/ECOSession.cpp | 21 | ||||
-rw-r--r-- | media/eco/OWNERS | 3 | ||||
-rw-r--r-- | media/eco/include/eco/ECOData.h | 2 | ||||
-rw-r--r-- | media/eco/include/eco/ECOService.h | 15 | ||||
-rw-r--r-- | media/eco/include/eco/ECOServiceInfoListener.h | 5 | ||||
-rw-r--r-- | media/eco/include/eco/ECOServiceStatsProvider.h | 5 | ||||
-rw-r--r-- | media/eco/include/eco/ECOSession.h | 5 | ||||
-rw-r--r-- | media/eco/tests/Android.bp | 36 | ||||
-rw-r--r-- | media/eco/tests/EcoServiceTest.cpp | 2 | ||||
-rw-r--r-- | media/eco/tests/EcoSessionTest.cpp | 1 | ||||
-rw-r--r-- | media/eco/tests/FakeECOServiceInfoListener.cpp | 2 | ||||
-rw-r--r-- | media/eco/tests/FakeECOServiceInfoListener.h | 1 | ||||
-rw-r--r-- | media/eco/tests/FakeECOServiceStatsProvider.cpp | 2 | ||||
-rw-r--r-- | media/eco/tests/FakeECOServiceStatsProvider.h | 1 |
18 files changed, 103 insertions, 65 deletions
diff --git a/media/eco/Android.bp b/media/eco/Android.bp index 18bc547..7fcb676 100644 --- a/media/eco/Android.bp +++ b/media/eco/Android.bp @@ -3,15 +3,57 @@ package { default_applicable_licenses: ["Android-Apache-2.0"], } -filegroup { +aidl_interface { name: "libmedia_ecoservice_aidl", + vendor_available: true, + owner: "google", + local_include_dir: "aidl", srcs: [ "aidl/android/media/eco/IECOService.aidl", "aidl/android/media/eco/IECOSession.aidl", "aidl/android/media/eco/IECOServiceStatsProvider.aidl", "aidl/android/media/eco/IECOServiceInfoListener.aidl", ], - path: "aidl", + unstable: true, + backend: { + cpp: { + enabled: true, + additional_shared_libraries: [ + "libmedia_ecoservice_ecodata", + "libbinder_ndk", + ], + }, + ndk: { + enabled: false, + }, + java: { + enabled: false, + }, + rust: { + enabled: false, + }, + }, +} + +cc_library { + name: "libmedia_ecoservice_ecodata", + vendor_available: true, + + srcs: [ + "ECOData.cpp", + ], + + export_include_dirs: [ + "include", + ], + + shared_libs: [ + "libbase", + "libbinder", + "libbinder_ndk", + "liblog", + "libutils", + ], } cc_library_shared { @@ -19,8 +61,6 @@ cc_library_shared { vendor_available: true, srcs: [ - ":libmedia_ecoservice_aidl", - "ECOData.cpp", "ECODebug.cpp", "ECOService.cpp", "ECOSession.cpp", @@ -48,9 +88,13 @@ cc_library_shared { export_include_dirs: [ "include", ], - + whole_static_libs: [ + "libmedia_ecoservice_ecodata", + "libmedia_ecoservice_aidl-cpp", + ], shared_libs: [ "libbinder", + "libbinder_ndk", "libcutils", "liblog", "libutils", @@ -58,6 +102,7 @@ cc_library_shared { ], export_shared_lib_headers: [ "libbinder", + "libbinder_ndk", ], sanitize: { diff --git a/media/eco/ECOData.cpp b/media/eco/ECOData.cpp index 189e609..3d7b533 100644 --- a/media/eco/ECOData.cpp +++ b/media/eco/ECOData.cpp @@ -416,6 +416,10 @@ std::string ECOData::debugString() const { return s; } +std::string ECOData::toString() const { + return debugString(); +} + } // namespace eco } // namespace media } // namespace android diff --git a/media/eco/ECOService.cpp b/media/eco/ECOService.cpp index e95dee5..434485f 100644 --- a/media/eco/ECOService.cpp +++ b/media/eco/ECOService.cpp @@ -19,7 +19,6 @@ #include "eco/ECOService.h" -#include <binder/BinderService.h> #include <cutils/atomic.h> #include <inttypes.h> #include <pthread.h> @@ -158,4 +157,4 @@ status_t ECOService::dump(int fd, const Vector<String16>& args) { } // namespace eco } // namespace media -} // namespace android
\ No newline at end of file +} // namespace android diff --git a/media/eco/ECOServiceStatsProvider.cpp b/media/eco/ECOServiceStatsProvider.cpp index 8ca7ef0..90f1a23 100644 --- a/media/eco/ECOServiceStatsProvider.cpp +++ b/media/eco/ECOServiceStatsProvider.cpp @@ -18,6 +18,9 @@ #define LOG_TAG "ECOServiceStatsProvider" #include <eco/ECOServiceStatsProvider.h> +#include <binder/IServiceManager.h> +#include <utils/Timers.h> + namespace android { namespace media { namespace eco { @@ -32,7 +35,7 @@ ECOServiceStatsProvider::ECOServiceStatsProvider( mECOSession(session), mProviderName(name) { ALOGD("%s, construct with w: %d, h: %d, isCameraRecording: %d, ProviderName:%s", - __func__, width, height, isCameraRecording, name); + __func__, mWidth, mHeight, isCameraRecording, name); } Status ECOServiceStatsProvider::getType(int32_t* _aidl_return) { diff --git a/media/eco/ECOSession.cpp b/media/eco/ECOSession.cpp index 1a2e910..db85571 100644 --- a/media/eco/ECOSession.cpp +++ b/media/eco/ECOSession.cpp @@ -19,13 +19,14 @@ //#define DEBUG_ECO_SESSION #include "eco/ECOSession.h" -#include <binder/BinderService.h> +#include <android/binder_ibinder.h> #include <cutils/atomic.h> #include <inttypes.h> #include <pthread.h> #include <stdio.h> #include <sys/types.h> #include <utils/Log.h> +#include <utils/Timers.h> #include <algorithm> #include <climits> @@ -381,8 +382,8 @@ Status ECOSession::addStatsProvider( return STATUS_ERROR(ERROR_PERMISSION_DENIED, "Failed to get provider name"); } - ECOLOGV("Try to add stats provider name: %s uid: %d pid %d", ::android::String8(name).string(), - IPCThreadState::self()->getCallingUid(), IPCThreadState::self()->getCallingPid()); + ECOLOGV("Try to add stats provider name: %s uid: %d pid %d", ::android::String8(name).c_str(), + AIBinder_getCallingUid(), AIBinder_getCallingPid()); if (provider == nullptr) { ECOLOGE("%s: provider must not be null", __FUNCTION__); @@ -397,10 +398,10 @@ Status ECOSession::addStatsProvider( mProvider->getName(&name); String8 errorMsg = String8::format( "ECOService 1.0 only supports one stats provider, current provider: %s", - ::android::String8(name).string()); - ECOLOGE("%s", errorMsg.string()); + ::android::String8(name).c_str()); + ECOLOGE("%s", errorMsg.c_str()); *status = false; - return STATUS_ERROR(ERROR_ALREADY_EXISTS, errorMsg.string()); + return STATUS_ERROR(ERROR_ALREADY_EXISTS, errorMsg.c_str()); } // TODO: Handle the provider config. @@ -482,8 +483,8 @@ Status ECOSession::addInfoListener( return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, "listener config is not valid"); } - ECOLOGD("Info listener name: %s uid: %d pid %d", ::android::String8(name).string(), - IPCThreadState::self()->getCallingUid(), IPCThreadState::self()->getCallingPid()); + ECOLOGD("Info listener name: %s uid: %d pid %d", ::android::String8(name).c_str(), + AIBinder_getCallingUid(), AIBinder_getCallingPid()); mListener = listener; mListenerName = name; @@ -556,10 +557,10 @@ status_t ECOSession::dump(int fd, const Vector<String16>& /*args*/) { mWidth, mHeight, mIsCameraRecording, mTargetBitrateBps, mCodecType, mCodecProfile, mCodecLevel); if (mProvider != nullptr) { - dprintf(fd, "Provider: %s \n", ::android::String8(mProviderName).string()); + dprintf(fd, "Provider: %s \n", ::android::String8(mProviderName).c_str()); } if (mListener != nullptr) { - dprintf(fd, "Listener: %s \n", ::android::String8(mListenerName).string()); + dprintf(fd, "Listener: %s \n", ::android::String8(mListenerName).c_str()); } dprintf(fd, "\n===================\n\n"); diff --git a/media/eco/OWNERS b/media/eco/OWNERS index 73a70e2..8c78725 100644 --- a/media/eco/OWNERS +++ b/media/eco/OWNERS @@ -1 +1,4 @@ derekpang@google.com +kyslov@google.com +arifdikici@google.com +dichenzhang@google.com diff --git a/media/eco/include/eco/ECOData.h b/media/eco/include/eco/ECOData.h index cb42982..737235a 100644 --- a/media/eco/include/eco/ECOData.h +++ b/media/eco/include/eco/ECOData.h @@ -161,6 +161,8 @@ public: // Dump the ECOData as a string. std::string debugString() const; + std::string toString() const; + protected: // ValueType. This must match the index in ECODataValueType. enum ValueType { diff --git a/media/eco/include/eco/ECOService.h b/media/eco/include/eco/ECOService.h index f83edff..d0d732a 100644 --- a/media/eco/include/eco/ECOService.h +++ b/media/eco/include/eco/ECOService.h @@ -18,7 +18,8 @@ #define ANDROID_MEDIA_ECO_SERVICE_H_ #include <android/media/eco/BnECOService.h> -#include <binder/BinderService.h> +#include <binder/IServiceManager.h> +#include <utils/Mutex.h> #include <list> @@ -49,10 +50,8 @@ using android::media::eco::ECOSession; * ECOServiceStatsProvider and ECOServiceInfoListener should remove themselves from ECOSession. * Then ECOService will safely destroy the ECOSession. */ -class ECOService : public BinderService<ECOService>, - public BnECOService, +class ECOService : public BnECOService, public virtual IBinder::DeathRecipient { - friend class BinderService<ECOService>; public: ECOService(); @@ -66,6 +65,14 @@ public: virtual Status getSessions(::std::vector<sp<IBinder>>* _aidl_return); + static status_t instantiate() { + bool allowIsolated = false; + int dumpFlags = IServiceManager::DUMP_FLAG_PRIORITY_DEFAULT; + sp<IServiceManager> sm(defaultServiceManager()); + return sm->addService(String16(getServiceName()), new ECOService(), allowIsolated, + dumpFlags); + } + // Implementation of BinderService<T> static char const* getServiceName() { return "media.ecoservice"; } diff --git a/media/eco/include/eco/ECOServiceInfoListener.h b/media/eco/include/eco/ECOServiceInfoListener.h index 8a08a69..86d379f 100644 --- a/media/eco/include/eco/ECOServiceInfoListener.h +++ b/media/eco/include/eco/ECOServiceInfoListener.h @@ -19,7 +19,6 @@ #include <android/media/eco/BnECOServiceInfoListener.h> #include <android/media/eco/IECOSession.h> -#include <binder/BinderService.h> #include <condition_variable> #include <memory> @@ -37,10 +36,8 @@ using ::android::binder::Status; /** * ECOServiceInfoListener interface class. */ -class ECOServiceInfoListener : public BinderService<IECOServiceInfoListener>, - public BnECOServiceInfoListener, +class ECOServiceInfoListener : public BnECOServiceInfoListener, public virtual IBinder::DeathRecipient { - friend class BinderService<IECOServiceInfoListener>; public: // Create a ECOServiceInfoListener with specifed width, height and isCameraRecording. diff --git a/media/eco/include/eco/ECOServiceStatsProvider.h b/media/eco/include/eco/ECOServiceStatsProvider.h index ed0ca7d..c81f0b8 100644 --- a/media/eco/include/eco/ECOServiceStatsProvider.h +++ b/media/eco/include/eco/ECOServiceStatsProvider.h @@ -20,7 +20,6 @@ #include <android/media/eco/BnECOServiceStatsProvider.h> #include <android/media/eco/IECOSession.h> #include <android/media/eco/IECOService.h> -#include <binder/BinderService.h> #include <condition_variable> #include <memory> @@ -39,10 +38,8 @@ using ::android::binder::Status; /** * ECOServiceStatsProvider interface class. */ -class ECOServiceStatsProvider : public BinderService<IECOServiceStatsProvider>, - public BnECOServiceStatsProvider, +class ECOServiceStatsProvider : public BnECOServiceStatsProvider, public virtual IBinder::DeathRecipient { - friend class BinderService<IECOServiceStatsProvider>; public: virtual ~ECOServiceStatsProvider() {} diff --git a/media/eco/include/eco/ECOSession.h b/media/eco/include/eco/ECOSession.h index 90f9d94..9fb0bdc 100644 --- a/media/eco/include/eco/ECOSession.h +++ b/media/eco/include/eco/ECOSession.h @@ -19,7 +19,6 @@ #include <android/media/eco/BnECOSession.h> #include <android/media/eco/IECOServiceStatsProvider.h> -#include <binder/BinderService.h> #include <condition_variable> #include <deque> @@ -47,10 +46,8 @@ using ::android::binder::Status; * it only supports resolution of up to 720P and only for camera recording use case. Also, it only * supports encoder as the provider and camera as listener. */ -class ECOSession : public BinderService<ECOSession>, - public BnECOSession, +class ECOSession : public BnECOSession, public virtual IBinder::DeathRecipient { - friend class BinderService<ECOSession>; public: virtual ~ECOSession(); diff --git a/media/eco/tests/Android.bp b/media/eco/tests/Android.bp index 70390cc..99c93cd 100644 --- a/media/eco/tests/Android.bp +++ b/media/eco/tests/Android.bp @@ -1,22 +1,18 @@ package { + default_team: "trendy_team_android_media_audio_framework", // See: http://go/android-license-faq default_applicable_licenses: ["Android-Apache-2.0"], } -cc_defaults{ - name : "libmedia_ecoservice_tests_defaults", - cflags : [ +cc_defaults { + name: "libmedia_ecoservice_tests_defaults", + cflags: [ "-Wall", "-Werror", ], -} - -cc_test { - name: "EcoDataTest", - defaults: ["libmedia_ecoservice_tests_defaults"], - srcs: ["EcoDataTest.cpp"], shared_libs: [ "libbinder", + "libbinder_ndk", "libcutils", "libutils", "liblog", @@ -25,20 +21,18 @@ cc_test { } cc_test { + name: "EcoDataTest", + defaults: ["libmedia_ecoservice_tests_defaults"], + srcs: ["EcoDataTest.cpp"], +} + +cc_test { name: "EcoSessionTest", defaults: ["libmedia_ecoservice_tests_defaults"], srcs: [ "EcoSessionTest.cpp", "FakeECOServiceStatsProvider.cpp", "FakeECOServiceInfoListener.cpp", - ], - - shared_libs: [ - "libbinder", - "libcutils", - "libutils", - "liblog", - "libmedia_ecoservice", ], } @@ -50,13 +44,5 @@ cc_test { "EcoServiceTest.cpp", "FakeECOServiceStatsProvider.cpp", "FakeECOServiceInfoListener.cpp", - ], - - shared_libs: [ - "libbinder", - "libcutils", - "libutils", - "liblog", - "libmedia_ecoservice", ], } diff --git a/media/eco/tests/EcoServiceTest.cpp b/media/eco/tests/EcoServiceTest.cpp index dc589dd..df54c53 100644 --- a/media/eco/tests/EcoServiceTest.cpp +++ b/media/eco/tests/EcoServiceTest.cpp @@ -22,12 +22,14 @@ #include <android-base/unique_fd.h> #include <binder/Parcel.h> #include <binder/Parcelable.h> +#include <binder/IServiceManager.h> #include <cutils/ashmem.h> #include <gtest/gtest.h> #include <math.h> #include <stdlib.h> #include <sys/mman.h> #include <utils/Log.h> +#include <utils/Timers.h> #include "FakeECOServiceInfoListener.h" #include "FakeECOServiceStatsProvider.h" diff --git a/media/eco/tests/EcoSessionTest.cpp b/media/eco/tests/EcoSessionTest.cpp index 33a449d..5c8826f 100644 --- a/media/eco/tests/EcoSessionTest.cpp +++ b/media/eco/tests/EcoSessionTest.cpp @@ -28,6 +28,7 @@ #include <stdlib.h> #include <sys/mman.h> #include <utils/Log.h> +#include <utils/Timers.h> #include "FakeECOServiceInfoListener.h" #include "FakeECOServiceStatsProvider.h" diff --git a/media/eco/tests/FakeECOServiceInfoListener.cpp b/media/eco/tests/FakeECOServiceInfoListener.cpp index 2a4a285..10a6851 100644 --- a/media/eco/tests/FakeECOServiceInfoListener.cpp +++ b/media/eco/tests/FakeECOServiceInfoListener.cpp @@ -20,8 +20,6 @@ #include "FakeECOServiceInfoListener.h" #include <android-base/unique_fd.h> -#include <binder/IPCThreadState.h> -#include <binder/IServiceManager.h> #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <cutils/ashmem.h> diff --git a/media/eco/tests/FakeECOServiceInfoListener.h b/media/eco/tests/FakeECOServiceInfoListener.h index 9974b63..7c23275 100644 --- a/media/eco/tests/FakeECOServiceInfoListener.h +++ b/media/eco/tests/FakeECOServiceInfoListener.h @@ -19,7 +19,6 @@ #include <android-base/unique_fd.h> #include <android/media/eco/BnECOServiceInfoListener.h> #include <android/media/eco/IECOSession.h> -#include <binder/BinderService.h> #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <cutils/ashmem.h> diff --git a/media/eco/tests/FakeECOServiceStatsProvider.cpp b/media/eco/tests/FakeECOServiceStatsProvider.cpp index 883a830..4bf0ca4 100644 --- a/media/eco/tests/FakeECOServiceStatsProvider.cpp +++ b/media/eco/tests/FakeECOServiceStatsProvider.cpp @@ -20,8 +20,6 @@ #include "FakeECOServiceStatsProvider.h" #include <android-base/unique_fd.h> -#include <binder/IPCThreadState.h> -#include <binder/IServiceManager.h> #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <cutils/ashmem.h> diff --git a/media/eco/tests/FakeECOServiceStatsProvider.h b/media/eco/tests/FakeECOServiceStatsProvider.h index 0f60d02..bf14a53 100644 --- a/media/eco/tests/FakeECOServiceStatsProvider.h +++ b/media/eco/tests/FakeECOServiceStatsProvider.h @@ -18,7 +18,6 @@ #include <android-base/unique_fd.h> #include <android/media/eco/BnECOServiceStatsProvider.h> -#include <binder/BinderService.h> #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <cutils/ashmem.h> |