Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/media_player_renderer.h" | 5 #include "content/browser/media/android/media_player_renderer.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "content/browser/android/scoped_surface_request_manager.h" | 9 #include "content/browser/android/scoped_surface_request_manager.h" |
| 10 #include "content/browser/media/android/media_resource_getter_impl.h" | 10 #include "content/browser/media/android/media_resource_getter_impl.h" |
| 11 #include "content/public/browser/browser_context.h" | 11 #include "content/public/browser/browser_context.h" |
| 12 #include "content/public/browser/browser_thread.h" | 12 #include "content/public/browser/browser_thread.h" |
| 13 #include "content/public/browser/render_process_host.h" | 13 #include "content/public/browser/render_process_host.h" |
| 14 #include "content/public/browser/storage_partition.h" | 14 #include "content/public/browser/storage_partition.h" |
| 15 #include "content/public/browser/web_contents.h" | 15 #include "content/public/browser/web_contents.h" |
| 16 #include "content/public/common/content_client.h" | 16 #include "content/public/common/content_client.h" |
| 17 | 17 |
| 18 // TODO(tguilbert): Remove this ID once MediaPlayerManager has been deleted | 18 // TODO(tguilbert): Remove this ID once MediaPlayerManager has been deleted |
| 19 // and MediaPlayerBridge updated. See comment in header file. | 19 // and MediaPlayerBridge updated. See comment in header file. |
| 20 constexpr int kUnusedAndIrrelevantPlayerId = 0; | 20 constexpr int kUnusedAndIrrelevantPlayerId = 0; |
| 21 | 21 |
| 22 namespace content { | 22 namespace content { |
| 23 | 23 |
| 24 static media::MediaUrlInterceptor* media_url_interceptor_ = nullptr; | |
|
watk
2016/10/28 22:34:48
This should have the g_ prefix (for global). And I
| |
| 25 | |
| 24 MediaPlayerRenderer::MediaPlayerRenderer(RenderFrameHost* render_frame_host) | 26 MediaPlayerRenderer::MediaPlayerRenderer(RenderFrameHost* render_frame_host) |
| 25 : render_frame_host_(render_frame_host), | 27 : render_frame_host_(render_frame_host), |
| 26 has_error_(false), | 28 has_error_(false), |
| 27 weak_factory_(this) {} | 29 weak_factory_(this) {} |
| 28 | 30 |
| 29 MediaPlayerRenderer::~MediaPlayerRenderer() { | 31 MediaPlayerRenderer::~MediaPlayerRenderer() { |
| 30 CancelScopedSurfaceRequest(); | 32 CancelScopedSurfaceRequest(); |
| 31 } | 33 } |
| 32 | 34 |
| 33 void MediaPlayerRenderer::Initialize( | 35 void MediaPlayerRenderer::Initialize( |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 156 storage::FileSystemContext* file_system_context = | 158 storage::FileSystemContext* file_system_context = |
| 157 partition ? partition->GetFileSystemContext() : nullptr; | 159 partition ? partition->GetFileSystemContext() : nullptr; |
| 158 media_resource_getter_.reset( | 160 media_resource_getter_.reset( |
| 159 new MediaResourceGetterImpl(context, file_system_context, host->GetID(), | 161 new MediaResourceGetterImpl(context, file_system_context, host->GetID(), |
| 160 render_frame_host_->GetRoutingID())); | 162 render_frame_host_->GetRoutingID())); |
| 161 } | 163 } |
| 162 return media_resource_getter_.get(); | 164 return media_resource_getter_.get(); |
| 163 } | 165 } |
| 164 | 166 |
| 165 media::MediaUrlInterceptor* MediaPlayerRenderer::GetMediaUrlInterceptor() { | 167 media::MediaUrlInterceptor* MediaPlayerRenderer::GetMediaUrlInterceptor() { |
| 166 // TODO(tguilbert): Offer a RegisterMediaUrlInterceptor equivalent for use in | 168 return media_url_interceptor_; |
| 167 // webview. See crbug.com/636588. | |
| 168 return nullptr; | |
| 169 } | 169 } |
| 170 | 170 |
| 171 void MediaPlayerRenderer::OnTimeUpdate(int player_id, | 171 void MediaPlayerRenderer::OnTimeUpdate(int player_id, |
| 172 base::TimeDelta current_timestamp, | 172 base::TimeDelta current_timestamp, |
| 173 base::TimeTicks current_time_ticks) {} | 173 base::TimeTicks current_time_ticks) {} |
| 174 | 174 |
| 175 void MediaPlayerRenderer::OnMediaMetadataChanged(int player_id, | 175 void MediaPlayerRenderer::OnMediaMetadataChanged(int player_id, |
| 176 base::TimeDelta duration, | 176 base::TimeDelta duration, |
| 177 int width, | 177 int width, |
| 178 int height, | 178 int height, |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 235 } | 235 } |
| 236 | 236 |
| 237 void MediaPlayerRenderer::OnDecoderResourcesReleased(int player_id) { | 237 void MediaPlayerRenderer::OnDecoderResourcesReleased(int player_id) { |
| 238 // Since we are not using a pool of MediaPlayerAndroid instances, this | 238 // Since we are not using a pool of MediaPlayerAndroid instances, this |
| 239 // function is not relevant. | 239 // function is not relevant. |
| 240 | 240 |
| 241 // TODO(tguilbert): Throttle requests, via exponential backoff. | 241 // TODO(tguilbert): Throttle requests, via exponential backoff. |
| 242 // See crbug.com/636615. | 242 // See crbug.com/636615. |
| 243 } | 243 } |
| 244 | 244 |
| 245 // static | |
| 246 void MediaPlayerRenderer::RegisterMediaUrlInterceptor( | |
| 247 media::MediaUrlInterceptor* media_url_interceptor) { | |
| 248 media_url_interceptor_ = media_url_interceptor; | |
| 249 } | |
| 250 | |
| 245 void MediaPlayerRenderer::CancelScopedSurfaceRequest() { | 251 void MediaPlayerRenderer::CancelScopedSurfaceRequest() { |
| 246 if (!surface_request_token_) | 252 if (!surface_request_token_) |
| 247 return; | 253 return; |
| 248 | 254 |
| 249 ScopedSurfaceRequestManager::GetInstance()->UnregisterScopedSurfaceRequest( | 255 ScopedSurfaceRequestManager::GetInstance()->UnregisterScopedSurfaceRequest( |
| 250 surface_request_token_); | 256 surface_request_token_); |
| 251 surface_request_token_ = base::UnguessableToken(); | 257 surface_request_token_ = base::UnguessableToken(); |
| 252 } | 258 } |
| 253 | 259 |
| 254 } // namespace content | 260 } // namespace content |
| OLD | NEW |