-
Notifications
You must be signed in to change notification settings - Fork 463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a "fake" AudioDeviceModule #287
Conversation
I tried the changes, and they indeed fix the issue I was seeing on a system that doesn't have alsa (I also had to build libwebrtc using The problem that I've noticed is high CPU usage; with FakeAudioDevice, each connection seems to be using about 3 times as much CPU than when using ALSA. |
Awesome 👍
Ah, that's unfortunate. We could also try with FakeAudioCaptureModule. It's API is something like rtc::scoped_refptr<FakeAudioCaptureModule> facd = FakeAudioCaptureModule::Create(); It might be lighter weight. If we still run into these issues I suppose we could always write an AudioDeviceModule that really does nothing... |
I'll try using the FakeAudioCapture later. I also like the idea of writing our own super lightweight AudioDeviceModule, decoupled from the Chromium tests. |
I have confirmed that, with this change, |
…ode-webrtc#287 and downgrading to version 0.62
…ode-webrtc#287 and downgrading to version 0.62
This also fixed building for me on Ubuntu trusty 14.04 |
I'm going to try to land a version of this as part of #333. |
This is just one possible approach for improving #285. As mentioned in that issue, on platforms that provide neither PulseAudio nor ALSA, the default AudioDeviceModule will fail. One work around is to use FakeAudioDevice (I've confirmed that this succeeds on the aforementioned platforms). Before merging, I think it makes sense to
nullptr
check on the return value of CreatePeerConnectionFactory.