New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 601346 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 519942



Sign in to add a comment

Add a test binary for alsa API

Project Member Reported by cychiang@chromium.org, Apr 7 2016

Issue description

As discovered in issue crosbug.com/p/51882, there are some boards that do not implement snd_pcm_drop properly so the new play/stop change in CRAS can not be applied

We need a test binary that exercise these APIs:

snd_pcm_start
snd_pcm_mmap_begin
snd_pcm_mmap_commit
snd_pcm_drop
snd_pcm_prepare
snd_pcm_avail
snd_pcm_start
snd_pcm_avail  --> need to check avail is a reasonable value.

Then we can use this test binary to make sure the snd_pcm_drop and other API's are implemented properly.
 
Blocking: 519942
I will add this in audiotest repo.
We have a alsa_client library there so we can reuse most of the code.
Project Member

Comment 3 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/audiotest/+/16c4c1985f76853127abd7a5d82918cb509f9e11

commit 16c4c1985f76853127abd7a5d82918cb509f9e11
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Tue May 03 04:28:42 2016

alsa_api_test: Add the option to test filling mmap buffer

Test the API to fill whole buffer with zeros. The sequence is:
1. Use snd_pcm_mmap_begin to get the mmap buffer.
2. Fill the mmap buffer with zeros using memset.
3. Do not call snd_pcm_mmap_commit.
4. Let device play for some periods.
5. Use snd_pcm_mmap_begin to get the mmap buffer.
6. Check mmap buffer contains all zeros.

BUG= chromium:601346 
TEST=run `alsa_api_test --device hw:1,0 --fill` on samus.

Change-Id: Iea92341f0fe3d1094ea4311198b768bbaaf7cdbf
Reviewed-on: https://chromium-review.googlesource.com/341842
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>

[modify] https://crrev.com/16c4c1985f76853127abd7a5d82918cb509f9e11/alsa_api_test.c

Project Member

Comment 4 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/audiotest/+/b8755a373a7ad66f7da8c6945d4070c0ca477b2f

commit b8755a373a7ad66f7da8c6945d4070c0ca477b2f
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Wed Apr 13 02:17:56 2016

alsa_api_test: Add a test binary for ALSA API

Test snd_pcm_drop and snd_pcm_forward behavior.
These two calls are needed for new CRAS scheduling.
The implementation may be different on different boards.
This binary can help developers to check the behavior of ALSA API.

BUG= chromium:601346 
TEST=On samus, run `alsa_api_test --device hw:1,0 --drop`, will fail.
TEST=On samus, run `alsa_api_test --device hw:1,0 --move`, will pass.

Change-Id: Id808d4fe69eabed52a5c42c4a6d8e1098965c5cb
Reviewed-on: https://chromium-review.googlesource.com/340896
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/b8755a373a7ad66f7da8c6945d4070c0ca477b2f/Makefile
[add] https://crrev.com/b8755a373a7ad66f7da8c6945d4070c0ca477b2f/alsa_api_test.c

Project Member

Comment 5 by bugdroid1@chromium.org, May 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/dc8940565edfc9806c98d1777c708c7d53b24d2e

commit dc8940565edfc9806c98d1777c708c7d53b24d2e
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Wed Apr 27 07:37:31 2016

audiotest: Install alsa_api_test

There is a new binary alsa_api_test to be installed.

BUG= chromium:601346 
TEST=emerge-samus audiotest; cros deploy <IP> audiotest. Check
alsa_api_test binary is installed.

Change-Id: Ieffa16381b98b7813ea9bb2c6740ed249478025e
Reviewed-on: https://chromium-review.googlesource.com/340904
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/dc8940565edfc9806c98d1777c708c7d53b24d2e/chromeos-base/audiotest/audiotest-9999.ebuild

Project Member

Comment 6 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/bfa8c765d1467c235f6d8e34c9005aec0b4f6fc8

commit bfa8c765d1467c235f6d8e34c9005aec0b4f6fc8
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Mon May 09 07:17:47 2016

[autotest] audio_AlsaAPI: Add the test for ALSA API

Wraps alsa_api_test binary to test ALSA API including these:
- drop: Test snd_pcm_drop can drop playback and reset hw_ptr. It fails
  on some boards where drop is implemented as pause.
- fill: Test filling buffer get from snd_pcm_mmap_begin.
- move: Test snd_pcm_forward can move appl_ptr to the front of hw_ptr.

BUG= chromium:601346 
TEST=run audio_AlsaAPI test on samus. Fill and move pass while drop
fails.

Change-Id: I8345fdf7d20203ca8b14e5498707cb5328aebc1a
Reviewed-on: https://chromium-review.googlesource.com/343402
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Hsinyu Chao <hychao@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>

[add] https://crrev.com/bfa8c765d1467c235f6d8e34c9005aec0b4f6fc8/client/site_tests/audio_AlsaAPI/control.move
[add] https://crrev.com/bfa8c765d1467c235f6d8e34c9005aec0b4f6fc8/client/site_tests/audio_AlsaAPI/control.fill
[add] https://crrev.com/bfa8c765d1467c235f6d8e34c9005aec0b4f6fc8/client/site_tests/audio_AlsaAPI/audio_AlsaAPI.py
[add] https://crrev.com/bfa8c765d1467c235f6d8e34c9005aec0b4f6fc8/client/site_tests/audio_AlsaAPI/control.drop

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6a78cf7a7404b35631a8c028dee00f4a31c38dcc

commit 6a78cf7a7404b35631a8c028dee00f4a31c38dcc
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Tue May 31 08:38:05 2016

autotest-test-audio: Add audio_AlsaAPI test

Add the test to ebuild so we can start running it on all boards.

BUG= chromium:601346 
TEST=None

Change-Id: I9a1ac596ae62fc12ee51c972aa59e0832c1a2e65
Reviewed-on: https://chromium-review.googlesource.com/348116
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/6a78cf7a7404b35631a8c028dee00f4a31c38dcc/chromeos-base/autotest-tests-audio/autotest-tests-audio-9999.ebuild

Status: Verified (was: Assigned)

Sign in to add a comment