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

Side by Side Diff: content/renderer/media/webmediaplayer_impl.cc

Issue 443393002: Stop using WebMediaPlayerClient::preload() and volume() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
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/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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 } 164 }
165 165
166 WebMediaPlayerImpl::WebMediaPlayerImpl( 166 WebMediaPlayerImpl::WebMediaPlayerImpl(
167 blink::WebLocalFrame* frame, 167 blink::WebLocalFrame* frame,
168 blink::WebMediaPlayerClient* client, 168 blink::WebMediaPlayerClient* client,
169 base::WeakPtr<WebMediaPlayerDelegate> delegate, 169 base::WeakPtr<WebMediaPlayerDelegate> delegate,
170 const WebMediaPlayerParams& params) 170 const WebMediaPlayerParams& params)
171 : frame_(frame), 171 : frame_(frame),
172 network_state_(WebMediaPlayer::NetworkStateEmpty), 172 network_state_(WebMediaPlayer::NetworkStateEmpty),
173 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), 173 ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
174 preload_(AUTO),
174 main_loop_(base::MessageLoopProxy::current()), 175 main_loop_(base::MessageLoopProxy::current()),
175 media_loop_( 176 media_loop_(
176 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy()), 177 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy()),
177 media_log_(new RenderMediaLog()), 178 media_log_(new RenderMediaLog()),
178 pipeline_(media_loop_, media_log_.get()), 179 pipeline_(media_loop_, media_log_.get()),
179 load_type_(LoadTypeURL), 180 load_type_(LoadTypeURL),
180 opaque_(false), 181 opaque_(false),
181 paused_(true), 182 paused_(true),
182 seeking_(false), 183 seeking_(false),
183 playback_rate_(0.0f), 184 playback_rate_(0.0f),
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 DCHECK(main_loop_->BelongsToCurrentThread()); 283 DCHECK(main_loop_->BelongsToCurrentThread());
283 284
284 GURL gurl(url); 285 GURL gurl(url);
285 ReportMediaSchemeUma(gurl); 286 ReportMediaSchemeUma(gurl);
286 287
287 // Set subresource URL for crash reporting. 288 // Set subresource URL for crash reporting.
288 base::debug::SetCrashKeyValue("subresource_url", gurl.spec()); 289 base::debug::SetCrashKeyValue("subresource_url", gurl.spec());
289 290
290 load_type_ = load_type; 291 load_type_ = load_type;
291 292
292 // Handle any volume/preload changes that occurred before load().
293 setVolume(client_->volume());
294 setPreload(client_->preload());
295
296 SetNetworkState(WebMediaPlayer::NetworkStateLoading); 293 SetNetworkState(WebMediaPlayer::NetworkStateLoading);
297 SetReadyState(WebMediaPlayer::ReadyStateHaveNothing); 294 SetReadyState(WebMediaPlayer::ReadyStateHaveNothing);
298 media_log_->AddEvent(media_log_->CreateLoadEvent(url.spec())); 295 media_log_->AddEvent(media_log_->CreateLoadEvent(url.spec()));
299 296
300 // Media source pipelines can start immediately. 297 // Media source pipelines can start immediately.
301 if (load_type == LoadTypeMediaSource) { 298 if (load_type == LoadTypeMediaSource) {
302 supports_save_ = false; 299 supports_save_ = false;
303 StartPipeline(); 300 StartPipeline();
304 return; 301 return;
305 } 302 }
306 303
307 // Otherwise it's a regular request which requires resolving the URL first. 304 // Otherwise it's a regular request which requires resolving the URL first.
308 data_source_.reset(new BufferedDataSource( 305 data_source_.reset(new BufferedDataSource(
309 url, 306 url,
310 static_cast<BufferedResourceLoader::CORSMode>(cors_mode), 307 static_cast<BufferedResourceLoader::CORSMode>(cors_mode),
311 main_loop_, 308 main_loop_,
312 frame_, 309 frame_,
313 media_log_.get(), 310 media_log_.get(),
314 &buffered_data_source_host_, 311 &buffered_data_source_host_,
315 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr()))); 312 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr())));
316 data_source_->Initialize( 313 data_source_->Initialize(
317 base::Bind(&WebMediaPlayerImpl::DataSourceInitialized, AsWeakPtr())); 314 base::Bind(&WebMediaPlayerImpl::DataSourceInitialized, AsWeakPtr()));
315 data_source_->SetPreload(preload_);
318 } 316 }
319 317
320 void WebMediaPlayerImpl::play() { 318 void WebMediaPlayerImpl::play() {
321 DVLOG(1) << __FUNCTION__; 319 DVLOG(1) << __FUNCTION__;
322 DCHECK(main_loop_->BelongsToCurrentThread()); 320 DCHECK(main_loop_->BelongsToCurrentThread());
323 321
324 paused_ = false; 322 paused_ = false;
325 pipeline_.SetPlaybackRate(playback_rate_); 323 pipeline_.SetPlaybackRate(playback_rate_);
326 if (data_source_) 324 if (data_source_)
327 data_source_->MediaIsPlaying(); 325 data_source_->MediaIsPlaying();
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 mismatching_enums) 423 mismatching_enums)
426 COMPILE_ASSERT_MATCHING_ENUM(PreloadNone, NONE); 424 COMPILE_ASSERT_MATCHING_ENUM(PreloadNone, NONE);
427 COMPILE_ASSERT_MATCHING_ENUM(PreloadMetaData, METADATA); 425 COMPILE_ASSERT_MATCHING_ENUM(PreloadMetaData, METADATA);
428 COMPILE_ASSERT_MATCHING_ENUM(PreloadAuto, AUTO); 426 COMPILE_ASSERT_MATCHING_ENUM(PreloadAuto, AUTO);
429 #undef COMPILE_ASSERT_MATCHING_ENUM 427 #undef COMPILE_ASSERT_MATCHING_ENUM
430 428
431 void WebMediaPlayerImpl::setPreload(WebMediaPlayer::Preload preload) { 429 void WebMediaPlayerImpl::setPreload(WebMediaPlayer::Preload preload) {
432 DVLOG(1) << __FUNCTION__ << "(" << preload << ")"; 430 DVLOG(1) << __FUNCTION__ << "(" << preload << ")";
433 DCHECK(main_loop_->BelongsToCurrentThread()); 431 DCHECK(main_loop_->BelongsToCurrentThread());
434 432
433 preload_ = static_cast<content::Preload>(preload);
435 if (data_source_) 434 if (data_source_)
436 data_source_->SetPreload(static_cast<content::Preload>(preload)); 435 data_source_->SetPreload(preload_);
437 } 436 }
438 437
439 bool WebMediaPlayerImpl::hasVideo() const { 438 bool WebMediaPlayerImpl::hasVideo() const {
440 DCHECK(main_loop_->BelongsToCurrentThread()); 439 DCHECK(main_loop_->BelongsToCurrentThread());
441 440
442 return pipeline_metadata_.has_video; 441 return pipeline_metadata_.has_video;
443 } 442 }
444 443
445 bool WebMediaPlayerImpl::hasAudio() const { 444 bool WebMediaPlayerImpl::hasAudio() const {
446 DCHECK(main_loop_->BelongsToCurrentThread()); 445 DCHECK(main_loop_->BelongsToCurrentThread());
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 compositor_task_runner_->PostTask(FROM_HERE, 1324 compositor_task_runner_->PostTask(FROM_HERE,
1326 base::Bind(&GetCurrentFrameAndSignal, 1325 base::Bind(&GetCurrentFrameAndSignal,
1327 base::Unretained(compositor_), 1326 base::Unretained(compositor_),
1328 &video_frame, 1327 &video_frame,
1329 &event)); 1328 &event));
1330 event.Wait(); 1329 event.Wait();
1331 return video_frame; 1330 return video_frame;
1332 } 1331 }
1333 1332
1334 } // namespace content 1333 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_impl.h ('k') | content/renderer/media/webmediaplayer_ms.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698