Home | History | Annotate | Download | only in private
      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