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

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: mcasas@ comments. 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 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 487
488 if (!received_first_frame_) { 488 if (!received_first_frame_) {
489 received_first_frame_ = true; 489 received_first_frame_ = true;
490 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata); 490 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
491 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); 491 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
492 492
493 if (video_frame_provider_.get()) { 493 if (video_frame_provider_.get()) {
494 video_weblayer_.reset(new cc_blink::WebLayerImpl( 494 video_weblayer_.reset(new cc_blink::WebLayerImpl(
495 cc::VideoLayer::Create(cc_blink::WebLayerImpl::LayerSettings(), 495 cc::VideoLayer::Create(cc_blink::WebLayerImpl::LayerSettings(),
496 compositor_.get(), media::VIDEO_ROTATION_0))); 496 compositor_.get(), media::VIDEO_ROTATION_0)));
497 video_weblayer_->layer()->SetContentsOpaque(true); 497 video_weblayer_->layer()->SetContentsOpaque(false);
498 video_weblayer_->SetContentsOpaqueIsFixed(true); 498 video_weblayer_->SetContentsOpaqueIsFixed(true);
499 get_client()->setWebLayer(video_weblayer_.get()); 499 get_client()->setWebLayer(video_weblayer_.get());
500 } 500 }
501 } 501 }
502 502
503 // As EnqueueFrame can potentially change |current_frame_|, we need to do 503 // As EnqueueFrame can potentially change |current_frame_|, we need to do
504 // the size change check before it. Otherwise, we are running the risk of not 504 // the size change check before it. Otherwise, we are running the risk of not
505 // detecting a size change event. 505 // detecting a size change event.
506 const bool size_changed = 506 const bool size_changed =
507 compositor_->GetCurrentSize() != frame->natural_size(); 507 compositor_->GetCurrentSize() != frame->natural_size();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() { 540 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() {
541 return &video_renderer_; 541 return &video_renderer_;
542 } 542 }
543 543
544 void WebMediaPlayerMS::ResetCanvasCache() { 544 void WebMediaPlayerMS::ResetCanvasCache() {
545 DCHECK(thread_checker_.CalledOnValidThread()); 545 DCHECK(thread_checker_.CalledOnValidThread());
546 video_renderer_.ResetCache(); 546 video_renderer_.ResetCache();
547 } 547 }
548 548
549 } // namespace content 549 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698