Switch camera and minigbm gralloc to apex, same as upstream
This commit is contained in:
34
camera/external/Android.bp
vendored
Normal file
34
camera/external/Android.bp
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
// Copyright (C) 2025 KonstaKANG
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
prebuilt_etc {
|
||||
name: "android.hardware.camera.provider-V1-external-service.rc",
|
||||
src: "android.hardware.camera.provider-V1-external-service.rc",
|
||||
installable: false,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "android.hardware.camera.provider-V1-external-service.xml",
|
||||
src: "android.hardware.camera.provider-V1-external-service.xml",
|
||||
sub_dir: "vintf",
|
||||
installable: false,
|
||||
}
|
||||
|
||||
apex {
|
||||
name: "com.android.hardware.camera.external.rpi4",
|
||||
manifest: "apex_manifest.json",
|
||||
file_contexts: "apex_file_contexts",
|
||||
key: "com.android.hardware.key",
|
||||
certificate: ":com.android.hardware.certificate",
|
||||
updatable: false,
|
||||
vendor: true,
|
||||
|
||||
binaries: [
|
||||
"android.hardware.camera.provider-V1-external-service",
|
||||
],
|
||||
prebuilts: [
|
||||
"android.hardware.camera.provider-V1-external-service.rc",
|
||||
"android.hardware.camera.provider-V1-external-service.xml",
|
||||
],
|
||||
}
|
||||
8
camera/external/android.hardware.camera.provider-V1-external-service.rc
vendored
Normal file
8
camera/external/android.hardware.camera.provider-V1-external-service.rc
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
service vendor.camera.provider-ext /apex/com.android.hardware.camera.external.rpi4/bin/hw/android.hardware.camera.provider-V1-external-service
|
||||
interface aidl android.hardware.camera.provider.ICameraProvider/external/0
|
||||
class hal
|
||||
user cameraserver
|
||||
group audio camera input drmrpc usb
|
||||
ioprio rt 4
|
||||
capabilities SYS_NICE
|
||||
task_profiles CameraServiceCapacity MaxPerformance
|
||||
10
camera/external/android.hardware.camera.provider-V1-external-service.xml
vendored
Normal file
10
camera/external/android.hardware.camera.provider-V1-external-service.xml
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>ICameraProvider</name>
|
||||
<instance>external/0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
3
camera/external/apex_file_contents
vendored
Normal file
3
camera/external/apex_file_contents
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(/.*)? u:object_r:vendor_file:s0
|
||||
/etc(/.*)? u:object_r:vendor_configs_file:s0
|
||||
/bin/hw/android\.hardware\.camera\.provider-V1-external-service u:object_r:hal_camera_default_exec:s0
|
||||
4
camera/external/apex_manifest.json
vendored
Normal file
4
camera/external/apex_manifest.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "com.android.hardware.camera.external.rpi4",
|
||||
"version": 1
|
||||
}
|
||||
60
camera/external/external_camera_config.xml
vendored
Normal file
60
camera/external/external_camera_config.xml
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Android Open Source Project
|
||||
Copyright (C) 2021-2022 KonstaKANG
|
||||
|
||||
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.
|
||||
-->
|
||||
|
||||
<ExternalCamera>
|
||||
<Provider>
|
||||
<ignore> <!-- Internal video devices to be ignored by external camera HAL -->
|
||||
<id>10</id> <!-- No leading/trailing spaces -->
|
||||
<id>11</id>
|
||||
<id>12</id>
|
||||
<id>13</id>
|
||||
<id>14</id>
|
||||
<id>15</id>
|
||||
<id>16</id>
|
||||
<id>18</id>
|
||||
<id>19</id>
|
||||
<id>20</id>
|
||||
<id>21</id>
|
||||
<id>22</id>
|
||||
<id>23</id>
|
||||
<id>31</id>
|
||||
</ignore>
|
||||
</Provider>
|
||||
<!-- See ExternalCameraUtils.cpp for default values of Device configurations below -->
|
||||
<Device>
|
||||
<!-- Max JPEG buffer size in bytes-->
|
||||
<MaxJpegBufferSize bytes="3145728"/> <!-- 3MB (~= 1080p YUV420) -->
|
||||
<!-- Size of v4l2 buffer queue when streaming >= 30fps -->
|
||||
<!-- Larger value: more request can be cached pipeline (less janky) -->
|
||||
<!-- Smaller value: use less memory -->
|
||||
<NumVideoBuffers count="4"/>
|
||||
<!-- Size of v4l2 buffer queue when streaming < 30fps -->
|
||||
<NumStillBuffers count="2"/>
|
||||
|
||||
<!-- List of maximum fps for various output sizes -->
|
||||
<!-- Any image size smaller than the size listed in Limit row will report
|
||||
fps (as minimum frame duration) up to the fpsBound value. -->
|
||||
<FpsList>
|
||||
<!-- width/height must be increasing, fpsBound must be decreasing-->
|
||||
<Limit width="640" height="480" fpsBound="30.0"/>
|
||||
<Limit width="1280" height="720" fpsBound="15.0"/>
|
||||
<Limit width="1920" height="1080" fpsBound="10.0"/>
|
||||
<!-- image size larger than the last entry will not be supported-->
|
||||
</FpsList>
|
||||
</Device>
|
||||
</ExternalCamera>
|
||||
Reference in New Issue
Block a user