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 "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
10 #include "content/browser/android/scoped_surface_request_manager.h" | 10 #include "content/browser/android/scoped_surface_request_manager.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 MediaPlayerRenderer::MediaPlayerRenderer(RenderFrameHost* render_frame_host) | 33 MediaPlayerRenderer::MediaPlayerRenderer(RenderFrameHost* render_frame_host) |
34 : render_frame_host_(render_frame_host), | 34 : render_frame_host_(render_frame_host), |
35 duration_(media::kInfiniteDuration), | 35 duration_(media::kInfiniteDuration), |
36 has_error_(false), | 36 has_error_(false), |
37 weak_factory_(this) {} | 37 weak_factory_(this) {} |
38 | 38 |
39 MediaPlayerRenderer::~MediaPlayerRenderer() { | 39 MediaPlayerRenderer::~MediaPlayerRenderer() { |
40 CancelScopedSurfaceRequest(); | 40 CancelScopedSurfaceRequest(); |
41 } | 41 } |
42 | 42 |
43 void MediaPlayerRenderer::Initialize( | 43 void MediaPlayerRenderer::Initialize(media::MediaResource* media_resource, |
44 media::DemuxerStreamProvider* demuxer_stream_provider, | 44 media::RendererClient* client, |
45 media::RendererClient* client, | 45 const media::PipelineStatusCB& init_cb) { |
46 const media::PipelineStatusCB& init_cb) { | |
47 DVLOG(1) << __func__; | 46 DVLOG(1) << __func__; |
48 | 47 |
49 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 48 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
50 | 49 |
51 renderer_client_ = client; | 50 renderer_client_ = client; |
52 | 51 |
53 if (demuxer_stream_provider->GetType() != | 52 if (media_resource->GetType() != media::MediaResource::Type::URL) { |
54 media::DemuxerStreamProvider::Type::URL) { | 53 DLOG(ERROR) << "MediaResource is not of Type URL"; |
55 DLOG(ERROR) << "DemuxerStreamProvider is not of Type URL"; | |
56 init_cb.Run(media::PIPELINE_ERROR_INITIALIZATION_FAILED); | 54 init_cb.Run(media::PIPELINE_ERROR_INITIALIZATION_FAILED); |
57 return; | 55 return; |
58 } | 56 } |
59 | 57 |
60 base::TimeDelta creation_delay = | 58 base::TimeDelta creation_delay = |
61 media::MediaServiceThrottler::GetInstance()->GetDelayForClientCreation(); | 59 media::MediaServiceThrottler::GetInstance()->GetDelayForClientCreation(); |
62 | 60 |
63 if (creation_delay.is_zero()) { | 61 if (creation_delay.is_zero()) { |
64 CreateMediaPlayer(demuxer_stream_provider->GetMediaUrlParams(), init_cb); | 62 CreateMediaPlayer(media_resource->GetMediaUrlParams(), init_cb); |
65 return; | 63 return; |
66 } | 64 } |
67 | 65 |
68 BrowserThread::PostDelayedTask( | 66 BrowserThread::PostDelayedTask( |
69 BrowserThread::UI, FROM_HERE, | 67 BrowserThread::UI, FROM_HERE, |
70 base::Bind(&MediaPlayerRenderer::CreateMediaPlayer, | 68 base::Bind(&MediaPlayerRenderer::CreateMediaPlayer, |
71 weak_factory_.GetWeakPtr(), | 69 weak_factory_.GetWeakPtr(), |
72 demuxer_stream_provider->GetMediaUrlParams(), init_cb), | 70 media_resource->GetMediaUrlParams(), init_cb), |
73 creation_delay); | 71 creation_delay); |
74 } | 72 } |
75 | 73 |
76 void MediaPlayerRenderer::CreateMediaPlayer( | 74 void MediaPlayerRenderer::CreateMediaPlayer( |
77 const media::MediaUrlParams& url_params, | 75 const media::MediaUrlParams& url_params, |
78 const media::PipelineStatusCB& init_cb) { | 76 const media::PipelineStatusCB& init_cb) { |
79 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 77 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
80 | 78 |
81 const std::string user_agent = GetContentClient()->GetUserAgent(); | 79 const std::string user_agent = GetContentClient()->GetUserAgent(); |
82 | 80 |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 void MediaPlayerRenderer::CancelScopedSurfaceRequest() { | 269 void MediaPlayerRenderer::CancelScopedSurfaceRequest() { |
272 if (!surface_request_token_) | 270 if (!surface_request_token_) |
273 return; | 271 return; |
274 | 272 |
275 ScopedSurfaceRequestManager::GetInstance()->UnregisterScopedSurfaceRequest( | 273 ScopedSurfaceRequestManager::GetInstance()->UnregisterScopedSurfaceRequest( |
276 surface_request_token_); | 274 surface_request_token_); |
277 surface_request_token_ = base::UnguessableToken(); | 275 surface_request_token_ = base::UnguessableToken(); |
278 } | 276 } |
279 | 277 |
280 } // namespace content | 278 } // namespace content |
OLD | NEW |