Index: cc/layers/video_layer_impl.cc |
diff --git a/cc/layers/video_layer_impl.cc b/cc/layers/video_layer_impl.cc |
index 4328067325c82ed744f33760822dd8841533b2b7..28e470e7c3b698bcb736a9d52b20311c0c719ff1 100644 |
--- a/cc/layers/video_layer_impl.cc |
+++ b/cc/layers/video_layer_impl.cc |
@@ -13,6 +13,7 @@ |
#include "cc/quads/texture_draw_quad.h" |
#include "cc/quads/yuv_video_draw_quad.h" |
#include "cc/resources/resource_provider.h" |
+#include "cc/resources/single_release_callback.h" |
#include "cc/trees/layer_tree_impl.h" |
#include "cc/trees/proxy.h" |
#include "media/base/video_frame.h" |
@@ -111,10 +112,13 @@ bool VideoLayerImpl::WillDraw(DrawMode draw_mode, |
return true; |
} |
+ DCHECK_EQ(external_resources.mailboxes.size(), |
+ external_resources.release_callbacks.size()); |
for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) { |
- frame_resources_.push_back( |
- resource_provider->CreateResourceFromTextureMailbox( |
- external_resources.mailboxes[i])); |
+ unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox( |
+ external_resources.mailboxes[i], |
+ SingleReleaseCallback::Create(external_resources.release_callbacks[i])); |
+ frame_resources_.push_back(resource_id); |
} |
return true; |