Loading drm/mediadrm/plugins/clearkey/hidl/Android.bp +15 −4 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ // limitations under the License. // cc_binary { name: "android.hardware.drm@1.2-service.clearkey", cc_defaults { name: "clearkey_service_defaults", vendor: true, srcs: [ Loading @@ -33,13 +33,11 @@ cc_binary { "MemoryFileSystem.cpp", "Session.cpp", "SessionLibrary.cpp", "service.cpp", ], relative_install_path: "hw", cflags: ["-Wall", "-Werror"], init_rc: ["android.hardware.drm@1.2-service.clearkey.rc"], shared_libs: [ "android.hardware.drm@1.0", Loading Loading @@ -80,3 +78,16 @@ cc_library_static { }, srcs: ["protos/DeviceFiles.proto"], } cc_binary { name: "android.hardware.drm@1.2-service.clearkey", defaults: ["clearkey_service_defaults"], srcs: ["service.cpp"], init_rc: ["android.hardware.drm@1.2-service.clearkey.rc"], } cc_binary { name: "android.hardware.drm@1.2-service-lazy.clearkey", overrides: ["android.hardware.drm@1.2-service.clearkey"], defaults: ["clearkey_service_defaults"], srcs: ["serviceLazy.cpp"], init_rc: ["android.hardware.drm@1.2-service-lazy.clearkey.rc"], } drm/mediadrm/plugins/clearkey/hidl/android.hardware.drm@1.2-service-lazy.clearkey.rc 0 → 100644 +14 −0 Original line number Diff line number Diff line service vendor.drm-clearkey-hal-1-2 /vendor/bin/hw/android.hardware.drm@1.2-service-lazy.clearkey interface android.hardware.drm@1.0::ICryptoFactory clearkey interface android.hardware.drm@1.0::IDrmFactory clearkey interface android.hardware.drm@1.1::ICryptoFactory clearkey interface android.hardware.drm@1.1::IDrmFactory clearkey interface android.hardware.drm@1.2::ICryptoFactory clearkey interface android.hardware.drm@1.2::IDrmFactory clearkey disabled oneshot class hal user media group media mediadrm ioprio rt 4 writepid /dev/cpuset/foreground/tasks drm/mediadrm/plugins/clearkey/hidl/android.hardware.drm@1.2-service.clearkey.rc +6 −0 Original line number Diff line number Diff line service vendor.drm-clearkey-hal-1-2 /vendor/bin/hw/android.hardware.drm@1.2-service.clearkey interface android.hardware.drm@1.0::ICryptoFactory clearkey interface android.hardware.drm@1.0::IDrmFactory clearkey interface android.hardware.drm@1.1::ICryptoFactory clearkey interface android.hardware.drm@1.1::IDrmFactory clearkey interface android.hardware.drm@1.2::ICryptoFactory clearkey interface android.hardware.drm@1.2::IDrmFactory clearkey class hal user media group media mediadrm Loading drm/mediadrm/plugins/clearkey/hidl/service.cpp +1 −9 Original line number Diff line number Diff line Loading @@ -13,13 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "android.hardware.drm@1.2-service.clearkey" #include <CryptoFactory.h> #include <DrmFactory.h> #include <android-base/logging.h> #include <binder/ProcessState.h> #include <hidl/HidlLazyUtils.h> #include <hidl/HidlTransportSupport.h> using ::android::hardware::configureRpcThreadpool; Loading @@ -31,14 +30,7 @@ using android::hardware::drm::V1_2::IDrmFactory; using android::hardware::drm::V1_2::clearkey::CryptoFactory; using android::hardware::drm::V1_2::clearkey::DrmFactory; int main(int /* argc */, char** /* argv */) { ALOGD("android.hardware.drm@1.2-service.clearkey starting..."); // The DRM HAL may communicate to other vendor components via // /dev/vndbinder android::ProcessState::initWithDriver("/dev/vndbinder"); sp<IDrmFactory> drmFactory = new DrmFactory; sp<ICryptoFactory> cryptoFactory = new CryptoFactory; Loading drm/mediadrm/plugins/clearkey/hidl/serviceLazy.cpp 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <CryptoFactory.h> #include <DrmFactory.h> #include <android-base/logging.h> #include <binder/ProcessState.h> #include <hidl/HidlLazyUtils.h> #include <hidl/HidlTransportSupport.h> using ::android::hardware::configureRpcThreadpool; using ::android::hardware::joinRpcThreadpool; using ::android::sp; using android::hardware::drm::V1_2::ICryptoFactory; using android::hardware::drm::V1_2::IDrmFactory; using android::hardware::drm::V1_2::clearkey::CryptoFactory; using android::hardware::drm::V1_2::clearkey::DrmFactory; using android::hardware::LazyServiceRegistrar; int main(int /* argc */, char** /* argv */) { sp<IDrmFactory> drmFactory = new DrmFactory; sp<ICryptoFactory> cryptoFactory = new CryptoFactory; configureRpcThreadpool(8, true /* callerWillJoin */); // Setup hwbinder service LazyServiceRegistrar serviceRegistrar; // Setup hwbinder service CHECK_EQ(serviceRegistrar.registerService(drmFactory, "clearkey"), android::NO_ERROR) << "Failed to register Clearkey Factory HAL"; CHECK_EQ(serviceRegistrar.registerService(cryptoFactory, "clearkey"), android::NO_ERROR) << "Failed to register Clearkey Crypto HAL"; joinRpcThreadpool(); } Loading
drm/mediadrm/plugins/clearkey/hidl/Android.bp +15 −4 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ // limitations under the License. // cc_binary { name: "android.hardware.drm@1.2-service.clearkey", cc_defaults { name: "clearkey_service_defaults", vendor: true, srcs: [ Loading @@ -33,13 +33,11 @@ cc_binary { "MemoryFileSystem.cpp", "Session.cpp", "SessionLibrary.cpp", "service.cpp", ], relative_install_path: "hw", cflags: ["-Wall", "-Werror"], init_rc: ["android.hardware.drm@1.2-service.clearkey.rc"], shared_libs: [ "android.hardware.drm@1.0", Loading Loading @@ -80,3 +78,16 @@ cc_library_static { }, srcs: ["protos/DeviceFiles.proto"], } cc_binary { name: "android.hardware.drm@1.2-service.clearkey", defaults: ["clearkey_service_defaults"], srcs: ["service.cpp"], init_rc: ["android.hardware.drm@1.2-service.clearkey.rc"], } cc_binary { name: "android.hardware.drm@1.2-service-lazy.clearkey", overrides: ["android.hardware.drm@1.2-service.clearkey"], defaults: ["clearkey_service_defaults"], srcs: ["serviceLazy.cpp"], init_rc: ["android.hardware.drm@1.2-service-lazy.clearkey.rc"], }
drm/mediadrm/plugins/clearkey/hidl/android.hardware.drm@1.2-service-lazy.clearkey.rc 0 → 100644 +14 −0 Original line number Diff line number Diff line service vendor.drm-clearkey-hal-1-2 /vendor/bin/hw/android.hardware.drm@1.2-service-lazy.clearkey interface android.hardware.drm@1.0::ICryptoFactory clearkey interface android.hardware.drm@1.0::IDrmFactory clearkey interface android.hardware.drm@1.1::ICryptoFactory clearkey interface android.hardware.drm@1.1::IDrmFactory clearkey interface android.hardware.drm@1.2::ICryptoFactory clearkey interface android.hardware.drm@1.2::IDrmFactory clearkey disabled oneshot class hal user media group media mediadrm ioprio rt 4 writepid /dev/cpuset/foreground/tasks
drm/mediadrm/plugins/clearkey/hidl/android.hardware.drm@1.2-service.clearkey.rc +6 −0 Original line number Diff line number Diff line service vendor.drm-clearkey-hal-1-2 /vendor/bin/hw/android.hardware.drm@1.2-service.clearkey interface android.hardware.drm@1.0::ICryptoFactory clearkey interface android.hardware.drm@1.0::IDrmFactory clearkey interface android.hardware.drm@1.1::ICryptoFactory clearkey interface android.hardware.drm@1.1::IDrmFactory clearkey interface android.hardware.drm@1.2::ICryptoFactory clearkey interface android.hardware.drm@1.2::IDrmFactory clearkey class hal user media group media mediadrm Loading
drm/mediadrm/plugins/clearkey/hidl/service.cpp +1 −9 Original line number Diff line number Diff line Loading @@ -13,13 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "android.hardware.drm@1.2-service.clearkey" #include <CryptoFactory.h> #include <DrmFactory.h> #include <android-base/logging.h> #include <binder/ProcessState.h> #include <hidl/HidlLazyUtils.h> #include <hidl/HidlTransportSupport.h> using ::android::hardware::configureRpcThreadpool; Loading @@ -31,14 +30,7 @@ using android::hardware::drm::V1_2::IDrmFactory; using android::hardware::drm::V1_2::clearkey::CryptoFactory; using android::hardware::drm::V1_2::clearkey::DrmFactory; int main(int /* argc */, char** /* argv */) { ALOGD("android.hardware.drm@1.2-service.clearkey starting..."); // The DRM HAL may communicate to other vendor components via // /dev/vndbinder android::ProcessState::initWithDriver("/dev/vndbinder"); sp<IDrmFactory> drmFactory = new DrmFactory; sp<ICryptoFactory> cryptoFactory = new CryptoFactory; Loading
drm/mediadrm/plugins/clearkey/hidl/serviceLazy.cpp 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <CryptoFactory.h> #include <DrmFactory.h> #include <android-base/logging.h> #include <binder/ProcessState.h> #include <hidl/HidlLazyUtils.h> #include <hidl/HidlTransportSupport.h> using ::android::hardware::configureRpcThreadpool; using ::android::hardware::joinRpcThreadpool; using ::android::sp; using android::hardware::drm::V1_2::ICryptoFactory; using android::hardware::drm::V1_2::IDrmFactory; using android::hardware::drm::V1_2::clearkey::CryptoFactory; using android::hardware::drm::V1_2::clearkey::DrmFactory; using android::hardware::LazyServiceRegistrar; int main(int /* argc */, char** /* argv */) { sp<IDrmFactory> drmFactory = new DrmFactory; sp<ICryptoFactory> cryptoFactory = new CryptoFactory; configureRpcThreadpool(8, true /* callerWillJoin */); // Setup hwbinder service LazyServiceRegistrar serviceRegistrar; // Setup hwbinder service CHECK_EQ(serviceRegistrar.registerService(drmFactory, "clearkey"), android::NO_ERROR) << "Failed to register Clearkey Factory HAL"; CHECK_EQ(serviceRegistrar.registerService(cryptoFactory, "clearkey"), android::NO_ERROR) << "Failed to register Clearkey Crypto HAL"; joinRpcThreadpool(); }