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

Issue metadata

Status: Fixed
Owner:
Closed: Jul 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 792441


Participants' hotlists:
Audio-Service


Sign in to add a comment

Add Mojo AudioLogFactory and AudioLogFactoryAdapter

Project Member Reported by guidou@chromium.org, Feb 15

Issue description

AudioOutputDispatcher uses AudioManager::CreateAudioLog to create media::AudioLogs.

Currently, AudioManager is created and owned by content::BrowserMainLoop and actual AudioLogs are created by content::MediaInternals, which currently implements media::AudioLogFactory.

Once AudioManager moves to the audio service, content::MediaInternals() will be remote respect to AudioManager, so it will need to be a media::mojom::AudioLogFactory.

AudioOutputDispatcher will need an AudioLogFactoryAdapter that implements media::AudioLogFactory and wraps the mojo factory (AudioOutputDispatcher cannot use mojo interfaces directly due to layering restrictions).
 
Blocking: 792441
Cc: marinaciocea@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, May 7

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

commit 7c90637ba27fd4d5300abe83c85ba21ad355f240
Author: Max Morin <maxmorin@chromium.org>
Date: Mon May 07 08:32:44 2018

Use FakeAudioLogFactory when out-of-process.

This facilitates further development until logging stuff is ready.

No-Try since last PS only added a comment.

No-Try: true
Bug:  812557 
Change-Id: I2121ea9d485c7db999b8d89d9fa0039ef9ab8136
Reviewed-on: https://chromium-review.googlesource.com/1046206
Commit-Queue: Max Morin <maxmorin@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556392}
[modify] https://crrev.com/7c90637ba27fd4d5300abe83c85ba21ad355f240/services/audio/owning_audio_manager_accessor.cc
[modify] https://crrev.com/7c90637ba27fd4d5300abe83c85ba21ad355f240/services/audio/owning_audio_manager_accessor.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 12

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

commit ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae
Author: Guido Urdaneta <guidou@chromium.org>
Date: Thu Jul 12 09:19:34 2018

Add AudioLogFactory mojo interface.

This interface allows a mojo client to create audio logs on
the browser process.
This CL also removes content::MojoLogAudioAdapter, which is moved to the
audio service as audio::LogAdapter in follow-up CL crrev.com/c/1128974

Bug:  812557 
Change-Id: I70504a4878553f1a3c2d58a29c6ab960b6f15b39
Reviewed-on: https://chromium-review.googlesource.com/1128966
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574508}
[modify] https://crrev.com/ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae/content/browser/BUILD.gn
[add] https://crrev.com/ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae/content/browser/media/audio_log_factory.cc
[add] https://crrev.com/ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae/content/browser/media/audio_log_factory.h
[modify] https://crrev.com/ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae/content/browser/media/media_internals.cc
[modify] https://crrev.com/ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae/content/browser/media/media_internals.h
[delete] https://crrev.com/75c9e38bcfe01f3a7c2637050ddcb2f342dd3034/content/browser/media/mojo_audio_logging_adapter.cc
[delete] https://crrev.com/75c9e38bcfe01f3a7c2637050ddcb2f342dd3034/content/browser/media/mojo_audio_logging_adapter.h
[modify] https://crrev.com/ee6cfd00b7b35f8bc4ced3eecc801fa2f55a85ae/media/mojo/interfaces/audio_logging.mojom

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 17

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

commit 73a21d4bebaa475740f89961a4635b0b7813d76a
Author: Guido Urdaneta <guidou@chromium.org>
Date: Tue Jul 17 06:31:09 2018

Add LogFactoryManager to audio service.

This allows the browser process to set a factory so that the audio
service can create audio logs on the browser process.

Bug:  812557 
Change-Id: Ia88acb6cb911fc0ad4a47f20b3a628c814233c6b
Reviewed-on: https://chromium-review.googlesource.com/1128974
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Reviewed-by: Marina Ciocea <marinaciocea@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575561}
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/content/browser/renderer_host/media/audio_service_listener.cc
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/content/browser/renderer_host/media/audio_service_listener.h
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/BUILD.gn
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/in_process_audio_manager_accessor.cc
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/in_process_audio_manager_accessor.h
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_adapter.cc
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_adapter.h
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_factory_adapter.cc
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_factory_adapter.h
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_factory_manager.cc
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_factory_manager.h
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/log_factory_manager_unittest.cc
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/manifest.json
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/owning_audio_manager_accessor.cc
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/owning_audio_manager_accessor.h
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/public/mojom/BUILD.gn
[add] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/public/mojom/log_factory_manager.mojom
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/service.cc
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/service.h
[modify] https://crrev.com/73a21d4bebaa475740f89961a4635b0b7813d76a/services/audio/service_factory.cc

Status: Fixed (was: Assigned)

Sign in to add a comment