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

Issue 2890753003: Introduce AudioIPCFactory. (Closed)

Created:
3 years, 7 months ago by Max Morin
Modified:
3 years, 6 months ago
CC:
audio-mojo-cl_google.com, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, o1ka, posciak+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce AudioIPCFactory. AudioIPCFactory is introduced to manage RendererAudioOutputStreamFactory pointers, which is needed for various reasons. * When processing an authorization request, it is not safe to use other threads than the IO thread, as they may be blocked waiting for the response. Thus, AudioIPCFactory is introduced to hold a mapping (frame id->remote factory) on the IO thread. This also means we have to create/destruct the RendererAudioOutputStreamFactoryPtr with the RenderFrameImpl instead of the preferrable way of doing it lazily. This should be revisited if we stop blocking while waiting for authorization (crbug.com/668275). * For running browser tests with this, the browser-side glue code is needed. I have verified that the browser tests pass. As the pepper code doesn't seem well covered by tests, I also manually verified that flash sound output works. * There's a class diagram at https://docs.google.com/drawings/d/1U1e-0gH3WVSV9Td9ZCEcPDBMC7WWWeh58sRYAdXbrn8/edit?usp=sharing BUG=425368 Review-Url: https://codereview.chromium.org/2890753003 Cr-Commit-Position: refs/heads/master@{#476612} Committed: https://chromium.googlesource.com/chromium/src/+/017ba8c602a378a6f508cf642ef81ed46eea5dbe

Patch Set 1 : tests #

Patch Set 2 : tmp #

Patch Set 3 : Rollback to PS1, fix includes. #

Total comments: 12

Patch Set 4 : Dale's comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+490 lines, -36 lines) Patch
M content/renderer/BUILD.gn View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/media/audio_device_factory.cc View 1 2 2 chunks +9 lines, -9 lines 0 comments Download
A content/renderer/media/audio_ipc_factory.h View 1 2 3 1 chunk +97 lines, -0 lines 0 comments Download
A content/renderer/media/audio_ipc_factory.cc View 1 2 3 1 chunk +120 lines, -0 lines 0 comments Download
A content/renderer/media/audio_ipc_factory_unittest.cc View 1 2 3 1 chunk +223 lines, -0 lines 0 comments Download
M content/renderer/pepper/pepper_platform_audio_output.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/pepper/pepper_platform_audio_output.cc View 2 chunks +2 lines, -6 lines 0 comments Download
M content/renderer/pepper/pepper_platform_audio_output_dev.h View 2 chunks +1 line, -8 lines 0 comments Download
M content/renderer/pepper/pepper_platform_audio_output_dev.cc View 2 chunks +10 lines, -6 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 3 chunks +8 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 2 6 chunks +9 lines, -5 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 1 chunk +7 lines, -2 lines 0 comments Download
M content/test/BUILD.gn View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 44 (36 generated)
Max Morin
Hey Dale. Olga mostly reviewed this before I separated it out from the last CL. ...
3 years, 6 months ago (2017-05-31 15:26:59 UTC) #28
DaleCurtis
https://codereview.chromium.org/2890753003/diff/240001/content/renderer/media/audio_ipc_factory.cc File content/renderer/media/audio_ipc_factory.cc (right): https://codereview.chromium.org/2890753003/diff/240001/content/renderer/media/audio_ipc_factory.cc#newcode67 content/renderer/media/audio_ipc_factory.cc:67: if (!io_task_runner_->BelongsToCurrentThread()) { Since MaybeRegisterRemoteFactory() doesn't add the frame_id ...
3 years, 6 months ago (2017-05-31 20:48:10 UTC) #29
Max Morin
Thanks Dale. Bbudge: PTAL at c/r/pepper. Avi: PTAL at content other than pepper and media. ...
3 years, 6 months ago (2017-06-01 13:58:43 UTC) #33
Avi (use Gerrit)
lgtm
3 years, 6 months ago (2017-06-01 15:16:12 UTC) #37
DaleCurtis
lgtm
3 years, 6 months ago (2017-06-01 17:05:03 UTC) #38
bbudge
content/renderer/pepper lgtm
3 years, 6 months ago (2017-06-01 17:26:04 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2890753003/260001
3 years, 6 months ago (2017-06-02 10:18:20 UTC) #41
commit-bot: I haz the power
3 years, 6 months ago (2017-06-02 10:23:24 UTC) #44
Message was sent while issue was closed.
Committed patchset #4 (id:260001) as
https://chromium.googlesource.com/chromium/src/+/017ba8c602a378a6f508cf642ef8...

Powered by Google App Engine
This is Rietveld 408576698