Merge changes Ib70e7c51,I4ccf05f3
* changes:
transcoding: use builtin_available macro instead of __ANDROID_APEX__
transcoding: use __ANDROID_API_FUTURE__ in __builtin_available check
diff --git a/media/libmediatranscoding/TranscodingClientManager.cpp b/media/libmediatranscoding/TranscodingClientManager.cpp
index adc8bdb..46d1da2 100644
--- a/media/libmediatranscoding/TranscodingClientManager.cpp
+++ b/media/libmediatranscoding/TranscodingClientManager.cpp
@@ -302,7 +302,7 @@
}
int32_t result;
- if (__builtin_available(android 31, *)) {
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
if (APermissionManager_checkPermission("android.permission.WRITE_MEDIA_STORAGE", pid, uid,
&result) == PERMISSION_MANAGER_STATUS_OK &&
result == PERMISSION_MANAGER_PERMISSION_GRANTED) {
diff --git a/media/libmediatranscoding/TranscodingUidPolicy.cpp b/media/libmediatranscoding/TranscodingUidPolicy.cpp
index b0fa545..feaecc6 100644
--- a/media/libmediatranscoding/TranscodingUidPolicy.cpp
+++ b/media/libmediatranscoding/TranscodingUidPolicy.cpp
@@ -48,7 +48,7 @@
}
void TranscodingUidPolicy::registerSelf() {
- if (__builtin_available(android 31, *)) {
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
mUidObserver = AActivityManager_addUidImportanceListener(&OnUidImportance, -1, (void*)this);
}
@@ -63,7 +63,7 @@
}
void TranscodingUidPolicy::unregisterSelf() {
- if (__builtin_available(android 31, *)) {
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
AActivityManager_removeUidImportanceListener(mUidObserver);
mUidObserver = nullptr;
@@ -91,7 +91,7 @@
}
int32_t state = IMPORTANCE_UNKNOWN;
- if (__builtin_available(android 31, *)) {
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
if (mRegistered && AActivityManager_isUidActive(uid)) {
state = AActivityManager_getUidImportance(uid);
}
diff --git a/media/libmediatranscoding/include/media/TranscodingUidPolicy.h b/media/libmediatranscoding/include/media/TranscodingUidPolicy.h
index 4dde5a6..dcb22df 100644
--- a/media/libmediatranscoding/include/media/TranscodingUidPolicy.h
+++ b/media/libmediatranscoding/include/media/TranscodingUidPolicy.h
@@ -28,6 +28,9 @@
#include <unordered_map>
#include <unordered_set>
+// TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708)
+#define __TRANSCODING_MIN_API__ __ANDROID_API_FUTURE__
+
struct AActivityManager_UidImportanceListener;
namespace android {
diff --git a/media/libmediatranscoding/transcoder/VideoTrackTranscoder.cpp b/media/libmediatranscoding/transcoder/VideoTrackTranscoder.cpp
index 21d60ea..45e25ac 100644
--- a/media/libmediatranscoding/transcoder/VideoTrackTranscoder.cpp
+++ b/media/libmediatranscoding/transcoder/VideoTrackTranscoder.cpp
@@ -260,12 +260,15 @@
return AMEDIA_ERROR_INVALID_PARAMETER;
}
-#if !defined(__ANDROID_APEX__)
- // TODO(jiyong): replace this #ifdef with a __builtin_available check.
- AMediaCodec* encoder = AMediaCodec_createEncoderByTypeForClient(destinationMime, mPid, mUid);
-#else
- AMediaCodec* encoder = AMediaCodec_createEncoderByType(destinationMime);
-#endif
+ // TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708)
+ #define __TRANSCODING_MIN_API__ __ANDROID_API_FUTURE__
+
+ AMediaCodec* encoder;
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
+ encoder = AMediaCodec_createEncoderByTypeForClient(destinationMime, mPid, mUid);
+ } else {
+ encoder = AMediaCodec_createEncoderByType(destinationMime);
+ }
if (encoder == nullptr) {
LOG(ERROR) << "Unable to create encoder for type " << destinationMime;
return AMEDIA_ERROR_UNSUPPORTED;
@@ -295,12 +298,11 @@
return AMEDIA_ERROR_INVALID_PARAMETER;
}
-#if !defined(__ANDROID_APEX__)
- // TODO(jiyong): replace this #ifdef with a __builtin_available check.
- mDecoder = AMediaCodec_createDecoderByTypeForClient(sourceMime, mPid, mUid);
-#else
- mDecoder = AMediaCodec_createDecoderByType(sourceMime);
-#endif
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
+ mDecoder = AMediaCodec_createDecoderByTypeForClient(sourceMime, mPid, mUid);
+ } else {
+ mDecoder = AMediaCodec_createDecoderByType(sourceMime);
+ }
if (mDecoder == nullptr) {
LOG(ERROR) << "Unable to create decoder for type " << sourceMime;
return AMEDIA_ERROR_UNSUPPORTED;
diff --git a/media/libmediatranscoding/transcoder/include/media/VideoTrackTranscoder.h b/media/libmediatranscoding/transcoder/include/media/VideoTrackTranscoder.h
index e3f3f4f..d2ffb01 100644
--- a/media/libmediatranscoding/transcoder/include/media/VideoTrackTranscoder.h
+++ b/media/libmediatranscoding/transcoder/include/media/VideoTrackTranscoder.h
@@ -97,12 +97,8 @@
BlockingQueue<std::function<void()>> mCodecMessageQueue;
std::shared_ptr<AMediaFormat> mDestinationFormat;
std::shared_ptr<AMediaFormat> mActualOutputFormat;
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunused-private-field"
- // These could be unused on older platforms
pid_t mPid;
uid_t mUid;
-#pragma clang diagnostic pop
};
} // namespace android
diff --git a/media/ndk/include_platform/media/NdkMediaCodecPlatform.h b/media/ndk/include_platform/media/NdkMediaCodecPlatform.h
index 608346d..6edd712 100644
--- a/media/ndk/include_platform/media/NdkMediaCodecPlatform.h
+++ b/media/ndk/include_platform/media/NdkMediaCodecPlatform.h
@@ -41,8 +41,6 @@
AMEDIACODEC_CALLING_PID = -1,
};
-#if __ANDROID_API__ >= 31
-
/**
* Create codec by name on behalf of a client.
*
@@ -91,8 +89,6 @@
pid_t pid,
uid_t uid) __INTRODUCED_IN(31);
-#endif // __ANDROID_API__ >= 31
-
__END_DECLS
#endif //_NDK_MEDIA_CODEC_PLATFORM_H
diff --git a/services/mediatranscoding/MediaTranscodingService.cpp b/services/mediatranscoding/MediaTranscodingService.cpp
index 74477a8..b94dd01 100644
--- a/services/mediatranscoding/MediaTranscodingService.cpp
+++ b/services/mediatranscoding/MediaTranscodingService.cpp
@@ -62,7 +62,7 @@
uid_t callingUid = AIBinder_getCallingUid();
pid_t callingPid = AIBinder_getCallingPid();
- if (__builtin_available(android 31, *)) {
+ if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
int32_t permissionResult;
if (APermissionManager_checkPermission("android.permission.DUMP", callingPid, callingUid,
&permissionResult) != PERMISSION_MANAGER_STATUS_OK ||