Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cbb06bde authored by Chong Zhang's avatar Chong Zhang Committed by Android (Google) Code Review
Browse files

Merge changes Ib70e7c51,I4ccf05f3

* changes:
  transcoding: use builtin_available macro instead of __ANDROID_APEX__
  transcoding: use __ANDROID_API_FUTURE__ in __builtin_available check
parents 27e69247 26ddfc59
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -302,7 +302,7 @@ bool TranscodingClientManager::isTrustedCaller(pid_t pid, uid_t uid) {
    }

    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) {
+3 −3
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ void TranscodingUidPolicy::OnUidImportance(uid_t uid, int32_t uidImportance, voi
}

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::registerSelf() {
}

void TranscodingUidPolicy::unregisterSelf() {
    if (__builtin_available(android 31, *)) {
    if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
        AActivityManager_removeUidImportanceListener(mUidObserver);
        mUidObserver = nullptr;

@@ -91,7 +91,7 @@ void TranscodingUidPolicy::registerMonitorUid(uid_t uid) {
    }

    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);
        }
+3 −0
Original line number Diff line number Diff line
@@ -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 {
+14 −12
Original line number Diff line number Diff line
@@ -260,12 +260,15 @@ media_status_t VideoTrackTranscoder::configureDestinationFormat(
        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 @@ media_status_t VideoTrackTranscoder::configureDestinationFormat(
        return AMEDIA_ERROR_INVALID_PARAMETER;
    }

#if !defined(__ANDROID_APEX__)
    // TODO(jiyong): replace this #ifdef with a __builtin_available check.
    if (__builtin_available(android __TRANSCODING_MIN_API__, *)) {
        mDecoder = AMediaCodec_createDecoderByTypeForClient(sourceMime, mPid, mUid);
#else
    } else {
        mDecoder = AMediaCodec_createDecoderByType(sourceMime);
#endif
    }
    if (mDecoder == nullptr) {
        LOG(ERROR) << "Unable to create decoder for type " << sourceMime;
        return AMEDIA_ERROR_UNSUPPORTED;
+0 −4
Original line number Diff line number Diff line
@@ -97,12 +97,8 @@ private:
    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
Loading