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)]
16struct 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
37