Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(800)

Issue 1647773002: MediaStream audio sourcing: Bypass audio processing for non-WebRTC cases. (Closed)

Created:
4 years, 10 months ago by miu
Modified:
4 years, 10 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, Peter Beverloo, imcheng+watch_chromium.org, mlamouri+watch-content_chromium.org, posciak+watch_chromium.org, avayvod+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, mlamouri+watch-test-runner_chromium.org, jasonroberts+watch_google.com, mkwst+moarreviews-renderer_chromium.org, chromium-apps-reviews_chromium.org, xjz+watch_chromium.org, mkwst+moarreviews-shell_chromium.org, isheriff+watch_chromium.org, jochen+watch_chromium.org, miu+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

MediaStream audio sourcing: Bypass audio processing for non-WebRTC cases. This change adds a second MediaStreamTrack implementation for directly delivering audio from the source to the sinks without any processing or FIFO in-between. This is to correct severe audio distortions present in the following use cases: 1) local "loopback" audio associated with screen capture; 2) remotely-received audio via the Cast Streaming Receiver; 3) any other audio source, local or remote, where there are no constraints indicating audio processing need take place. BUG=577881, 577874

Patch Set 1 : First attempt #

Total comments: 4

Patch Set 2 : NOT FOR REVIEW -- This will be broken-up across multiple CLs. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2884 lines, -4313 lines) Patch
M chrome/renderer/extensions/cast_streaming_native_handler.cc View 2 chunks +19 lines, -5 lines 0 comments Download
M content/content_renderer.gypi View 1 7 chunks +14 lines, -12 lines 0 comments Download
M content/content_tests.gypi View 1 1 chunk +2 lines, -2 lines 0 comments Download
M content/public/common/media_stream_request.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/public/common/media_stream_request.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M content/public/renderer/media_stream_api.h View 2 chunks +10 lines, -18 lines 0 comments Download
M content/public/renderer/media_stream_api.cc View 1 2 chunks +36 lines, -76 lines 0 comments Download
M content/public/renderer/media_stream_audio_sink.cc View 1 1 chunk +3 lines, -3 lines 0 comments Download
M content/renderer/media/audio_track_recorder.cc View 1 2 chunks +2 lines, -1 line 0 comments Download
M content/renderer/media/audio_track_recorder_unittest.cc View 1 2 chunks +9 lines, -17 lines 0 comments Download
A content/renderer/media/external_media_stream_audio_source.h View 1 1 chunk +55 lines, -0 lines 0 comments Download
A content/renderer/media/external_media_stream_audio_source.cc View 1 1 chunk +84 lines, -0 lines 0 comments Download
A content/renderer/media/local_media_stream_audio_source.h View 1 1 chunk +60 lines, -0 lines 0 comments Download
A content/renderer/media/local_media_stream_audio_source.cc View 1 1 chunk +99 lines, -0 lines 0 comments Download
M content/renderer/media/media_recorder_handler.cc View 1 1 chunk +1 line, -2 lines 0 comments Download
M content/renderer/media/media_stream_audio_level_calculator.h View 1 3 chunks +29 lines, -4 lines 0 comments Download
M content/renderer/media/media_stream_audio_level_calculator.cc View 1 4 chunks +24 lines, -7 lines 0 comments Download
M content/renderer/media/media_stream_audio_processor.h View 1 1 chunk +9 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_audio_processor.cc View 1 2 chunks +50 lines, -0 lines 0 comments Download
D content/renderer/media/media_stream_audio_sink_owner.h View 1 1 chunk +0 lines, -47 lines 0 comments Download
D content/renderer/media/media_stream_audio_sink_owner.cc View 1 1 chunk +0 lines, -49 lines 0 comments Download
M content/renderer/media/media_stream_audio_source.h View 1 1 chunk +125 lines, -33 lines 0 comments Download
M content/renderer/media/media_stream_audio_source.cc View 1 1 chunk +148 lines, -35 lines 0 comments Download
M content/renderer/media/media_stream_audio_track.h View 1 2 chunks +74 lines, -16 lines 0 comments Download
M content/renderer/media/media_stream_audio_track.cc View 1 2 chunks +126 lines, -5 lines 0 comments Download
M content/renderer/media/media_stream_center.cc View 1 3 chunks +25 lines, -16 lines 0 comments Download
M content/renderer/media/media_stream_renderer_factory_impl.cc View 1 3 chunks +6 lines, -7 lines 0 comments Download
M content/renderer/media/media_stream_source.h View 2 chunks +5 lines, -5 lines 0 comments Download
M content/renderer/media/mock_media_stream_registry.cc View 1 3 chunks +31 lines, -24 lines 0 comments Download
M content/renderer/media/remote_media_stream_impl.cc View 1 2 chunks +5 lines, -6 lines 0 comments Download
M content/renderer/media/rtc_peer_connection_handler.cc View 1 2 chunks +11 lines, -5 lines 0 comments Download
M content/renderer/media/rtc_peer_connection_handler_unittest.cc View 1 5 chunks +25 lines, -25 lines 0 comments Download
M content/renderer/media/speech_recognition_audio_sink_unittest.cc View 1 6 chunks +23 lines, -28 lines 0 comments Download
D content/renderer/media/tagged_list.h View 1 1 chunk +0 lines, -95 lines 0 comments Download
M content/renderer/media/track_audio_renderer.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M content/renderer/media/user_media_client_impl.h View 1 1 chunk +1 line, -2 lines 0 comments Download
M content/renderer/media/user_media_client_impl.cc View 1 5 chunks +36 lines, -17 lines 0 comments Download
D content/renderer/media/webaudio_capturer_source.h View 1 1 chunk +0 lines, -100 lines 0 comments Download
D content/renderer/media/webaudio_capturer_source.cc View 1 1 chunk +0 lines, -143 lines 0 comments Download
A + content/renderer/media/webaudio_media_stream_source.h View 1 1 chunk +44 lines, -67 lines 0 comments Download
A content/renderer/media/webaudio_media_stream_source.cc View 1 1 chunk +109 lines, -0 lines 0 comments Download
M content/renderer/media/webrtc/media_stream_remote_audio_track.h View 1 1 chunk +0 lines, -84 lines 0 comments Download
M content/renderer/media/webrtc/media_stream_remote_audio_track.cc View 1 1 chunk +0 lines, -231 lines 0 comments Download
M content/renderer/media/webrtc/mock_peer_connection_dependency_factory.h View 1 3 chunks +0 lines, -10 lines 0 comments Download
M content/renderer/media/webrtc/mock_peer_connection_dependency_factory.cc View 1 3 chunks +0 lines, -30 lines 0 comments Download
M content/renderer/media/webrtc/peer_connection_dependency_factory.h View 1 4 chunks +3 lines, -40 lines 0 comments Download
M content/renderer/media/webrtc/peer_connection_dependency_factory.cc View 1 6 chunks +0 lines, -208 lines 0 comments Download
A content/renderer/media/webrtc/peer_connection_remote_audio_source.h View 1 1 chunk +73 lines, -0 lines 0 comments Download
A content/renderer/media/webrtc/peer_connection_remote_audio_source.cc View 1 1 chunk +139 lines, -0 lines 0 comments Download
A content/renderer/media/webrtc/processed_local_audio_source.h View 1 1 chunk +128 lines, -0 lines 0 comments Download
A + content/renderer/media/webrtc/processed_local_audio_source.cc View 1 5 chunks +285 lines, -470 lines 0 comments Download
A + content/renderer/media/webrtc/processed_local_audio_source_unittest.cc View 1 3 chunks +5 lines, -5 lines 0 comments Download
A content/renderer/media/webrtc/processed_local_audio_track.h View 1 1 chunk +51 lines, -0 lines 0 comments Download
A content/renderer/media/webrtc/processed_local_audio_track.cc View 1 1 chunk +50 lines, -0 lines 0 comments Download
A + content/renderer/media/webrtc/processed_local_audio_track_unittest.cc View 1 9 chunks +114 lines, -216 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_audio_sink_adapter.h View 1 3 chunks +9 lines, -3 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_audio_sink_adapter.cc View 1 3 chunks +20 lines, -8 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h View 1 2 chunks +74 lines, -47 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_local_audio_track_adapter.cc View 1 5 chunks +97 lines, -58 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_local_audio_track_adapter_unittest.cc View 1 4 chunks +12 lines, -15 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_media_stream_adapter.cc View 1 2 chunks +26 lines, -16 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_media_stream_adapter_unittest.cc View 1 2 chunks +18 lines, -24 lines 0 comments Download
M content/renderer/media/webrtc_audio_capturer.h View 1 1 chunk +0 lines, -213 lines 0 comments Download
M content/renderer/media/webrtc_audio_capturer.cc View 1 1 chunk +0 lines, -627 lines 0 comments Download
M content/renderer/media/webrtc_audio_capturer_unittest.cc View 1 1 chunk +0 lines, -149 lines 0 comments Download
M content/renderer/media/webrtc_audio_device_impl.h View 1 4 chunks +5 lines, -10 lines 0 comments Download
M content/renderer/media/webrtc_audio_device_impl.cc View 1 10 chunks +38 lines, -50 lines 0 comments Download
M content/renderer/media/webrtc_audio_renderer.cc View 1 2 chunks +7 lines, -3 lines 0 comments Download
M content/renderer/media/webrtc_local_audio_source_provider.h View 1 1 chunk +7 lines, -3 lines 0 comments Download
M content/renderer/media/webrtc_local_audio_source_provider_unittest.cc View 1 3 chunks +8 lines, -22 lines 0 comments Download
M content/renderer/media/webrtc_local_audio_track.h View 1 1 chunk +0 lines, -136 lines 0 comments Download
M content/renderer/media/webrtc_local_audio_track.cc View 1 1 chunk +0 lines, -241 lines 0 comments Download
M content/renderer/media/webrtc_local_audio_track_unittest.cc View 1 1 chunk +0 lines, -519 lines 0 comments Download
M content/shell/renderer/layout_test/blink_test_runner.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M media/base/BUILD.gn View 1 2 chunks +3 lines, -0 lines 0 comments Download
M media/base/audio_block_fifo.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M media/base/audio_fifo.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
A media/base/audio_rechunker.h View 1 1 chunk +73 lines, -0 lines 0 comments Download
A media/base/audio_rechunker.cc View 1 1 chunk +80 lines, -0 lines 0 comments Download
A media/base/audio_rechunker_unittest.cc View 1 1 chunk +237 lines, -0 lines 0 comments Download
M media/media.gyp View 1 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (7 generated)
miu
hubbe: PTAL. Whereas the other CL is about audio output, this one is about audio ...
4 years, 10 months ago (2016-01-28 21:08:30 UTC) #4
miu
Adding tommi@ and grunell@: PTAL (CL 2 of 2). These two CLs have similar titles, ...
4 years, 10 months ago (2016-01-28 21:16:30 UTC) #6
hubbe
https://codereview.chromium.org/1647773002/diff/20001/content/public/common/media_stream_request.h File content/public/common/media_stream_request.h (right): https://codereview.chromium.org/1647773002/diff/20001/content/public/common/media_stream_request.h#newcode90 content/public/common/media_stream_request.h:90: CONTENT_EXPORT bool IsContentCaptureMediaType(MediaStreamType type); Can I haz comment? https://codereview.chromium.org/1647773002/diff/20001/content/renderer/media/media_stream_audio_source.h ...
4 years, 10 months ago (2016-01-28 21:48:13 UTC) #7
Henrik Grunell
Adding olka@ as reviewer.
4 years, 10 months ago (2016-01-29 09:56:27 UTC) #9
miu
https://codereview.chromium.org/1647773002/diff/20001/content/renderer/media/media_stream_audio_source.h File content/renderer/media/media_stream_audio_source.h (right): https://codereview.chromium.org/1647773002/diff/20001/content/renderer/media/media_stream_audio_source.h#newcode44 content/renderer/media/media_stream_audio_source.h:44: class CONTENT_EXPORT MediaStreamAudioSource On 2016/01/28 21:48:13, hubbe wrote: > ...
4 years, 10 months ago (2016-01-29 19:43:59 UTC) #10
miu
All: Please hold on further review. I am still working on a new patch set ...
4 years, 10 months ago (2016-02-03 03:53:59 UTC) #11
miu
4 years, 10 months ago (2016-02-18 23:50:09 UTC) #14
I'm closing this issue.  The latest patchset has a snapshot of a mostly-complete
refactoring, but please don't feel the need to review all this (in particular, I
can't seem to get git to realize the file renames very well).  I'll be breaking
this up into several changes that focus on specific issues so that all the
reshuffling makes sense.

Powered by Google App Engine
This is Rietveld 408576698