summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-03Remove all files except OWNERS.HEADandroid-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-preview-2android-s-v2-preview-1android-s-v2-beta-3android-s-v2-beta-2android-s-qpr3-beta-1android-s-beta-5mastermainandroid-t-preview-1android-s-v2-preview-1android-s-v2-beta-3android-s-qpr3-beta-1android-s-beta-5Andrew Walbran
This repository will be removed from the manifest change, but Treehugger seems unable to test the manifest change, so this change first removes all files so we can test that instead. Bug: 190503456 Test: m crosvm Change-Id: I133ef3bd8b39035a68113c4da8fe4c637a40daac
2021-04-12Merge remote-tracking branch 'aosp/upstream-main' into master am: 072dce8ca5android-s-beta-4android-s-beta-3android-s-beta-4Jorge E. Moreira
Original change: https://android-review.googlesource.com/c/platform/external/adhd/+/1673705 Change-Id: I34df6886976fcb22f0bef53453a5cd0924f04f7b
2021-04-09Merge remote-tracking branch 'aosp/upstream-main' into masterandroid-s-beta-2android-s-beta-1main-cg-testing-releaseJorge E. Moreira
This merge is necessary to update crosvm to the latest version Bug: 163867676 Test: locally Change-Id: Ia0681ee12911ac60f44b04008c5a0590032733a3
2021-04-07ucm-config: Use the software volume on Mi EarphonesYu-Hsuan Hsu
If we use the hardware volume control, the device will output the loud voice just after plugged. Use the software volume instead to fix this issue. BUG=b:183909450 TEST=Verified by ODM Change-Id: I6b014a410cc4037457af15b05b4ae1f895494797 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2809828 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-04-06ucm-config: Use the software volume on HUAWEI HeadsetYu-Hsuan Hsu
If we use the hardware volume control, the device somehow output the loud voice just after plugged. Use the software volume instead to fix this issue. BUG=b:183909450 TEST=Verified by ODM Change-Id: Idc77078a11aee64186557511893676db8ffe20e0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2807221 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-04-01ucm-config: limit input and output sampling rate on Scarlett usb audio deviceJudy Hsiao
Limit both input and output sampling rate to 48000 for Scarlett usb audio devices as they do not support using different rate for input and output at the same time. BUG=b:183532291 TEST=1.Connect Scarlett usb audio device. 2.Play spotify, then join meet, and verify audio is correct. Change-Id: I21db9809e0596d1f6c2fdf105d800f7ba29df182 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2796743 Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Judy Hsiao <judyhsiao@chromium.org> Tested-by: Judy Hsiao <judyhsiao@chromium.org>
2021-03-30CRAS: Log the UI gain of input devicesYu-Hsuan Hsu
It is used for tracing the user behavior on the gain setting. When the device is closed, submit the UI gain to the UMA server. The original UI gain scaler is between 0 to 10. CRAS will multiply this value by 100 to get more precise number. BUG=b:183676276 TEST=Record audio and check the chrome://histograms Change-Id: I263943ac56c2f806a743d957b7a6fad42714360d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2784379 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-29client: Refactor of register_signal_handler.Allen Webb
Adds a missing parameter to a signal handler. BUG=None TEST=CQ passes Cq-Depend: chromium:2783043 Change-Id: I14678b9ce3a97d57420dd342d5b749be6bfe0b7f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2782855 Tested-by: Allen Webb <allenwebb@google.com> Reviewed-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Allen Webb <allenwebb@google.com>
2021-03-29sound_card_init: change config path to ↵Judy Hsiao
/etc/sound_card_init/${sound-card-init-conf}.yaml To allow using different config files for different projects, this CL: 1. Reads config file path from required command line option `--config` in sound_card_init. 2. Passes --config \ CONFIG=$(cros_config /audio/main sound-card-init-conf) from sound_card_init upstart config. BUG=b:181828415 TEST=/sbin/initctl start sound_card_init SOUND_CARD_ID=sofrt5682 Cq-Depend: chromium:2734495 Cq-Depend: chromium:2733853 Change-Id: I80abbebbc15304bf1a4990a8836d2a6035880006 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2733862 Tested-by: Judy Hsiao <judyhsiao@chromium.org> Reviewed-by: Cheng Yueh <cyueh@chromium.org> Commit-Queue: Judy Hsiao <judyhsiao@chromium.org>
2021-03-23CRAS: fmt_conv: Support quad to 5.1 channel conversionJudy Hsiao
Add the logic to convert quad output to 5.1 surround by copying the {front,rear} {left,right} of input to the {front,rear} {left,right} of output respectively and fill others with zero. BUG=b:183070810 TEST=1. `sox -n -c6 -b 16 -r 48000 /tmp/zero.raw synth 300 sine 0` 2. `sox -n -c4 -b 16 -r 48000 /tmp/sine.raw synth 30 sine 300\ sin 400 sin 500 sin 600` 3. `cras_test_client -c6 -P /tmp/zero.raw` 4. `cras_test_client -c4 -P /tmp/sine.raw` at the same time. 5. Verified that each of the 4 chanel are are output with the correct tone with a 6 channel audio device. TEST=`FEATURES=test USE=asan emerge-${BOARD} adhd` Change-Id: I12784c3ff38da1d30994d0711ce0630e009775a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2771463 Commit-Queue: Judy Hsiao <judyhsiao@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Judy Hsiao <judyhsiao@chromium.org> Auto-Submit: Judy Hsiao <judyhsiao@chromium.org> Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-17CRAS: apm_list - Adopt dev/stream gain if no tuned settings providedHsin-Yu Chao
When deploying generic APM to models without tuned settings given, we should still apply the gain configured by intrinsic sensitivity and stream gain. BUG=b:181818480 TEST=Test online voice recorder on 'barla' device. Verify the recorded volume is higher as usual. Change-Id: Ib4ddbce3dc23b9dbc8238c5969970a238c37d232 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2766563 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
2021-03-17CRAS: cras_alsa_mixer - Removing master from the commentsYu-Hsuan Hsu
Ableist language like master should be removed. However, Master is the keyword in ALSA so we can not remove them completely. Removing them from comments to reduce the number of occurrences. BUG=b:167649426 TEST=Built and run CRAS successfully. Change-Id: Ia2bee14655392991d06f7bb593892a2c1895bc8e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2764119 Reviewed-by: Dylan Reid <dgreid@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-17CRAS: Disable CFI-icall sanitize for libcras inline functionsYu-Hsuan Hsu
The CFI-icall sanitize bans the usage of function pointers. Disable this sanitize to make libcras inline functions available. BUG=b:176570789 TEST=LaCrOS built with cfi-icall plays audio successfully. Change-Id: I40184d674672a63485f0a419aba8430b5992385b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2764116 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-16add getdents64 to policiesManoj Gupta
glibc 2.32 is using getdents64 syscall instead of getdents. So add getdents64 to policies that already have getdents. BUG=chromium:1171287 TEST=CQ Change-Id: Id9336af1cdad8414a4a5c291aff6cb473262e503 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2761160 Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Reviewed-by: Hsinyu Chao <hychao@chromium.org>
2021-03-15CRAS: apm_list - Construct channel layout that works with APMHsin-Yu Chao
For input device we could have two channels PCM with the first channel unconnected. And that introduces a bug in APM use case because APM processing only uses data in the first channel. This change fixes the issue by always reconstruct a channel layout that works with APM. BUG=b:181818480 TEST=Test online voice recording on 'barla' device. Unittest to verify all other possible capture channel maps works. Change-Id: I1e6ba79d2752a7a541bfbea91dd96bf0f9d38f4d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2755524 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
2021-03-14resolve rust clippy 1.50 issuesZach Reizner
The issue was with unnecessary lifetimes and nested match statements that resolved quite cleanly in this change. BUG=b:179277332 TEST=cargo clippy with rustc 1.50+ Change-Id: Ibbac7a46e2209d8262a2bd5d205b23793e096017 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2757729 Auto-Submit: Zach Reizner <zachr@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org>
2021-03-09cras_types: Add CRAS_CLIENT_TYPE_ARCVM for arc in VMpaulhsia
Add a new client type for arc in VM for UMA and to separate it from other linux VMs. Changes: - Add CRAS_CLIENT_TYPE_ARCVM for arc in VM - Generate cras_sys from the latest codebase - Add FromStr for CRAS_CLIENT_TYPE - Expose cras_sys::Error in libcras as CrasSysError - Add PluginVM and ARCVM to metrics_client_type_str for UMA BUG=b:177393225 TEST=Apply full patch set and start audio in ARCVM with `cras_test_client --dump_a` Change-Id: I76960479431d34d9c1b311856eef8f64500bf654 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2744525 Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Commit-Queue: Chih-Yang Hsia <paulhsia@chromium.org>
2021-03-09adhd: Replace the use of master_dev to main_devYu-Hsuan Hsu
Ableist language like master should be removed. Replace the use of master_dev to main_dev. BUG=b:167649426 TEST=Built and run CRAS successfully. Change-Id: I78924e49c624540969bcac87f20bff2ce53253af Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2739023 Reviewed-by: En-Shuo Hsu <enshuo@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-09adhd: Replace the use of master_linear_gain to main_linear_gainYu-Hsuan Hsu
Ableist language like master should be removed. Replace the use of master_linear_gain to main_linear_gain. BUG=b:167649426 TEST=Built and run cras successfully. Change-Id: Ib90a0717fbbafb3cf99f9967b24e2c20beb2a2b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2739022 Reviewed-by: En-Shuo Hsu <enshuo@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-09tree-wide: seccomp: allow new 64bit time syscall variantsAdrian Ratiu
Starting with 2.32, as part of the fixes for Year 2038 bug [1], glibc will call the 64bit variants of the time syscalls. This is done even on 32bit systems which do not support the new syscalls (for eg. due to running an old kernel) where an -ENOSYS is expected before defaulting back to the normal 32bit variants. There are many y2038 commits in glibc, but for reference, the one which started the ball is the following ~2.5 years ago: d51f99ce80 ("Y2038: Add 64-bit time for all architectures") This change is a bulk edit using the following commands: grep -rl 'clock_getres: 1' | grep -E 'x86.policy|arm.policy' \ | xargs sed -i '/^clock_getres: 1/a clock_getres_time64: 1' grep -rl 'clock_gettime: 1' | grep -E 'x86.policy|arm.policy' \ | xargs sed -i '/^clock_gettime: 1/a clock_gettime64: 1' grep -rl 'clock_nanosleep: 1' | grep -E 'x86.policy|arm.policy' \ | xargs sed -i '/^clock_nanosleep: 1/a clock_nanosleep_time64: 1' [1] https://en.wikipedia.org/wiki/Year_2038_problem BUG=chromium:1171287 TEST=Local builds and booting on kevin/64/eve/minnie. Change-Id: I61e014037525b599dc0e906554b3735bbb8547ae Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2736376 Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2021-03-09adhd: seccomp: add clock_nanosleep to missed policy fileAdrian Ratiu
Commit 0e3c7b3a ("cras: seccomp: allow clock_nanosleep syscall") missed a policy file under a sound_card_init subdir, so add clock_nanosleep to it as well. BUG=chromium:1171287 TEST=Local builds and booting on kevin/64/minnie. Change-Id: Iac68e51f14c697fa9dc1e764664c40d851b08336 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2735315 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2021-03-08cras: Remove Dummy* for inclusive languageEn-Shuo Hsu
Ableist language like dummy should be removed. NoopStreamControl has been added to replace and deprecate DummyStreamControl. Remove DummyStreamControl as all existing dependencies are removed. BUG=b:167649426 TEST=./build_packages --autosetgov --board=hatch adhd audio_streams \ libcras crosvm && src/platform/dev/contrib/search_blocked_words.sh Change-Id: Ib5997b23228f31395e958ed10b5ed9f162a7112d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2739020 Commit-Queue: En-Shuo Hsu <enshuo@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: En-Shuo Hsu <enshuo@chromium.org> Auto-Submit: En-Shuo Hsu <enshuo@chromium.org> Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-08CRAS: bt_device - Log stable id of bt_deviceHsin-Yu Chao
In order to tell different BT devices in dump log, this change moves the stable_id field into bt_device and specifically created CONNECTED, DISCONNECTED events to log stable_id with. BUG=b:181831987 TEST=cras_test_client --dump_bt | grep stable_id can see clearly which device is related to the event we care in BT dump. Change-Id: If628181eda912fe9460e0d0b47824343305cc9c4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2739018 Reviewed-by: Hsinyu Chao <hychao@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
2021-03-08cras: Fix a potential overflow caught by fuzzerEn-Shuo Hsu
level = level * 100 / (num_of_level - 1); If level > INT_MAX /100 then there will be a potential overflow on signed int. There's a level >= num_of_level check before the check so we can guarantee the final value must <= 100. Thus, adding a cast before the multiply should be sufficient to solve the issue. BUG=chromium:1174635 TEST=run unit test Change-Id: I2095f2ce17a1968390757f824d8952e5e9e87d21 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2677583 Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: En-Shuo Hsu <enshuo@chromium.org> Auto-Submit: En-Shuo Hsu <enshuo@chromium.org> Commit-Queue: En-Shuo Hsu <enshuo@chromium.org>
2021-03-08cras_client: Fix compile-time strncpy errorspaulhsia
strncpy will generate errors like: error: ‘strncpy’ output may be truncated copying {31, 63} bytes from a string of length {31, 63} in compiler. `strncpy` won't help filling the terminal NULL char in the {32, 64} position, so it's better to copy with full size and truncate the string with NULL char explicitly. BUG=none TEST=make Change-Id: Iae5773649ffc55b29f8d6d1c063f0601b7117a1a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2739775 Auto-Submit: Chih-Yang Hsia <paulhsia@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-03CRAS: Align new output stream callback time to existing input streamCheng-Yi Chiang
We want to align the input stream POST and output stream FETCH schedule in order to reduce number of wake up time. Optimize for the case where an input stream is created first, then an output stream is created later. If input and output stream are both using the same block size and rate, align output stream initial callback time with input stream next_cb_ts, also use the sleep interval of input stream as the initial sleep interval of the output stream. The above actions align the output stream to the existing input stream in the beginning. To keep the alignment as much as we can, we assume the input and output devices on the same card have the same estimated rate. The estimated rate changes sleep interval. To avoid any fluctuation on the estimated rate breaks the alignemtn, we use output device estimated rate for the input device if they are both on internal sound card, and are using the same rate. The tricky part is that we need to update estimated rate in every wake up cycle in order to get the latest estimated rate and hence sleep interval from output device to input device. Note that to bring back alignment from underrun or overrun would be in the future work. BUG=b:163511204 TEST=check 480 block size input and output streams are aligned in WebRTC case. TEST=check audio.CrasPerf.playback_capture test CPU cycle count is reduced by about 33%. Change-Id: I31c000609255193b0971adcb438abc0e343ae4ad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2703368 Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
2021-03-03Merge "Revert^2 "Merge branch 'upstream-master'"" am: 0aaab56ebaTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/external/adhd/+/1613721 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Idb36f0ab322fcbeca1294ef0ab41ce064bbdaa7e
2021-03-03Merge "Revert^2 "Merge branch 'upstream-master'""Treehugger Robot
2021-03-03Remove journald directory bindingYoshiki Iguchi
Since we stopped journald and are about to remove journald, so let me stop bind the journald directory for logging. BUG=chromium:1066706 TEST=None Cq-Depend: chromium:2519644 Change-Id: I69f97b32e0f75841469fb136fd7315c04472d651 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2324263 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Commit-Queue: Yoshiki Iguchi <yoshiki@chromium.org> Tested-by: Yoshiki Iguchi <yoshiki@chromium.org>
2021-03-03Revert^2 "Merge branch 'upstream-master'"Jorge Moreira Broche
82f9901c43f5c647d7cef5fad37ec991439071a8 Change-Id: Ic261e0423897bd7cf35186431026b859aac66048
2021-03-02CRAS: check ucm manager exists before noise cancellation functionsPin-chih Lin
The variable ucm could be NULL for alsa_io if there is no UCM config for the device. We should check if it exists before usage, e.g. the noise cancellation set/check which we recently added. BUG=b:181329545 TEST=Check USB Headset play/record is worked on Caroline Change-Id: I3c46615902ca8e074a74b7bc03da36b85c035f69 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2728905 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Commit-Queue: Pin-chih Lin <johnylin@chromium.org> Tested-by: Pin-chih Lin <johnylin@chromium.org> Auto-Submit: Pin-chih Lin <johnylin@chromium.org>
2021-03-02CRAS: Add comments for system state functionsYu-Hsuan Hsu
Add comments for the system state functions in CRAS library. BUG=b:176570789 TEST=None Change-Id: Idf2f0c5eeb2153936754fc5b9573561b1436925d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2719400 Reviewed-by: Curtis Malainey <cujomalainey@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-02CRAS: Add a new function to destroy node info arraysYu-Hsuan Hsu
Add a new function to destroy node info arrays. In addition, add comments for the functions about node infos. BUG=b:176570789 TEST=Verified the audio work fine Change-Id: I8abb977b669780fa02e1d6959ac051b8354c9754 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2719399 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-03-02CRAS: dev_io: change write_streams() return code to unsigned intJudy Hsiao
1. Fix the return type and the comment of write_streams() as it does not return negative int. 2. Remove unused error check of negative return code from write_streams(). BUG=b:174213995 TEST=`FEATURES=test USE=asan emerge-${BOARD} adhd` Change-Id: I80a1888bdcb00f289c507784dcbef1f8b6bdd952 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2703971 Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Judy Hsiao <judyhsiao@chromium.org> Commit-Queue: Judy Hsiao <judyhsiao@chromium.org>
2021-03-01Reland "CRAS: Disable dbus command MaxSupportedChannels"Yu-Hsuan Hsu
This reverts commit 1e85d90675628e788b4e7950089739ade3ca1dfd. Reason for revert: It breaks the 4-channels USB audio. Original change's description: > Revert "CRAS: Disable dbus command MaxSupportedChannels" > > Fizz supports 8 channels output now. Revert the hook to re-enable > multi-channels. > > BUG=b:152282570 > TEST=Verified the audio works on Fizz. > > This reverts commit 3b74adee52cfb6706ea25244a3c656af58ab416d. > > Change-Id: Ib45f48bd1efacd16e00013856676a10db67d65fb > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2649465 > Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> > Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> > Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Bug: b:152282570, b:180609960 Change-Id: I4c658418727bd861205c51a2d48d097ae976a3f8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2719991 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-02-26cras: Reply AT+CHLD=? with empty listSonny Sasaka
Some Bluetooth speakers are known to disconnect if AT+CHLD=? is replied with "ERROR". This patch changes our behavior to reply with empty list of features and "OK" to make us interoperable with such speakers. BUG=b:172413440 TEST=Tested with Udison portable speaker, check that speaker does not disconnect right after being connected. Change-Id: I77f75fdf1e978618f53caef16f2fe0a09eb1d115 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2682986 Tested-by: Sonny Sasaka <sonnysasaka@chromium.org> Reviewed-by: Hsinyu Chao <hychao@chromium.org> Commit-Queue: Sonny Sasaka <sonnysasaka@chromium.org>
2021-02-25CRAS: Enable/Disable Noise Cancellation by UCM ModifierPin-chih Lin
Noise Cancellation (NC) is the component to be utilized in input pipelines of Audio DSP. The on/off sequence would be defined as UCM SectionModifier according to models. In CRAS, we use a system state flag to store the on/off state of NC, which can be toggled by dbus_control. Per open of an alsa input device, if it supports NC, sets NC enable/disable according to the system state flag by UCM Modifier. Per toggle of NC on/off via dbus_control, CRAS should check if there is opened input device and NC-supported, performs suspend and resume to re-open that device for setting NC enable/disable. BUG=b:170281884 TEST=Manual test Change-Id: I7fcc5f376a2c886e2ac465148dc12c1a65bc148c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2649865 Tested-by: Pin-chih Lin <johnylin@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Pin-chih Lin <johnylin@chromium.org> Auto-Submit: Pin-chih Lin <johnylin@chromium.org>
2021-02-24cras: seccomp: allow clock_nanosleep syscallAdrian Ratiu
During runtime testing the glibc 2.32 upgrade it has been observed that cras requires the clock_nanosleep syscall which replaced nanosleep in newer glibc implementations. Old nanosleep is kept for compatibility with glibc 2.27. BUG=chromium:1171287 TEST=Local builds and booting on kevin/64/minnie. Change-Id: I79a476c34eeb2cfa4ff4fdfecbd0b75451708a8b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2713106 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2021-02-23CRAS: Add a flag to pause hotword detection at system suspendBen Zhang
This patch adds a server state flag to optionally pause hotword detection at system suspend. Default value of the flag can be specified in board.ini BUG=b:178128172 TEST=Set the flag in board.ini on Delbin and verify if hotword can wake up the device from suspend. Repeated suspend/resume on Delbin with the flag set to 1 Change-Id: I6820c92dd418f51108b374ff186a2b82da031399 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2652049 Tested-by: Ben Zhang <benzh@chromium.org> Commit-Queue: Ben Zhang <benzh@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
2021-02-22CRAS: Library ABI for server stateYu-Hsuan Hsu
Make the server state query support version skew. BUG=b:176570789 TEST=Verified the audio work fine Change-Id: I5cbdf9ac6d75932174e0d37757f02e040e3eef4d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2646765 Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
2021-02-22CRAS: Library ABI for node infosYu-Hsuan Hsu
Make nodes query support version skew. BUG=b:176570789 TEST=Verified the audio work fine Change-Id: Ie1d7595e80c0dfd15e8cbaaca4bdc2a723c25f9a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2644402 Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
2021-02-22Merge "Revert "Merge branch 'upstream-master'"" am: 340c0ad3a4Florian Mayer
Original change: https://android-review.googlesource.com/c/platform/external/adhd/+/1598216 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I12c7a288713fcd0aa0ab3df0879a8fa0782ed4d7
2021-02-22Merge "Revert "Merge branch 'upstream-master'""Florian Mayer
2021-02-22Revert "Merge branch 'upstream-master'"Florian Mayer
Revert submission 1579283-jemoreira-crosvm-update Reason for revert: Broke build. Reverted Changes: I7cf3fe07f:Merge remote-tracking branch 'aosp/upstream-main' Icb5f26241:Update Android.bp files I25af576b6:Merge branch 'upstream-master' Change-Id: I3dbab90871618dcbaf4404ba0d66c73a64c446f7
2021-02-20Mark ab/7061308 as merged in stage.Xin Li
Bug: 180401296 Merged-In: I80b003c38acbd23c329e8fb3f0048e658c2405d7 Change-Id: I7f3925ead0066a7d69ae8dface90320e76110c79
2021-02-20Merge "Merge branch 'upstream-master'" am: a363450d3eTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/external/adhd/+/1582163 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I73e6e0eee62984c6f87d0f442a2269908846f1e5
2021-02-19Merge "Merge branch 'upstream-master'"Treehugger Robot
2021-02-19CRAS: device_monitor - Close erroneous device in main threadHsin-Yu Chao
If an output device hit I/O error in audio thread, there was no explicit code path to close it. So if application keeps the audio output stream alive, the output device would keep the same buffer playing forever. This change adds below handling logic: When EIO is received, check if it's within 10 seconds from the last EIO error. If not, then reset this device(close and reopen). Otherwise treat this as a non-stop error and close this device to avoid audio looping. BUG=b:170100252 TEST=Use code to fake EIO error after 5 seconds of playback, verify the device receives a reset, and 5 more seconds later it gets closed gracefully. Change-Id: I5e491ea6c23e550012cd65c9b4d51281b7047972 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2681863 Reviewed-by: Curtis Malainey <cujomalainey@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
2021-02-19CRAS: stream_list - loosen the criteria of RTC stream detectionYu-Hsuan Hsu
Some services like https://appr.tc/?debug=loopback may create output streams more than 1 second later than create the input stream. Increate the threshold to 10s so that we should be able to catch all RTC streams. BUG=b:177185438 TEST=Verified the RTC streams can be detected correctly. Change-Id: If25d3bf4ce2550226bb4cc6eb3ef1d94ac0c1be7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2703227 Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
2021-02-18system: process all alerts before returningCurtis Malainey
Sometimes we can get suspended before we finish closing all our devices. BUG=b:178128172 TEST=suspend and check order of suspend calls relative to dbus Change-Id: I617598c241156d71dbdeecec4962ce8d9034a673 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2671139 Commit-Queue: Ben Zhang <benzh@chromium.org> Tested-by: Curtis Malainey <cujomalainey@chromium.org> Auto-Submit: Curtis Malainey <cujomalainey@chromium.org> Reviewed-by: Ben Zhang <benzh@chromium.org>