Index: cc/resources/video_resource_updater.cc |
diff --git a/cc/resources/video_resource_updater.cc b/cc/resources/video_resource_updater.cc |
index 1d93aebe3cce20f763da7349490d0f2a3f0d177b..bd38bfd9b7f8fb3a84bdec6d85fc46db1c1143d2 100644 |
--- a/cc/resources/video_resource_updater.cc |
+++ b/cc/resources/video_resource_updater.cc |
@@ -284,9 +284,11 @@ VideoFrameExternalResources VideoResourceUpdater::CreateForSoftwarePlanes( |
} |
static void ReturnTexture(const scoped_refptr<media::VideoFrame>& frame, |
+ ContextProvider* context_provider, |
uint32 sync_point, |
bool lost_resource) { |
- frame->AppendReleaseSyncPoint(sync_point); |
+ frame->AppendReleaseSyncPoint(reinterpret_cast<uintptr_t>(context_provider), |
+ sync_point); |
dshwang
2014/06/05 14:38:30
reinterpret_cast is ugly but I could not find bett
dshwang
2014/06/05 14:53:19
That's good question. If one client waits for sync
|
} |
VideoFrameExternalResources VideoResourceUpdater::CreateForHardwarePlanes( |
@@ -322,8 +324,8 @@ VideoFrameExternalResources VideoResourceUpdater::CreateForHardwarePlanes( |
TextureMailbox(mailbox_holder->mailbox, |
mailbox_holder->texture_target, |
mailbox_holder->sync_point)); |
- external_resources.release_callbacks.push_back( |
- base::Bind(&ReturnTexture, video_frame)); |
+ external_resources.release_callbacks.push_back(base::Bind( |
+ &ReturnTexture, video_frame, base::Unretained(context_provider_))); |
return external_resources; |
} |