diff --git a/common.mk b/common.mk index 2768992..d3ff32e 100644 --- a/common.mk +++ b/common.mk @@ -65,6 +65,11 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.qcom \ $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.qcom +# Media +PRODUCT_PACKAGES += \ + init.qti.media.rc \ + init.qti.media.sh + # Overlays PRODUCT_PACKAGES += \ CarrierConfigResCommon_Sys \ diff --git a/media/Android.bp b/media/Android.bp new file mode 100644 index 0000000..f15e66c --- /dev/null +++ b/media/Android.bp @@ -0,0 +1,12 @@ +prebuilt_etc { + name: "init.qti.media.rc", + src: "init.qti.media.rc", + sub_dir: "init", + vendor: true, +} + +sh_binary { + name: "init.qti.media.sh", + src: "init.qti.media.sh", + vendor: true, +} diff --git a/media/init.qti.media.rc b/media/init.qti.media.rc new file mode 100644 index 0000000..abfc3dd --- /dev/null +++ b/media/init.qti.media.rc @@ -0,0 +1,54 @@ +#============================================================================== +# init.qti.media.rc +# +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# Copyright (c) 2020, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#=============================================================================== +service qti-media /vendor/bin/init.qti.media.sh + class main + user media + group media + disabled + oneshot + +on early-init + setprop vendor.media.system.build_codename ${ro.build.version.release_or_codename} + start qti-media + +on post-fs-data + setprop ro.media.xml_variant.codecs ${vendor.media.target_variant} + setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant} + +on property:vendor.netflix.bsp_rev=* + setprop ro.netflix.bsp_rev ${vendor.netflix.bsp_rev} + +on property:vendor.mm.target.enable.qcom_parser=* + setprop vendor.mm.enable.qcom_parser ${vendor.mm.target.enable.qcom_parser} diff --git a/media/init.qti.media.sh b/media/init.qti.media.sh new file mode 100755 index 0000000..144ed74 --- /dev/null +++ b/media/init.qti.media.sh @@ -0,0 +1,85 @@ +#! /vendor/bin/sh +#============================================================================== +# init.qti.media.sh +# +# Copyright (c) 2020-2021, Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# Copyright (c) 2020, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#=============================================================================== + +build_codename=`getprop vendor.media.system.build_codename` + +if [ -f /sys/devices/soc0/soc_id ]; then + soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null +else + soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null +fi + +target=`getprop ro.board.platform` +case "$target" in + "taro") + setprop vendor.mm.target.enable.qcom_parser 4186207 + case "$soc_hwid" in + 530|531|540) + setprop vendor.media.target_variant "_cape" + ;; + *) + setprop vendor.media.target_variant "_taro" + if [ $build_codename -le "12" ]; then + setprop vendor.netflix.bsp_rev "Q8450-34634-1" + fi + ;; + esac + ;; + "lahaina") + case "$soc_hwid" in + 450) + setprop vendor.media.target_variant "_shima_v3" + setprop vendor.netflix.bsp_rev "" + sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null + if [ $sku_ver -eq 1 ]; then + setprop vendor.media.target_variant "_shima_v1" + elif [ $sku_ver -eq 2 ]; then + setprop vendor.media.target_variant "_shima_v2" + fi + ;; + *) + setprop vendor.media.target_variant "_lahaina" + setprop vendor.netflix.bsp_rev "Q875-32408-1" + ;; + esac + ;; + "holi") + setprop vendor.media.target_variant "_holi" + ;; + "msmnile") + setprop vendor.media.target_variant "_msmnile" + ;; +esac