History log of /external/autotest/client/cros/chameleon/audio_widget.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
08b3a72495fd73b6ac399b2de7d40fde5bece724 24-Nov-2015 Cheng-Yi Chiang <cychiang@chromium.org> [autotest] audio_widget: Record wav file along with raw file

Record a copy of raw file using wav format so it will be easier to
debug.

BUG=chromium:560644
TSET=run audio_AudioBasicHeadphone and check the recorded wav file.

Change-Id: I195e1980e4641b9aaa3834fa6c07f2d708fa6a15
Reviewed-on: https://chromium-review.googlesource.com/313895
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
8bb71497c37767a62c6b34c1aacf1069fb6f650c 11-Nov-2015 Nicolas Boichat <drinkcat@google.com> Chameleon: Refactor JackPlugger as a handler

Clean up the plugger code to make it easier to extend:
- Get rid of DummyAudioJackPlugger: AudioBoard either reports a
motor plugger, or nothing
- Add JackPluggerPlugHandler to handler the motor plugger
- Remove jack_plugger parameter from AudioBusLink, instead relying
on Handlers.

BUG=chromium:554447
TEST=Run audio_AudioBasicHeadphone on a board with a motor plugger

Change-Id: Id7a74d066009bd804d84f42c8789b09fff3c7575
Reviewed-on: https://chromium-review.googlesource.com/312161
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
8680de77645de57acf5a6b5318e9e90fde9fc3b8 22-Sep-2015 Cheng-Yi Chiang <cychiang@chromium.org> [autotest] audio_widget: Lower the default scale of MIC

Previously, in the CL
b8f9f6 [autotest] Use louder test file to fix internal speaker test
we use a louder file on internal speaker testing so device
with smaller speaker volume can have their audio recorded clear enough.
However, this breaks the internal speaker test on device with louder
speaker volume because the recorded raw data will be scaled by MIC's
default gain, and that default scale (300.0) is too large such that
the scaled data overflows.
We should lower the default scale of MIC because the purpose of that
scale is just used to avoid the data being too low to be misjudged as
not meaningful when doing comparison.

BUG=chromium:534692
TEST=run audio_AudioBasicInternalSpeaker test on nyan_big(small volume)
and link(large volume), and squawks.
Change-Id: Iadad1cec991bb20e00012c5836ad4bbaf4a15a2c
Reviewed-on: https://chromium-review.googlesource.com/301490
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
d63256fb9a5744152eb3ded05a83375f6860b217 04-Sep-2015 Selina Liu <hsuying@google.com> audio_widget: Refactor, subclass and add field to store playback file data format

Refactor with method _scale_and_send_playback_data so that subclasses
like ChameleonLineOutOutputWidgetHandler can use. Add a field to store
playback file data format to ChameleonOutputWidgetHandler.

BUG=chromium:514541
TEST=not used yet.

Change-Id: I888a4ee2277f0324f46535b6d52f533085aeb36e
Reviewed-on: https://chromium-review.googlesource.com/297694
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
f5a2383ef2feb0b00d481725085b31da01beaab7 04-Sep-2015 Selina Liu <hsuying@google.com> audio_widget: Subclass CrosInputWidgetHandler for USB

Added a new subclass CrosUSBInputWidgetHandler.

BUG=chromium:514541
TEST=not used yet.

Change-Id: Idc9f6f77b2a3f95b4227aa8894501f4bd2804366
Reviewed-on: https://chromium-review.googlesource.com/297693
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
8a9d3f853149a46767d8a6b6131f19789103f088 01-Sep-2015 Selina Liu <hsuying@google.com> audio_widget: Subclass PlugHandler to implement USBPlugHandler

USBPlugHandler takes in a USBFacadeRemoteAdapter object which provides
access to USB-specific functionality on the Cros device side. Its main
purpose is to control the connection of USB driver on the Cros
device.

BUG=chromium:514541
TEST=not used yet.

Change-Id: I652d3d334ae2edc84584d82c78f3e59a33f021b8
Reviewed-on: https://chromium-review.googlesource.com/296245
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
829542e9f7efb451c3550e7c49eb00450951f6de 01-Sep-2015 Selina Liu <hsuying@google.com> audio_widget: Add PlugHandler as an attribute to CrosWidgetHandler

Plug and Unplug actions of a CrosWidgetHandler object are now exclusively
handled by a dedicated PlugHandler object, which is fed to the
constructor of CrosWidgetHandler (and instances of its subclasses).

BUG=chromium:514541
TEST=not used yet.

Change-Id: Ib27564fe9de8d0544c3103140cd5268f3c13d197
Reviewed-on: https://chromium-review.googlesource.com/296246
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
19370f58a3cee30cac237be7b95ebb8ec0e6641c 02-Sep-2015 Selina Liu <hsuying@google.com> audio_widget: Subclass PlugHandler to implement DummyPlugHandler

BUG=chromium:514541
TEST=not used yet.

Change-Id: If2392858b85bea33455669283509f4cf2f0e633a
Reviewed-on: https://chromium-review.googlesource.com/296880
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
348aa14f94ee5c511e201cb51ed0e8ea1bfde0ab 01-Sep-2015 Selina Liu <hsuying@google.com> audio_widget: Add PlugHandler class to be used by CrosWidgetHandler

BUG=chromium:514541
TEST=not used yet.

Change-Id: Ifbabf97e4a42a8c2a8c0ae2f2f6664b92d6b8be1
Reviewed-on: https://chromium-review.googlesource.com/296244
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
0669885c512b300cbd9337c935977b1862989e45 30-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Add PeripheralWidget and use it for peripheral widget

Peripheral widgets should use PeripheralWidget class. The main usage of
this class is to identify the link type and do the real work on the
link.

BUG=chromium:476860
TEST=not used yet

Change-Id: I145e87556ff31e6598d3a32980613e125ef1e3d1
Reviewed-on: https://chromium-review.googlesource.com/274337
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
668543d6384e32dd9021910f79ded6d6f6baaf5d 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor stop_recording in AudioInputWidget

Use new stop_recording and get_recorded_binary API provided by
ChameleonInputWidgetHandler and CrosInputWidgetHandler.

BUG=chromium:491058
TEST=not used yet
Change-Id: I0983424c8255fb0010c37b4bb6a1caeba4e0acec
Reviewed-on: https://chromium-review.googlesource.com/273144
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
3a1a52e0911fa5f27af3d1161151c0cc246ea1ef 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor start_playback in AudioOutputWidget

User new set_playback_data and start_playback API provided by
ChameleonOutputWidgetHandler and CrosOutputWidgetHandler.

BUG=chromium:491058
TEST=not used yet

Change-Id: I78a4fb05a017defe3002bdce224d9c36fdc2f170
Reviewed-on: https://chromium-review.googlesource.com/273143
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
fd019b9f479e9d33e1ddbc1743cb506bbc1682b7 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor stop_recording in CrosInputWidgetHandler

Refactor stop_recording in CrosInputWidgetHandler so user calls
stop_recording to stop recording on Cros device right away. User then
calls get_recorded_binary to actuall get the recorded binary data.

BUG=chromium:491058
TEST=not used yet

Change-Id: I94a7e5816e6fa41aa23f6d23daffcf00bfc6bc23
Reviewed-on: https://chromium-review.googlesource.com/273142
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
f8a33a74fcb083a5fc03cf454bf8a4715897cee6 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor start_playback in CrosOutputWidgetHandler

Refactor CrosOutputWidgetHandler so it provides set_playback_data to set
the file to play, and start_playback to actually play the file on Cros
device.

BUG=chromium:491058
TEST=not used yet

Change-Id: I6eebeeb4d619e3994789385095516073d419a010
Reviewed-on: https://chromium-review.googlesource.com/273141
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
b2f7b7dd0b6df2f88bcb8a333793cdc2e9b33cb7 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor ChameleonAudioInput and widget handler

Refactor ChameleonAudioInput to use new StopCapturingAudio API provided
by chameleond.
Refactor stop_recording method in ChameleonInputWidgetHandler so user
can call stop_recording method to stops recording, and this call does
not block for a while. User then calls get_recorded_binary to actually
retrieves the recorded data when user finishes time-sensitivite
sequences.

BUG=chromium:491058
TEST=not used yet

Change-Id: If4301c555e7736427513d75f1897bde711cf7759
Reviewed-on: https://chromium-review.googlesource.com/273125
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
24a9b64a364a434167ceff8544bf188aa0c897e0 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor ChameleonAudioOutput and widget handler

Refactor ChameleonAudioOutput to use new StartPlayingAudio API provided
by chameleond.
Refactor start_playback in ChameleonOutputWidgetHandler so user can
call set_playback_data to send the data to be played to Chameleon. This
step is time-consuming and should be called before time-sensitive
sequence happens. Then user calls start_playback to actually play the
data, which should return right away so user can keep doing other
actions.

BUG=chromium:491508
TEST=not used yet

Change-Id: I67a5a9ed535b1f1a563152f8b38f46fe3046b734
Reviewed-on: https://chromium-review.googlesource.com/273124
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
fa134b8ffe706fcaf7ebb4f3caa3e4d1db8a14f0 05-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Set default scale for Chameleon Mic port

We need to set a scale on Chameleon Mic port because the gain on
Chameleon is small. The recorded audio data is clear but the value is
small. This cause processing in audio_helper falsely judges the recorded
audio data as meaningless. Scale the recorded data up to avoid this
problem.

BUG=chromium:463813
TEST=run audio_AudioBasicInternalSpeaker test on Squawks.

Change-Id: I3cfda9ee2bf52a4b4e90143173e535d746426f2e
Reviewed-on: https://chromium-review.googlesource.com/269253
Reviewed-by: Tom Tam <waihong@google.com>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
33d0a6dcd6f0cb16feb5fce7e4bb1a76d03c84fd 04-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Add Chameleon MIC port and set channel map for simple case

Add Chameleon MIC port which will be connected to a one-channel
microphone directly.
For simple sink type like internal microphone on Cros device, or Mic port on
Chameleon, the audio signal is over the air. We do not use link to
combine the source to the sink. We just set a default channel map to
them.

BUG=chromium:463813
TEST=not used yet
Change-Id: Ia3def1919a045c1e391268975e39dda8ef3a85b2
Reviewed-on: https://chromium-review.googlesource.com/269008
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Tom Tam <waihong@google.com>
/external/autotest/client/cros/chameleon/audio_widget.py
da1755c176fd197dc773f957400a7ba9048696d3 26-Mar-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Implement scaling in stop_recording of ChameleonInputWidgetHandler

When Chameleon records audio using LineIn from a mic level source, e.g.
peripheral microphone, we need to implement scaling to raise the signal
level to line level.

BUG=chromium:463813
TEST=not used yet
Change-Id: Ie0bbcc71e156888f609e606ce2da86a8098150af
Reviewed-on: https://chromium-review.googlesource.com/262547
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
2ac8d9a0356c4f38391eaea01239ff1e7bd035d2 12-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: audio: Remove artifacts on AudioInputWidget

Let AudioInputWidget support remove_head and lowpass_filter method.
The artifact of codec initialization in the beginning of recording
can be removed by remove_head.
The noise can be removed by lowpass_filter.

BUG=chromium:436768
TEST=not used yet.

Change-Id: I849f2af8216625f7e09f2f307f545b9081f99886
Reviewed-on: https://chromium-review.googlesource.com/240214
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
7c9aa4233621a8845899dc254b7ebbeaa69bfe5d 12-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: audio: Implement recording methods of CrosInputWidgetHandler

Implement start_recording and stop_recording methods of
CrosInputWidgetHandler.
Also, add AudioBusToCrosLink to abstract the link from audio bus to
Cros device.

BUG=chromium:437678
TEST=not used yet.

Change-Id: I73a53229e4e814bcf1aabc75fba6acc6303c2950
Reviewed-on: https://chromium-review.googlesource.com/240212
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
3ade5b39eba9b309459002004ef95a3a647e7780 12-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: audio: Implement playback methods for ChameleonOutputWidgetHandler

Implement start_playback and stop_playback for
ChameleonOutputWidgetHandler.

BUG=chromium:437678
TEST=run audio_AudioBasicHDMI test and audio_AudioBasicHeadphone test.
Change-Id: Iaf44c21ee894d1f63758796f33ef029d6b0c0be3
Reviewed-on: https://chromium-review.googlesource.com/240210
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
d3fad2c8a0ba1508f5fc3efb90592687ec219d5c 12-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: audio: Implement _find_port in ChameleonOutputWidgetHandler

Add ChameleonAudioOutput and ChameleonAudioOutputFinder so
ChameleonOutputWidgetHandler can find the audio output port on Chameleon.

BUG=chromium:437678
TEST=not used yet

Change-Id: I1a8ee40c1ea74025b216ced046fbec87e201b38c
Reviewed-on: https://chromium-review.googlesource.com/240109
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
bb75bfce1dac3162cfbfd0966dd1de1e1809bb05 12-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: audio: Add level control logic

Add a module audio_level to handle signal level difference
on different ports. Currently, there are 'Mic level',
'Line level', and 'Digital'.

1. Define _AudioLevel on ports of Cros, Peripheral, Chameleon.
2. Define AudioScale factor to balance different levels.
3. Provide a LevelController class to balance level when ports of
different levels are connected by widget link.

BUG=chromium:437678
TEST=not used yet.

Change-Id: Ia8c275f01fc9a760d5519564bfabf199e9c26c0f
Reviewed-on: https://chromium-review.googlesource.com/240108
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
73c6e1e9d092f8a03a896cb08340af12575ee4b0 18-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> audio: Simplify the path in AudioTestData and playback API

Now AudioTestData only maintains one path.
Also simplify the API provided by multimedia server to play an audio
file.
To play an audio file, the multimedia client will do
1. Send file to multimedia server using CrosHost send_file method.
2. Send data path and format to multimedia server so server knows what
and how to play.

BUG=chromium:437678
TEST=run audio_AudioBasicHeadphone and
audio_AudioBasicExternalMicrophone test

Change-Id: I1eb8bbf701b09eb0b534ff3b311cad55f88a710d
Reviewed-on: https://chromium-review.googlesource.com/241404
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
17a2527ea44ed461cec2cf62577079f59e00a9b3 28-Nov-2014 Cheng-Yi Chiang <cychiang@chromium.org> autotest: Add audiovideo_AudioBasicHeadphone test

Adds a basic headphone test using Chameleon test framework.
This test uses fixed frequency sine wave as test data and compares
the frequency difference between recorded data and golden data.
Lets playback method to be non-blocking so in the test we can start
playback then start recording.
The audio cable connecting Cros device headphone to Chameleon Line-In
must be plugged in before the test starts.
This patch also changes how channel map setting is implemented since
different links have different channel maps.

BUG=chromium:437678
TEST=test_that --args "chameleon_host=$CHAMELEON_IP" $DUT_IP
audiovideo_AudioBasicHeadphone
TEST=test_that --args "chameleon_host=$CHAMELEON_IP" $DUT_IP
audiovideo_AudioBasicHDMI

Change-Id: Iff95799c8badc9ec292d7bbb235f88c5e0ffbc2d
Reviewed-on: https://chromium-review.googlesource.com/232258
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py
7754cef07097ae2efd6fa835433caa39f27f979a 21-Nov-2014 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: Add Chameleon audio test framework

Moves audio utilities out of ChameleonTest into chameleon_audio_helper
module.

Now audio utilities on Chameleon and DUT are abstracted by widgets.
Audio widgets and binders are created by AudioWidgetFactory.
In autotest, we can create widget, connect/disconnect widgets using
binder, and do playback/record actions on widgets.

Refactors audiovideo_AudioBasicHDMI test to be a simple test.test.
Now the test uses widgets to control the test sequence.

BUG=chromium:429862
TEST=test_that --args "chameleon_host=$CHAMELEON_IP" $DUT_IP
audiovideo_AudioBasicHDMI

Change-Id: I1bfed3d9e93a772d5c3eeec7f5e07486c8f81b49
Reviewed-on: https://chromium-review.googlesource.com/231591
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/audio_widget.py