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

Side by Side Diff: cc/layers/video_layer_impl.cc

Issue 485043003: cc: Use correct message loop proxy in BlockingTaskRunner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nits. Created 6 years, 3 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
« no previous file with comments | « cc/layers/video_layer_impl.h ('k') | cc/output/gl_renderer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 "cc/layers/video_layer_impl.h" 5 #include "cc/layers/video_layer_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "cc/layers/video_frame_provider_client_impl.h" 9 #include "cc/layers/video_frame_provider_client_impl.h"
10 #include "cc/quads/io_surface_draw_quad.h" 10 #include "cc/quads/io_surface_draw_quad.h"
11 #include "cc/quads/stream_video_draw_quad.h" 11 #include "cc/quads/stream_video_draw_quad.h"
12 #include "cc/quads/texture_draw_quad.h" 12 #include "cc/quads/texture_draw_quad.h"
13 #include "cc/quads/yuv_video_draw_quad.h" 13 #include "cc/quads/yuv_video_draw_quad.h"
14 #include "cc/resources/resource_provider.h" 14 #include "cc/resources/resource_provider.h"
15 #include "cc/resources/single_release_callback.h" 15 #include "cc/resources/single_release_callback_impl.h"
16 #include "cc/trees/layer_tree_impl.h" 16 #include "cc/trees/layer_tree_impl.h"
17 #include "cc/trees/occlusion_tracker.h" 17 #include "cc/trees/occlusion_tracker.h"
18 #include "cc/trees/proxy.h" 18 #include "cc/trees/proxy.h"
19 #include "media/base/video_frame.h" 19 #include "media/base/video_frame.h"
20 20
21 #if defined(VIDEO_HOLE) 21 #if defined(VIDEO_HOLE)
22 #include "cc/quads/solid_color_draw_quad.h" 22 #include "cc/quads/solid_color_draw_quad.h"
23 #endif // defined(VIDEO_HOLE) 23 #endif // defined(VIDEO_HOLE)
24 24
25 namespace cc { 25 namespace cc {
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 software_release_callback_ = 115 software_release_callback_ =
116 external_resources.software_release_callback; 116 external_resources.software_release_callback;
117 return true; 117 return true;
118 } 118 }
119 119
120 DCHECK_EQ(external_resources.mailboxes.size(), 120 DCHECK_EQ(external_resources.mailboxes.size(),
121 external_resources.release_callbacks.size()); 121 external_resources.release_callbacks.size());
122 for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) { 122 for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) {
123 unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox( 123 unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox(
124 external_resources.mailboxes[i], 124 external_resources.mailboxes[i],
125 SingleReleaseCallback::Create(external_resources.release_callbacks[i])); 125 SingleReleaseCallbackImpl::Create(
126 external_resources.release_callbacks[i]));
126 frame_resources_.push_back(resource_id); 127 frame_resources_.push_back(resource_id);
127 } 128 }
128 129
129 return true; 130 return true;
130 } 131 }
131 132
132 void VideoLayerImpl::AppendQuads( 133 void VideoLayerImpl::AppendQuads(
133 RenderPass* render_pass, 134 RenderPass* render_pass,
134 const OcclusionTracker<LayerImpl>& occlusion_tracker, 135 const OcclusionTracker<LayerImpl>& occlusion_tracker,
135 AppendQuadsData* append_quads_data) { 136 AppendQuadsData* append_quads_data) {
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 } 330 }
330 } 331 }
331 332
332 void VideoLayerImpl::DidDraw(ResourceProvider* resource_provider) { 333 void VideoLayerImpl::DidDraw(ResourceProvider* resource_provider) {
333 LayerImpl::DidDraw(resource_provider); 334 LayerImpl::DidDraw(resource_provider);
334 335
335 DCHECK(frame_.get()); 336 DCHECK(frame_.get());
336 337
337 if (frame_resource_type_ == 338 if (frame_resource_type_ ==
338 VideoFrameExternalResources::SOFTWARE_RESOURCE) { 339 VideoFrameExternalResources::SOFTWARE_RESOURCE) {
339 for (size_t i = 0; i < software_resources_.size(); ++i) 340 for (size_t i = 0; i < software_resources_.size(); ++i) {
340 software_release_callback_.Run(0, false); 341 software_release_callback_.Run(
342 0, false, layer_tree_impl()->BlockingMainThreadTaskRunner());
343 }
341 344
342 software_resources_.clear(); 345 software_resources_.clear();
343 software_release_callback_.Reset(); 346 software_release_callback_.Reset();
344 } else { 347 } else {
345 for (size_t i = 0; i < frame_resources_.size(); ++i) 348 for (size_t i = 0; i < frame_resources_.size(); ++i)
346 resource_provider->DeleteResource(frame_resources_[i]); 349 resource_provider->DeleteResource(frame_resources_[i]);
347 frame_resources_.clear(); 350 frame_resources_.clear();
348 } 351 }
349 352
350 provider_client_impl_->PutCurrentFrame(frame_); 353 provider_client_impl_->PutCurrentFrame(frame_);
(...skipping 14 matching lines...) Expand all
365 void VideoLayerImpl::SetProviderClientImpl( 368 void VideoLayerImpl::SetProviderClientImpl(
366 scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl) { 369 scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl) {
367 provider_client_impl_ = provider_client_impl; 370 provider_client_impl_ = provider_client_impl;
368 } 371 }
369 372
370 const char* VideoLayerImpl::LayerTypeAsString() const { 373 const char* VideoLayerImpl::LayerTypeAsString() const {
371 return "cc::VideoLayerImpl"; 374 return "cc::VideoLayerImpl";
372 } 375 }
373 376
374 } // namespace cc 377 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/video_layer_impl.h ('k') | cc/output/gl_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698