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

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: export fix 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 2336 matching lines...) Expand 10 before | Expand all | Expand 10 after
2444 2443
2445 blink::WebMediaStream web_stream( 2444 blink::WebMediaStream web_stream(
2446 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); 2445 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url));
2447 if (!web_stream.isNull()) 2446 if (!web_stream.isNull())
2448 return CreateWebMediaPlayerForMediaStream(client, sink_id, 2447 return CreateWebMediaPlayerForMediaStream(client, sink_id,
2449 frame->securityOrigin()); 2448 frame->securityOrigin());
2450 2449
2451 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 2450 RenderThreadImpl* render_thread = RenderThreadImpl::current();
2452 2451
2453 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink = 2452 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink =
2454 render_thread->GetAudioRendererMixerManager()->CreateInput( 2453 AudioDeviceFactory::NewRestartableOutputDevice(
2455 routing_id_, sink_id.utf8(), frame->securityOrigin()); 2454 AudioDeviceFactory::kSourceHighLatency, routing_id_, 0,
2455 sink_id.utf8(), frame->securityOrigin());
2456 media::WebMediaPlayerParams::Context3DCB context_3d_cb = 2456 media::WebMediaPlayerParams::Context3DCB context_3d_cb =
2457 base::Bind(&GetSharedMainThreadContext3D); 2457 base::Bind(&GetSharedMainThreadContext3D);
2458 2458
2459 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 2459 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
2460 media::WebMediaPlayerParams params( 2460 media::WebMediaPlayerParams params(
2461 base::Bind(&ContentRendererClient::DeferMediaLoad, 2461 base::Bind(&ContentRendererClient::DeferMediaLoad,
2462 base::Unretained(GetContentClient()->renderer()), 2462 base::Unretained(GetContentClient()->renderer()),
2463 static_cast<RenderFrame*>(this), 2463 static_cast<RenderFrame*>(this),
2464 GetWebMediaPlayerDelegate()->has_played_media()), 2464 GetWebMediaPlayerDelegate()->has_played_media()),
2465 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2465 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
(...skipping 3608 matching lines...) Expand 10 before | Expand all | Expand 10 after
6074 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); 6074 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this);
6075 return media_player_delegate_; 6075 return media_player_delegate_;
6076 } 6076 }
6077 6077
6078 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( 6078 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized(
6079 const blink::WebString& sink_id, 6079 const blink::WebString& sink_id,
6080 const blink::WebSecurityOrigin& security_origin, 6080 const blink::WebSecurityOrigin& security_origin,
6081 blink::WebSetSinkIdCallbacks* web_callbacks) { 6081 blink::WebSetSinkIdCallbacks* web_callbacks) {
6082 media::SwitchOutputDeviceCB callback = 6082 media::SwitchOutputDeviceCB callback =
6083 media::ConvertToSwitchOutputDeviceCB(web_callbacks); 6083 media::ConvertToSwitchOutputDeviceCB(web_callbacks);
6084 scoped_refptr<media::AudioOutputDevice> device = 6084 callback.Run(AudioDeviceFactory::GetOutputDeviceStatus(
6085 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), 6085 routing_id_, 0, sink_id.utf8(), security_origin));
6086 security_origin);
6087 media::OutputDeviceStatus status = device->GetDeviceStatus();
6088 device->Stop();
6089 callback.Run(status);
6090 } 6086 }
6091 6087
6092 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() { 6088 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() {
6093 if (!is_main_frame_) 6089 if (!is_main_frame_)
6094 return nullptr; 6090 return nullptr;
6095 6091
6096 if (frame_->document().isPluginDocument()) 6092 if (frame_->document().isPluginDocument())
6097 return frame_->document().to<WebPluginDocument>().plugin(); 6093 return frame_->document().to<WebPluginDocument>().plugin();
6098 6094
6099 #if defined(ENABLE_PLUGINS) 6095 #if defined(ENABLE_PLUGINS)
6100 if (plugin_find_handler_) 6096 if (plugin_find_handler_)
6101 return plugin_find_handler_->container()->plugin(); 6097 return plugin_find_handler_->container()->plugin();
6102 #endif 6098 #endif
6103 6099
6104 return nullptr; 6100 return nullptr;
6105 } 6101 }
6106 6102
6107 void RenderFrameImpl::SendFindReply(int request_id, 6103 void RenderFrameImpl::SendFindReply(int request_id,
6108 int match_count, 6104 int match_count,
6109 int ordinal, 6105 int ordinal,
6110 const WebRect& selection_rect, 6106 const WebRect& selection_rect,
6111 bool final_status_update) { 6107 bool final_status_update) {
6112 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, 6108 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count,
6113 selection_rect, ordinal, 6109 selection_rect, ordinal,
6114 final_status_update)); 6110 final_status_update));
6115 } 6111 }
6116 6112
6117 } // namespace content 6113 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698