| 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 #include <map> | 23 #include <map> |
| 24 | 24 |
| 25 #include "webrtc/base/thread_annotations.h" | 25 #include "webrtc/base/thread_annotations.h" |
| 26 #include "webrtc/modules/video_render/video_render_defines.h" | 26 #include "webrtc/modules/video_render/video_render_defines.h" |
| 27 | 27 |
| 28 #import "webrtc/modules/video_render/mac/cocoa_full_screen_window.h" | 28 #import "webrtc/modules/video_render/mac/cocoa_full_screen_window.h" |
| 29 #import "webrtc/modules/video_render/mac/cocoa_render_view.h" | 29 #import "webrtc/modules/video_render/mac/cocoa_render_view.h" |
| 30 | 30 |
| 31 class Trace; | 31 class Trace; |
| 32 | 32 |
| 33 namespace rtc { |
| 34 class PlatformThread; |
| 35 } // namespace rtc |
| 36 |
| 33 namespace webrtc { | 37 namespace webrtc { |
| 34 class EventTimerWrapper; | 38 class EventTimerWrapper; |
| 35 class PlatformThread; | |
| 36 class VideoRenderNSOpenGL; | 39 class VideoRenderNSOpenGL; |
| 37 class CriticalSectionWrapper; | 40 class CriticalSectionWrapper; |
| 38 | 41 |
| 39 class VideoChannelNSOpenGL : public VideoRenderCallback { | 42 class VideoChannelNSOpenGL : public VideoRenderCallback { |
| 40 public: | 43 public: |
| 41 VideoChannelNSOpenGL(NSOpenGLContext *nsglContext, int iId, VideoRenderNSOpe
nGL* owner); | 44 VideoChannelNSOpenGL(NSOpenGLContext *nsglContext, int iId, VideoRenderNSOpe
nGL* owner); |
| 42 virtual ~VideoChannelNSOpenGL(); | 45 virtual ~VideoChannelNSOpenGL(); |
| 43 | 46 |
| 44 // A new frame is delivered | 47 // A new frame is delivered |
| 45 virtual int DeliverFrame(const VideoFrame& videoFrame); | 48 virtual int DeliverFrame(const VideoFrame& videoFrame); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 int RenderOffScreenBuffers(); | 162 int RenderOffScreenBuffers(); |
| 160 int DisplayBuffers(); | 163 int DisplayBuffers(); |
| 161 | 164 |
| 162 private: // variables | 165 private: // variables |
| 163 | 166 |
| 164 | 167 |
| 165 CocoaRenderView* _windowRef; | 168 CocoaRenderView* _windowRef; |
| 166 bool _fullScreen; | 169 bool _fullScreen; |
| 167 int _id; | 170 int _id; |
| 168 CriticalSectionWrapper& _nsglContextCritSec; | 171 CriticalSectionWrapper& _nsglContextCritSec; |
| 169 rtc::scoped_ptr<PlatformThread> _screenUpdateThread; | 172 // TODO(pbos): Remove scoped_ptr and use PlatformThread directly. |
| 173 rtc::scoped_ptr<rtc::PlatformThread> _screenUpdateThread; |
| 170 EventTimerWrapper* _screenUpdateEvent; | 174 EventTimerWrapper* _screenUpdateEvent; |
| 171 NSOpenGLContext* _nsglContext; | 175 NSOpenGLContext* _nsglContext; |
| 172 NSOpenGLContext* _nsglFullScreenContext; | 176 NSOpenGLContext* _nsglFullScreenContext; |
| 173 CocoaFullScreenWindow* _fullScreenWindow; | 177 CocoaFullScreenWindow* _fullScreenWindow; |
| 174 Rect _windowRect; // The size of the window | 178 Rect _windowRect; // The size of the window |
| 175 int _windowWidth; | 179 int _windowWidth; |
| 176 int _windowHeight; | 180 int _windowHeight; |
| 177 std::map<int, VideoChannelNSOpenGL*> _nsglChannels; | 181 std::map<int, VideoChannelNSOpenGL*> _nsglChannels; |
| 178 std::multimap<int, int> _zOrderToChannel; | 182 std::multimap<int, int> _zOrderToChannel; |
| 179 bool _renderingIsPaused; | 183 bool _renderingIsPaused; |
| 180 NSView* _windowRefSuperView; | 184 NSView* _windowRefSuperView; |
| 181 NSRect _windowRefSuperViewFrame; | 185 NSRect _windowRefSuperViewFrame; |
| 182 }; | 186 }; |
| 183 | 187 |
| 184 } // namespace webrtc | 188 } // namespace webrtc |
| 185 | 189 |
| 186 #endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_NSOPENGL_H_ | 190 #endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_NSOPENGL_H_ |
| 187 #endif // COCOA_RENDERING | 191 #endif // COCOA_RENDERING |
| OLD | NEW |