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

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

Powered by Google App Engine
This is Rietveld 408576698