sailfishos-sony-tama / main

Documentation, releases, and issues
MIT License
36 stars 7 forks source link

Camera freezes on switch from video to photo #115

Closed rinigus closed 3 years ago

rinigus commented 3 years ago

After shooting a video, switch over to photo mode and camera app will freeze. In logcat

02-24 19:42:51.248  3488  6146 I CHISENSORSONY: IMX400: set gain 13.41 (analog 8.00 digital 1.68 isp 1.00 lineCount 34805)
02-24 19:42:51.263  3488  3488 I CHIUSECASE: [REQMAP ] chxadvancedcamerausecase.cpp:3286 ExecuteCaptureRequest() frame: 458  <==>  (chiFrameNum) chiOverrideFrameNum: 38
02-24 19:42:51.323  3488  6144 I CHISENSORSONY: IMX400: set gain 13.41 (analog 8.00 digital 1.68 isp 1.00 lineCount 34805)
02-24 19:42:51.344  3594  7556 W Camera2Client: notifyError: Received recoverable error 3 from HAL - ignoring, requestId 10000003
02-24 19:42:51.344  3488  6161 E CHIUSECASE: [ERROR  ] chxextensionmodule.cpp:2411 HandleProcessRequestErrorAllPCRs() Sending Request error for frame 459 
02-24 19:42:51.345  3594  3907 W Camera2Client: notifyError: Received recoverable error 4 from HAL - ignoring, requestId 10000003
02-24 19:42:51.386  3594  3907 I chatty  : uid=1013(media) HwBinder:3594_1 identical 3 lines
02-24 19:42:51.387  3594  3907 W Camera2Client: notifyError: Received recoverable error 4 from HAL - ignoring, requestId 10000003
02-24 19:42:51.394  3594  3907 W Camera2Client: notifyError: Received recoverable error 5 from HAL - ignoring, requestId 10000003
02-24 19:42:51.394  3594  3907 W Camera2Client: notifyError: Received recoverable error 4 from HAL - ignoring, requestId 10000003
02-24 19:42:51.394  3594  3907 W Camera2Client: notifyError: Received recoverable error 5 from HAL - ignoring, requestId 10000003
02-24 19:42:51.394  3594  3907 W Camera2Client: notifyError: Received recoverable error 4 from HAL - ignoring, requestId 10000003
02-24 19:42:51.394  3594  3907 W Camera2Client: notifyError: Received recoverable error 5 from HAL - ignoring, requestId 10000003
02-24 19:42:51.395  3594  3907 I chatty  : uid=1013(media) HwBinder:3594_1 identical 3 lines
02-24 19:42:51.395  3594  3907 W Camera2Client: notifyError: Received recoverable error 5 from HAL - ignoring, requestId 10000003
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram: Stream 0 dequeueBuffer latency histogram (460) samples:
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram:         5     10     15     20     25     30     35     40     45    inf (max ms)
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram:      100.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00 (%)
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram: Stream 0 latency histogram for wait on max_buffers (388) samples:
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram:        33     66     99    132    165    198    231    264    297    inf (max ms)
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram:      4.12   51.03   43.30   0.00   0.26   0.00   0.26   0.00   0.00   1.03 (%)
02-24 19:42:51.523  3594  3594 I Camera3-Device: disconnectImpl: E
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram: ProcessCaptureRequest latency histogram (460) samples:
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram:        40     80    120    160    200    240    280    320    360    inf (max ms)
02-24 19:42:51.523  3594  3594 I CameraLatencyHistogram:      99.13   0.87   0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00 (%)
02-24 19:42:51.533  4530  4530 D audio_hw_primary: out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2;
02-24 19:42:51.533  4530  4530 D audio_hw_extn: audio_extn_fm_set_parameters: Enter
02-24 19:42:51.533  4530  4530 E soundtrigger: audio_extn_sound_trigger_set_parameters: str_params NULL
02-24 19:42:51.533  4530  4530 D audio_hw_primary: out_set_parameters: enter: usecase(0: deep-buffer-playback) kvpairs: routing=2;
02-24 19:42:51.661  3488  3488 I CamX    : [ INFO][CORE   ] camxchitintlessinterface.cpp:68 TintlessAlgoDestory() Tintless Algo Destroy
02-24 19:42:51.684  3488  3488 I CamX    : [ INFO][CORE   ] camxchitintlessinterface.cpp:68 TintlessAlgoDestory() Tintless Algo Destroy
02-24 19:42:51.704  3594  3594 I CameraProviderManager: Camera device device@3.5/legacy/0 torch status is now AVAILABLE_OFF
02-24 19:42:51.704  3594  3594 I CameraService: onTorchStatusChangedLocked: Torch status changed for cameraId=0, newStatus=1
02-24 19:42:51.704  3594  3594 I CameraProviderManager: Camera device device@3.5/legacy/1 torch status is now AVAILABLE_OFF
02-24 19:42:51.704  3594  3594 I CameraService: onTorchStatusChangedLocked: Torch status changed for cameraId=1, newStatus=1
02-24 19:42:51.704  3594  3594 E CameraService: onTorchStatusChangedLocked: cannot get torch status of camera 1: No such file or directory (-2)
02-24 19:42:51.705  3594  3594 I Camera3-Device: disconnectImpl: X
02-24 19:42:51.705  3594  3594 I CameraService: disconnect: Disconnected client for camera 0 for PID 5961
02-24 19:42:51.705  3594  7729 W ServiceManager: Service media.audio_policy didn't start. Returning NULL
02-24 19:42:51.705  3594  7729 W AudioSystem: AudioPolicyService not published, waiting...
02-24 19:42:51.830  3594  3594 I Camera2Client: Camera 0: Closed
02-24 19:42:51.830  3594  3594 I Camera3-Device: disconnectImpl: E
02-24 19:42:51.830  3594  3594 I Camera2ClientBase: Closed Camera 0. Client was: droidmedia (PID 5961, UID 100000)
02-24 19:42:51.830  3594  3594 I Camera3-Device: disconnectImpl: E
02-24 19:42:51.831  3594  3594 D NuPlayerDriver: reset(0xed05c960) at state 5
02-24 19:42:51.905  3594  6166 I CameraService: CameraService::connect call (PID -1 "droidmedia", camera ID 0) for HAL version default and Camera API version 1
02-24 19:42:52.207  3594  7729 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
02-24 19:42:55.212  3594  7729 I chatty  : uid=1013(media) NuPlayerDriver identical 3 lines
02-24 19:42:56.213  3594  7729 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
02-24 19:42:57.215  3594  7729 W ServiceManager: Service media.audio_policy didn't start. Returning NULL
02-24 19:42:57.215  3594  7729 W AudioSystem: AudioPolicyService not published, waiting...
02-24 19:42:57.716  3594  7729 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
02-24 19:43:00.719  3594  7729 I chatty  : uid=1013(media) NuPlayerDriver identical 3 lines
02-24 19:43:01.721  3594  7729 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
02-24 19:43:02.722  3594  7729 W ServiceManager: Service media.audio_policy didn't start. Returning NULL
02-24 19:43:02.723  3594  7729 W AudioSystem: AudioPolicyService not published, waiting...
02-24 19:43:03.224  3594  7729 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
02-24 19:43:03.711  3641  6267 D BufferPoolAccessor: bufferpool2 0x3393592a30 : 0(0 size) total buffers - 0(0 size) used buffers - 404/405 (recycle/alloc) - 1/405 (fetch/transfer)
02-24 19:43:03.711  3641  6267 D BufferPoolAccessor: Destruction - bufferpool2 0x3393592a30 cached: 0/0M, 0/0% in use; allocs: 405, 100% recycled; transfers: 405, 100% unfetced
02-24 19:43:03.712  3641  8149 W libprocessgroup: Failed to find HighPerformancetask profile: Success
02-24 19:43:03.712  3641  8149 W libprocessgroup: Failed to find TimerSlackNormaltask profile: Success
02-24 19:43:03.717  3594  8148 W libprocessgroup: Failed to find HighPerformancetask profile: Success
02-24 19:43:03.717  3594  8148 W libprocessgroup: Failed to find TimerSlackNormaltask profile: Success
02-24 19:43:04.225  3594  7729 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...

in journal

Feb 24 21:42:48 XperiaXZ2Compact systemd[4288]: Starting Tracker metadata extractor...
Feb 24 21:42:48 XperiaXZ2Compact tracker-extract[7956]: Set scheduler policy to SCHED_IDLE
Feb 24 21:42:48 XperiaXZ2Compact tracker-extract[7956]: Setting priority nice level to 19
Feb 24 21:42:48 XperiaXZ2Compact dbus-daemon[4460]: dbus-daemon[4460]: [session uid=100000 pid=4460] Successfully activated service 'org.freedesktop.Tracker1.Miner.Extract'
Feb 24 21:42:48 XperiaXZ2Compact systemd[4288]: Started Tracker metadata extractor.
Feb 24 21:42:49 XperiaXZ2Compact lipstick[4754]: [swscaler @ 0x8b89360] deprecated pixel format used, make sure you did set range correctly
Feb 24 21:42:49 XperiaXZ2Compact lipstick[4754]: [swscaler @ 0x2a37b390] deprecated pixel format used, make sure you did set range correctly
Feb 24 21:42:49 XperiaXZ2Compact kernel: event_handler: reclaimed all bufs
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-CRM: cam_req_mgr_process_flush_req: 1904 Last request id to flush is 39
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-ISP: __cam_isp_ctx_flush_req_in_top_state: 2389 ctx id:5 Last request id to flush is 39
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/2 (manager id 7)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-CRM: cam_req_mgr_process_flush_req: 1904 Last request id to flush is 39
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-ISP: __cam_isp_ctx_flush_req_in_top_state: 2389 ctx id:5 Last request id to flush is 39
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-CRM: cam_req_mgr_process_flush_req: 1904 Last request id to flush is 39
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-ISP: __cam_isp_ctx_flush_req_in_top_state: 2389 ctx id:5 Last request id to flush is 39
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 928 CAM_STOP_DEV Success, sensor_id:0x400,sensor_slave_addr:0x20
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-CORE: cam_node_handle_ioctl: 863 Release HW done(rc = 0)
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-SENSOR: msm_cam_sensor_handle_reg_gpio: 1466 Input Parameters are not proper
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-SENSOR: cam_sensor_util_request_gpio_table: 792 No GPIO data
Feb 24 21:42:51 XperiaXZ2Compact kernel: CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 858 CAM_RELEASE_DEV Success, sensor_id:0x400,sensor_slave_addr:0x20
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/4 (manager id 9)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/2 (manager id 7)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/4 (manager id 9)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/2 (manager id 7)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/4 (manager id 9)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/2 (manager id 7)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dresif_resource_request] successfully resolved resource_request for :1.90/2 (manager id 7)
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_new] created new transaction
Feb 24 21:42:51 XperiaXZ2Compact ohmd[3065]: [dres_store_tx_commit] committed transaction
Feb 24 21:42:57 XperiaXZ2Compact lipstick[4754]: [D] onTriggered:102 - Application "Camera" with PID 5961 is not responding
Feb 24 21:42:59 XperiaXZ2Compact wpa_supplicant[3324]: wlan1: Failed to initiate sched scan
Feb 24 21:43:03 XperiaXZ2Compact lipstick[4754]: [D] onClicked:89 - User terminated the unresponsive application "Camera" with PID 5961
Feb 24 21:43:03 XperiaXZ2Compact kernel: binder: release 5961:5961 transaction 45550 out, still active
Feb 24 21:43:03 XperiaXZ2Compact kernel: binder: undelivered TRANSACTION_COMPLETE
Feb 24 21:43:03 XperiaXZ2Compact sensorfwd[3195]: [SocketHandler]: Socket error:  QLocalSocket::PeerClosedError
rinigus commented 3 years ago

Fix:

add to external/droidmedia/env.mk

MINIMEDIA_AUDIOPOLICYSERVICE_ENABLE:=1

and rebuild droidmedia and images.

As some libs are missing, add after booting

cd /system/lib
ln -s /usr/libexec/droid-hybris/system/lib/libaudiopolicyservice.so 
ln -s /usr/libexec/droid-hybris/system/lib/libaudiopolicymanager.so 
ln -s /usr/libexec/droid-hybris/system/lib/libaudiopolicymanagerdefault.so 
ln -s /usr/libexec/droid-hybris/system/lib/libaudiopolicyenginedefault.so 

now camera doesn't start with Waiting for service 'media.camera' on '/dev/binder' in syslog

To avoid that, as suggested by mal, we need to fix droidmedia further by pushing AudioPolicyService registration to the end:

diff --git a/Android.mk b/Android.mk
index 32570d6..4a22aaa 100644
--- a/Android.mk
+++ b/Android.mk
@@ -136,7 +136,8 @@ LOCAL_C_INCLUDES += frameworks/av/services/audiopolicy \
                     frameworks/av/services/audiopolicy/common/managerdefinitions/include \
                     frameworks/av/services/audiopolicy/engine/interface \
                     frameworks/av/services/audiopolicy/managerdefault \
-                    frameworks/av/services/audiopolicy/service
+                    frameworks/av/services/audiopolicy/service \
+                    frameworks/av/media/utils/include
 endif
 LOCAL_SHARED_LIBRARIES += libaudiopolicyservice
 endif
diff --git a/env.mk b/env.mk
index e69de29..13102ed 100644
--- a/env.mk
+++ b/env.mk
@@ -0,0 +1 @@
+MINIMEDIA_AUDIOPOLICYSERVICE_ENABLE:=1
diff --git a/minimedia.cpp b/minimedia.cpp
index bd3da6b..472dcdd 100644
--- a/minimedia.cpp
+++ b/minimedia.cpp
@@ -64,9 +64,9 @@ main(int, char**)
     FakeActivityManager::instantiate();
 #endif
     MediaPlayerService::instantiate();
-#ifdef AUDIOPOLICYSERVICE_ENABLE
-    AudioPolicyService::instantiate();
-#endif

 // PermissionController and AppOps are needed on Android 4, but aren't allowed to be run here.
 #if ANDROID_MAJOR >= 5
@@ -115,6 +115,10 @@ main(int, char**)
 #endif
 #endif

+#ifdef AUDIOPOLICYSERVICE_ENABLE
+    AudioPolicyService::instantiate();
+#endif
+
     ProcessState::self()->startThreadPool();
     IPCThreadState::self()->joinThreadPool();

Reference: https://github.com/sailfishos/droidmedia/pull/75

rinigus commented 3 years ago

On AOSP10, we have running:

Comparing logcat with droidmedia separately built and without audiopolicyservice

02-26 18:26:37.341  3444  6065 E /vendor/bin/hw/android.hardware.camera.provider@2.4-service_64: open() failed for /dev/cgroup_info/cgroup.rc: No such file or directory

but otherwise all is similar. Audiopolicy files are in lib64, opposed to the ones searched in lib by audiopolicymanager from droidmedia:

apollo:/ $ ls -l /system/lib64/libaudiopolicy*
-rw-r--r-- 1 root root  24128 2021-02-08 11:48 /system/lib64/libaudiopolicy.so
-rw-r--r-- 1 root root 460216 2021-02-08 11:49 /system/lib64/libaudiopolicyenginedefault.so
-rw-r--r-- 1 root root  19128 2021-02-08 11:49 /system/lib64/libaudiopolicymanager.so
-rw-r--r-- 1 root root 835920 2021-02-08 11:49 /system/lib64/libaudiopolicymanagerdefault.so
-rw-r--r-- 1 root root 242064 2021-02-08 11:49 /system/lib64/libaudiopolicyservice.so
rinigus commented 3 years ago

On SFOS, we have

rinigus commented 3 years ago

Media services running on AOSP10:

61      audio: [android.media.IAudioService]
119     media.aaudio: [IAAudioService]
163     media.audio_flinger: [android.media.IAudioFlinger]
120     media.audio_policy: [android.media.IAudioPolicyService]
28      media.camera.proxy: [android.hardware.ICameraServiceProxy]
0       media.camera: [android.hardware.ICameraService]
158     media.drm: [android.media.IMediaDrmService]
155     media.extractor: [android.media.IMediaExtractorService]
153     media.metrics: [android.media.IMediaAnalyticsService]
148     media.player: [android.media.IMediaPlayerService]
147     media.resource_manager: [android.media.IResourceManagerService]
118     media.sound_trigger_hw: [android.hardware.ISoundTriggerHwService]
30      media_projection: [android.media.projection.IMediaProjectionManager]
37      media_resource_monitor: [android.media.IMediaResourceMonitor]
36      media_router: [android.media.IMediaRouterService]
38      media_session: [android.media.session.ISessionManager]
59      midi: [android.media.midi.IMidiManager]
rinigus commented 3 years ago

When using separate miniaudiopolicyserver, some extra symlinks are needed in /system/lib64:

/apex/com.android.runtime/lib64/libicui18n.so
/apex/com.android.runtime/lib64/libicuuc.so

miniaudiopolicyserver:

#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
#include <binder/IServiceManager.h>
#include <AudioPolicyService.h>

#undef LOG_TAG
#define LOG_TAG "MinimediaServiceAPolicy"

using namespace android;

int
main(int, char**)
{
    sp<ProcessState> proc(ProcessState::self());
    sp<IServiceManager> sm = defaultServiceManager();

    AudioPolicyService::instantiate();

    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();

    return 0;
}
LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
        miniaudiopolicy.cpp \

LOCAL_SHARED_LIBRARIES := \
        libaaudioservice \
        libaudioflinger \
        libaudiopolicyservice \
        libbinder \
        libcutils \
        liblog \
        libhidlbase \
        libhidltransport \
        libhwbinder \
        libmedia \
        libmedialogservice \
        libmediautils \
        libnbaio \
        libnblog \
        libsoundtriggerservice \
        libutils \
        libvibrator

# TODO oboeservice is the old folder name for aaudioservice. It will be changed.
LOCAL_C_INCLUDES := \
        frameworks/av/services/audioflinger \
        frameworks/av/services/audiopolicy \
        frameworks/av/services/audiopolicy/common/managerdefinitions/include \
        frameworks/av/services/audiopolicy/common/include \
        frameworks/av/services/audiopolicy/engine/interface \
        frameworks/av/services/audiopolicy/service \
        frameworks/av/services/medialog \
        frameworks/av/services/oboeservice \
        frameworks/av/services/radio \
        frameworks/av/services/soundtrigger \
        frameworks/av/media/libaaudio/include \
        frameworks/av/media/libaaudio/src \
        frameworks/av/media/libaaudio/src/binding \
        frameworks/av/media/libmedia \
        $(call include-path-for, audio-utils) \
        external/sonic \

# If AUDIOSERVER_MULTILIB in device.mk is non-empty then it is used to control
# the LOCAL_MULTILIB for all audioserver exclusive libraries.
# This is relevant for 64 bit architectures where either or both
# 32 and 64 bit libraries may be built.
#
# AUDIOSERVER_MULTILIB may be set as follows:
#   32      to build 32 bit audioserver libraries and 32 bit audioserver.
#   64      to build 64 bit audioserver libraries and 64 bit audioserver.
#   both    to build both 32 bit and 64 bit libraries,
#           and use primary target architecture (32 or 64) for audioserver.
#   first   to build libraries and audioserver for the primary target architecture only.
#   <empty> to build both 32 and 64 bit libraries and primary target audioserver.

LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)

LOCAL_MODULE := miniaudiopolicyserver
rinigus commented 3 years ago

Resolved by:

This allows to use 64-bit audio policy and no extra libs are needed from /usr/libexec/droid-hybris. In addition, it has a side effect of triggering shutter sound as expected. As a result, #120 is not applicable to hybris-10 port.