Compare commits

...

3 commits

Author SHA1 Message Date
Mingming Yin
22008c51e8 audiopolicy: Disable sonification on WFD sink
* Aligned with CAF as of QSSI12, and removed unnecessary
   devices.isEmpty() check.

Original patch:
https://source.codeaurora.org/quic/la/platform/frameworks/av/commit/services/audiopolicy?h=LA.BR64.1.1.1-01010-8x16.0&id=9cc970fc512bedfa6a2cf03457d93609adc6eb85

Change-Id: I9bad6a294ddd7aee72f6f6a314666b892b730c8e
2024-09-07 21:36:31 +00:00
Jiajia Cong
c5c8a4a993 codec2: add smoothfactor when checking n-th work
pipeline watcher's queued work counter included smoothfactor, if we
don't add it in elapsed(), it is easy to cause CCodec queue call timeout

CRs-Fixed: 2984012
Test: Verified on OnePlus 9 that YouTube video does
      not unpause itself.
Change-Id: Ia2dbf3a7cf0da4805398cf44780ad3dacbaf1a1b
2024-09-07 21:36:28 +00:00
Luca Weiss
b780158cc9 Add group audio to vendor.media.omx service
Resolves Qualcomm libs trying to access e.g. /dev/msm_alac and failing.

Referred from: https://source.codeaurora.org/quic/la/platform/frameworks/av/commit?id=150662d

Test: run vts -m VtsHalMediaOmxV1_0TargetAudioDecTest
Change-Id: I28dcc07c00f41ab542b24725d767227854f1b7c9
2024-09-07 21:36:26 +00:00
3 changed files with 7 additions and 2 deletions

View file

@ -2720,7 +2720,7 @@ PipelineWatcher::Clock::duration CCodecBufferChannel::elapsed() {
size_t outputDelay = mOutput.lock()->outputDelay; size_t outputDelay = mOutput.lock()->outputDelay;
{ {
Mutexed<Input>::Locked input(mInput); Mutexed<Input>::Locked input(mInput);
n = input->inputDelay + input->pipelineDelay + outputDelay; n = input->inputDelay + input->pipelineDelay + outputDelay + kSmoothnessFactor;
} }
return mPipelineWatcher.lock()->elapsed(PipelineWatcher::Clock::now(), n); return mPipelineWatcher.lock()->elapsed(PipelineWatcher::Clock::now(), n);
} }

View file

@ -481,6 +481,11 @@ DeviceVector Engine::getDevicesForStrategyInt(legacy_strategy strategy,
AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET); AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET);
} }
if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) {
// no sonification on WFD sink
devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_PROXY);
}
if (devices2.isEmpty()) { if (devices2.isEmpty()) {
devices2 = availableOutputDevices.getFirstDevicesFromTypes({ devices2 = availableOutputDevices.getFirstDevicesFromTypes({
AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET, AUDIO_DEVICE_OUT_SPEAKER}); AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET, AUDIO_DEVICE_OUT_SPEAKER});

View file

@ -1,6 +1,6 @@
service vendor.media.omx /vendor/bin/hw/android.hardware.media.omx@1.0-service service vendor.media.omx /vendor/bin/hw/android.hardware.media.omx@1.0-service
class main class main
user mediacodec user mediacodec
group camera drmrpc mediadrm group camera drmrpc mediadrm audio
ioprio rt 4 ioprio rt 4
task_profiles ProcessCapacityHigh task_profiles ProcessCapacityHigh