MediaTranscodingService: Add some missing build flags to Android.bp
The build flag uncover some locking are missed and this CL also fixes
them.
Bug: 145233472
Test: Unit test
Change-Id: Ide999b95f064adf14967cc2e36331524e83426d2
diff --git a/media/libmediatranscoding/Android.bp b/media/libmediatranscoding/Android.bp
index e3e87e1..2a6601a 100644
--- a/media/libmediatranscoding/Android.bp
+++ b/media/libmediatranscoding/Android.bp
@@ -55,9 +55,13 @@
],
cflags: [
- "-Werror",
- "-Wno-error=deprecated-declarations",
"-Wall",
+ "-Werror",
+ "-Wformat",
+ "-Wno-error=deprecated-declarations",
+ "-Wthread-safety",
+ "-Wunused",
+ "-Wunreachable-code",
],
sanitize: {
diff --git a/media/libmediatranscoding/TranscodingClientManager.cpp b/media/libmediatranscoding/TranscodingClientManager.cpp
index b05e3a6..bfa08a2 100644
--- a/media/libmediatranscoding/TranscodingClientManager.cpp
+++ b/media/libmediatranscoding/TranscodingClientManager.cpp
@@ -59,8 +59,8 @@
// Pointer to the client manager for this client
TranscodingClientManager* mOwner;
- ClientImpl(const std::shared_ptr<ITranscodingClientCallback>& callback, pid_t pid,
- uid_t uid, const std::string& clientName, const std::string& opPackageName,
+ ClientImpl(const std::shared_ptr<ITranscodingClientCallback>& callback, pid_t pid, uid_t uid,
+ const std::string& clientName, const std::string& opPackageName,
TranscodingClientManager* owner);
Status submitRequest(const TranscodingRequestParcel& /*in_request*/,
@@ -156,15 +156,12 @@
ALOGD("TranscodingClientManager exited");
}
-bool TranscodingClientManager::isClientIdRegistered(ClientIdType clientId) const {
- return mClientIdToClientMap.find(clientId) != mClientIdToClientMap.end();
-}
-
void TranscodingClientManager::dumpAllClients(int fd, const Vector<String16>& args __unused) {
String8 result;
const size_t SIZE = 256;
char buffer[SIZE];
+ std::scoped_lock lock{mLock};
snprintf(buffer, SIZE, " Total num of Clients: %zu\n", mClientIdToClientMap.size());
result.append(buffer);
@@ -200,7 +197,7 @@
std::scoped_lock lock{mLock};
// Checks if the client already registers.
- if (isClientIdRegistered(client->mClientId)) {
+ if (mClientIdToClientMap.find(client->mClientId) != mClientIdToClientMap.end()) {
return ALREADY_EXISTS;
}
diff --git a/media/libmediatranscoding/include/media/TranscodingClientManager.h b/media/libmediatranscoding/include/media/TranscodingClientManager.h
index d8176bf..dba669a 100644
--- a/media/libmediatranscoding/include/media/TranscodingClientManager.h
+++ b/media/libmediatranscoding/include/media/TranscodingClientManager.h
@@ -88,11 +88,6 @@
TranscodingClientManager(const std::shared_ptr<SchedulerClientInterface>& scheduler);
/**
- * Checks if a client with clientId is already registered.
- */
- bool isClientIdRegistered(ClientIdType clientId) const;
-
- /**
* Removes an existing client from the manager.
*
* If the client does not exist, this will return non-zero errorcode.
diff --git a/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp b/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp
index b58c827..acc3082 100644
--- a/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp
+++ b/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp
@@ -184,8 +184,8 @@
{
auto clientCallback = it->second.callback.lock();
if (clientCallback != nullptr) {
- clientCallback->onTranscodingFailed(
- mLastJob.second, TranscodingErrorCode::kUnknown);
+ clientCallback->onTranscodingFailed(mLastJob.second,
+ TranscodingErrorCode::kUnknown);
}
}
mJobs.erase(it);
diff --git a/media/libmediatranscoding/transcoder/Android.bp b/media/libmediatranscoding/transcoder/Android.bp
index a8caebe..440a454 100644
--- a/media/libmediatranscoding/transcoder/Android.bp
+++ b/media/libmediatranscoding/transcoder/Android.bp
@@ -33,9 +33,13 @@
],
cflags: [
- "-Werror",
- "-Wno-error=deprecated-declarations",
"-Wall",
+ "-Werror",
+ "-Wformat",
+ "-Wno-error=deprecated-declarations",
+ "-Wthread-safety",
+ "-Wunused",
+ "-Wunreachable-code",
],
sanitize: {