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