summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-30 00:48:33 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-30 00:48:33 +0000
commit1b2ec22ed8df1fb018e6ac402fc3b4f52e80a948 (patch)
treefbb93817da9d7315b45cf1288685cc860eef77e3 /ppapi/cpp
parent2854079e500f26d2b4c9b9b41ce1792e4a28091c (diff)
downloadchromium_src-1b2ec22ed8df1fb018e6ac402fc3b4f52e80a948.zip
chromium_src-1b2ec22ed8df1fb018e6ac402fc3b4f52e80a948.tar.gz
chromium_src-1b2ec22ed8df1fb018e6ac402fc3b4f52e80a948.tar.bz2
Allow both Context3D and Graphics3D with the video decoder
BUG=none TEST=Pepper Flash Review URL: http://codereview.chromium.org/7765011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98742 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp')
-rw-r--r--ppapi/cpp/dev/video_decoder_dev.cc10
-rw-r--r--ppapi/cpp/dev/video_decoder_dev.h10
2 files changed, 17 insertions, 3 deletions
diff --git a/ppapi/cpp/dev/video_decoder_dev.cc b/ppapi/cpp/dev/video_decoder_dev.cc
index baf180d..cde75f6 100644
--- a/ppapi/cpp/dev/video_decoder_dev.cc
+++ b/ppapi/cpp/dev/video_decoder_dev.cc
@@ -8,6 +8,7 @@
#include "ppapi/c/dev/ppp_video_decoder_dev.h"
#include "ppapi/c/pp_errors.h"
#include "ppapi/cpp/dev/context_3d_dev.h"
+#include "ppapi/cpp/dev/graphics_3d_dev.h"
#include "ppapi/cpp/instance.h"
#include "ppapi/cpp/module.h"
#include "ppapi/cpp/module_impl.h"
@@ -31,6 +32,15 @@ VideoDecoder_Dev::VideoDecoder_Dev(const Instance& instance,
instance.pp_instance(), context.pp_resource(), config));
}
+VideoDecoder_Dev::VideoDecoder_Dev(const Instance& instance,
+ const Graphics3D_Dev& context,
+ const PP_VideoConfigElement* config) {
+ if (!has_interface<PPB_VideoDecoder_Dev>())
+ return;
+ PassRefFromConstructor(get_interface<PPB_VideoDecoder_Dev>()->Create(
+ instance.pp_instance(), context.pp_resource(), config));
+}
+
VideoDecoder_Dev::VideoDecoder_Dev(PP_Resource resource) : Resource(resource) {
}
diff --git a/ppapi/cpp/dev/video_decoder_dev.h b/ppapi/cpp/dev/video_decoder_dev.h
index d831116..504e713 100644
--- a/ppapi/cpp/dev/video_decoder_dev.h
+++ b/ppapi/cpp/dev/video_decoder_dev.h
@@ -15,6 +15,7 @@
namespace pp {
class Context3D_Dev;
+class Graphics3D_Dev;
class Instance;
// C++ wrapper for the Pepper Video Decoder interface. For more detailed
@@ -24,9 +25,12 @@ class Instance;
class VideoDecoder_Dev : public Resource {
public:
// See PPB_VideoDecoder_Dev::Create.
- explicit VideoDecoder_Dev(const Instance& instance,
- const Context3D_Dev& context,
- const PP_VideoConfigElement* config);
+ VideoDecoder_Dev(const Instance& instance,
+ const Context3D_Dev& context,
+ const PP_VideoConfigElement* config);
+ VideoDecoder_Dev(const Instance& instance,
+ const Graphics3D_Dev& context,
+ const PP_VideoConfigElement* config);
explicit VideoDecoder_Dev(PP_Resource resource);
virtual ~VideoDecoder_Dev();