diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-29 19:25:38 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-29 19:25:38 +0000 |
commit | c8423065a0054dc81e72801dfd60b99483f70b79 (patch) | |
tree | c23140bb47c7edfb80309ffa767ba301167acb8b /ppapi/cpp | |
parent | 94bef5ad7ddd08327f7d80d50a187c86d78fccf7 (diff) | |
download | chromium_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.cc | 17 | ||||
-rw-r--r-- | ppapi/cpp/dev/video_decoder_dev.h | 14 |
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); |