Chromium Code Reviews| Index: content/renderer/pepper/pepper_video_source_host.h |
| diff --git a/content/renderer/pepper/pepper_video_source_host.h b/content/renderer/pepper/pepper_video_source_host.h |
| index c2a873f80e136498222f55164f4a64d91c6402aa..940a178522f926b46c24ad29cdffe00ec7de73a4 100644 |
| --- a/content/renderer/pepper/pepper_video_source_host.h |
| +++ b/content/renderer/pepper/pepper_video_source_host.h |
| @@ -6,16 +6,21 @@ |
| #define CONTENT_RENDERER_PEPPER_PEPPER_VIDEO_SOURCE_HOST_H_ |
| #include "base/compiler_specific.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/memory/weak_ptr.h" |
| #include "content/common/content_export.h" |
| +#include "content/renderer/media/video_source_handler.h" |
| #include "ppapi/c/pp_time.h" |
| +#include "ppapi/host/host_message_context.h" |
| #include "ppapi/host/resource_host.h" |
| namespace content { |
| class RendererPpapiHost; |
| -class CONTENT_EXPORT PepperVideoSourceHost : public ppapi::host::ResourceHost { |
| +class CONTENT_EXPORT PepperVideoSourceHost |
| + : public ppapi::host::ResourceHost, |
| + public content::FrameReaderInterface { |
| public: |
| PepperVideoSourceHost(RendererPpapiHost* host, |
| PP_Instance instance, |
| @@ -23,21 +28,35 @@ class CONTENT_EXPORT PepperVideoSourceHost : public ppapi::host::ResourceHost { |
| virtual ~PepperVideoSourceHost(); |
| + // content::FrameReaderInterface implementation. |
| + virtual bool GotFrame(cricket::VideoFrame* frame) OVERRIDE; |
| + |
| virtual int32_t OnResourceMessageReceived( |
| const IPC::Message& msg, |
| ppapi::host::HostMessageContext* context) OVERRIDE; |
| private: |
| + int32_t ConvertFrame(ppapi::HostResource* image_data_resource, |
| + PP_TimeTicks* timestamp); |
| + void SendFrame(const ppapi::HostResource& image_data_resource, |
| + PP_TimeTicks timestamp, |
| + int32_t result); |
| + |
| int32_t OnHostMsgOpen(ppapi::host::HostMessageContext* context, |
| const std::string& stream_url); |
| int32_t OnHostMsgGetFrame(ppapi::host::HostMessageContext* context); |
| int32_t OnHostMsgClose(ppapi::host::HostMessageContext* context); |
| RendererPpapiHost* renderer_ppapi_host_; |
| + ppapi::host::ReplyMessageContext reply_context_; |
| base::WeakPtrFactory<PepperVideoSourceHost> weak_factory_; |
| - PP_TimeTicks last_timestamp_; |
| + scoped_ptr<content::VideoSourceHandler> source_handler_; |
| + std::string stream_url_; |
| + scoped_ptr<cricket::VideoFrame> last_frame_; |
| + base::Lock lock_; |
|
yzshen1
2013/05/06 16:47:28
I agree with the comment that we should use PostTa
bbudge
2013/05/06 19:27:50
Done. Used a task.
|
| + bool get_frame_pending_; |
| DISALLOW_COPY_AND_ASSIGN(PepperVideoSourceHost); |
| }; |