Fix mediacodec on vndk-27
Since android-10.0.0_r37, mediacodec seccomp policy now has two includes. In AOSP 8.1, minijail is vendor-side. AOSP 8.1's minijail has a bug, which can't read multiple includes. All of this together means mediacodec is broken. This fixes it by overriding vendor's minijail to a working one, in the hope that vendors didn't change anything in their own minijail https://issuetracker.google.com/issues/158068181
This commit is contained in:
parent
5c712afafa
commit
7576b8f0fe
@ -1,5 +1,8 @@
|
|||||||
#!/system/bin/sh
|
#!/system/bin/sh
|
||||||
|
|
||||||
|
vndk="$(getprop persist.sys.vndk)"
|
||||||
|
[ -z "$vndk" ] && vndk="$(getprop ro.vndk.version |grep -oE '^[0-9]+')"
|
||||||
|
|
||||||
[ "$(getprop vold.decrypt)" = "trigger_restart_min_framework" ] && exit 0
|
[ "$(getprop vold.decrypt)" = "trigger_restart_min_framework" ] && exit 0
|
||||||
|
|
||||||
setprop ctl.start media.swcodec
|
setprop ctl.start media.swcodec
|
||||||
@ -31,6 +34,12 @@ fi
|
|||||||
|
|
||||||
setprop ctl.stop storageproxyd
|
setprop ctl.stop storageproxyd
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
if [ "$vndk" = 27 ] && getprop init.svc.mediacodec |grep -q restarting;then
|
||||||
|
mount /system/lib64/vndk-27/libminijail.so /vendor/lib64/libminijail_vendor.so
|
||||||
|
mount /system/lib/vndk-27/libminijail.so /vendor/lib/libminijail_vendor.so
|
||||||
|
fi
|
||||||
|
|
||||||
#Clear looping services
|
#Clear looping services
|
||||||
sleep 30
|
sleep 30
|
||||||
getprop | \
|
getprop | \
|
||||||
|
Loading…
Reference in New Issue
Block a user