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

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

Issue 1737253002: Handle Alpha channel in Canvas capture (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
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_ms.h" 5 #include "content/renderer/media/webmediaplayer_ms.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 463
464 if (!received_first_frame_) { 464 if (!received_first_frame_) {
465 received_first_frame_ = true; 465 received_first_frame_ = true;
466 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata); 466 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
467 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); 467 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
468 468
469 if (video_frame_provider_.get()) { 469 if (video_frame_provider_.get()) {
470 video_weblayer_.reset(new cc_blink::WebLayerImpl( 470 video_weblayer_.reset(new cc_blink::WebLayerImpl(
471 cc::VideoLayer::Create(cc_blink::WebLayerImpl::LayerSettings(), 471 cc::VideoLayer::Create(cc_blink::WebLayerImpl::LayerSettings(),
472 compositor_.get(), media::VIDEO_ROTATION_0))); 472 compositor_.get(), media::VIDEO_ROTATION_0)));
473 video_weblayer_->layer()->SetContentsOpaque(true); 473 video_weblayer_->layer()->SetContentsOpaque(false);
474 video_weblayer_->SetContentsOpaqueIsFixed(true); 474 video_weblayer_->SetContentsOpaqueIsFixed(true);
475 get_client()->setWebLayer(video_weblayer_.get()); 475 get_client()->setWebLayer(video_weblayer_.get());
476 } 476 }
477 } 477 }
478 478
479 // As EnqueueFrame can potentially change |current_frame_|, we need to do 479 // As EnqueueFrame can potentially change |current_frame_|, we need to do
480 // the size change check before it. Otherwise, we are running the risk of not 480 // the size change check before it. Otherwise, we are running the risk of not
481 // detecting a size change event. 481 // detecting a size change event.
482 const bool size_changed = 482 const bool size_changed =
483 compositor_->GetCurrentSize() != frame->natural_size(); 483 compositor_->GetCurrentSize() != frame->natural_size();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() { 516 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() {
517 return &video_renderer_; 517 return &video_renderer_;
518 } 518 }
519 519
520 void WebMediaPlayerMS::ResetCanvasCache() { 520 void WebMediaPlayerMS::ResetCanvasCache() {
521 DCHECK(thread_checker_.CalledOnValidThread()); 521 DCHECK(thread_checker_.CalledOnValidThread());
522 video_renderer_.ResetCache(); 522 video_renderer_.ResetCache();
523 } 523 }
524 524
525 } // namespace content 525 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698