blob: 8c64476b3fd1843eff9442bab5710a5f9c450f0a [file] [log] [blame]
/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/* From private/pp_video_frame_private.idl modified Wed Apr 24 11:49:01 2013. */
#ifndef PPAPI_C_PRIVATE_PP_VIDEO_FRAME_PRIVATE_H_
#define PPAPI_C_PRIVATE_PP_VIDEO_FRAME_PRIVATE_H_
#include "ppapi/c/pp_macros.h"
#include "ppapi/c/pp_resource.h"
#include "ppapi/c/pp_stdint.h"
#include "ppapi/c/pp_time.h"
/**
* @file
* This file defines the struct used to hold a video frame.
*/
/**
* @addtogroup Structs
* @{
*/
/**
* The <code>PP_VideoFrame_Private</code> struct represents a video frame.
* Video sources and destinations use frames to transfer video to and from
* the browser.
*/
struct PP_VideoFrame_Private {
/**
* A timestamp placing the frame in a video stream.
*/
PP_TimeTicks timestamp;
/**
* An image data resource to hold the video frame.
*/
PP_Resource image_data;
/**
* Ensure that this struct is 16-bytes wide by padding the end. In some
* compilers, PP_TimeTicks is 8-byte aligned, so those compilers align this
* struct on 8-byte boundaries as well and pad it to 8 bytes even without this
* padding attribute. This padding makes its size consistent across
* compilers.
*/
int32_t padding;
};
PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoFrame_Private, 16);
/**
* @}
*/
#endif /* PPAPI_C_PRIVATE_PP_VIDEO_FRAME_PRIVATE_H_ */