summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/dev/video_decoder_dev.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/cpp/dev/video_decoder_dev.cc')
-rw-r--r--ppapi/cpp/dev/video_decoder_dev.cc69
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