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

Side by Side Diff: ppapi/api/ppb_video_frame.idl

Issue 107083004: [PPAPI] API definition for video media stream artifacts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Update Created 6 years, 11 months 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
OLDNEW
(Empty)
1 /* Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
5
6 /**
7 * Defines the <code>PPB_VideoFrame</code> interface.
8 */
9 label Chrome {
10 [channel=dev] M34 = 0.1
11 };
12
13 enum PP_VideoFrame_Format {
14 /**
15 * Unknown format value.
16 */
17 PP_VIDEOFRAME_FORMAT_UNKNOWN = 0,
18
19 /**
20 * 12bpp YVU planar 1x1 Y, 2x2 VU samples.
21 */
22 PP_VIDEOFRAME_FORMAT_YV12 = 1,
23
24 /**
25 * 16bpp YVU planar 1x1 Y, 2x1 VU samples.
26 */
27 PP_VIDEOFRAME_FORMAT_YV16 = 2,
28
29 /**
30 * 12bpp YVU planar 1x1 Y, 2x2 VU samples.
31 */
32 PP_VIDEOFRAME_FORMAT_I420 = 3,
33
34 /**
35 * 20bpp YVU planar 1x1 Y, 2x2 VU, 1x1 A samples.
36 */
37 PP_VIDEOFRAME_FORMAT_YV12A = 4,
38
39 /**
40 * JPEG color range version of YV12.
41 */
42 PP_VIDEOFRAME_FORMAT_YV12J = 5
43 };
44
45 interface PPB_VideoFrame {
46 /**
47 * Determines if a resource is a VideoFrame resource.
48 *
49 * @param[in] resource The <code>PP_Resource</code> to test.
50 *
51 * @return A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given
52 * resource is a VideoFrame resource or <code>PP_FALSE</code> otherwise.
53 */
54 PP_Bool IsVideoFrame([in] PP_Resource resource);
55
56 /**
57 * Gets timestamp of the video frame.
58 *
59 * @param[in] frame A <code>PP_Resource</code> corresponding to a video frame
60 * resource.
61 *
62 * @return A <code>PP_TimeDelta</code> containing timestamp of the video
63 * frame. Given in seconds since the start of the containing video stream.
64 */
65 PP_TimeDelta GetTimestamp([in] PP_Resource frame);
66
67 /**
68 * Sets the timestamp of the video frame. Given in seconds since the
69 * start of the containing video stream.
70 *
71 * @param[in] frame A <code>PP_Resource</code> corresponding to a video frame
72 * resource.
73 * @param[in] timestamp A <code>PP_TimeDelta</code> containing the timestamp
74 * of the video frame. Given in seconds since the start of the containing
75 * video stream.
76 */
77 void SetTimestamp([in] PP_Resource frame, [in] PP_TimeDelta timestamp);
78
79 /**
80 * Gets format of the video frame.
81 *
82 * @param[in] frame A <code>PP_Resource</code> corresponding to a video frame
83 * resource.
84 *
85 * @return A <code>PP_VideoFrame_Format</code> containing the format of the
86 * video frame.
87 */
88 PP_VideoFrame_Format GetFormat([in] PP_Resource frame);
89
90 /**
91 * Gets size of the video frame.
92 *
93 * @param[in] frame A <code>PP_Resource</code> corresponding to a video frame
94 * resource.
95 * @param[out] size A <code>PP_Size</code>.
96 *
97 * @return A <code>PP_Bool</code> with <code>PP_TRUE</code> on success or
98 * <code>PP_FALSE</code> on failure.
99 */
100 PP_Bool GetSize([in] PP_Resource frame, [out] PP_Size size);
101
102 /**
103 * Gets data buffer for video frame pixels.
104 *
105 * @param[in] frame A <code>PP_Resource</code> corresponding to a video frame
106 * resource.
107 *
108 * @return A pointer to the beginning of data buffer.
109 */
110 mem_t GetDataBuffer([in] PP_Resource frame);
111
112 /**
113 * Gets size of data buffer.
114 *
115 * @param[in] frame A <code>PP_Resource</code> corresponding to a video frame
116 * resource.
117 *
118 * @return The size of the data buffer.
119 */
120 uint32_t GetDataBufferSize([in] PP_Resource frame);
121 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698