OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 namespace webrtc { | 23 namespace webrtc { |
24 | 24 |
25 //#define ANDROID_LOG | 25 //#define ANDROID_LOG |
26 | 26 |
27 class CriticalSectionWrapper; | 27 class CriticalSectionWrapper; |
28 class EventWrapper; | 28 class EventWrapper; |
29 | 29 |
30 // The object a module user uses to send new frames to the java renderer | 30 // The object a module user uses to send new frames to the java renderer |
31 // Base class for android render streams. | 31 // Base class for android render streams. |
32 | 32 |
33 class AndroidStream : public VideoRenderCallback { | 33 class AndroidStream : public rtc::VideoSinkInterface<VideoFrame> { |
34 public: | 34 public: |
35 // DeliverFrame is called from a thread connected to the Java VM. | 35 // DeliverFrame is called from a thread connected to the Java VM. |
36 // Used for Delivering frame for rendering. | 36 // Used for Delivering frame for rendering. |
37 virtual void DeliverFrame(JNIEnv* jniEnv)=0; | 37 virtual void DeliverFrame(JNIEnv* jniEnv)=0; |
38 | 38 |
39 virtual ~AndroidStream() {}; | 39 virtual ~AndroidStream() {}; |
40 }; | 40 }; |
41 | 41 |
42 class VideoRenderAndroid: IVideoRender { | 42 class VideoRenderAndroid: IVideoRender { |
43 public: | 43 public: |
44 VideoRenderAndroid(const int32_t id, | 44 VideoRenderAndroid(const int32_t id, |
45 const VideoRenderType videoRenderType, | 45 const VideoRenderType videoRenderType, |
46 void* window, | 46 void* window, |
47 const bool fullscreen); | 47 const bool fullscreen); |
48 | 48 |
49 virtual ~VideoRenderAndroid(); | 49 virtual ~VideoRenderAndroid(); |
50 | 50 |
51 virtual int32_t Init()=0; | 51 virtual int32_t Init()=0; |
52 | 52 |
53 virtual int32_t ChangeWindow(void* window); | 53 virtual int32_t ChangeWindow(void* window); |
54 | 54 |
55 virtual VideoRenderCallback* AddIncomingRenderStream( | 55 virtual rtc::VideoSinkInterface<VideoFrame>* AddIncomingRenderStream( |
56 const uint32_t streamId, | 56 const uint32_t streamId, |
57 const uint32_t zOrder, | 57 const uint32_t zOrder, |
58 const float left, const float top, | 58 const float left, const float top, |
59 const float right, const float bottom); | 59 const float right, const float bottom); |
60 | 60 |
61 virtual int32_t DeleteIncomingRenderStream( | 61 virtual int32_t DeleteIncomingRenderStream( |
62 const uint32_t streamId); | 62 const uint32_t streamId); |
63 | 63 |
64 virtual int32_t GetIncomingRenderStreamProperties( | 64 virtual int32_t GetIncomingRenderStreamProperties( |
65 const uint32_t streamId, | 65 const uint32_t streamId, |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 EventWrapper& _javaRenderEvent; | 145 EventWrapper& _javaRenderEvent; |
146 int64_t _lastJavaRenderEvent; | 146 int64_t _lastJavaRenderEvent; |
147 JNIEnv* _javaRenderJniEnv; // JNIEnv for the java render thread. | 147 JNIEnv* _javaRenderJniEnv; // JNIEnv for the java render thread. |
148 // TODO(pbos): Remove unique_ptr and use the member directly. | 148 // TODO(pbos): Remove unique_ptr and use the member directly. |
149 std::unique_ptr<rtc::PlatformThread> _javaRenderThread; | 149 std::unique_ptr<rtc::PlatformThread> _javaRenderThread; |
150 }; | 150 }; |
151 | 151 |
152 } // namespace webrtc | 152 } // namespace webrtc |
153 | 153 |
154 #endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_ANDROID_VIDEO_RENDER_ANDROID_
IMPL_H_ | 154 #endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_ANDROID_VIDEO_RENDER_ANDROID_
IMPL_H_ |
OLD | NEW |