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

Side by Side Diff: content/browser/media/android/browser_media_player_manager.cc

Issue 1128383003: Implementation of MediaCodecPlayer stage 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed unused media_codec_player_state.h and .cc Created 5 years, 7 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
« no previous file with comments | « no previous file | media/base/android/BUILD.gn » ('j') | media/base/android/BUILD.gn » ('J')
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/browser/media/android/browser_media_player_manager.h" 5 #include "content/browser/media/android/browser_media_player_manager.h"
6 6
7 #include "base/android/scoped_java_ref.h" 7 #include "base/android/scoped_java_ref.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "content/browser/android/content_view_core_impl.h" 9 #include "content/browser/android/content_view_core_impl.h"
10 #include "content/browser/android/media_players_observer.h" 10 #include "content/browser/android/media_players_observer.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 BrowserDemuxerAndroid* demuxer) { 83 BrowserDemuxerAndroid* demuxer) {
84 switch (media_player_params.type) { 84 switch (media_player_params.type) {
85 case MEDIA_PLAYER_TYPE_URL: { 85 case MEDIA_PLAYER_TYPE_URL: {
86 const std::string user_agent = GetContentClient()->GetUserAgent(); 86 const std::string user_agent = GetContentClient()->GetUserAgent();
87 MediaPlayerBridge* media_player_bridge = new MediaPlayerBridge( 87 MediaPlayerBridge* media_player_bridge = new MediaPlayerBridge(
88 media_player_params.player_id, 88 media_player_params.player_id,
89 media_player_params.url, 89 media_player_params.url,
90 media_player_params.first_party_for_cookies, 90 media_player_params.first_party_for_cookies,
91 user_agent, 91 user_agent,
92 hide_url_log, 92 hide_url_log,
93 manager, 93 manager,
wolenetz 2015/05/19 21:58:36 hmm. Is this ever not |this|? Do we even need the
Tima Vaisburd 2015/05/22 22:48:53 Yes, I removed |manager| parameter.
94 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, 94 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
95 weak_ptr_factory_.GetWeakPtr()), 95 weak_ptr_factory_.GetWeakPtr()),
96 media_player_params.frame_url, 96 media_player_params.frame_url,
97 media_player_params.allow_credentials); 97 media_player_params.allow_credentials);
98 BrowserMediaPlayerManager* browser_media_player_manager = 98 BrowserMediaPlayerManager* browser_media_player_manager =
99 static_cast<BrowserMediaPlayerManager*>(manager); 99 static_cast<BrowserMediaPlayerManager*>(manager);
100 ContentViewCoreImpl* content_view_core_impl = 100 ContentViewCoreImpl* content_view_core_impl =
101 static_cast<ContentViewCoreImpl*>(ContentViewCore::FromWebContents( 101 static_cast<ContentViewCoreImpl*>(ContentViewCore::FromWebContents(
102 browser_media_player_manager->web_contents_)); 102 browser_media_player_manager->web_contents_));
103 if (!content_view_core_impl) { 103 if (!content_view_core_impl) {
104 // May reach here due to prerendering. Don't extract the metadata 104 // May reach here due to prerendering. Don't extract the metadata
105 // since it is expensive. 105 // since it is expensive.
106 // TODO(qinmin): extract the metadata once the user decided to load 106 // TODO(qinmin): extract the metadata once the user decided to load
107 // the page. 107 // the page.
108 browser_media_player_manager->OnMediaMetadataChanged( 108 browser_media_player_manager->OnMediaMetadataChanged(
109 media_player_params.player_id, base::TimeDelta(), 0, 0, false); 109 media_player_params.player_id, base::TimeDelta(), 0, 0, false);
110 } else if (!content_view_core_impl->ShouldBlockMediaRequest( 110 } else if (!content_view_core_impl->ShouldBlockMediaRequest(
111 media_player_params.url)) { 111 media_player_params.url)) {
112 media_player_bridge->Initialize(); 112 media_player_bridge->Initialize();
113 } 113 }
114 return media_player_bridge; 114 return media_player_bridge;
115 } 115 }
116 116
117 case MEDIA_PLAYER_TYPE_MEDIA_SOURCE: { 117 case MEDIA_PLAYER_TYPE_MEDIA_SOURCE: {
118 if (base::CommandLine::ForCurrentProcess()-> 118 if (base::CommandLine::ForCurrentProcess()->
119 HasSwitch(switches::kEnableMediaThreadForMediaPlayback)) { 119 HasSwitch(switches::kEnableMediaThreadForMediaPlayback)) {
120 return new MediaCodecPlayer( 120 return new MediaCodecPlayer(
121 media_player_params.player_id, 121 media_player_params.player_id,
122 manager, 122 weak_ptr_factory_.GetWeakPtr(),
123 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, 123 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
124 weak_ptr_factory_.GetWeakPtr()), 124 weak_ptr_factory_.GetWeakPtr()),
125 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), 125 demuxer->CreateDemuxer(media_player_params.demuxer_client_id),
126 media_player_params.frame_url); 126 media_player_params.frame_url);
127 } else { 127 } else {
128 return new MediaSourcePlayer( 128 return new MediaSourcePlayer(
129 media_player_params.player_id, 129 media_player_params.player_id,
130 manager, 130 this,
131 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, 131 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
132 weak_ptr_factory_.GetWeakPtr()), 132 weak_ptr_factory_.GetWeakPtr()),
133 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), 133 demuxer->CreateDemuxer(media_player_params.demuxer_client_id),
134 media_player_params.frame_url); 134 media_player_params.frame_url);
135 } 135 }
136 } 136 }
137 } 137 }
138 138
139 NOTREACHED(); 139 NOTREACHED();
140 return NULL; 140 return NULL;
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 external_video_surface_container_->ReleaseExternalVideoSurface(player_id); 619 external_video_surface_container_->ReleaseExternalVideoSurface(player_id);
620 #endif // defined(VIDEO_HOLE) 620 #endif // defined(VIDEO_HOLE)
621 } 621 }
622 622
623 void BrowserMediaPlayerManager::ReleasePlayer(MediaPlayerAndroid* player) { 623 void BrowserMediaPlayerManager::ReleasePlayer(MediaPlayerAndroid* player) {
624 player->Release(); 624 player->Release();
625 ReleaseMediaResources(player->player_id()); 625 ReleaseMediaResources(player->player_id());
626 } 626 }
627 627
628 } // namespace content 628 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | media/base/android/BUILD.gn » ('j') | media/base/android/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698