Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(213)

Side by Side Diff: ppapi/c/dev/ppb_video_decoder_dev.h

Issue 4310002: Make PPAPI headers compile with C compilers (gcc on Linux & Mac and MSVS on W... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/c/dev/ppb_var_deprecated.h ('k') | ppapi/c/dev/ppb_widget_dev.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ 5 #ifndef PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_
6 #define PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ 6 #define PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_
7 7
8 #include "ppapi/c/pp_bool.h"
8 #include "ppapi/c/dev/pp_video_dev.h" 9 #include "ppapi/c/dev/pp_video_dev.h"
9 #include "ppapi/c/pp_module.h" 10 #include "ppapi/c/pp_module.h"
10 #include "ppapi/c/pp_resource.h" 11 #include "ppapi/c/pp_resource.h"
11 #include "ppapi/c/pp_stdint.h" 12 #include "ppapi/c/pp_stdint.h"
12 #include "ppapi/c/pp_completion_callback.h" 13 #include "ppapi/c/pp_completion_callback.h"
13 14
14 #define PPB_VIDEODECODER_DEV_INTERFACE "PPB_VideoDecoder(Dev);0.1" 15 #define PPB_VIDEODECODER_DEV_INTERFACE "PPB_VideoDecoder(Dev);0.2"
15 16
16 struct PPB_VideoDecoder_Dev { 17 struct PPB_VideoDecoder_Dev {
17 // Queries capability of the decoder for |codec|. 18 // Queries capability of the decoder for |codec|.
18 // |codec| is the requested codec id. 19 // |codec| is the requested codec id.
19 // |configs| is a pointer to a buffer containing |config_size| elements. 20 // |configs| is a pointer to a buffer containing |config_size| elements.
20 // The number of configurations is returned in |num_config|. Element 0 through 21 // The number of configurations is returned in |num_config|. Element 0 through
21 // |num_config| - 1 of |configs| are filled in with valid PP_VideoConfig's. 22 // |num_config| - 1 of |configs| are filled in with valid PP_VideoConfig's.
22 // No more than |config_size| PP_VideoConfig's will be returned even if more 23 // No more than |config_size| PP_VideoConfig's will be returned even if more
23 // are available on the device. 24 // are available on the device.
24 // When this function is called with |configs| = NULL, then no configurations 25 // When this function is called with |configs| = NULL, then no configurations
25 // are returned, but the total number of configurations available will be 26 // are returned, but the total number of configurations available will be
26 // returned in |num_config|. 27 // returned in |num_config|.
27 // 28 //
28 // Returns true on success, false otherwise. 29 // Returns PP_TRUE on success, PP_FALSE otherwise.
29 // NOTE: browser owns the memory of all PP_VideoConfig's. 30 // NOTE: browser owns the memory of all PP_VideoConfig's.
30 bool (*GetConfig)(PP_Instance instance, 31 PP_Bool (*GetConfig)(PP_Instance instance,
31 PP_VideoCodecId_Dev codec, 32 enum PP_VideoCodecId_Dev codec,
32 PP_VideoConfig_Dev* configs, 33 PP_VideoConfig_Dev* configs,
33 int32_t config_size, 34 int32_t config_size,
34 int32_t* num_config); 35 int32_t* num_config);
35 36
36 // Creates a video decoder with requested |decoder_config|. 37 // Creates a video decoder with requested |decoder_config|.
37 // |input_format| in |decoder_config| specifies the format of input access 38 // |input_format| in |decoder_config| specifies the format of input access
38 // unit, with PP_VIDEOKEY_CODECID and PP_VIDEOKEY_PAYLOADFORMAT required. 39 // unit, with PP_VIDEOKEY_CODECID and PP_VIDEOKEY_PAYLOADFORMAT required.
39 // Plugin has the option to specify codec profile/level and other 40 // Plugin has the option to specify codec profile/level and other
40 // information such as PP_VIDEOKEY_ACCELERATION, to let browser choose 41 // information such as PP_VIDEOKEY_ACCELERATION, to let browser choose
41 // the most appropriate decoder. 42 // the most appropriate decoder.
42 // 43 //
43 // |output_format| in |decoder_config| specifies desired decoded frame buffer 44 // |output_format| in |decoder_config| specifies desired decoded frame buffer
44 // format, with PP_VIDEOKEY_COLORTYPE and PP_VIDEOKEY_SURFACETYPE required. 45 // format, with PP_VIDEOKEY_COLORTYPE and PP_VIDEOKEY_SURFACETYPE required.
(...skipping 14 matching lines...) Expand all
59 // The created decoder is returned as PP_Resource. NULL means failure. 60 // The created decoder is returned as PP_Resource. NULL means failure.
60 PP_Resource (*Create)(PP_Instance instance, 61 PP_Resource (*Create)(PP_Instance instance,
61 const struct PP_VideoDecoderConfig_Dev* decoder_config); 62 const struct PP_VideoDecoderConfig_Dev* decoder_config);
62 63
63 // Sends bit stream in |input_buffer| to the decoder. 64 // Sends bit stream in |input_buffer| to the decoder.
64 // This is a non-blocking call. 65 // This is a non-blocking call.
65 // The decoded frame will be returned by decoder calling |output_callback| 66 // The decoded frame will be returned by decoder calling |output_callback|
66 // provided by plugin during creation of decoder. 67 // provided by plugin during creation of decoder.
67 // The input data buffer is returned to plugin by decoder only when plugin 68 // The input data buffer is returned to plugin by decoder only when plugin
68 // provides |input_callback|. 69 // provides |input_callback|.
69 // Returns true on decoder successfully accepting buffer, false otherwise. 70 // Returns PP_TRUE on decoder successfully accepting buffer, PP_FALSE
71 // otherwise.
70 // 72 //
71 bool (*Decode)(PP_Resource decoder, 73 PP_Bool (*Decode)(PP_Resource decoder,
72 struct PP_VideoCompressedDataBuffer_Dev* input_buffer); 74 struct PP_VideoCompressedDataBuffer_Dev* input_buffer);
73 75
74 // Requests the decoder to flush its input and output buffers. Once done with 76 // Requests the decoder to flush its input and output buffers. Once done with
75 // flushing, the decode will call the |callback|. 77 // flushing, the decode will call the |callback|.
76 int32_t (*Flush)(PP_Resource decoder, 78 int32_t (*Flush)(PP_Resource decoder, struct PP_CompletionCallback callback);
77 PP_CompletionCallback callback);
78 79
79 // Plugin sends uncompressed data buffers to the decoder. 80 // Plugin sends uncompressed data buffers to the decoder.
80 // Returns true on decoder successfully accepting the buffer, false otherwise. 81 // Returns PP_TRUE on decoder successfully accepting the buffer, PP_FALSE
81 bool (*ReturnUncompressedDataBuffer)( 82 // otherwise.
82 PP_Resource decoder, 83 PP_Bool (*ReturnUncompressedDataBuffer)(PP_Resource decoder,
83 struct PP_VideoUncompressedDataBuffer_Dev* buffer); 84 struct PP_VideoUncompressedDataBuffer_Dev* buffer);
84 }; 85 };
85 86
86 #endif // PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ 87 #endif // PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_
OLDNEW
« no previous file with comments | « ppapi/c/dev/ppb_var_deprecated.h ('k') | ppapi/c/dev/ppb_widget_dev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698