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 #include "ppapi/cpp/private/video_frame_private.h" 6 7 namespace pp { 8 9 VideoFrame_Private::VideoFrame_Private() 10 : video_frame_() { 11 video_frame_.image_data = image_data_.pp_resource(); 12 } 13 14 VideoFrame_Private::VideoFrame_Private(const ImageData& image_data, 15 PP_TimeTicks timestamp) 16 : image_data_(image_data), video_frame_() { 17 video_frame_.timestamp = timestamp; 18 video_frame_.image_data = image_data_.pp_resource(); 19 } 20 21 VideoFrame_Private::VideoFrame_Private( 22 PassRef, 23 const PP_VideoFrame_Private& pp_video_frame) 24 : video_frame_(pp_video_frame) { 25 // Take over the image_data resource in the frame. 26 image_data_ = ImageData(PASS_REF, video_frame_.image_data); 27 } 28 29 VideoFrame_Private::VideoFrame_Private(const VideoFrame_Private& other) 30 : video_frame_() { 31 set_image_data(other.image_data()); 32 set_timestamp(other.timestamp()); 33 } 34 35 VideoFrame_Private::~VideoFrame_Private() { 36 } 37 38 VideoFrame_Private& VideoFrame_Private::operator=( 39 const VideoFrame_Private& other) { 40 if (this == &other) 41 return *this; 42 43 set_image_data(other.image_data()); 44 set_timestamp(other.timestamp()); 45 46 return *this; 47 } 48 49 } // namespace pp 50