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

Issue 843490 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 845951
Owner: ----
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 2
Type: Task


Participants' hotlists:
Audio-Service


Sign in to add a comment

Figure out a nice way for browser tests to inject behavior when using the audio service out of process

Project Member Reported by maxmorin@chromium.org, May 16 2018

Issue description

Some tests want to check what happens when certain things are going on in low level audio layers. For example, WebRtcGetUserMediaBrowserTest.GetUserMediaFailToAccessAudioDevice want the audio manager to fail creating a stream, and WebRtcGetUserMediaBrowserTest.GetAudioStreamAndCheckMutingInitiallyMuted wants to set whether a stream is muted. This is done by accessing the audio manager via AudioManager::Get(), which won't work when it's in another process. I'm adding some workarounds for the above mentioned tests now (a flag for failing to create streams, and force the muting stuff to run in process), but neither of these approaches seems very scalable. Maybe we could have something like a UseTestAudioService feature which defines special devices for all of our needs (input device which mutes and unmutes periodically, output device that CHECKs that it only gets 0 for muting tests, input device which always fails to create a stream, ...)?
 

Comment 1 by guidou@chromium.org, May 17 2018

For the specific case of muted streams, is it possible to just change SetGlobalMutedState() to a SetMutedState() specifically for the stream?
Or add a SetGlobalMutedStateForTesting() to AudioSystem?
Mergedinto: 845951
Status: Duplicate (was: Available)

Sign in to add a comment