diff --git a/Android.bp b/Android.bp index af238b9..03ce063 100644 --- a/Android.bp +++ b/Android.bp @@ -1814,6 +1814,44 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "libwvhidl", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libwvhidl.so", + ], + shared_libs: [ + "android.hardware.drm@1.0", + "android.hardware.drm@1.1", + "android.hardware.drm@1.2", + "android.hardware.drm@1.3", + "android.hardware.drm@1.4", + "android.hidl.memory@1.0", + "libbase", + "libcrypto", + "libcutils", + "libhidlbase", + "libhidlmemory", + "liblog", + "libprotobuf-cpp-lite-3.9.1", + "libutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "vendor.samsung.hardware.audio-V1-ndk", owner: "samsung", @@ -2052,6 +2090,15 @@ cc_prebuilt_library_shared { soc_specific: true, } +prebuilt_etc_xml { + name: "manifest_android.hardware.drm@1.4-service.widevine.xml", + owner: "samsung", + src: "proprietary/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.widevine.xml", + filename_from_src: true, + sub_dir: "vintf/manifest", + soc_specific: true, +} + prebuilt_etc_xml { name: "secaudiohalaidl_manifest.xml", owner: "samsung", @@ -2117,6 +2164,42 @@ cc_prebuilt_binary { soc_specific: true, } +cc_prebuilt_binary { + name: "android.hardware.drm@1.4-service.widevine", + owner: "samsung", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/hw/android.hardware.drm@1.4-service.widevine", + ], + shared_libs: [ + "android.hardware.drm@1.0", + "android.hardware.drm@1.1", + "android.hardware.drm@1.2", + "android.hardware.drm@1.3", + "libbase", + "libhidlbase", + "liblog", + "libutils", + "libbinder", + "android.hardware.drm@1.4", + "libwvhidl", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + relative_install_path: "hw", + soc_specific: true, +} + cc_prebuilt_binary { name: "rild", owner: "samsung", diff --git a/proprietary/vendor/bin/hw/android.hardware.drm@1.4-service.widevine b/proprietary/vendor/bin/hw/android.hardware.drm@1.4-service.widevine new file mode 100755 index 0000000..0c2b8bc Binary files /dev/null and b/proprietary/vendor/bin/hw/android.hardware.drm@1.4-service.widevine differ diff --git a/proprietary/vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc b/proprietary/vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc new file mode 100644 index 0000000..3d8198a --- /dev/null +++ b/proprietary/vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc @@ -0,0 +1,28 @@ +on property:init.svc.mediadrm=running + mkdir /data/vendor/mediadrm 0770 media mediadrm + start vendor.move_data_sh + +service vendor.move_data_sh /system/bin/move_widevine_data.sh + class late_start + user media + group media mediadrm system + disabled + oneshot + +service vendor.drm-widevine-hal-1-4 /vendor/bin/hw/android.hardware.drm@1.4-service.widevine + interface android.hardware.drm@1.0::ICryptoFactory widevine + interface android.hardware.drm@1.0::IDrmFactory widevine + interface android.hardware.drm@1.1::ICryptoFactory widevine + interface android.hardware.drm@1.1::IDrmFactory widevine + interface android.hardware.drm@1.2::ICryptoFactory widevine + interface android.hardware.drm@1.2::IDrmFactory widevine + interface android.hardware.drm@1.3::ICryptoFactory widevine + interface android.hardware.drm@1.3::IDrmFactory widevine + interface android.hardware.drm@1.4::ICryptoFactory widevine + interface android.hardware.drm@1.4::IDrmFactory widevine + interface android.hidl.base@1.0::IBase widevine + class hal + user media + group media mediadrm drmrpc system + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks diff --git a/proprietary/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.widevine.xml b/proprietary/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.widevine.xml new file mode 100644 index 0000000..78618dc --- /dev/null +++ b/proprietary/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.widevine.xml @@ -0,0 +1,23 @@ + + + + + android.hardware.drm + hwbinder + @1.4::ICryptoFactory/widevine + @1.4::IDrmFactory/widevine + + diff --git a/proprietary/vendor/lib64/libwvhidl.so b/proprietary/vendor/lib64/libwvhidl.so new file mode 100644 index 0000000..873c356 Binary files /dev/null and b/proprietary/vendor/lib64/libwvhidl.so differ diff --git a/s5e8825-common-vendor.mk b/s5e8825-common-vendor.mk index 3f96df8..6ec1a53 100644 --- a/s5e8825-common-vendor.mk +++ b/s5e8825-common-vendor.mk @@ -8,6 +8,7 @@ PRODUCT_SOONG_NAMESPACES += \ PRODUCT_COPY_FILES += \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/SoundBoosterParam.txt:$(TARGET_COPY_OUT_VENDOR)/etc/SoundBoosterParam.txt \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/dolby/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \ + vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.drm@1.4-service.widevine.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/cass.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/cass.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.baseband.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.baseband.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.vendor.rilcommon.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.vendor.rilcommon.rc \ @@ -76,6 +77,7 @@ PRODUCT_PACKAGES += \ libuniapi \ libuniplugin \ libvkmanager_vendor \ + libwvhidl \ vendor.samsung.hardware.audio-V1-ndk \ vendor.samsung.hardware.radio-V1-ndk \ vendor.samsung.hardware.radio.bridge-V1-ndk \ @@ -85,11 +87,13 @@ PRODUCT_PACKAGES += \ vendor.samsung.hardware.radio.messaging-V1-ndk \ vendor.samsung.hardware.radio.sim-V1-ndk \ vendor.samsung.hardware.thermal@1.0 \ + manifest_android.hardware.drm@1.4-service.widevine.xml \ secaudiohalaidl_manifest.xml \ vendor.samsung.hardware.radio.exclude.slsi.xml \ vendor.samsung.hardware.radio_manifest_2_33.xml \ vendor.samsung.hardware.sehradio_manifest_2_33.xml \ cass \ + android.hardware.drm@1.4-service.widevine \ rild \ secaudiohalaidl \ secril_config_svc