Convert AudioRendererSink::GetOutputDeviceInfo() to be async only. |
|||||||
Issue descriptionThere are too many issues with having this API be synchronous; from timeouts to render thread blocks. It makes more sense for it to take a callback and return the info once it's available. If we switched this API to be async we can remove the timeouts entirely or have them be informational only. The clients which would be hard to convert are: Cast Mojo Media Client: https://cs.chromium.org/chromium/src/chromecast/media/service/cast_mojo_media_client.cc?q=GetOutputDeviceInfo&sq=package:chromium&l=77&dr=C Track audio renderer: https://cs.chromium.org/chromium/src/content/renderer/media/track_audio_renderer.cc?q=GetOutputDeviceInfo&sq=package:chromium&l=304&dr=C WebRTC audio rendering: https://cs.chromium.org/chromium/src/content/renderer/media/webrtc_audio_renderer.cc?q=GetOutputDeviceInfo&sq=package:chromium&l=200&dr=C https://cs.chromium.org/chromium/src/content/renderer/media/webrtc_local_audio_source_provider.cc?q=GetOutputDeviceInfo&sq=package:chromium&dr=C AudioRendererMixerManager::GetMixer() https://cs.chromium.org/chromium/src/content/renderer/media/audio_renderer_mixer_manager.cc?q=GetOutputDeviceInfo&sq=package:chromium&l=193&dr=C GetAudioHardwareParams: https://cs.chromium.org/chromium/src/content/renderer/renderer_blink_platform_impl.cc?q=GetOutputDeviceInfo&sq=package:chromium&l=184&dr=C Pepper Plugin instance: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_plugin_instance_impl.cc?q=GetOutputDeviceInfo&sq=package:chromium&dr=C The steps to conversion would be: - Introduce new async api, convert simple clients. - Convert harder clients. - Remove older API.
,
Nov 24 2016
Unfortunately, I was too optimistic. As you pointed out on that thread and here as well, we have quite a lot of clients to convert, and we don't have resources for that. It should be a separate effort.
,
Dec 12 2016
Dale, do you want to keep it to yourself?
,
Dec 12 2016
I guess that's usually what happens, so why not :)
,
Dec 14 2016
,
Dec 16 2016
,
Dec 16 2016
,
Jan 16 2017
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dalecur...@chromium.org
, Nov 23 2016