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

Side by Side Diff: cc/resources/video_resource_updater.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/resources/video_resource_updater.h ('k') | cc/resources/video_resource_updater_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 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 "cc/resources/video_resource_updater.h" 5 #include "cc/resources/video_resource_updater.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 #include "cc/output/gl_renderer.h" 9 #include "cc/output/gl_renderer.h"
10 #include "cc/resources/resource_provider.h" 10 #include "cc/resources/resource_provider.h"
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 299
300 external_resources.type = VideoFrameExternalResources::YUV_RESOURCE; 300 external_resources.type = VideoFrameExternalResources::YUV_RESOURCE;
301 return external_resources; 301 return external_resources;
302 } 302 }
303 303
304 // static 304 // static
305 void VideoResourceUpdater::ReturnTexture( 305 void VideoResourceUpdater::ReturnTexture(
306 base::WeakPtr<VideoResourceUpdater> updater, 306 base::WeakPtr<VideoResourceUpdater> updater,
307 const scoped_refptr<media::VideoFrame>& video_frame, 307 const scoped_refptr<media::VideoFrame>& video_frame,
308 uint32 sync_point, 308 uint32 sync_point,
309 bool lost_resource) { 309 bool lost_resource,
310 BlockingTaskRunner* main_thread_task_runner) {
310 // TODO(dshwang) this case should be forwarded to the decoder as lost 311 // TODO(dshwang) this case should be forwarded to the decoder as lost
311 // resource. 312 // resource.
312 if (lost_resource || !updater.get()) 313 if (lost_resource || !updater.get())
313 return; 314 return;
314 // VideoFrame::UpdateReleaseSyncPoint() creates new sync point using the same 315 // VideoFrame::UpdateReleaseSyncPoint() creates new sync point using the same
315 // GL context which created the given |sync_point|, so discard the 316 // GL context which created the given |sync_point|, so discard the
316 // |sync_point|. 317 // |sync_point|.
317 SyncPointClientImpl client(updater->context_provider_->ContextGL()); 318 SyncPointClientImpl client(updater->context_provider_->ContextGL());
318 video_frame->UpdateReleaseSyncPoint(&client); 319 video_frame->UpdateReleaseSyncPoint(&client);
319 } 320 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 external_resources.release_callbacks.push_back( 356 external_resources.release_callbacks.push_back(
356 base::Bind(&ReturnTexture, AsWeakPtr(), video_frame)); 357 base::Bind(&ReturnTexture, AsWeakPtr(), video_frame));
357 return external_resources; 358 return external_resources;
358 } 359 }
359 360
360 // static 361 // static
361 void VideoResourceUpdater::RecycleResource( 362 void VideoResourceUpdater::RecycleResource(
362 base::WeakPtr<VideoResourceUpdater> updater, 363 base::WeakPtr<VideoResourceUpdater> updater,
363 RecycleResourceData data, 364 RecycleResourceData data,
364 uint32 sync_point, 365 uint32 sync_point,
365 bool lost_resource) { 366 bool lost_resource,
367 BlockingTaskRunner* main_thread_task_runner) {
366 if (!updater.get()) { 368 if (!updater.get()) {
367 // Resource was already deleted. 369 // Resource was already deleted.
368 return; 370 return;
369 } 371 }
370 372
371 ContextProvider* context_provider = updater->context_provider_; 373 ContextProvider* context_provider = updater->context_provider_;
372 if (context_provider && sync_point) { 374 if (context_provider && sync_point) {
373 GLC(context_provider->ContextGL(), 375 GLC(context_provider->ContextGL(),
374 context_provider->ContextGL()->WaitSyncPointCHROMIUM(sync_point)); 376 context_provider->ContextGL()->WaitSyncPointCHROMIUM(sync_point));
375 } 377 }
(...skipping 12 matching lines...) Expand all
388 } 390 }
389 391
390 PlaneResource recycled_resource(data.resource_id, 392 PlaneResource recycled_resource(data.resource_id,
391 data.resource_size, 393 data.resource_size,
392 data.resource_format, 394 data.resource_format,
393 data.mailbox); 395 data.mailbox);
394 updater->recycled_resources_.push_back(recycled_resource); 396 updater->recycled_resources_.push_back(recycled_resource);
395 } 397 }
396 398
397 } // namespace cc 399 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/video_resource_updater.h ('k') | cc/resources/video_resource_updater_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698