support android-15.0.0_r1

This commit is contained in:
Ziyang Zhou
2024-09-05 20:42:56 +08:00
parent 4c18f31f2c
commit 142755f1b4
22 changed files with 989 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
From 3fd19c8bd01a55e40edfc639963465b9ae15789d Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Mon, 20 Sep 2021 18:22:20 +0000
Subject: [PATCH 1/2] ? workaround for mesa video playback
---
media/libstagefright/colorconversion/SoftwareRenderer.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
index 2409315..1e3ec7b 100644
--- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp
+++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
@@ -130,6 +130,7 @@ void SoftwareRenderer::resetFormatIfChanged(
// hardware has YUV12 and RGBA8888 support, so convert known formats
{
switch (mColorFormat) {
+#if 0 // HACKED
case OMX_COLOR_FormatYUV420Planar:
case OMX_COLOR_FormatYUV420SemiPlanar:
case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:
@@ -139,6 +140,7 @@ void SoftwareRenderer::resetFormatIfChanged(
bufHeight = (mCropHeight + 1) & ~1;
break;
}
+#endif
case OMX_COLOR_Format24bitRGB888:
{
halFormat = HAL_PIXEL_FORMAT_RGB_888;
@@ -154,6 +156,7 @@ void SoftwareRenderer::resetFormatIfChanged(
bufHeight = (mCropHeight + 1) & ~1;
break;
}
+#if 0 // HACKED
case OMX_COLOR_FormatYUV420Planar16:
{
if (((dataSpace & HAL_DATASPACE_STANDARD_MASK) == HAL_DATASPACE_STANDARD_BT2020)
@@ -170,6 +173,7 @@ void SoftwareRenderer::resetFormatIfChanged(
bufHeight = (mCropHeight + 1) & ~1;
break;
}
+#endif
default:
{
break;
--
2.45.1

View File

@@ -0,0 +1,76 @@
From cfdda512510a20305d55db8d58551ead7253e094 Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Sat, 6 Aug 2022 10:17:12 +0800
Subject: [PATCH 2/2] bring back OMX nodes
users may use legacy kernel without `ION` / `DMABUF_HEAP` enabled,
enable OMX nodes to support this.
---
media/libstagefright/omx/Android.bp | 1 -
media/libstagefright/omx/OMXStore.cpp | 1 -
services/mediacodec/Android.bp | 25 +++++++++++++++++++++++++
3 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/media/libstagefright/omx/Android.bp b/media/libstagefright/omx/Android.bp
index 630817c..23d1b1a 100644
--- a/media/libstagefright/omx/Android.bp
+++ b/media/libstagefright/omx/Android.bp
@@ -183,7 +183,6 @@ cc_defaults {
name: "libstagefright_softomx-defaults",
// TODO (b/316432618) Software OMX codecs are no longer used, disable building them till
// this code is removed completely.
- enabled: false,
vendor_available: true,
cflags: [
diff --git a/media/libstagefright/omx/OMXStore.cpp b/media/libstagefright/omx/OMXStore.cpp
index b2d5a70..3be56c8 100644
--- a/media/libstagefright/omx/OMXStore.cpp
+++ b/media/libstagefright/omx/OMXStore.cpp
@@ -161,7 +161,6 @@ void OMXStore::addPlugin(OMXPluginBase *plugin) {
}
}
if (skip) {
- continue;
}
}
diff --git a/services/mediacodec/Android.bp b/services/mediacodec/Android.bp
index 506b3bc..a2f17c2 100644
--- a/services/mediacodec/Android.bp
+++ b/services/mediacodec/Android.bp
@@ -95,6 +95,31 @@ cc_binary {
"android.hidl.memory@1.0",
],
+ runtime_libs: [
+ "libstagefright_soft_aacdec",
+ "libstagefright_soft_aacenc",
+ "libstagefright_soft_amrdec",
+ "libstagefright_soft_amrnbenc",
+ "libstagefright_soft_amrwbenc",
+ "libstagefright_soft_avcdec",
+ "libstagefright_soft_avcenc",
+ "libstagefright_soft_flacdec",
+ "libstagefright_soft_flacenc",
+ "libstagefright_soft_g711dec",
+ "libstagefright_soft_gsmdec",
+ "libstagefright_soft_hevcdec",
+ "libstagefright_soft_mp3dec",
+ "libstagefright_soft_mpeg2dec",
+ "libstagefright_soft_mpeg4dec",
+ "libstagefright_soft_mpeg4enc",
+ "libstagefright_soft_opusdec",
+ "libstagefright_soft_rawdec",
+ "libstagefright_soft_vorbisdec",
+ "libstagefright_soft_vpxdec",
+ "libstagefright_soft_vpxenc",
+ "libstagefright_softomx_plugin",
+ ],
+
// OMX interfaces force this to stay in 32-bit mode;
compile_multilib: "32",
--
2.45.1

View File

@@ -0,0 +1,25 @@
From a001846a996826d6c0f003c5c410e1deea39431d Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Sat, 11 Nov 2023 10:30:11 +0800
Subject: [PATCH] ignore cgroup error
---
services/core/java/com/android/server/am/ProcessList.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index c0947247d..2dc813954 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -2583,7 +2583,7 @@ public final class ProcessList {
"Unable to create process group for "
+ app.processName + " (" + startResult.pid + ")");
} else {
- throw new AssertionError("Unable to create process group for "
+ Slog.e(ActivityManagerService.TAG, "Unable to create process group for "
+ app.processName + " (" + startResult.pid + ")");
}
} else {
--
2.45.1

View File

@@ -0,0 +1,59 @@
From a7e73ba50cbf99563ff9002442f1f26471d588f3 Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Sun, 9 May 2021 23:04:00 +0800
Subject: [PATCH] fix booting
---
libs/binder/Binder.cpp | 1 +
libs/binder/IPCThreadState.cpp | 2 +-
libs/binder/ProcessState.cpp | 3 +++
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/libs/binder/Binder.cpp b/libs/binder/Binder.cpp
index c57c9cd..ccb13ea 100644
--- a/libs/binder/Binder.cpp
+++ b/libs/binder/Binder.cpp
@@ -506,6 +506,7 @@ void BBinder::setRequestingSid(bool requestingSid)
"setRequestingSid() should not be called after a binder object "
"is parceled/sent to another process");
+ requestingSid = false; // HACKED
Extras* e = mExtras.load(std::memory_order_acquire);
if (!e) {
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp
index fbc8125..52953f2 100644
--- a/libs/binder/IPCThreadState.cpp
+++ b/libs/binder/IPCThreadState.cpp
@@ -1377,7 +1377,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
clearPropagateWorkSource();
mCallingPid = tr.sender_pid;
- mCallingSid = reinterpret_cast<const char*>(tr_secctx.secctx);
+ mCallingSid = "HACKED";
mCallingUid = tr.sender_euid;
mHasExplicitIdentity = false;
mLastTransactionBinderFlags = tr.flags;
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index 8485ecd..a427f0c 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -208,12 +208,15 @@ bool ProcessState::becomeContextManager()
{
std::unique_lock<std::mutex> _l(mLock);
+#if 0
flat_binder_object obj {
.flags = FLAT_BINDER_FLAG_TXN_SECURITY_CTX,
};
int result = ioctl(mDriverFD, BINDER_SET_CONTEXT_MGR_EXT, &obj);
+#endif
+ int result = 1;
// fallback to original method
if (result != 0) {
android_errorWriteLog(0x534e4554, "121035042");
--
2.45.1