summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/ppb_video_decoder_impl.h
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-29 17:47:01 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-29 17:47:01 +0000
commit890e8966414165e59418b7886778cbd16cc194ac (patch)
tree3e0de593dd21b86879bd09d228a090f8af105564 /webkit/plugins/ppapi/ppb_video_decoder_impl.h
parent32fcb896c5d34a483c3adbdec90badbddd54d7d8 (diff)
downloadchromium_src-890e8966414165e59418b7886778cbd16cc194ac.zip
chromium_src-890e8966414165e59418b7886778cbd16cc194ac.tar.gz
chromium_src-890e8966414165e59418b7886778cbd16cc194ac.tar.bz2
Implement proper synchronization between HW video decode IPC and CommandBuffer.
This is done by inserting tokens into the command-buffer stream when synchronization is needed, and adding a last-read/last-written token pair to each IPC message. This allowed me to remove the bogus FinishGL() calls from the gles2 sample pepper plugin. As part of this CL, the return value for VideoDecodeAccelerator::{Decode,Flush,Abort} changed from bool to void. These are all async methods so errors ought to be signaled using callbacks. BUG=none TEST=gles2 works, no crashes; trybots Review URL: http://codereview.chromium.org/7260008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90971 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi/ppb_video_decoder_impl.h')
-rw-r--r--webkit/plugins/ppapi/ppb_video_decoder_impl.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/ppb_video_decoder_impl.h b/webkit/plugins/ppapi/ppb_video_decoder_impl.h
index 5b4a326..75db896 100644
--- a/webkit/plugins/ppapi/ppb_video_decoder_impl.h
+++ b/webkit/plugins/ppapi/ppb_video_decoder_impl.h
@@ -84,6 +84,10 @@ class PPB_VideoDecoder_Impl : public Resource,
// Factory to produce our callbacks.
base::ScopedCallbackFactory<PPB_VideoDecoder_Impl> callback_factory_;
+ // The resource ID of the underlying Context3d object being used. Used only
+ // for reference counting to keep it alive for the lifetime of |*this|.
+ PP_Resource context3d_id_;
+
PP_CompletionCallback initialization_callback_;
PP_CompletionCallback abort_callback_;
PP_CompletionCallback flush_callback_;