diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-22 20:15:28 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-22 20:15:28 +0000 |
commit | f4edc3f0c16c2ef77fbce071d5a7fcf3a00a77c6 (patch) | |
tree | 9a46556854e698acf4d42297e398ca898b1436fa /webkit/plugins | |
parent | 6201e21a3f78df752d25f8ac4dd8a34e0c8e5139 (diff) | |
download | chromium_src-f4edc3f0c16c2ef77fbce071d5a7fcf3a00a77c6.zip chromium_src-f4edc3f0c16c2ef77fbce071d5a7fcf3a00a77c6.tar.gz chromium_src-f4edc3f0c16c2ef77fbce071d5a7fcf3a00a77c6.tar.bz2 |
Re-added decoder id to PPP_VideoDecoder_Dev methods
This supports having multiple decoders per PP_Instance, which was removed as
part of 92704.
BUG=none
TEST=gles2 works, trybots
Review URL: http://codereview.chromium.org/7489012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93691 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins')
-rw-r--r-- | webkit/plugins/ppapi/ppb_video_decoder_impl.cc | 17 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_video_decoder_impl.h | 2 |
2 files changed, 13 insertions, 6 deletions
diff --git a/webkit/plugins/ppapi/ppb_video_decoder_impl.cc b/webkit/plugins/ppapi/ppb_video_decoder_impl.cc index 2d517b6..ebde7ed 100644 --- a/webkit/plugins/ppapi/ppb_video_decoder_impl.cc +++ b/webkit/plugins/ppapi/ppb_video_decoder_impl.cc @@ -184,8 +184,10 @@ void PPB_VideoDecoder_Impl::ProvidePictureBuffers( return; PP_Size out_dim = PP_MakeSize(dimensions.width(), dimensions.height()); + ScopedResourceId resource(this); ppp_videodecoder_->ProvidePictureBuffers( - instance()->pp_instance(), requested_num_of_buffers, out_dim); + instance()->pp_instance(), resource.id, requested_num_of_buffers, + out_dim); } void PPB_VideoDecoder_Impl::PictureReady(const media::Picture& picture) { @@ -195,22 +197,26 @@ void PPB_VideoDecoder_Impl::PictureReady(const media::Picture& picture) { PP_Picture_Dev output; output.picture_buffer_id = picture.picture_buffer_id(); output.bitstream_buffer_id = picture.bitstream_buffer_id(); - ppp_videodecoder_->PictureReady(instance()->pp_instance(), output); + ScopedResourceId resource(this); + ppp_videodecoder_->PictureReady( + instance()->pp_instance(), resource.id, output); } void PPB_VideoDecoder_Impl::DismissPictureBuffer(int32 picture_buffer_id) { if (!ppp_videodecoder_) return; + ScopedResourceId resource(this); ppp_videodecoder_->DismissPictureBuffer( - instance()->pp_instance(), picture_buffer_id); + instance()->pp_instance(), resource.id, picture_buffer_id); } void PPB_VideoDecoder_Impl::NotifyEndOfStream() { if (!ppp_videodecoder_) return; - ppp_videodecoder_->EndOfStream(instance()->pp_instance()); + ScopedResourceId resource(this); + ppp_videodecoder_->EndOfStream(instance()->pp_instance(), resource.id); } void PPB_VideoDecoder_Impl::NotifyError( @@ -218,11 +224,12 @@ void PPB_VideoDecoder_Impl::NotifyError( if (!ppp_videodecoder_) return; + ScopedResourceId resource(this); // TODO(vrk): This is assuming VideoDecodeAccelerator::Error and // PP_VideoDecodeError_Dev have identical enum values. There is no compiler // assert to guarantee this. We either need to add such asserts or // merge these two enums. - ppp_videodecoder_->NotifyError(instance()->pp_instance(), + ppp_videodecoder_->NotifyError(instance()->pp_instance(), resource.id, static_cast<PP_VideoDecodeError_Dev>(error)); } diff --git a/webkit/plugins/ppapi/ppb_video_decoder_impl.h b/webkit/plugins/ppapi/ppb_video_decoder_impl.h index 65c0116..a1e2f07 100644 --- a/webkit/plugins/ppapi/ppb_video_decoder_impl.h +++ b/webkit/plugins/ppapi/ppb_video_decoder_impl.h @@ -38,7 +38,7 @@ class PPB_VideoDecoder_Impl : public Resource, // ResourceObjectBase overrides. virtual PPB_VideoDecoder_API* AsPPB_VideoDecoder_API() OVERRIDE; - // PPB_VideoDecoder implementation. + // PPB_VideoDecoder_API implementation. virtual int32_t Initialize(PP_Resource context_id, const PP_VideoConfigElement* dec_config, PP_CompletionCallback callback) OVERRIDE; |