diff options
author | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-08 19:39:45 +0000 |
---|---|---|
committer | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-08 19:39:45 +0000 |
commit | 08bab53f31485b4644a6a318fa5eb606c667ec1b (patch) | |
tree | d2e863aaa1a3e133885ae0c5d303a6ec92708c9a /ppapi/c | |
parent | 5b31fe43ab3afe06483b34286f856c9ca07639fb (diff) | |
download | chromium_src-08bab53f31485b4644a6a318fa5eb606c667ec1b.zip chromium_src-08bab53f31485b4644a6a318fa5eb606c667ec1b.tar.gz chromium_src-08bab53f31485b4644a6a318fa5eb606c667ec1b.tar.bz2 |
Plumb texture target to VideoDecodeAccelerator::Client
Currently all VideoDecodeAccelerator::Clients use GL_TEXTURE_2D as their texture target.
Unfortunately the Mac decoder only supports GL_TEXTURE_RECTANGLE_ARB texture targets.
This CL allows decoders to choose which texture target they want.
BUG=127414
TEST=
Review URL: https://chromiumcodereview.appspot.com/10392141
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141258 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/c')
-rw-r--r-- | ppapi/c/dev/ppp_video_decoder_dev.h | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/ppapi/c/dev/ppp_video_decoder_dev.h b/ppapi/c/dev/ppp_video_decoder_dev.h index a06b582..20c4e8c 100644 --- a/ppapi/c/dev/ppp_video_decoder_dev.h +++ b/ppapi/c/dev/ppp_video_decoder_dev.h @@ -3,7 +3,7 @@ * found in the LICENSE file. */ -/* From dev/ppp_video_decoder_dev.idl modified Wed Jan 11 14:58:58 2012. */ +/* From dev/ppp_video_decoder_dev.idl modified Tue May 29 10:59:23 2012. */ #ifndef PPAPI_C_DEV_PPP_VIDEO_DECODER_DEV_H_ #define PPAPI_C_DEV_PPP_VIDEO_DECODER_DEV_H_ @@ -17,7 +17,8 @@ #define PPP_VIDEODECODER_DEV_INTERFACE_0_9 "PPP_VideoDecoder(Dev);0.9" #define PPP_VIDEODECODER_DEV_INTERFACE_0_10 "PPP_VideoDecoder(Dev);0.10" -#define PPP_VIDEODECODER_DEV_INTERFACE PPP_VIDEODECODER_DEV_INTERFACE_0_10 +#define PPP_VIDEODECODER_DEV_INTERFACE_0_11 "PPP_VideoDecoder(Dev);0.11" +#define PPP_VIDEODECODER_DEV_INTERFACE PPP_VIDEODECODER_DEV_INTERFACE_0_11 /** * @file @@ -36,7 +37,7 @@ * * See PPB_VideoDecoder_Dev for general usage tips. */ -struct PPP_VideoDecoder_Dev_0_10 { +struct PPP_VideoDecoder_Dev_0_11 { /** * Callback function to provide buffers for the decoded output pictures. If * succeeds plugin must provide buffers through AssignPictureBuffers function @@ -50,11 +51,13 @@ struct PPP_VideoDecoder_Dev_0_10 { * |decoder| the PPB_VideoDecoder_Dev resource. * |req_num_of_bufs| tells how many buffers are needed by the decoder. * |dimensions| tells the dimensions of the buffer to allocate. + * |texture_target| the type of texture used. */ void (*ProvidePictureBuffers)(PP_Instance instance, PP_Resource decoder, uint32_t req_num_of_bufs, - const struct PP_Size* dimensions); + const struct PP_Size* dimensions, + uint32_t texture_target); /** * Callback function for decoder to deliver unneeded picture buffers back to * the plugin. @@ -94,7 +97,7 @@ struct PPP_VideoDecoder_Dev_0_10 { PP_VideoDecodeError_Dev error); }; -typedef struct PPP_VideoDecoder_Dev_0_10 PPP_VideoDecoder_Dev; +typedef struct PPP_VideoDecoder_Dev_0_11 PPP_VideoDecoder_Dev; struct PPP_VideoDecoder_Dev_0_9 { void (*ProvidePictureBuffers)(PP_Instance instance, @@ -112,6 +115,22 @@ struct PPP_VideoDecoder_Dev_0_9 { PP_Resource decoder, PP_VideoDecodeError_Dev error); }; + +struct PPP_VideoDecoder_Dev_0_10 { + void (*ProvidePictureBuffers)(PP_Instance instance, + PP_Resource decoder, + uint32_t req_num_of_bufs, + const struct PP_Size* dimensions); + void (*DismissPictureBuffer)(PP_Instance instance, + PP_Resource decoder, + int32_t picture_buffer_id); + void (*PictureReady)(PP_Instance instance, + PP_Resource decoder, + const struct PP_Picture_Dev* picture); + void (*NotifyError)(PP_Instance instance, + PP_Resource decoder, + PP_VideoDecodeError_Dev error); +}; /** * @} */ |