Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(482)

Unified Diff: content/renderer/pepper_platform_video_decoder_impl.h

Issue 7260008: Implement proper synchronization between HW video decode IPC and CommandBuffer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/pepper_platform_video_decoder_impl.h
diff --git a/content/renderer/pepper_platform_video_decoder_impl.h b/content/renderer/pepper_platform_video_decoder_impl.h
index 4f10db657b79f7bc60ee52cc3e1f76d1be3d2bdb..703bc91599fa2cff8704226c551e8422d3ce2d08 100644
--- a/content/renderer/pepper_platform_video_decoder_impl.h
+++ b/content/renderer/pepper_platform_video_decoder_impl.h
@@ -14,15 +14,19 @@
#include "webkit/plugins/ppapi/plugin_delegate.h"
class GpuChannelHost;
+namespace gpu {
+class CommandBufferHelper;
+}
class PlatformVideoDecoderImpl
: public webkit::ppapi::PluginDelegate::PlatformVideoDecoder,
public media::VideoDecodeAccelerator::Client,
public base::RefCountedThreadSafe<PlatformVideoDecoderImpl> {
public:
- explicit PlatformVideoDecoderImpl(
+ PlatformVideoDecoderImpl(
media::VideoDecodeAccelerator::Client* client,
- uint32 command_buffer_route_id);
+ int32 command_buffer_route_id,
+ gpu::CommandBufferHelper* cmd_buffer_helper);
virtual ~PlatformVideoDecoderImpl();
// PlatformVideoDecoder implementation.
@@ -30,15 +34,15 @@ class PlatformVideoDecoderImpl
const std::vector<uint32>& requested_configs,
std::vector<uint32>* matched_configs) OVERRIDE;
virtual bool Initialize(const std::vector<uint32>& config) OVERRIDE;
- virtual bool Decode(
+ virtual void Decode(
const media::BitstreamBuffer& bitstream_buffer) OVERRIDE;
virtual void AssignGLESBuffers(
const std::vector<media::GLESBuffer>& buffers) OVERRIDE;
virtual void AssignSysmemBuffers(
const std::vector<media::SysmemBuffer>& buffers) OVERRIDE;
virtual void ReusePictureBuffer(int32 picture_buffer_id);
- virtual bool Flush() OVERRIDE;
- virtual bool Abort() OVERRIDE;
+ virtual void Flush() OVERRIDE;
+ virtual void Abort() OVERRIDE;
// VideoDecodeAccelerator::Client implementation.
virtual void ProvidePictureBuffers(
@@ -65,7 +69,10 @@ class PlatformVideoDecoderImpl
media::VideoDecodeAccelerator::Client* client_;
// Route ID for the command buffer associated with video decoder's context.
- uint32 command_buffer_route_id_;
+ int32 command_buffer_route_id_;
+
+ // Helper for the command buffer associated with video decoder's context.
+ gpu::CommandBufferHelper* cmd_buffer_helper_;
// Host for GpuVideoDecodeAccelerator.
scoped_ptr<media::VideoDecodeAccelerator> decoder_;
@@ -73,9 +80,6 @@ class PlatformVideoDecoderImpl
// Host for Gpu Channel.
scoped_refptr<GpuChannelHost> channel_;
- // Message loop on which plugin is initialized.
- MessageLoop* message_loop_;
-
DISALLOW_COPY_AND_ASSIGN(PlatformVideoDecoderImpl);
};
« no previous file with comments | « content/renderer/gpu/gpu_video_service_host.cc ('k') | content/renderer/pepper_platform_video_decoder_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698