- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / api / private / pp_video_frame_private.idl
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  * This file defines the struct used to hold a video frame.
8  */
9
10 /**
11  * The <code>PP_VideoFrame_Private</code> struct represents a video frame.
12  * Video sources and destinations use frames to transfer video to and from
13  * the browser.
14  */
15 [assert_size(16)]
16 struct PP_VideoFrame_Private {
17   /**
18    * A timestamp placing the frame in a video stream.
19    */
20   PP_TimeTicks timestamp;
21
22   /**
23    * An image data resource to hold the video frame.
24    */
25   PP_Resource image_data;
26
27   /**
28    * Ensure that this struct is 16-bytes wide by padding the end.  In some
29    * compilers, PP_TimeTicks is 8-byte aligned, so those compilers align this
30    * struct on 8-byte boundaries as well and pad it to 8 bytes even without this
31    * padding attribute.  This padding makes its size consistent across
32    * compilers.
33    */
34   int32_t padding;
35 };
36