|
Enable platform echo cancellation through the AudioRecord path.
Re-land https://codereview.chromium.org/99033003/ with a CrOS build fix.
TBR=tommi
Including the original CL description here:
Add a platform effects mask member to AudioParameters. This allows the
availability of platform effects (currently AEC) to be plumbed up to
MediaStreamDependencyFactory, where they can be reconciled with the
media constraints to determine if the effects should be enabled. When
this is the case, the constraints will be modified to disable the
corresponding software effect in PeerConnection.
The availability is controlled by a whitelist of device models in
AudioManagerAndroid, which for AEC, currently consists of Nexus 5 and
Nexus 7.
AudioManagerAndroid will use the AudioRecord path iff the platform
AEC is enabled.
TESTED=Using apprtc on a N5 and N7 (whitelisted):
- The AudioRecord input path is used.
- The platform AEC is enabled and the software AEC (in PeerConnection)
is disabled.
- Calls have good echo cancellation quality.
Using apprtc with ?audio=googEchoCancellation=false on a N5 and N7:
- The OpenSLES input path is used.
- Both the platform and software AEC are disabled.
Using apprtc on Nexus 4 (non-whitelisted):
- The OpenSLES input path is used.
- The platform AEC is disabled and the software AEC is enabled.
Using apprtc on Galaxy S2 (running ICS):
- The OpenSLES input path is used.
audio_android_unittest.cc passes on N5, N7 and Galaxy S2
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=240787
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+368 lines, -153 lines) |
Patch |
|
M |
content/browser/renderer_host/media/audio_input_device_manager.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/media/audio_renderer_host_unittest.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
content/common/media/media_param_traits.cc
|
View
|
|
2 chunks |
+9 lines, -5 lines |
0 comments
|
Download
|
|
M |
content/common/media/media_stream_messages.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
content/public/common/media_stream_request.h
|
View
|
|
2 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/renderer/media/media_stream_dependency_factory.cc
|
View
|
|
4 chunks |
+42 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/renderer/media/webrtc_audio_capturer.h
|
View
|
|
3 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/renderer/media/webrtc_audio_capturer.cc
|
View
|
|
7 chunks |
+19 lines, -15 lines |
0 comments
|
Download
|
|
M |
content/renderer/media/webrtc_audio_capturer_unittest.cc
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/renderer/media/webrtc_audio_device_unittest.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
content/renderer/media/webrtc_local_audio_track_unittest.cc
|
View
|
|
4 chunks |
+9 lines, -5 lines |
0 comments
|
Download
|
|
M |
content/renderer/renderer_webkitplatformsupport_impl.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
media/audio/alsa/audio_manager_alsa.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/android/audio_android_unittest.cc
|
View
|
|
19 chunks |
+106 lines, -58 lines |
0 comments
|
Download
|
|
M |
media/audio/android/audio_manager_android.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/android/audio_manager_android.cc
|
View
|
|
4 chunks |
+25 lines, -6 lines |
0 comments
|
Download
|
|
M |
media/audio/android/audio_record_input.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
media/audio/android/audio_record_input.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
media/audio/audio_parameters.h
|
View
|
|
5 chunks |
+19 lines, -5 lines |
0 comments
|
Download
|
|
M |
media/audio/audio_parameters.cc
|
View
|
|
3 chunks |
+23 lines, -9 lines |
0 comments
|
Download
|
|
M |
media/audio/cras/audio_manager_cras.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/fake_audio_manager.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/mac/audio_manager_mac.cc
|
View
|
|
1 chunk |
+8 lines, -4 lines |
0 comments
|
Download
|
|
M |
media/audio/openbsd/audio_manager_openbsd.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/pulse/audio_manager_pulse.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/win/audio_manager_win.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
View
|
|
4 chunks |
+15 lines, -3 lines |
0 comments
|
Download
|
|
M |
media/base/android/java/src/org/chromium/media/AudioRecordInput.java
|
View
|
|
8 chunks |
+44 lines, -15 lines |
0 comments
|
Download
|
|
M |
media/base/channel_mixer_unittest.cc
|
View
|
|
1 chunk |
+12 lines, -6 lines |
0 comments
|
Download
|
Total messages: 6 (0 generated)
|