1/* 2 * Copyright 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17// This is an example of an empty Codec2.0 service. 18// 19// To use this, make a copy of this whole directory and rename modules 20// accordingly. The contents of "vendor.cpp" and files in the subdirectory 21// "seccomp_policy" may also need to be modified. 22 23// Binary file for the service. 24// 25// The init_rc file contains the absolute path to this binary on the device. 26// If the name of this module is modified, the content of the init_rc file has 27// to be modified accordingly. 28// 29// The seccomp_policy file name and its content can be modified, but note that 30// vendor.cpp also needs to be updated because it needs the absolute path to the 31// seccomp policy file on the device. 32package { 33 // See: http://go/android-license-faq 34 // A large-scale-change added 'default_applicable_licenses' to import 35 // all of the 'license_kinds' from "frameworks_av_license" 36 // to get the below license kinds: 37 // SPDX-license-identifier-Apache-2.0 38 default_applicable_licenses: ["frameworks_av_license"], 39} 40 41cc_binary { 42 name: "android.hardware.media.c2@1.2-default-service", 43 vendor: true, 44 relative_install_path: "hw", 45 46 init_rc: ["android.hardware.media.c2@1.2-default-service.rc"], 47 48 defaults: ["libcodec2-hidl-defaults"], 49 srcs: [ 50 "vendor.cpp", 51 ], 52 53 // minijail is used to protect against unexpected system calls. 54 shared_libs: [ 55 "libavservices_minijail_vendor", 56 "libbinder", 57 ], 58 required: ["android.hardware.media.c2@1.2-default-seccomp_policy"], 59 60 // The content in manifest_media_c2_V1_1_default.xml can be included 61 // directly in the main device manifest.xml file or via vintf_fragments. 62 // (Remove the line below if the entry is already in the main manifest.) 63 vintf_fragments: ["manifest_media_c2_V1_1_default.xml"], 64 65 // Remove this line to enable this module. 66 enabled: false, 67} 68 69// seccomp policy file. 70// 71// This should be modified to suit the target device and architecture. 72// 73// Files in the "seccomp_policy" subdirectory are only provided as examples. 74// They may not work on some devices and/or architectures without modification. 75prebuilt_etc { 76 name: "android.hardware.media.c2@1.2-default-seccomp_policy", 77 vendor: true, 78 sub_dir: "seccomp_policy", 79 80 // If a specific architecture is targeted, multiple choices are not needed. 81 arch: { 82 arm: { 83 src: "seccomp_policy/android.hardware.media.c2@1.2-default-arm.policy", 84 }, 85 arm64: { 86 src: "seccomp_policy/android.hardware.media.c2@1.2-default-arm64.policy", 87 }, 88 x86: { 89 src: "seccomp_policy/android.hardware.media.c2@1.2-default-x86.policy", 90 }, 91 x86_64: { 92 src: "seccomp_policy/android.hardware.media.c2@1.2-default-x86_64.policy", 93 }, 94 }, 95 96 // This may be removed. 97 required: ["crash_dump.policy"], 98} 99