summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorvrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-10 22:01:32 +0000
committervrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-10 22:01:32 +0000
commit48e1ffea05883acdc563f767211dfbc0fbc41df7 (patch)
treec4fa65547f41aa48c4e7bd740e7d964a86b3d7c8 /content/renderer
parent4f74b78fabcacdc703d725cdd704ec5edb141d95 (diff)
downloadchromium_src-48e1ffea05883acdc563f767211dfbc0fbc41df7.zip
chromium_src-48e1ffea05883acdc563f767211dfbc0fbc41df7.tar.gz
chromium_src-48e1ffea05883acdc563f767211dfbc0fbc41df7.tar.bz2
Update VideoDecode PPAPI structs to be consistent with media structures, part 1
This patch fixes some of the inconsistencies between the VideoDecode structs in the ppapi namespace and their wrappers in the media namespace. It also implements some of the hooks to pass messages to and from the browser and plugin. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6901036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84871 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/pepper_platform_video_decoder_impl.cc33
-rw-r--r--content/renderer/pepper_platform_video_decoder_impl.h32
-rw-r--r--content/renderer/pepper_plugin_delegate_impl.cc3
-rw-r--r--content/renderer/pepper_plugin_delegate_impl.h3
-rw-r--r--content/renderer/video_decode_accelerator_host.cc21
-rw-r--r--content/renderer/video_decode_accelerator_host.h33
6 files changed, 72 insertions, 53 deletions
diff --git a/content/renderer/pepper_platform_video_decoder_impl.cc b/content/renderer/pepper_platform_video_decoder_impl.cc
index d96dc92..89a75ce 100644
--- a/content/renderer/pepper_platform_video_decoder_impl.cc
+++ b/content/renderer/pepper_platform_video_decoder_impl.cc
@@ -8,11 +8,8 @@
#include "base/logging.h"
#include "content/renderer/video_decode_accelerator_host.h"
-#include "media/base/buffers.h"
-#include "media/base/video_frame.h"
using media::BitstreamBuffer;
-using media::VideoDecodeAccelerator;
using media::VideoDecodeAcceleratorCallback;
PlatformVideoDecoderImpl::PlatformVideoDecoderImpl(
@@ -23,10 +20,10 @@ PlatformVideoDecoderImpl::PlatformVideoDecoderImpl(
PlatformVideoDecoderImpl::~PlatformVideoDecoderImpl() {}
-const std::vector<uint32>& PlatformVideoDecoderImpl::GetConfig(
- const std::vector<uint32>& prototype_config) {
+void PlatformVideoDecoderImpl::GetConfigs(
+ const std::vector<uint32>& requested_configs,
+ std::vector<uint32>* matched_configs) {
NOTIMPLEMENTED();
- return configs;
}
bool PlatformVideoDecoderImpl::Initialize(const std::vector<uint32>& config) {
@@ -36,7 +33,7 @@ bool PlatformVideoDecoderImpl::Initialize(const std::vector<uint32>& config) {
}
bool PlatformVideoDecoderImpl::Decode(
- BitstreamBuffer* bitstream_buffer,
+ const BitstreamBuffer& bitstream_buffer,
VideoDecodeAcceleratorCallback* callback) {
// TODO(vmr): Implement me!
NOTIMPLEMENTED();
@@ -44,12 +41,21 @@ bool PlatformVideoDecoderImpl::Decode(
return false;
}
-void PlatformVideoDecoderImpl::AssignPictureBuffer(
- std::vector<VideoDecodeAccelerator::PictureBuffer*> picture_buffers) {
+void PlatformVideoDecoderImpl::AssignGLESBuffers(
+ const std::vector<media::GLESBuffer>& buffers) {
+ // TODO(vmr): Implement me!
+ NOTIMPLEMENTED();
+}
+
+void PlatformVideoDecoderImpl::AssignSysmemBuffers(
+ const std::vector<media::SysmemBuffer>& buffers) {
+ // TODO(vmr): Implement me!
+ NOTIMPLEMENTED();
}
-void PlatformVideoDecoderImpl::ReusePictureBuffer(
- VideoDecodeAccelerator::PictureBuffer* picture_buffer) {
+void PlatformVideoDecoderImpl::ReusePictureBuffer(uint32 picture_buffer_id) {
+ // TODO(vmr): Implement me!
+ NOTIMPLEMENTED();
}
bool PlatformVideoDecoderImpl::Flush(
@@ -83,13 +89,14 @@ void PlatformVideoDecoderImpl::NotifyError(
void PlatformVideoDecoderImpl::ProvidePictureBuffers(
uint32 requested_num_of_buffers,
- const std::vector<uint32>& buffer_properties) {
+ gfx::Size dimensions,
+ media::VideoDecodeAccelerator::MemoryType type) {
// TODO(vmr): Implement.
NOTIMPLEMENTED();
}
void PlatformVideoDecoderImpl::PictureReady(
- VideoDecodeAccelerator::Picture* picture) {
+ const media::Picture& picture) {
// TODO(vmr): Implement.
NOTIMPLEMENTED();
}
diff --git a/content/renderer/pepper_platform_video_decoder_impl.h b/content/renderer/pepper_platform_video_decoder_impl.h
index 2acdbd1..d067cff 100644
--- a/content/renderer/pepper_platform_video_decoder_impl.h
+++ b/content/renderer/pepper_platform_video_decoder_impl.h
@@ -8,7 +8,6 @@
#include <vector>
#include "base/scoped_ptr.h"
-#include "media/base/data_buffer.h"
#include "media/video/video_decode_accelerator.h"
#include "webkit/plugins/ppapi/plugin_delegate.h"
@@ -21,25 +20,28 @@ class PlatformVideoDecoderImpl
virtual ~PlatformVideoDecoderImpl();
// PlatformVideoDecoder implementation.
- virtual const std::vector<uint32>& GetConfig(
- const std::vector<uint32>& prototype_config);
- virtual bool Initialize(const std::vector<uint32>& config);
- virtual bool Decode(media::BitstreamBuffer* bitstream_buffer,
- media::VideoDecodeAcceleratorCallback* callback);
- virtual void AssignPictureBuffer(
- std::vector<media::VideoDecodeAccelerator::PictureBuffer*>
- picture_buffers);
- virtual void ReusePictureBuffer(
- media::VideoDecodeAccelerator::PictureBuffer* picture_buffer);
- virtual bool Flush(media::VideoDecodeAcceleratorCallback* callback);
- virtual bool Abort(media::VideoDecodeAcceleratorCallback* callback);
+ virtual void GetConfigs(
+ const std::vector<uint32>& requested_configs,
+ std::vector<uint32>* matched_configs) OVERRIDE;
+ virtual bool Initialize(const std::vector<uint32>& config) OVERRIDE;
+ virtual bool Decode(
+ const media::BitstreamBuffer& bitstream_buffer,
+ media::VideoDecodeAcceleratorCallback* callback) OVERRIDE;
+ virtual void AssignGLESBuffers(
+ const std::vector<media::GLESBuffer>& buffers) OVERRIDE;
+ virtual void AssignSysmemBuffers(
+ const std::vector<media::SysmemBuffer>& buffers) OVERRIDE;
+ virtual void ReusePictureBuffer(uint32 picture_buffer_id) OVERRIDE;
+ virtual bool Flush(media::VideoDecodeAcceleratorCallback* callback) OVERRIDE;
+ virtual bool Abort(media::VideoDecodeAcceleratorCallback* callback) OVERRIDE;
// VideoDecodeAccelerator::Client implementation.
virtual void ProvidePictureBuffers(
uint32 requested_num_of_buffers,
- const std::vector<uint32>& buffer_properties) OVERRIDE;
+ gfx::Size dimensions,
+ media::VideoDecodeAccelerator::MemoryType type) OVERRIDE;
virtual void PictureReady(
- media::VideoDecodeAccelerator::Picture* picture) OVERRIDE;
+ const media::Picture& picture) OVERRIDE;
virtual void NotifyEndOfStream() OVERRIDE;
virtual void NotifyError(
media::VideoDecodeAccelerator::Error error) OVERRIDE;
diff --git a/content/renderer/pepper_plugin_delegate_impl.cc b/content/renderer/pepper_plugin_delegate_impl.cc
index 34256cc..6c77825 100644
--- a/content/renderer/pepper_plugin_delegate_impl.cc
+++ b/content/renderer/pepper_plugin_delegate_impl.cc
@@ -814,7 +814,8 @@ webkit::ppapi::PluginDelegate::PlatformContext3D*
webkit::ppapi::PluginDelegate::PlatformVideoDecoder*
PepperPluginDelegateImpl::CreateVideoDecoder(
- PP_VideoDecoderConfig_Dev* decoder_config) {
+ PP_VideoConfigElement* decoder_config,
+ media::VideoDecodeAccelerator::Client* client) {
// TODO(vmr): Implement.
NOTIMPLEMENTED();
return NULL;
diff --git a/content/renderer/pepper_plugin_delegate_impl.h b/content/renderer/pepper_plugin_delegate_impl.h
index 0a5a3a3..ab862f2 100644
--- a/content/renderer/pepper_plugin_delegate_impl.h
+++ b/content/renderer/pepper_plugin_delegate_impl.h
@@ -175,7 +175,8 @@ class PepperPluginDelegateImpl
virtual PlatformImage2D* CreateImage2D(int width, int height);
virtual PlatformContext3D* CreateContext3D();
virtual PlatformVideoDecoder* CreateVideoDecoder(
- PP_VideoDecoderConfig_Dev* decoder_config);
+ PP_VideoConfigElement* decoder_config,
+ media::VideoDecodeAccelerator::Client* client);
virtual PpapiBroker* ConnectToPpapiBroker(
webkit::ppapi::PPB_Broker_Impl* client);
virtual void NumberOfFindResultsChanged(int identifier,
diff --git a/content/renderer/video_decode_accelerator_host.cc b/content/renderer/video_decode_accelerator_host.cc
index 013277a..b95ebe7 100644
--- a/content/renderer/video_decode_accelerator_host.cc
+++ b/content/renderer/video_decode_accelerator_host.cc
@@ -36,11 +36,11 @@ bool VideoDecodeAcceleratorHost::OnMessageReceived(const IPC::Message& msg) {
return handled;
}
-const std::vector<uint32>& VideoDecodeAcceleratorHost::GetConfig(
- const std::vector<uint32>& prototype_config) {
+void VideoDecodeAcceleratorHost::GetConfigs(
+ const std::vector<uint32>& requested_configs,
+ std::vector<uint32>* matched_configs) {
// TODO(vmr): implement.
NOTIMPLEMENTED();
- return configs_;
}
bool VideoDecodeAcceleratorHost::Initialize(
@@ -51,21 +51,26 @@ bool VideoDecodeAcceleratorHost::Initialize(
}
bool VideoDecodeAcceleratorHost::Decode(
- media::BitstreamBuffer* bitstream_buffer,
+ const media::BitstreamBuffer& bitstream_buffer,
VideoDecodeAcceleratorCallback* callback) {
// TODO(vmr): implement.
NOTIMPLEMENTED();
return false;
}
-void VideoDecodeAcceleratorHost::AssignPictureBuffer(
- std::vector<PictureBuffer*> picture_buffers) {
+void VideoDecodeAcceleratorHost::AssignGLESBuffers(
+ const std::vector<media::GLESBuffer>& buffers) {
// TODO(vmr): implement.
NOTIMPLEMENTED();
}
-void VideoDecodeAcceleratorHost::ReusePictureBuffer(
- PictureBuffer* picture_buffer) {
+void VideoDecodeAcceleratorHost::AssignSysmemBuffers(
+ const std::vector<media::SysmemBuffer>& buffers) {
+ // TODO(vmr): implement.
+ NOTIMPLEMENTED();
+}
+
+void VideoDecodeAcceleratorHost::ReusePictureBuffer(uint32 picture_buffer_id) {
// TODO(vmr): implement.
NOTIMPLEMENTED();
}
diff --git a/content/renderer/video_decode_accelerator_host.h b/content/renderer/video_decode_accelerator_host.h
index c19b0b5..7d7c3dc 100644
--- a/content/renderer/video_decode_accelerator_host.h
+++ b/content/renderer/video_decode_accelerator_host.h
@@ -28,21 +28,26 @@ class VideoDecodeAcceleratorHost : public IPC::Channel::Listener,
virtual ~VideoDecodeAcceleratorHost();
// IPC::Channel::Listener implementation.
- virtual void OnChannelConnected(int32 peer_pid);
- virtual void OnChannelError();
- virtual bool OnMessageReceived(const IPC::Message& message);
+ virtual void OnChannelConnected(int32 peer_pid) OVERRIDE;
+ virtual void OnChannelError() OVERRIDE;
+ virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
// media::VideoDecodeAccelerator implementation.
- virtual const std::vector<uint32>& GetConfig(
- const std::vector<uint32>& prototype_config);
- virtual bool Initialize(const std::vector<uint32>& config);
- virtual bool Decode(media::BitstreamBuffer* bitstream_buffer,
- media::VideoDecodeAcceleratorCallback* callback);
- virtual void AssignPictureBuffer(
- std::vector<PictureBuffer*> picture_buffers);
- virtual void ReusePictureBuffer(PictureBuffer* picture_buffer);
- virtual bool Flush(media::VideoDecodeAcceleratorCallback* callback);
- virtual bool Abort(media::VideoDecodeAcceleratorCallback* callback);
+ virtual void GetConfigs(
+ const std::vector<uint32>& requested_configs,
+ std::vector<uint32>* matched_configs) OVERRIDE;
+ virtual bool Initialize(
+ const std::vector<uint32>& config) OVERRIDE;
+ virtual bool Decode(
+ const media::BitstreamBuffer& bitstream_buffer,
+ media::VideoDecodeAcceleratorCallback* callback) OVERRIDE;
+ virtual void AssignGLESBuffers(
+ const std::vector<media::GLESBuffer>& buffers) OVERRIDE;
+ virtual void AssignSysmemBuffers(
+ const std::vector<media::SysmemBuffer>& buffers) OVERRIDE;
+ virtual void ReusePictureBuffer(uint32 picture_buffer_id) OVERRIDE;
+ virtual bool Flush(media::VideoDecodeAcceleratorCallback* callback) OVERRIDE;
+ virtual bool Abort(media::VideoDecodeAcceleratorCallback* callback) OVERRIDE;
private:
// Message loop that this object runs on.
@@ -67,8 +72,6 @@ class VideoDecodeAcceleratorHost : public IPC::Channel::Listener,
// TODO(vmr): move into plugin provided IPC buffers.
scoped_ptr<base::SharedMemory> input_transfer_buffer_;
- std::vector<uint32> configs_;
-
DISALLOW_COPY_AND_ASSIGN(VideoDecodeAcceleratorHost);
};