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 37