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 #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