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

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

Issue 2470003002: Media Remoting: Add feature to control enabling Media Remoting. (Closed)
Patch Set: Addressed xhwang's comments. Created 4 years, 1 month 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
« no previous file with comments | « no previous file | media/base/media_switches.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2755 matching lines...) Expand 10 before | Expand all | Expand 10 after
2766 RenderThreadImpl::current()->SharedMainThreadContextProvider()); 2766 RenderThreadImpl::current()->SharedMainThreadContextProvider());
2767 2767
2768 scoped_refptr<media::MediaLog> media_log( 2768 scoped_refptr<media::MediaLog> media_log(
2769 new RenderMediaLog(url::Origin(frame_->getSecurityOrigin()).GetURL())); 2769 new RenderMediaLog(url::Origin(frame_->getSecurityOrigin()).GetURL()));
2770 2770
2771 #if defined(OS_ANDROID) 2771 #if defined(OS_ANDROID)
2772 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_) 2772 if (UseWebMediaPlayerImpl(url) && !media_surface_manager_)
2773 media_surface_manager_ = new RendererSurfaceViewManager(this); 2773 media_surface_manager_ = new RendererSurfaceViewManager(this);
2774 #endif // defined(OS_ANDROID) 2774 #endif // defined(OS_ANDROID)
2775 2775
2776 base::WeakPtr<media::MediaObserver> media_observer;
2776 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 2777 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
2777 std::unique_ptr<media::RemotingController> remoting_controller = 2778 std::unique_ptr<media::RemotingController> remoting_controller;
2778 CreateRemotingController(); 2779 if (base::FeatureList::IsEnabled(media::kMediaRemoting)) {
2779 base::WeakPtr<media::MediaObserver> media_observer = 2780 remoting_controller = CreateRemotingController();
2780 remoting_controller->GetWeakPtr(); 2781 media_observer = remoting_controller->GetWeakPtr();
2781 #else 2782 }
2782 base::WeakPtr<media::MediaObserver> media_observer = nullptr;
2783 #endif 2783 #endif
2784 2784
2785 media::WebMediaPlayerParams params( 2785 media::WebMediaPlayerParams params(
2786 base::Bind(&ContentRendererClient::DeferMediaLoad, 2786 base::Bind(&ContentRendererClient::DeferMediaLoad,
2787 base::Unretained(GetContentClient()->renderer()), 2787 base::Unretained(GetContentClient()->renderer()),
2788 static_cast<RenderFrame*>(this), 2788 static_cast<RenderFrame*>(this),
2789 GetWebMediaPlayerDelegate()->has_played_media()), 2789 GetWebMediaPlayerDelegate()->has_played_media()),
2790 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2790 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
2791 render_thread->GetWorkerTaskRunner(), 2791 render_thread->GetWorkerTaskRunner(),
2792 render_thread->compositor_task_runner(), context_3d_cb, 2792 render_thread->compositor_task_runner(), context_3d_cb,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
2828 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( 2828 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>(
2829 media_log, GetDecoderFactory(), 2829 media_log, GetDecoderFactory(),
2830 base::Bind(&RenderThreadImpl::GetGpuFactories, 2830 base::Bind(&RenderThreadImpl::GetGpuFactories,
2831 base::Unretained(render_thread))); 2831 base::Unretained(render_thread)));
2832 #endif 2832 #endif
2833 } 2833 }
2834 2834
2835 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 2835 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
2836 media::RemotingController* remoting_controller_ptr = 2836 media::RemotingController* remoting_controller_ptr =
2837 remoting_controller.get(); 2837 remoting_controller.get();
2838 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>( 2838 if (remoting_controller) {
2839 std::move(media_renderer_factory), std::move(remoting_controller)); 2839 media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>(
2840 std::move(media_renderer_factory), std::move(remoting_controller));
2841 }
2840 #endif 2842 #endif
2841 2843
2842 if (!url_index_.get() || url_index_->frame() != frame_) 2844 if (!url_index_.get() || url_index_->frame() != frame_)
2843 url_index_.reset(new media::UrlIndex(frame_)); 2845 url_index_.reset(new media::UrlIndex(frame_));
2844 2846
2845 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( 2847 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl(
2846 frame_, client, encrypted_client, 2848 frame_, client, encrypted_client,
2847 GetWebMediaPlayerDelegate()->AsWeakPtr(), 2849 GetWebMediaPlayerDelegate()->AsWeakPtr(),
2848 std::move(media_renderer_factory), url_index_, params); 2850 std::move(media_renderer_factory), url_index_, params);
2849 2851
2850 #if defined(OS_ANDROID) // WMPI_CAST 2852 #if defined(OS_ANDROID) // WMPI_CAST
2851 media_player->SetMediaPlayerManager(GetMediaPlayerManager()); 2853 media_player->SetMediaPlayerManager(GetMediaPlayerManager());
2852 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor()); 2854 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor());
2853 media_player->SetUseFallbackPath(use_fallback_path); 2855 media_player->SetUseFallbackPath(use_fallback_path);
2854 #endif // defined(OS_ANDROID) 2856 #endif // defined(OS_ANDROID)
2855 2857
2856 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 2858 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
2857 remoting_controller_ptr->SetSwitchRendererCallback(base::Bind( 2859 if (remoting_controller_ptr) {
2858 &media::WebMediaPlayerImpl::ScheduleRestart, media_player->AsWeakPtr())); 2860 remoting_controller_ptr->SetSwitchRendererCallback(
2861 base::Bind(&media::WebMediaPlayerImpl::ScheduleRestart,
2862 media_player->AsWeakPtr()));
2863 }
2859 #endif 2864 #endif
2860 return media_player; 2865 return media_player;
2861 } 2866 }
2862 2867
2863 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( 2868 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost(
2864 blink::WebApplicationCacheHostClient* client) { 2869 blink::WebApplicationCacheHostClient* client) {
2865 if (!frame_ || !frame_->view()) 2870 if (!frame_ || !frame_->view())
2866 return NULL; 2871 return NULL;
2867 return new RendererWebApplicationCacheHostImpl( 2872 return new RendererWebApplicationCacheHostImpl(
2868 RenderViewImpl::FromWebView(frame_->view()), client, 2873 RenderViewImpl::FromWebView(frame_->view()), client,
(...skipping 3759 matching lines...) Expand 10 before | Expand all | Expand 10 after
6628 // event target. Potentially a Pepper plugin will receive the event. 6633 // event target. Potentially a Pepper plugin will receive the event.
6629 // In order to tell whether a plugin gets the last mouse event and which it 6634 // In order to tell whether a plugin gets the last mouse event and which it
6630 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6635 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6631 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6636 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6632 // |pepper_last_mouse_event_target_|. 6637 // |pepper_last_mouse_event_target_|.
6633 pepper_last_mouse_event_target_ = nullptr; 6638 pepper_last_mouse_event_target_ = nullptr;
6634 #endif 6639 #endif
6635 } 6640 }
6636 6641
6637 } // namespace content 6642 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | media/base/media_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698