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

Issue 2640003002: Implement MojoAudioRendererSink and use it in UtilityMojoMediaClient (Closed)

Created:
3 years, 11 months ago by Julien Isorce
Modified:
3 years, 3 months ago
CC:
Aaron Boodman, abarth-chromium, alokp+watch_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement MojoAudioRendererSink and use it in UtilityMojoMediaClient Can be switch on with existing gn args: enable_mojo_media = true mojo_media_services = [ "renderer" ] mojo_media_host = "utility" This allow to play audio instead of using NullAudioSink. The audio is decoded in the utility process and then it is sent back to the renderer process. Once AudioSyncReader / AudioInputSyncWriter / AudioRendererHost are mojified it could be possible to move the actual audio device rendering from the browser process to the utility process. Add MojoAudioRendererSinkImpl / Adapter. Mojify media::OutputDeviceInfo. BUG=682252 R=dalecurtis@chromium.org, sandersd@chromium.org, tguilbert@chromium.org, xhwang@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Patch Set 1 #

Patch Set 2 : Make sure to stop the audio sink. Also unbind from the audio device thread #

Total comments: 1

Patch Set 3 : Rebase #

Patch Set 4 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+624 lines, -35 lines) Patch
M content/common/media/audio_messages.h View 1 chunk +0 lines, -3 lines 0 comments Download
M media/audio/audio_device_thread.h View 2 chunks +7 lines, -3 lines 0 comments Download
M media/audio/audio_device_thread.cc View 2 chunks +16 lines, -8 lines 0 comments Download
M media/base/audio_bus.h View 3 chunks +16 lines, -0 lines 0 comments Download
M media/base/audio_bus.cc View 2 chunks +10 lines, -10 lines 0 comments Download
M media/base/ipc/media_param_traits.h View 2 chunks +12 lines, -0 lines 0 comments Download
M media/base/ipc/media_param_traits.cc View 3 chunks +39 lines, -0 lines 0 comments Download
M media/base/ipc/media_param_traits_macros.h View 2 chunks +4 lines, -0 lines 0 comments Download
M media/mojo/clients/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
A media/mojo/clients/mojo_audio_renderer_sink_impl.h View 1 1 chunk +67 lines, -0 lines 0 comments Download
A media/mojo/clients/mojo_audio_renderer_sink_impl.cc View 1 1 chunk +137 lines, -0 lines 0 comments Download
M media/mojo/clients/mojo_renderer.h View 1 2 5 chunks +9 lines, -0 lines 0 comments Download
M media/mojo/clients/mojo_renderer.cc View 1 2 6 chunks +24 lines, -3 lines 0 comments Download
M media/mojo/clients/mojo_renderer_factory.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M media/mojo/clients/mojo_renderer_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M media/mojo/common/media_type_converters.h View 2 chunks +6 lines, -0 lines 0 comments Download
M media/mojo/common/media_type_converters.cc View 2 chunks +18 lines, -0 lines 0 comments Download
M media/mojo/interfaces/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
A media/mojo/interfaces/audio_renderer_sink.mojom View 1 chunk +38 lines, -0 lines 0 comments Download
M media/mojo/interfaces/media_types.mojom View 1 chunk +11 lines, -0 lines 0 comments Download
A media/mojo/interfaces/output_device_info.mojom View 1 chunk +9 lines, -0 lines 0 comments Download
A media/mojo/interfaces/output_device_info.typemap View 1 chunk +12 lines, -0 lines 0 comments Download
M media/mojo/interfaces/renderer.mojom View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M media/mojo/interfaces/typemaps.gni View 1 chunk +1 line, -0 lines 0 comments Download
M media/mojo/services/BUILD.gn View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M media/mojo/services/media_service_unittest.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
A media/mojo/services/mojo_audio_renderer_sink_adapter.h View 1 chunk +60 lines, -0 lines 0 comments Download
A media/mojo/services/mojo_audio_renderer_sink_adapter.cc View 1 chunk +102 lines, -0 lines 0 comments Download
M media/mojo/services/mojo_renderer_service.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M media/mojo/services/mojo_renderer_service.cc View 1 2 3 chunks +7 lines, -0 lines 0 comments Download
M media/mojo/services/utility_mojo_media_client.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 23 (3 generated)
DaleCurtis
Hmm, why is this change necessary? The way the mojo media renderer works today, decoded ...
3 years, 11 months ago (2017-01-25 01:04:38 UTC) #4
Max Morin
Yes, MojoAudioRendererSink looks a lot like AudioOutput from https://codereview.chromium.org/2319493002/ (in progress) with the main difference ...
3 years, 11 months ago (2017-01-25 09:29:07 UTC) #5
o1ka
Could you give some more context for the change? (The doc the bug points to ...
3 years, 11 months ago (2017-01-25 10:31:06 UTC) #6
o1ka
Could you also clarify how device access permissions are/will be handled by media renderer in ...
3 years, 11 months ago (2017-01-25 11:25:12 UTC) #7
Julien Isorce
On 2017/01/25 01:04:38, DaleCurtis wrote: > Hmm, why is this change necessary? The way the ...
3 years, 11 months ago (2017-01-25 23:54:10 UTC) #8
Julien Isorce
On 2017/01/25 10:31:06, o1ka wrote: > Could you give some more context for the change? ...
3 years, 11 months ago (2017-01-26 00:00:56 UTC) #9
Julien Isorce
On 2017/01/25 11:25:12, o1ka wrote: > Could you also clarify how device access permissions are/will ...
3 years, 11 months ago (2017-01-26 00:03:14 UTC) #10
Julien Isorce
On 2017/01/25 09:29:07, Max Morin wrote: > Yes, MojoAudioRendererSink looks a lot like AudioOutput from ...
3 years, 11 months ago (2017-01-26 01:18:45 UTC) #11
o1ka
On 2017/01/26 00:00:56, Julien Isorce wrote: > On 2017/01/25 10:31:06, o1ka wrote: > > Could ...
3 years, 11 months ago (2017-01-26 09:17:05 UTC) #12
o1ka
On 2017/01/26 00:03:14, Julien Isorce wrote: > On 2017/01/25 11:25:12, o1ka wrote: > > Could ...
3 years, 11 months ago (2017-01-26 09:24:44 UTC) #13
o1ka
On 2017/01/26 01:18:45, Julien Isorce wrote: > On 2017/01/25 09:29:07, Max Morin wrote: > > ...
3 years, 11 months ago (2017-01-26 09:28:28 UTC) #14
o1ka
Please see the following docs for more info: https://docs.google.com/a/chromium.org/document/d/1e1xeuWQyG-2nwQERX_4oKbExjNkb-xzAWJaiBBD978I/edit?usp=sharing https://docs.google.com/a/chromium.org/document/d/1awQoajq_DLmz2AIU9iweC0zEYlVuHCvEIRQepeYyxh8/edit?usp=sharing
3 years, 11 months ago (2017-01-26 14:36:50 UTC) #15
o1ka
Corrected links: https://docs.google.com/a/chromium.org/document/d/1fVHVJjd5zTqc6O7b0lprILyuFPC9qVQUudzjEgOq1HY/edit?usp=sharing https://docs.google.com/a/chromium.org/document/d/1awQoajq_DLmz2AIU9iweC0zEYlVuHCvEIRQepeYyxh8/edit?usp=sharing
3 years, 11 months ago (2017-01-26 14:42:55 UTC) #16
Julien Isorce
On 2017/01/26 14:42:55, o1ka wrote: > Corrected links: > > https://docs.google.com/a/chromium.org/document/d/1fVHVJjd5zTqc6O7b0lprILyuFPC9qVQUudzjEgOq1HY/edit?usp=sharing > https://docs.google.com/a/chromium.org/document/d/1awQoajq_DLmz2AIU9iweC0zEYlVuHCvEIRQepeYyxh8/edit?usp=sharing Thx for ...
3 years, 10 months ago (2017-01-27 22:41:31 UTC) #17
Julien Isorce
On 2017/01/26 09:17:05, o1ka wrote: > > > Today audio rendering is performed synchronously to ...
3 years, 10 months ago (2017-01-28 00:24:36 UTC) #18
Julien Isorce
On 2017/01/26 09:24:44, o1ka wrote: > On 2017/01/26 00:03:14, Julien Isorce wrote: > > On ...
3 years, 10 months ago (2017-01-28 00:29:16 UTC) #19
o1ka
> Thx for the links. Do you know how to zoom on the diagram because ...
3 years, 10 months ago (2017-01-30 15:50:49 UTC) #20
Julien Isorce
On 2017/01/30 15:50:49, o1ka (CET) wrote: > > Thx for the links. Do you know ...
3 years, 10 months ago (2017-01-31 16:46:59 UTC) #21
o1ka
> > According to your diagrams, MojoRenderer lives in the renderer process and > works ...
3 years, 10 months ago (2017-02-02 15:31:55 UTC) #22
Julien Isorce
3 years, 3 months ago (2017-09-13 12:24:09 UTC) #23

Powered by Google App Engine
This is Rietveld 408576698