Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/media/webmediaplayer_impl.h" | 5 #include "content/renderer/media/webmediaplayer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 311 | 311 |
| 312 // Media source pipelines can start immediately. | 312 // Media source pipelines can start immediately. |
| 313 if (load_type == LoadTypeMediaSource) { | 313 if (load_type == LoadTypeMediaSource) { |
| 314 supports_save_ = false; | 314 supports_save_ = false; |
| 315 StartPipeline(); | 315 StartPipeline(); |
| 316 return; | 316 return; |
| 317 } | 317 } |
| 318 | 318 |
| 319 // Otherwise it's a regular request which requires resolving the URL first. | 319 // Otherwise it's a regular request which requires resolving the URL first. |
| 320 data_source_.reset(new BufferedDataSource( | 320 data_source_.reset(new BufferedDataSource( |
| 321 url, | |
| 322 static_cast<BufferedResourceLoader::CORSMode>(cors_mode), | |
| 321 main_loop_, | 323 main_loop_, |
| 322 frame_, | 324 frame_, |
| 323 media_log_.get(), | 325 media_log_.get(), |
| 324 &buffered_data_source_host_, | 326 &buffered_data_source_host_, |
| 325 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr()))); | 327 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr()))); |
| 326 data_source_->Initialize( | 328 data_source_->Initialize(base::Bind( |
| 327 url, static_cast<BufferedResourceLoader::CORSMode>(cors_mode), | 329 &WebMediaPlayerImpl::DataSourceInitialized, AsWeakPtr(), gurl)); |
| 328 base::Bind( | |
| 329 &WebMediaPlayerImpl::DataSourceInitialized, | |
| 330 AsWeakPtr(), gurl)); | |
| 331 | 330 |
| 332 is_local_source_ = !gurl.SchemeIsHTTPOrHTTPS(); | 331 is_local_source_ = !gurl.SchemeIsHTTPOrHTTPS(); |
| 333 } | 332 } |
| 334 | 333 |
| 335 void WebMediaPlayerImpl::play() { | 334 void WebMediaPlayerImpl::play() { |
| 336 DCHECK(main_loop_->BelongsToCurrentThread()); | 335 DCHECK(main_loop_->BelongsToCurrentThread()); |
| 337 | 336 |
| 338 paused_ = false; | 337 paused_ = false; |
| 339 pipeline_.SetPlaybackRate(playback_rate_); | 338 pipeline_.SetPlaybackRate(playback_rate_); |
| 340 if (data_source_) | 339 if (data_source_) |
| (...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1107 << "Invalid URL in default_url: " << default_url; | 1106 << "Invalid URL in default_url: " << default_url; |
| 1108 | 1107 |
| 1109 client_->keyMessage( | 1108 client_->keyMessage( |
| 1110 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), | 1109 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), |
| 1111 WebString::fromUTF8(session_id), | 1110 WebString::fromUTF8(session_id), |
| 1112 message.empty() ? NULL : &message[0], | 1111 message.empty() ? NULL : &message[0], |
| 1113 message.size(), | 1112 message.size(), |
| 1114 default_url_gurl); | 1113 default_url_gurl); |
| 1115 } | 1114 } |
| 1116 | 1115 |
| 1117 void WebMediaPlayerImpl::DataSourceInitialized(const GURL& gurl, bool success) { | 1116 void WebMediaPlayerImpl::DataSourceInitialized(const GURL& gurl, bool success) { |
|
scherkus (not reviewing)
2014/05/30 20:45:14
it doesn't look like |gurl| is used -- can you als
amogh.bihani
2014/06/02 06:11:01
Done.
| |
| 1118 DCHECK(main_loop_->BelongsToCurrentThread()); | 1117 DCHECK(main_loop_->BelongsToCurrentThread()); |
| 1119 | 1118 |
| 1120 if (!success) { | 1119 if (!success) { |
| 1121 SetNetworkState(WebMediaPlayer::NetworkStateFormatError); | 1120 SetNetworkState(WebMediaPlayer::NetworkStateFormatError); |
| 1122 | 1121 |
| 1123 // TODO(scherkus): This should be handled by HTMLMediaElement and controls | 1122 // TODO(scherkus): This should be handled by HTMLMediaElement and controls |
| 1124 // should know when to invalidate themselves http://crbug.com/337015 | 1123 // should know when to invalidate themselves http://crbug.com/337015 |
| 1125 InvalidateOnMainThread(); | 1124 InvalidateOnMainThread(); |
| 1126 return; | 1125 return; |
| 1127 } | 1126 } |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1375 compositor_task_runner_->PostTask(FROM_HERE, | 1374 compositor_task_runner_->PostTask(FROM_HERE, |
| 1376 base::Bind(&GetCurrentFrameAndSignal, | 1375 base::Bind(&GetCurrentFrameAndSignal, |
| 1377 base::Unretained(compositor_), | 1376 base::Unretained(compositor_), |
| 1378 &video_frame, | 1377 &video_frame, |
| 1379 &event)); | 1378 &event)); |
| 1380 event.Wait(); | 1379 event.Wait(); |
| 1381 return video_frame; | 1380 return video_frame; |
| 1382 } | 1381 } |
| 1383 | 1382 |
| 1384 } // namespace content | 1383 } // namespace content |
| OLD | NEW |