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

Commit 2ec20a55 authored by Sławomir Rosek's avatar Sławomir Rosek Committed by Automerger Merge Worker
Browse files

Merge "Disable transcoding by default if no HEVC support" am: 66aafd42 am:...

Merge "Disable transcoding by default if no HEVC support" am: 66aafd42 am: 818fbc0a am: ab2304ce am: ac5f86e6

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2512957



Change-Id: I1e0231ad2e15b1055fd454cab9900617566f220f
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b04f678d ac5f86e6
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -73,6 +73,9 @@ import android.content.pm.ProviderInfo;
import android.content.pm.UserInfo;
import android.content.res.ObbInfo;
import android.database.ContentObserver;
import android.media.MediaCodecList;
import android.media.MediaCodecInfo;
import android.media.MediaFormat;
import android.net.Uri;
import android.os.BatteryManager;
import android.os.Binder;
@@ -954,10 +957,27 @@ class StorageManagerService extends IStorageManager.Stub
        }
    }

    private boolean isHevcDecoderSupported() {
        MediaCodecList codecList = new MediaCodecList(MediaCodecList.REGULAR_CODECS);
        MediaCodecInfo[] codecInfos = codecList.getCodecInfos();
        for (MediaCodecInfo codecInfo : codecInfos) {
            if (codecInfo.isEncoder()) {
                continue;
            }
            String[] supportedTypes = codecInfo.getSupportedTypes();
            for (String type : supportedTypes) {
                if (type.equalsIgnoreCase(MediaFormat.MIMETYPE_VIDEO_HEVC)) {
                    return true;
                }
            }
        }
        return false;
    }

    private void configureTranscoding() {
        // See MediaProvider TranscodeHelper#getBooleanProperty for more information
        boolean transcodeEnabled = false;
        boolean defaultValue = true;
        boolean defaultValue = isHevcDecoderSupported() ? true : false;

        if (SystemProperties.getBoolean("persist.sys.fuse.transcode_user_control", false)) {
            transcodeEnabled = SystemProperties.getBoolean("persist.sys.fuse.transcode_enabled",