summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-29 19:25:38 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-29 19:25:38 +0000
commitc8423065a0054dc81e72801dfd60b99483f70b79 (patch)
treec23140bb47c7edfb80309ffa767ba301167acb8b /ppapi/cpp
parent94bef5ad7ddd08327f7d80d50a187c86d78fccf7 (diff)
downloadchromium_src-c8423065a0054dc81e72801dfd60b99483f70b79.zip
chromium_src-c8423065a0054dc81e72801dfd60b99483f70b79.tar.gz
chromium_src-c8423065a0054dc81e72801dfd60b99483f70b79.tar.bz2
PPB_VideoDecoder_Dev::Initialize is now synchronous!
Apparently flash can't deal with async init, so we make it synchronous. We keep processing in the GPU process asynchronous and just take the blocking hit on the renderer. BUG=none TEST=gles2, ovdatest, trybots Review URL: http://codereview.chromium.org/7474006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94730 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp')
-rw-r--r--ppapi/cpp/dev/video_decoder_dev.cc17
-rw-r--r--ppapi/cpp/dev/video_decoder_dev.h14
2 files changed, 9 insertions, 22 deletions
diff --git a/ppapi/cpp/dev/video_decoder_dev.cc b/ppapi/cpp/dev/video_decoder_dev.cc
index 5f8ce40..baf180d 100644
--- a/ppapi/cpp/dev/video_decoder_dev.cc
+++ b/ppapi/cpp/dev/video_decoder_dev.cc
@@ -22,11 +22,13 @@ template <> const char* interface_name<PPB_VideoDecoder_Dev>() {
} // namespace
-VideoDecoder_Dev::VideoDecoder_Dev(const Instance& instance) {
+VideoDecoder_Dev::VideoDecoder_Dev(const Instance& instance,
+ const Context3D_Dev& context,
+ const PP_VideoConfigElement* config) {
if (!has_interface<PPB_VideoDecoder_Dev>())
return;
PassRefFromConstructor(get_interface<PPB_VideoDecoder_Dev>()->Create(
- instance.pp_instance()));
+ instance.pp_instance(), context.pp_resource(), config));
}
VideoDecoder_Dev::VideoDecoder_Dev(PP_Resource resource) : Resource(resource) {
@@ -36,17 +38,6 @@ VideoDecoder_Dev::~VideoDecoder_Dev() {
get_interface<PPB_VideoDecoder_Dev>()->Destroy(pp_resource());
}
-
-int32_t VideoDecoder_Dev::Initialize(const PP_VideoConfigElement* config,
- const Context3D_Dev& context,
- CompletionCallback callback) {
- if (!has_interface<PPB_VideoDecoder_Dev>())
- return callback.MayForce(PP_ERROR_NOINTERFACE);
- return get_interface<PPB_VideoDecoder_Dev>()->Initialize(
- pp_resource(), context.pp_resource(), config,
- callback.pp_completion_callback());
-}
-
void VideoDecoder_Dev::AssignPictureBuffers(
const std::vector<PP_PictureBuffer_Dev>& buffers) {
if (!has_interface<PPB_VideoDecoder_Dev>() || !pp_resource())
diff --git a/ppapi/cpp/dev/video_decoder_dev.h b/ppapi/cpp/dev/video_decoder_dev.h
index d1dee6a..d831116 100644
--- a/ppapi/cpp/dev/video_decoder_dev.h
+++ b/ppapi/cpp/dev/video_decoder_dev.h
@@ -23,19 +23,15 @@ class Instance;
// C++ version of the PPB_VideoDecoder_Dev interface.
class VideoDecoder_Dev : public Resource {
public:
- // Constructor for the video decoder. Calls the Create on the
- // PPB_VideoDecoder_Dev interface.
- //
- // Parameters:
- // |instance| is the pointer to the plug-in instance.
- explicit VideoDecoder_Dev(const Instance& instance);
+ // See PPB_VideoDecoder_Dev::Create.
+ explicit VideoDecoder_Dev(const Instance& instance,
+ const Context3D_Dev& context,
+ const PP_VideoConfigElement* config);
+
explicit VideoDecoder_Dev(PP_Resource resource);
virtual ~VideoDecoder_Dev();
// PPB_VideoDecoder_Dev implementation.
- int32_t Initialize(const PP_VideoConfigElement* config,
- const Context3D_Dev& context,
- CompletionCallback callback);
void AssignPictureBuffers(const std::vector<PP_PictureBuffer_Dev>& buffers);
int32_t Decode(const PP_VideoBitstreamBuffer_Dev& bitstream_buffer,
CompletionCallback callback);