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

Side by Side Diff: content/renderer/pepper/pepper_media_stream_track_host_base.h

Issue 128683003: [PPAPI] Implement media stream video track API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@video_track_impl_cl
Patch Set: Rebase it Created 6 years, 11 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_RENDERER_PEPPER_PEPPER_MEDIA_STREAM_TRACK_HOST_BASE_H_
6 #define CONTENT_RENDERER_PEPPER_PEPPER_MEDIA_STREAM_TRACK_HOST_BASE_H_
7
8 #include "base/compiler_specific.h"
9 #include "content/common/content_export.h"
10 #include "ppapi/host/resource_host.h"
11 #include "ppapi/shared_impl/media_stream_frame_buffer.h"
12
13 namespace content {
14
15 class RendererPpapiHost;
16
17 class PepperMediaStreamTrackHostBase
18 : public ppapi::host::ResourceHost,
19 public ppapi::MediaStreamFrameBuffer::Delegate {
20 protected:
21 PepperMediaStreamTrackHostBase(RendererPpapiHost* host,
22 PP_Instance instance,
23 PP_Resource resource);
24
25 virtual ~PepperMediaStreamTrackHostBase();
26
27 bool InitFrames(int32_t number_of_frames, int32_t frame_size);
28
29 virtual int32_t OnResourceMessageReceived(
30 const IPC::Message& msg,
31 ppapi::host::HostMessageContext* context) OVERRIDE;
32
33 ppapi::MediaStreamFrameBuffer* frame_buffer() { return &frame_buffer_; }
34
35 // Enqueue a frame into plugin's |frame_buffer_|.
dmichael (off chromium) 2014/01/09 21:06:47 Can you clear up what this actually means? Does it
Peng 2014/01/10 19:14:30 When a frame is ready, the host will call this fun
36 void PluginEnqueueFrame(int32_t index);
37
38 // Subclass should implement this method to get notification when the track is
39 // being closed.
40 virtual void OnClose() = 0;
41
42 // Messages handlers:
43 int32_t OnHostMsgEnqueueFrame(ppapi::host::HostMessageContext* context,
44 int32_t index);
45 int32_t OnHostMsgClose(ppapi::host::HostMessageContext* context);
46
47 private:
48 RendererPpapiHost* host_;
49
50 ppapi::MediaStreamFrameBuffer frame_buffer_;
51
52 DISALLOW_COPY_AND_ASSIGN(PepperMediaStreamTrackHostBase);
53 };
54
55 } // namespace content
56
57 #endif // CONTENT_RENDERER_PEPPER_PEPPER_MEDIA_STREAM_TRACK_HOST_BASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698