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

Side by Side Diff: chrome/browser/media/router/mojo/media_router_mojo_impl.cc

Issue 2927833002: [Media Router] Add CastMediaSinkService (Closed)
Patch Set: add dependency patchset Created 3 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/media/router/mojo/media_router_mojo_impl.h" 5 #include "chrome/browser/media/router/mojo/media_router_mojo_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/guid.h" 12 #include "base/guid.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/observer_list.h" 15 #include "base/observer_list.h"
16 #include "base/stl_util.h" 16 #include "base/stl_util.h"
17 #include "base/strings/stringprintf.h" 17 #include "base/strings/stringprintf.h"
18 #include "chrome/browser/media/router/discovery/dial/dial_media_sink_service_pro xy.h" 18 #include "chrome/browser/media/router/discovery/dial/dial_media_sink_service_pro xy.h"
19 #include "chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h"
19 #include "chrome/browser/media/router/issues_observer.h" 20 #include "chrome/browser/media/router/issues_observer.h"
20 #include "chrome/browser/media/router/media_router_factory.h" 21 #include "chrome/browser/media/router/media_router_factory.h"
21 #include "chrome/browser/media/router/media_router_feature.h" 22 #include "chrome/browser/media/router/media_router_feature.h"
22 #include "chrome/browser/media/router/media_routes_observer.h" 23 #include "chrome/browser/media/router/media_routes_observer.h"
23 #include "chrome/browser/media/router/media_sinks_observer.h" 24 #include "chrome/browser/media/router/media_sinks_observer.h"
24 #include "chrome/browser/media/router/mojo/media_route_controller.h" 25 #include "chrome/browser/media/router/mojo/media_route_controller.h"
25 #include "chrome/browser/media/router/mojo/media_route_provider_util_win.h" 26 #include "chrome/browser/media/router/mojo/media_route_provider_util_win.h"
26 #include "chrome/browser/media/router/mojo/media_router_mojo_metrics.h" 27 #include "chrome/browser/media/router/mojo/media_router_mojo_metrics.h"
27 #include "chrome/browser/media/router/route_message_observer.h" 28 #include "chrome/browser/media/router/route_message_observer.h"
28 #include "chrome/browser/profiles/profile.h" 29 #include "chrome/browser/profiles/profile.h"
(...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 // The MRPM extension already turns on mDNS discovery for platforms other than 1006 // The MRPM extension already turns on mDNS discovery for platforms other than
1006 // Windows. It only relies on this signalling from MR on Windows to avoid 1007 // Windows. It only relies on this signalling from MR on Windows to avoid
1007 // triggering a firewall prompt out of the context of MR from the user's 1008 // triggering a firewall prompt out of the context of MR from the user's
1008 // perspective. This particular call reminds the extension to enable mDNS 1009 // perspective. This particular call reminds the extension to enable mDNS
1009 // discovery when it wakes up, has been upgraded, etc. 1010 // discovery when it wakes up, has been upgraded, etc.
1010 if (should_enable_mdns_discovery_) { 1011 if (should_enable_mdns_discovery_) {
1011 DoEnsureMdnsDiscoveryEnabled(); 1012 DoEnsureMdnsDiscoveryEnabled();
1012 } 1013 }
1013 #endif 1014 #endif
1014 1015
1015 if (media_router::DialLocalDiscoveryEnabled()) 1016 StartDiscovery();
1016 StartDiscovery();
1017 } 1017 }
1018 1018
1019 void MediaRouterMojoImpl::EventPageWakeComplete(bool success) { 1019 void MediaRouterMojoImpl::EventPageWakeComplete(bool success) {
1020 if (success) { 1020 if (success) {
1021 MediaRouterMojoMetrics::RecordMediaRouteProviderWakeReason( 1021 MediaRouterMojoMetrics::RecordMediaRouteProviderWakeReason(
1022 current_wake_reason_); 1022 current_wake_reason_);
1023 ClearWakeReason(); 1023 ClearWakeReason();
1024 MediaRouterMojoMetrics::RecordMediaRouteProviderWakeup( 1024 MediaRouterMojoMetrics::RecordMediaRouteProviderWakeup(
1025 MediaRouteProviderWakeup::SUCCESS); 1025 MediaRouteProviderWakeup::SUCCESS);
1026 return; 1026 return;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 bool firewall_can_use_local_ports) { 1076 bool firewall_can_use_local_ports) {
1077 if (firewall_can_use_local_ports) 1077 if (firewall_can_use_local_ports)
1078 EnsureMdnsDiscoveryEnabled(); 1078 EnsureMdnsDiscoveryEnabled();
1079 } 1079 }
1080 #endif 1080 #endif
1081 1081
1082 void MediaRouterMojoImpl::StartDiscovery() { 1082 void MediaRouterMojoImpl::StartDiscovery() {
1083 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 1083 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
1084 DVLOG_WITH_INSTANCE(1) << "StartDiscovery"; 1084 DVLOG_WITH_INSTANCE(1) << "StartDiscovery";
1085 1085
1086 if (!dial_media_sink_service_proxy_) { 1086 if (media_router::DialLocalDiscoveryEnabled()) {
1087 dial_media_sink_service_proxy_ = new DialMediaSinkServiceProxy( 1087 if (!dial_media_sink_service_proxy_) {
1088 base::Bind(&MediaRouterMojoImpl::ProvideSinks, 1088 dial_media_sink_service_proxy_ = new DialMediaSinkServiceProxy(
1089 weak_factory_.GetWeakPtr(), "dial"), 1089 base::Bind(&MediaRouterMojoImpl::ProvideSinks,
1090 context_); 1090 weak_factory_.GetWeakPtr(), "dial"),
1091 context_);
1092 }
1093 dial_media_sink_service_proxy_->Start();
1091 } 1094 }
1092 1095
1093 dial_media_sink_service_proxy_->Start(); 1096 if (media_router::CastDiscoveryEnabled()) {
1097 if (!cast_media_sink_service_) {
1098 cast_media_sink_service_ = new CastMediaSinkService(
1099 base::Bind(&MediaRouterMojoImpl::ProvideSinks,
1100 weak_factory_.GetWeakPtr(), "cast"),
1101 context_);
1102 }
1103 cast_media_sink_service_->Start();
1104 }
1094 } 1105 }
1095 1106
1096 void MediaRouterMojoImpl::UpdateMediaSinks( 1107 void MediaRouterMojoImpl::UpdateMediaSinks(
1097 const MediaSource::Id& source_id) { 1108 const MediaSource::Id& source_id) {
1098 SetWakeReason(MediaRouteProviderWakeReason::UPDATE_MEDIA_SINKS); 1109 SetWakeReason(MediaRouteProviderWakeReason::UPDATE_MEDIA_SINKS);
1099 RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoUpdateMediaSinks, 1110 RunOrDefer(base::BindOnce(&MediaRouterMojoImpl::DoUpdateMediaSinks,
1100 base::Unretained(this), source_id)); 1111 base::Unretained(this), source_id));
1101 } 1112 }
1102 1113
1103 void MediaRouterMojoImpl::DoUpdateMediaSinks( 1114 void MediaRouterMojoImpl::DoUpdateMediaSinks(
(...skipping 17 matching lines...) Expand all
1121 1132
1122 void MediaRouterMojoImpl::OnMediaControllerCreated( 1133 void MediaRouterMojoImpl::OnMediaControllerCreated(
1123 const MediaRoute::Id& route_id, 1134 const MediaRoute::Id& route_id,
1124 bool success) { 1135 bool success) {
1125 DVLOG_WITH_INSTANCE(1) << "OnMediaControllerCreated: " << route_id 1136 DVLOG_WITH_INSTANCE(1) << "OnMediaControllerCreated: " << route_id
1126 << (success ? " was successful." : " failed."); 1137 << (success ? " was successful." : " failed.");
1127 MediaRouterMojoMetrics::RecordMediaRouteControllerCreationResult(success); 1138 MediaRouterMojoMetrics::RecordMediaRouteControllerCreationResult(success);
1128 } 1139 }
1129 1140
1130 } // namespace media_router 1141 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698