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

Side by Side Diff: remoting/client/jni/jni_frame_consumer.h

Issue 19297003: Add support for drawing video onto a Java ByteBuffer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename to JniFrameConsumer, use WeakPtrFactory, eliminate buffer_ pointer Created 7 years, 5 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 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 REMOTING_CLIENT_JNI_JNI_FRAME_CONSUMER_H_
6 #define REMOTING_CLIENT_JNI_JNI_FRAME_CONSUMER_H_
7
8 #include "remoting/client/frame_consumer.h"
9
10 #include "base/compiler_specific.h"
11
12 namespace webrtc {
13 class DesktopFrame;
14 } // namespace webrtc
15
16 namespace remoting {
17 class ChromotingJni;
18 class FrameProducer;
19
20 // FrameConsumer implementation that draws onto a JNI direct byte buffer.
21 class JniFrameConsumer : public FrameConsumer {
22 public:
23 JniFrameConsumer();
24 virtual ~JniFrameConsumer();
25
26 // This must be called once before the producer's source size is set.
27 void set_frame_producer(FrameProducer* producer);
28
29 // FrameConsumer implementation.
30 virtual void ApplyBuffer(const SkISize& view_size,
31 const SkIRect& clip_area,
32 webrtc::DesktopFrame* buffer,
33 const SkRegion& region) OVERRIDE;
34 virtual void ReturnBuffer(webrtc::DesktopFrame* buffer) OVERRIDE;
35 virtual void SetSourceSize(const SkISize& source_size,
36 const SkIPoint& dpi) OVERRIDE;
37
38 private:
39 // These variables are to be used from the display thread.
40 FrameProducer* frame_producer_;
41 SkISize view_size_;
42 SkIRect clip_area_;
43
44 // Helper to allocate a new buffer of |view_size_| and inform Java about it.
45 webrtc::DesktopFrame* AllocateBuffer();
46
47 DISALLOW_COPY_AND_ASSIGN(JniFrameConsumer);
48 };
49
50 } // namespace remoting
51
52 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698