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-default-service", 43 vendor: true, 44 relative_install_path: "hw", 45 46 init_rc: ["android.hardware.media.c2-default-service.rc"], 47 48 defaults: [ 49 "libcodec2-hidl-defaults", 50 "libcodec2-aidl-defaults", 51 ], 52 53 srcs: [ 54 "vendor.cpp", 55 ], 56 57 // minijail is used to protect against unexpected system calls. 58 shared_libs: [ 59 "libavservices_minijail", 60 "libbinder", 61 "libbinder_ndk", 62 ], 63 required: ["android.hardware.media.c2-default-seccomp_policy"], 64 65 // The content in manifest_media_c2_default.xml can be included 66 // directly in the main device manifest.xml file or via vintf_fragments. 67 // (Remove the line below if the entry is already in the main manifest.) 68 vintf_fragments: ["manifest_media_c2_default.xml"], 69 70 // Remove this line to enable this module. 71 enabled: false, 72} 73 74// seccomp policy file. 75// 76// This should be modified to suit the target device and architecture. 77// 78// Files in the "seccomp_policy" subdirectory are only provided as examples. 79// They may not work on some devices and/or architectures without modification. 80prebuilt_etc { 81 name: "android.hardware.media.c2-default-seccomp_policy", 82 vendor: true, 83 sub_dir: "seccomp_policy", 84 85 // If a specific architecture is targeted, multiple choices are not needed. 86 arch: { 87 arm: { 88 src: "seccomp_policy/android.hardware.media.c2-default-arm.policy", 89 }, 90 arm64: { 91 src: "seccomp_policy/android.hardware.media.c2-default-arm64.policy", 92 }, 93 riscv64: { 94 src: "seccomp_policy/android.hardware.media.c2-default-riscv64.policy", 95 }, 96 x86: { 97 src: "seccomp_policy/android.hardware.media.c2-default-x86.policy", 98 }, 99 x86_64: { 100 src: "seccomp_policy/android.hardware.media.c2-default-x86_64.policy", 101 }, 102 }, 103 104 // This may be removed. 105 required: ["crash_dump.policy"], 106} 107