// 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.
#include "ppapi/cpp/private/video_frame_private.h"
namespace pp {
VideoFrame_Private::VideoFrame_Private()
: video_frame_() {
video_frame_.image_data = image_data_.pp_resource();
}
VideoFrame_Private::VideoFrame_Private(const ImageData& image_data,
PP_TimeTicks timestamp)
: image_data_(image_data), video_frame_() {
video_frame_.timestamp = timestamp;
video_frame_.image_data = image_data_.pp_resource();
}
VideoFrame_Private::VideoFrame_Private(
PassRef,
const PP_VideoFrame_Private& pp_video_frame)
: video_frame_(pp_video_frame) {
// Take over the image_data resource in the frame.
image_data_ = ImageData(PASS_REF, video_frame_.image_data);
}
VideoFrame_Private::VideoFrame_Private(const VideoFrame_Private& other)
: video_frame_() {
set_image_data(other.image_data());
set_timestamp(other.timestamp());
}
VideoFrame_Private::~VideoFrame_Private() {
}
VideoFrame_Private& VideoFrame_Private::operator=(
const VideoFrame_Private& other) {
if (this == &other)
return *this;
set_image_data(other.image_data());
set_timestamp(other.timestamp());
return *this;
}
} // namespace pp