diff options
Diffstat (limited to 'ppapi/cpp/dev/video_decoder_dev.cc')
-rw-r--r-- | ppapi/cpp/dev/video_decoder_dev.cc | 69 |
1 files changed, 38 insertions, 31 deletions
diff --git a/ppapi/cpp/dev/video_decoder_dev.cc b/ppapi/cpp/dev/video_decoder_dev.cc index 503b446..f0d10b6 100644 --- a/ppapi/cpp/dev/video_decoder_dev.cc +++ b/ppapi/cpp/dev/video_decoder_dev.cc @@ -1,15 +1,22 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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/dev/video_decoder_dev.h" +#include <algorithm> +#include <iterator> + +#include "ppapi/c/dev/ppb_video_decoder_dev.h" +#include "ppapi/c/dev/ppp_video_decoder_dev.h" #include "ppapi/c/pp_errors.h" #include "ppapi/cpp/common.h" #include "ppapi/cpp/instance.h" #include "ppapi/cpp/module.h" #include "ppapi/cpp/module_impl.h" +using std::vector; + namespace pp { namespace { @@ -20,54 +27,54 @@ template <> const char* interface_name<PPB_VideoDecoder_Dev>() { } // namespace -VideoDecoder_Dev::VideoDecoder_Dev(PP_Resource resource) : Resource(resource) { -} - -VideoDecoder_Dev::VideoDecoder_Dev( - const Instance& instance, - const PP_VideoDecoderConfig_Dev& decoder_config) { +VideoDecoder::VideoDecoder( + const Instance* /* instance */, + VideoDecoderClient* /* picture_interface */) { if (!has_interface<PPB_VideoDecoder_Dev>()) return; - PassRefFromConstructor(get_interface<PPB_VideoDecoder_Dev>()->Create( - instance.pp_instance(), &decoder_config)); } -VideoDecoder_Dev::VideoDecoder_Dev(const VideoDecoder_Dev& other) - : Resource(other) { +VideoDecoder::~VideoDecoder() {} + +vector<uint32_t> VideoDecoder::GetConfig( + Instance* /* instance */, + const vector<uint32_t>& /* prototype_config */) { + vector<uint32_t> matching_configs; + if (!has_interface<PPB_VideoDecoder_Dev>()) + return matching_configs; + return matching_configs; } -// static -bool VideoDecoder_Dev::GetConfig(const Instance& instance, - PP_VideoCodecId_Dev codec, - PP_VideoConfig_Dev* configs, - int32_t config_size, - int32_t* num_config) { +bool VideoDecoder::Initialize(const std::vector<uint32_t>& /* config */) { if (!has_interface<PPB_VideoDecoder_Dev>()) return false; - return PPBoolToBool(get_interface<PPB_VideoDecoder_Dev>()->GetConfig( - instance.pp_instance(), codec, configs, config_size, num_config)); + return false; } -bool VideoDecoder_Dev::Decode(PP_VideoCompressedDataBuffer_Dev& input_buffer) { +bool VideoDecoder::Decode( + const PP_VideoBitstreamBuffer_Dev& /* bitstream_buffer */, + PP_CompletionCallback /* callback */) { if (!has_interface<PPB_VideoDecoder_Dev>() || !pp_resource()) return false; - return PPBoolToBool(get_interface<PPB_VideoDecoder_Dev>()->Decode( - pp_resource(), &input_buffer)); + return false; } -int32_t VideoDecoder_Dev::Flush(PP_CompletionCallback callback) { +int32_t VideoDecoder::Flush(PP_CompletionCallback /* callback */) { if (!has_interface<PPB_VideoDecoder_Dev>()) return PP_ERROR_NOINTERFACE; - return get_interface<PPB_VideoDecoder_Dev>()->Flush(pp_resource(), callback); + return PP_ERROR_ABORTED; } -bool VideoDecoder_Dev::ReturnUncompressedDataBuffer( - PP_VideoUncompressedDataBuffer_Dev& buffer) { - if (!has_interface<PPB_VideoDecoder_Dev>() || !pp_resource()) - return false; - return PPBoolToBool( - get_interface<PPB_VideoDecoder_Dev>()->ReturnUncompressedDataBuffer( - pp_resource(), &buffer)); +int32_t VideoDecoder::Abort(PP_CompletionCallback /* callback */) { + if (!has_interface<PPB_VideoDecoder_Dev>()) + return PP_ERROR_NOINTERFACE; + return PP_ERROR_ABORTED; } +void VideoDecoder::EventPicture(struct PP_Picture_Dev* /* picture */) {} + +void VideoDecoder::EventEndOfStream() {} + +void VideoDecoder::EventError(PP_VideoDecodeError_Dev /* error */) {} + } // namespace pp |