// Copyright 2014 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/video_frame.h" #include "ppapi/cpp/module.h" #include "ppapi/cpp/module_impl.h" namespace pp { namespace { template <> const char* interface_name() { return PPB_VIDEOFRAME_INTERFACE_0_1; } } VideoFrame::VideoFrame() { } VideoFrame::VideoFrame(const VideoFrame& other) : Resource(other) { } VideoFrame::VideoFrame(const Resource& resource) : Resource(resource) { } VideoFrame::VideoFrame(PassRef, PP_Resource resource) : Resource(PASS_REF, resource) { } VideoFrame::~VideoFrame() { } PP_TimeDelta VideoFrame::GetTimestamp() const { if (has_interface()) return get_interface()->GetTimestamp(pp_resource()); return 0.0; } void VideoFrame::SetTimestamp(PP_TimeDelta timestamp) { if (has_interface()) get_interface()->SetTimestamp(pp_resource(), timestamp); } PP_VideoFrame_Format VideoFrame::GetFormat() const { if (has_interface()) return get_interface()->GetFormat(pp_resource()); return PP_VIDEOFRAME_FORMAT_UNKNOWN; } bool VideoFrame::GetSize(Size* size) const { if (has_interface()) return PP_ToBool(get_interface()->GetSize( pp_resource(), &size->pp_size())); return false; } void* VideoFrame::GetDataBuffer() { if (has_interface()) return get_interface()->GetDataBuffer(pp_resource()); return NULL; } uint32_t VideoFrame::GetDataBufferSize() const { if (has_interface()) { return get_interface()->GetDataBufferSize( pp_resource()); } return 0; } } // namespace pp