New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 803102 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 2
Type: Feature

Blocked on:
issue 828860
issue 828861
issue 828864

Blocking:
issue 792441
issue 830493


Participants' hotlists:
Audio-Service


Sign in to add a comment

Add a factory for audio streams to the audio service

Project Member Reported by maxmorin@chromium.org, Jan 17 2018

Issue description

Blocking: 792441
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/13ddfd3252448db55a45a5f9fce07f1f664d282b

commit 13ddfd3252448db55a45a5f9fce07f1f664d282b
Author: Max Morin <maxmorin@chromium.org>
Date: Thu Jan 25 08:47:29 2018

Remove content deps of AudioSyncReader and AudioInputSyncWriter.

They will be moved to media in a future CL since they need to be used
from the audio service. A side-effect of this CL is that logs from the
SyncReader/Writer are prefixed with the stream_id, like other logs are.

Bug:  803102 
Change-Id: Iae2876033e4172066d5a0a3b1322092f870dc32d
Reviewed-on: https://chromium-review.googlesource.com/878627
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531849}
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_input_delegate_impl.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_input_sync_writer.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_input_sync_writer.h
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_input_sync_writer_unittest.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_output_delegate_impl.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_sync_reader.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_sync_reader.h
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/browser/renderer_host/media/audio_sync_reader_unittest.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/public/common/content_switches.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/content/public/common/content_switches.h
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/media/base/media_switches.cc
[modify] https://crrev.com/13ddfd3252448db55a45a5f9fce07f1f664d282b/media/base/media_switches.h

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f180d6b9de37c43241e01551b77f70362b2c06f

commit 0f180d6b9de37c43241e01551b77f70362b2c06f
Author: Mostyn Bramley-Moore <mostynb@vewd.com>
Date: Thu Jan 25 14:31:48 2018

[jumbo] use unique name instead of LogMessage in audio_output_delegate_impl.cc

This should fix jumbo builds after
https://chromium-review.googlesource.com/878627

Bug:  803102 
Change-Id: I3a171acb28cf1a0927137e764530b31ece1f29de
Reviewed-on: https://chromium-review.googlesource.com/886601
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Cr-Commit-Position: refs/heads/master@{#531896}
[modify] https://crrev.com/0f180d6b9de37c43241e01551b77f70362b2c06f/content/browser/renderer_host/media/audio_output_delegate_impl.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4c7ec5bf3fedd380a7936008043e712b187381b0

commit 4c7ec5bf3fedd380a7936008043e712b187381b0
Author: Max Morin <maxmorin@chromium.org>
Date: Mon Jan 29 10:31:49 2018

Move AudioSyncReader and AudioInputSyncWriter to media/.

Only mechanical changes in this CL. Presubmit (correctly) complains
about Time::Now() usage AudioInputSyncWriter. This is pre-existing,
but only for logging, and will be fixed in a followup to keep this CL
completely trivial.

Bug:  803102 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: I422f80e376f89428ed8f69a1de1a5751c31bf4bb
Reviewed-on: https://chromium-review.googlesource.com/886345
Commit-Queue: Max Morin <maxmorin@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532383}
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/BUILD.gn
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_input_delegate_impl.cc
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_input_delegate_impl.h
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_input_delegate_impl_unittest.cc
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_output_delegate_impl.cc
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_output_delegate_impl.h
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/browser/renderer_host/media/audio_renderer_host.cc
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/content/test/BUILD.gn
[modify] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/BUILD.gn
[rename] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/audio_input_sync_writer.cc
[rename] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/audio_input_sync_writer.h
[rename] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/audio_input_sync_writer_unittest.cc
[rename] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/audio_sync_reader.cc
[rename] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/audio_sync_reader.h
[rename] https://crrev.com/4c7ec5bf3fedd380a7936008043e712b187381b0/media/audio/audio_sync_reader_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f16014ed52cc2bdaaea0c6ba336a2f83174212dc

commit f16014ed52cc2bdaaea0c6ba336a2f83174212dc
Author: Max Morin <maxmorin@chromium.org>
Date: Wed Feb 07 09:07:49 2018

Allow AudioOutputController to be used synchronously

Instead of posting, we want to just call methods directly on the
AudioOutputController when using it in the audio service. This will
simplify the threading situation, especially around shutdown.

AudioRendererHost was running single-threaded but have been updated to
a more realistic threading model. The AudioOutputControllerTest is
parametrized, it now has one mode for testing on the audio manager
thread and one for testing with a separate audio manager thread.

Drive-by speed up AudioOutputControllerTest by using a smaller buffer
size (faster callback from fake stream).
Also drive-by remove spammy log in MediaStreamManager, since it was
useless.

Bug:  803102 

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: Ifa3213c4c503cb657b34072f0c5b27f1489f4d78
Reviewed-on: https://chromium-review.googlesource.com/895767
Commit-Queue: Max Morin <maxmorin@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534956}
[modify] https://crrev.com/f16014ed52cc2bdaaea0c6ba336a2f83174212dc/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
[modify] https://crrev.com/f16014ed52cc2bdaaea0c6ba336a2f83174212dc/content/browser/renderer_host/media/media_stream_manager.cc
[modify] https://crrev.com/f16014ed52cc2bdaaea0c6ba336a2f83174212dc/media/audio/audio_output_controller.cc
[modify] https://crrev.com/f16014ed52cc2bdaaea0c6ba336a2f83174212dc/media/audio/audio_output_controller.h
[modify] https://crrev.com/f16014ed52cc2bdaaea0c6ba336a2f83174212dc/media/audio/audio_output_controller_unittest.cc
[modify] https://crrev.com/f16014ed52cc2bdaaea0c6ba336a2f83174212dc/media/audio/mac/audio_manager_mac.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ce4ffcf9dc703714d26a2bde99327e7b46a41767

commit ce4ffcf9dc703714d26a2bde99327e7b46a41767
Author: Max Morin <maxmorin@chromium.org>
Date: Thu Feb 22 10:28:45 2018

Make a struct of audio IPC primitives.

AudioDataPipe is a {socket, shared memory} pair. This simplifies
a future CL where a factory method might fail, since it can return an
Optional<AudioDataPipe> in that case.

Bug:  803102 
Change-Id: Ia2e396ccea1f755e55dad8ce248cc9da8dc4077c
Reviewed-on: https://chromium-review.googlesource.com/913577
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538389}
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/browser/renderer_host/media/audio_input_stream_handle.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/browser/renderer_host/media/audio_input_stream_handle.h
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/browser/renderer_host/media/audio_input_stream_handle_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/browser/renderer_host/media/render_frame_audio_input_stream_factory_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/common/media/renderer_audio_input_stream_factory.mojom
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/renderer/media/mojo_audio_input_ipc.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/renderer/media/mojo_audio_input_ipc.h
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/renderer/media/mojo_audio_input_ipc_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/renderer/media/mojo_audio_output_ipc.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/renderer/media/mojo_audio_output_ipc.h
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/content/renderer/media/mojo_audio_output_ipc_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/interfaces/BUILD.gn
[add] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/interfaces/audio_data_pipe.mojom
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/interfaces/audio_output_stream.mojom
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/services/mojo_audio_input_stream.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/services/mojo_audio_input_stream.h
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/services/mojo_audio_input_stream_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/services/mojo_audio_output_stream.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/services/mojo_audio_output_stream_provider_unittest.cc
[modify] https://crrev.com/ce4ffcf9dc703714d26a2bde99327e7b46a41767/media/mojo/services/mojo_audio_output_stream_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28390a4663e6bcd261753891d369d42effaaf6d5

commit 28390a4663e6bcd261753891d369d42effaaf6d5
Author: Max Morin <maxmorin@chromium.org>
Date: Tue Feb 27 18:23:20 2018

Add OutputStream to audio service.

This CL adds an AudioOutputStream implementation for the audio service.
Note that there isn't a separation between AudioOutputDelegate and
AudioOutputStream like for content/media, since it isn't needed, and
fewer layers are simpler. OutputStream has the same functionality as
AudioOutputDelegateImpl, except for
 * mirroring: requires lots of refactoring to break content
   dependencies.
 * notifying content::MediaObserver. Will be done by the client in
   content/.

CL with factory for this:
https://chromium-review.googlesource.com/c/chromium/src/+/939179.

Design doc: http://go/audio-service-streams-design

Bug:  803102 

Change-Id: Id660d08497b99fb0beba8201760d2b13d788ffb2
Reviewed-on: https://chromium-review.googlesource.com/908561
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539501}
[modify] https://crrev.com/28390a4663e6bcd261753891d369d42effaaf6d5/services/audio/BUILD.gn
[add] https://crrev.com/28390a4663e6bcd261753891d369d42effaaf6d5/services/audio/output_stream.cc
[add] https://crrev.com/28390a4663e6bcd261753891d369d42effaaf6d5/services/audio/output_stream.h
[add] https://crrev.com/28390a4663e6bcd261753891d369d42effaaf6d5/services/audio/output_stream_unittest.cc
[add] https://crrev.com/28390a4663e6bcd261753891d369d42effaaf6d5/services/audio/test/mock_log.cc
[add] https://crrev.com/28390a4663e6bcd261753891d369d42effaaf6d5/services/audio/test/mock_log.h

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c18fe8a636d7888e6f5603a558f6398bb6c4e911

commit c18fe8a636d7888e6f5603a558f6398bb6c4e911
Author: Marina Ciocea <marinaciocea@chromium.org>
Date: Mon Mar 19 06:08:04 2018

Use AudioInputController synchronously when it is created on audio thread.

This change is required for adding input streams in audio service, in which case AIC will be created on audio thread.
Other changes:
* replace creation thread with sequence.
* refactor unittests, add tests for CreateForStream and SetVolume.

Bug:  803102 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: I2aa61b44a78369590892d88899221d29d18927ab
Reviewed-on: https://chromium-review.googlesource.com/952451
Commit-Queue: Marina Ciocea <marinaciocea@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543978}
[modify] https://crrev.com/c18fe8a636d7888e6f5603a558f6398bb6c4e911/content/browser/renderer_host/media/audio_input_delegate_impl_unittest.cc
[modify] https://crrev.com/c18fe8a636d7888e6f5603a558f6398bb6c4e911/media/audio/audio_input_controller.cc
[modify] https://crrev.com/c18fe8a636d7888e6f5603a558f6398bb6c4e911/media/audio/audio_input_controller.h
[modify] https://crrev.com/c18fe8a636d7888e6f5603a558f6398bb6c4e911/media/audio/audio_input_controller_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Mar 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7

commit 730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7
Author: Max Morin <maxmorin@chromium.org>
Date: Tue Mar 20 09:18:44 2018

Add some documentation for AudioDataPipe.

Only documentation, hence no-try.

No-Try: true
Bug:  803102 
Change-Id: I5acc5eaf492a79dadd609e6272d73ab100196163
Reviewed-on: https://chromium-review.googlesource.com/966285
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544315}
[modify] https://crrev.com/730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7/media/mojo/interfaces/audio_data_pipe.mojom

Blockedon: 828860
Blockedon: 828861
Blockedon: 828864
Blockedon: 828867
Blockedon: 828868
Project Member

Comment 16 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd

commit 08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd
Author: Yuri Wiitala <miu@chromium.org>
Date: Fri Apr 06 03:42:05 2018

Fork media::AudioOutputController → audio::OutputController

In order to break-away from the legacy threading model and eliminate the
need for future circular dependencies on src/media/(audio|base), this
change forks AudioOutputController and AudioSyncReader into
src/services/audio.

In addition to the namespace and class naming changes, the following
modifications have been made on the forked code:

1. Removed the ref-counting of audio::OutputController, eliminated the
Create() factory methods, and changed a few heap-allocated objects into
proper class data members (i.e., composition instead of indirection).

2. Removed the XYZ()→DoXYZ() thread-trampoline methods.

3. Updated comments that became misleading or are not otherwise accurate
to how things work in the new Audio Service.

4. Changed the audio::OutputStream to use the forked OutputController
and SyncReader.

5. Updated unit tests.

Further clean-ups and code deletions/refactorings are intentionally
being left TODO in future patches.

Bug:  824019 ,  803102 
Change-Id: If479c63909c252c8fca135c9a51dcac76feeec8c
Reviewed-on: https://chromium-review.googlesource.com/982904
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548658}
[modify] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/BUILD.gn
[add] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/output_controller.cc
[add] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/output_controller.h
[add] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/output_controller_unittest.cc
[modify] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/output_stream.cc
[modify] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/output_stream.h
[add] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/sync_reader.cc
[add] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/sync_reader.h
[add] https://crrev.com/08d2ef4b272610e6085aa3ea7eb0f421d1d2c8cd/services/audio/sync_reader_unittest.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a0c43b1ea8ae66c535a484471739bdc9702bdc5

commit 4a0c43b1ea8ae66c535a484471739bdc9702bdc5
Author: Marina Ciocea <marinaciocea@chromium.org>
Date: Fri Apr 06 10:35:11 2018

Add InputStream to audio service.

Add implementation of media::mojom::AudioInputStream to audio service.
This implementation is not used yet, it will be used in a future CL
introducing input stream factory. UserInputMonitor is also not used,
and will be moved to audio service in a future CL.

Also removed AIC::Create branch that returns null if params are invalid,
as params are verified many times along the way to AIC and should be valid.

Bug:  803102 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ib0b3c381bb9d5493e22047f13d093a87c252229c
Reviewed-on: https://chromium-review.googlesource.com/975642
Commit-Queue: Marina Ciocea <marinaciocea@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548735}
[modify] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/media/audio/audio_input_controller.cc
[modify] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/services/audio/BUILD.gn
[add] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/services/audio/input_stream.cc
[add] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/services/audio/input_stream.h
[add] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/services/audio/input_stream_unittest.cc
[modify] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/services/audio/output_stream.h
[modify] https://crrev.com/4a0c43b1ea8ae66c535a484471739bdc9702bdc5/services/audio/output_stream_unittest.cc

Blocking: 830493
Project Member

Comment 20 by bugdroid1@chromium.org, Apr 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0b13303bc02cd111f5d5985ec0a763e635919d2

commit c0b13303bc02cd111f5d5985ec0a763e635919d2
Author: Max Morin <maxmorin@chromium.org>
Date: Tue Apr 10 11:39:21 2018

Revert "Bind StreamFactory in audio service."

This reverts commit 21f2ef4cb6ad89be9ca765afe7a3f1d077d726f2.

Reason for revert: Will rewrite this.

Original change's description:
> Bind StreamFactory in audio service.
> 
> Bug:  803102 
> Change-Id: I4d8cb112445095045c492488f7c3b8d9853b6c23
> Reviewed-on: https://chromium-review.googlesource.com/1004634
> Commit-Queue: Max Morin <maxmorin@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Olga Sharonova <olka@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#549481}

TBR=kinuko@chromium.org,olka@chromium.org,maxmorin@chromium.org

Change-Id: I7ecdcf316e904356ba8373d888fbec910a1b71d1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  803102 
Reviewed-on: https://chromium-review.googlesource.com/1005174
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549486}
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/BUILD.gn
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/manifest.json
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/public/mojom/stream_factory.mojom
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/service.cc
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/service.h
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/stream_factory.cc
[modify] https://crrev.com/c0b13303bc02cd111f5d5985ec0a763e635919d2/services/audio/stream_factory.h
[delete] https://crrev.com/55f4beb9157e45fa1ffe3ebfa7176b6cafbc33b6/services/audio/stream_factory_unittest.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Apr 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/17ff699d5dcef674814a8574f9c090079c511e9c

commit 17ff699d5dcef674814a8574f9c090079c511e9c
Author: Max Morin <maxmorin@chromium.org>
Date: Tue Apr 10 13:31:40 2018

Reland "Bind StreamFactory in audio service."

This is a reland of 21f2ef4cb6ad89be9ca765afe7a3f1d077d726f2

Per offline discussion, this code is fine.

Original change's description:
> Bind StreamFactory in audio service.
>
> Bug:  803102 
> Change-Id: I4d8cb112445095045c492488f7c3b8d9853b6c23
> Reviewed-on: https://chromium-review.googlesource.com/1004634
> Commit-Queue: Max Morin <maxmorin@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Olga Sharonova <olka@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#549481}

Tbr: 
Bug:  803102 
Change-Id: I3b14b633dd1419eae570d2b9ab411fc8732fad4c
Reviewed-on: https://chromium-review.googlesource.com/1005080
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549504}
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/BUILD.gn
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/manifest.json
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/public/mojom/stream_factory.mojom
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/service.cc
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/service.h
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/stream_factory.cc
[modify] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/stream_factory.h
[add] https://crrev.com/17ff699d5dcef674814a8574f9c090079c511e9c/services/audio/stream_factory_unittest.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/61437a92cf5e46c822b53a4491cc01dfdb3d807b

commit 61437a92cf5e46c822b53a4491cc01dfdb3d807b
Author: Marina Ciocea <marinaciocea@chromium.org>
Date: Thu Apr 12 06:28:34 2018

Add observer for audio::InputStream.

This implementation is not use yet, the start_recording_callback
constructor parameter will be passed from ContentAudioStreamFactoryClient
to enable tab UI recording indicator. The connection_erorr_callback will
notify ContentAudioStreamFactoryClient when the stream is destructed.

Design: http://drawings/1_ZIKj6lihGKRjq4Mflduitmkn_REqpHFeqVNelBGHHk

Bug:  803102 
Change-Id: Ic57324f761389fa38e2618f541024e5caf49ff82
Reviewed-on: https://chromium-review.googlesource.com/980977
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Marina Ciocea <marinaciocea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550050}
[modify] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/media/mojo/interfaces/audio_input_stream.mojom
[modify] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/media/mojo/services/BUILD.gn
[add] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/media/mojo/services/mojo_audio_input_stream_observer.cc
[add] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/media/mojo/services/mojo_audio_input_stream_observer.h
[add] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/media/mojo/services/mojo_audio_input_stream_observer_unittest.cc
[modify] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/services/audio/input_stream.cc
[modify] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/services/audio/input_stream.h
[modify] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/services/audio/input_stream_unittest.cc
[modify] https://crrev.com/61437a92cf5e46c822b53a4491cc01dfdb3d807b/services/audio/output_stream_unittest.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a5d743c7743180244fea004fa19dc6e4a4007611

commit a5d743c7743180244fea004fa19dc6e4a4007611
Author: Marina Ciocea <marinaciocea@chromium.org>
Date: Thu Apr 12 08:31:20 2018

Add input stream factory in audio service.

Add function for creating input streams in audio::StreamFactory.
This implementation is not used yet, and it uses a nullptr UserInputMonitor for now.
UserInputMonitor will be moved to audio service in an upcoming CL.

Design: http://drawings/1_ZIKj6lihGKRjq4Mflduitmkn_REqpHFeqVNelBGHHk

Bug:  803102 
Change-Id: Ie9633adfde67f42665bbc1fa3a2fa12b21171838
Reviewed-on: https://chromium-review.googlesource.com/999418
Commit-Queue: Marina Ciocea <marinaciocea@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550107}
[modify] https://crrev.com/a5d743c7743180244fea004fa19dc6e4a4007611/services/audio/input_stream.cc
[modify] https://crrev.com/a5d743c7743180244fea004fa19dc6e4a4007611/services/audio/input_stream.h
[modify] https://crrev.com/a5d743c7743180244fea004fa19dc6e4a4007611/services/audio/input_stream_unittest.cc
[modify] https://crrev.com/a5d743c7743180244fea004fa19dc6e4a4007611/services/audio/public/mojom/stream_factory.mojom
[modify] https://crrev.com/a5d743c7743180244fea004fa19dc6e4a4007611/services/audio/stream_factory.cc
[modify] https://crrev.com/a5d743c7743180244fea004fa19dc6e4a4007611/services/audio/stream_factory.h

Comment 24 by olka@chromium.org, Apr 19 2018

Blockedon: -828868
Blockedon: -828867
Project Member

Comment 26 by bugdroid1@chromium.org, May 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/40fa5104698b8e2592af603eef2844060323135a

commit 40fa5104698b8e2592af603eef2844060323135a
Author: Max Morin <maxmorin@chromium.org>
Date: Wed May 02 21:09:52 2018

Add missing call to audio service registry.

Missed in https://chromium-review.googlesource.com/c/chromium/src/+/1004634.

Bug:  803102 
Change-Id: I9366f75252bfcf9009491dfbfae481bee40e042c
Reviewed-on: https://chromium-review.googlesource.com/1039809
Reviewed-by: Olga Sharonova <olka@chromium.org>
Commit-Queue: Olga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555528}
[modify] https://crrev.com/40fa5104698b8e2592af603eef2844060323135a/services/audio/service.cc

Status: Fixed (was: Started)
[bulk-edit: disregard if N/A] Can the owner please set milestone to this bug if applicable?
Project Member

Comment 29 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/331f7ff4edf27bca29aff00c4197df9b9d0842e4

commit 331f7ff4edf27bca29aff00c4197df9b9d0842e4
Author: Armando Miraglia <armax@chromium.org>
Date: Tue Aug 21 09:56:13 2018

Remove checks for params.IsValid in favour of DCHECK() checks.

According to the TODOs left in the code and the state of crbug/803102,
it is now safe to remove the params.IsValid() from some if-statements.
This is so, when the paramters are passed through Mojo, which will
already perform the checks.

To guarantee that all is working correctly, the check is transfromed
into a DCHECK.

BUG= 803102 

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I069a902141d8003f2bb9656f691b5bbbdb69c259
Reviewed-on: https://chromium-review.googlesource.com/1181134
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584703}
[modify] https://crrev.com/331f7ff4edf27bca29aff00c4197df9b9d0842e4/media/audio/audio_input_controller.cc
[modify] https://crrev.com/331f7ff4edf27bca29aff00c4197df9b9d0842e4/media/audio/audio_input_controller_unittest.cc
[modify] https://crrev.com/331f7ff4edf27bca29aff00c4197df9b9d0842e4/media/audio/audio_manager_base.cc
[modify] https://crrev.com/331f7ff4edf27bca29aff00c4197df9b9d0842e4/services/audio/input_controller.cc
[modify] https://crrev.com/331f7ff4edf27bca29aff00c4197df9b9d0842e4/services/audio/input_controller_unittest.cc
[modify] https://crrev.com/331f7ff4edf27bca29aff00c4197df9b9d0842e4/services/audio/input_stream.cc

Sign in to add a comment