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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 1666363005: Switching audio clients to using RestartableAudioRendererSink interface as a sink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 #include "content/renderer/external_popup_menu.h" 87 #include "content/renderer/external_popup_menu.h"
88 #include "content/renderer/geolocation_dispatcher.h" 88 #include "content/renderer/geolocation_dispatcher.h"
89 #include "content/renderer/gpu/gpu_benchmarking_extension.h" 89 #include "content/renderer/gpu/gpu_benchmarking_extension.h"
90 #include "content/renderer/history_controller.h" 90 #include "content/renderer/history_controller.h"
91 #include "content/renderer/history_serialization.h" 91 #include "content/renderer/history_serialization.h"
92 #include "content/renderer/image_downloader/image_downloader_impl.h" 92 #include "content/renderer/image_downloader/image_downloader_impl.h"
93 #include "content/renderer/ime_event_guard.h" 93 #include "content/renderer/ime_event_guard.h"
94 #include "content/renderer/internal_document_state_data.h" 94 #include "content/renderer/internal_document_state_data.h"
95 #include "content/renderer/manifest/manifest_manager.h" 95 #include "content/renderer/manifest/manifest_manager.h"
96 #include "content/renderer/media/audio_device_factory.h" 96 #include "content/renderer/media/audio_device_factory.h"
97 #include "content/renderer/media/audio_renderer_mixer_manager.h"
98 #include "content/renderer/media/cdm/render_cdm_factory.h" 97 #include "content/renderer/media/cdm/render_cdm_factory.h"
99 #include "content/renderer/media/media_permission_dispatcher.h" 98 #include "content/renderer/media/media_permission_dispatcher.h"
100 #include "content/renderer/media/media_stream_dispatcher.h" 99 #include "content/renderer/media/media_stream_dispatcher.h"
101 #include "content/renderer/media/media_stream_renderer_factory_impl.h" 100 #include "content/renderer/media/media_stream_renderer_factory_impl.h"
102 #include "content/renderer/media/midi_dispatcher.h" 101 #include "content/renderer/media/midi_dispatcher.h"
103 #include "content/renderer/media/render_media_log.h" 102 #include "content/renderer/media/render_media_log.h"
104 #include "content/renderer/media/renderer_webmediaplayer_delegate.h" 103 #include "content/renderer/media/renderer_webmediaplayer_delegate.h"
105 #include "content/renderer/media/user_media_client_impl.h" 104 #include "content/renderer/media/user_media_client_impl.h"
106 #include "content/renderer/media/webmediaplayer_ms.h" 105 #include "content/renderer/media/webmediaplayer_ms.h"
107 #include "content/renderer/mojo/service_registry_js_wrapper.h" 106 #include "content/renderer/mojo/service_registry_js_wrapper.h"
(...skipping 2360 matching lines...) Expand 10 before | Expand all | Expand 10 after
2468 2467
2469 blink::WebMediaStream web_stream( 2468 blink::WebMediaStream web_stream(
2470 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); 2469 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url));
2471 if (!web_stream.isNull()) 2470 if (!web_stream.isNull())
2472 return CreateWebMediaPlayerForMediaStream(client, sink_id, 2471 return CreateWebMediaPlayerForMediaStream(client, sink_id,
2473 frame->securityOrigin()); 2472 frame->securityOrigin());
2474 2473
2475 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 2474 RenderThreadImpl* render_thread = RenderThreadImpl::current();
2476 2475
2477 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink = 2476 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink =
2478 render_thread->GetAudioRendererMixerManager()->CreateInput( 2477 AudioDeviceFactory::NewRestartableAudioRendererSink(
2479 routing_id_, sink_id.utf8(), frame->securityOrigin()); 2478 AudioDeviceFactory::kSourceMediaElement, routing_id_, 0,
2479 sink_id.utf8(), frame->securityOrigin());
2480 media::WebMediaPlayerParams::Context3DCB context_3d_cb = 2480 media::WebMediaPlayerParams::Context3DCB context_3d_cb =
2481 base::Bind(&GetSharedMainThreadContext3D); 2481 base::Bind(&GetSharedMainThreadContext3D);
2482 2482
2483 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 2483 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
2484 media::WebMediaPlayerParams params( 2484 media::WebMediaPlayerParams params(
2485 base::Bind(&ContentRendererClient::DeferMediaLoad, 2485 base::Bind(&ContentRendererClient::DeferMediaLoad,
2486 base::Unretained(GetContentClient()->renderer()), 2486 base::Unretained(GetContentClient()->renderer()),
2487 static_cast<RenderFrame*>(this), 2487 static_cast<RenderFrame*>(this),
2488 GetWebMediaPlayerDelegate()->has_played_media()), 2488 GetWebMediaPlayerDelegate()->has_played_media()),
2489 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2489 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
(...skipping 3607 matching lines...) Expand 10 before | Expand all | Expand 10 after
6097 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); 6097 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this);
6098 return media_player_delegate_; 6098 return media_player_delegate_;
6099 } 6099 }
6100 6100
6101 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( 6101 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized(
6102 const blink::WebString& sink_id, 6102 const blink::WebString& sink_id,
6103 const blink::WebSecurityOrigin& security_origin, 6103 const blink::WebSecurityOrigin& security_origin,
6104 blink::WebSetSinkIdCallbacks* web_callbacks) { 6104 blink::WebSetSinkIdCallbacks* web_callbacks) {
6105 media::SwitchOutputDeviceCB callback = 6105 media::SwitchOutputDeviceCB callback =
6106 media::ConvertToSwitchOutputDeviceCB(web_callbacks); 6106 media::ConvertToSwitchOutputDeviceCB(web_callbacks);
6107 scoped_refptr<media::AudioOutputDevice> device = 6107 callback.Run(AudioDeviceFactory::GetOutputDeviceStatus(
6108 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), 6108 routing_id_, 0, sink_id.utf8(), security_origin));
6109 security_origin);
6110 media::OutputDeviceStatus status = device->GetDeviceStatus();
6111 device->Stop();
6112 callback.Run(status);
6113 } 6109 }
6114 6110
6115 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() { 6111 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() {
6116 if (!is_main_frame_) 6112 if (!is_main_frame_)
6117 return nullptr; 6113 return nullptr;
6118 6114
6119 if (frame_->document().isPluginDocument()) 6115 if (frame_->document().isPluginDocument())
6120 return frame_->document().to<WebPluginDocument>().plugin(); 6116 return frame_->document().to<WebPluginDocument>().plugin();
6121 6117
6122 #if defined(ENABLE_PLUGINS) 6118 #if defined(ENABLE_PLUGINS)
6123 if (plugin_find_handler_) 6119 if (plugin_find_handler_)
6124 return plugin_find_handler_->container()->plugin(); 6120 return plugin_find_handler_->container()->plugin();
6125 #endif 6121 #endif
6126 6122
6127 return nullptr; 6123 return nullptr;
6128 } 6124 }
6129 6125
6130 void RenderFrameImpl::SendFindReply(int request_id, 6126 void RenderFrameImpl::SendFindReply(int request_id,
6131 int match_count, 6127 int match_count,
6132 int ordinal, 6128 int ordinal,
6133 const WebRect& selection_rect, 6129 const WebRect& selection_rect,
6134 bool final_status_update) { 6130 bool final_status_update) {
6135 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, 6131 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count,
6136 selection_rect, ordinal, 6132 selection_rect, ordinal,
6137 final_status_update)); 6133 final_status_update));
6138 } 6134 }
6139 6135
6140 } // namespace content 6136 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698