Index: webrtc/modules/video_render/mac/video_render_nsopengl.h |
diff --git a/webrtc/modules/video_render/mac/video_render_nsopengl.h b/webrtc/modules/video_render/mac/video_render_nsopengl.h |
deleted file mode 100644 |
index 457557dad64cb28c4814194ea6f57ee975b32b65..0000000000000000000000000000000000000000 |
--- a/webrtc/modules/video_render/mac/video_render_nsopengl.h |
+++ /dev/null |
@@ -1,192 +0,0 @@ |
-/* |
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#include "webrtc/engine_configurations.h" |
-#if defined(COCOA_RENDERING) |
- |
-#ifndef WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_NSOPENGL_H_ |
-#define WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_NSOPENGL_H_ |
- |
-#import <Cocoa/Cocoa.h> |
-#import <OpenGL/OpenGL.h> |
-#import <OpenGL/glext.h> |
-#import <OpenGL/glu.h> |
-#include <QuickTime/QuickTime.h> |
-#include <list> |
-#include <map> |
-#include <memory> |
- |
-#include "webrtc/base/thread_annotations.h" |
-#include "webrtc/modules/video_render/video_render_defines.h" |
- |
-#import "webrtc/modules/video_render/mac/cocoa_full_screen_window.h" |
-#import "webrtc/modules/video_render/mac/cocoa_render_view.h" |
- |
-class Trace; |
- |
-namespace rtc { |
-class PlatformThread; |
-} // namespace rtc |
- |
-namespace webrtc { |
-class EventTimerWrapper; |
-class VideoRenderNSOpenGL; |
-class CriticalSectionWrapper; |
- |
-class VideoChannelNSOpenGL : public VideoRenderCallback { |
-public: |
- VideoChannelNSOpenGL(NSOpenGLContext *nsglContext, int iId, VideoRenderNSOpenGL* owner); |
- virtual ~VideoChannelNSOpenGL(); |
- |
- // A new frame is delivered |
- virtual int DeliverFrame(const VideoFrame& videoFrame); |
- |
- // Called when the incoming frame size and/or number of streams in mix |
- // changes. |
- virtual int FrameSizeChange(int width, int height, int numberOfStreams); |
- |
- virtual int UpdateSize(int width, int height); |
- |
- // Setup |
- int SetStreamSettings(int streamId, float startWidth, float startHeight, float stopWidth, float stopHeight); |
- int SetStreamCropSettings(int streamId, float startWidth, float startHeight, float stopWidth, float stopHeight); |
- |
- // Called when it's time to render the last frame for the channel |
- int RenderOffScreenBuffer(); |
- |
- // Returns true if a new buffer has been delivered to the texture |
- int IsUpdated(bool& isUpdated); |
- virtual int UpdateStretchSize(int stretchHeight, int stretchWidth); |
- |
- // ********** new module functions ************ // |
- virtual int32_t RenderFrame(const uint32_t streamId, |
- const VideoFrame& videoFrame); |
- |
- // ********** new module helper functions ***** // |
- int ChangeContext(NSOpenGLContext *nsglContext); |
- int32_t GetChannelProperties(float& left, |
- float& top, |
- float& right, |
- float& bottom); |
- |
-private: |
- |
- NSOpenGLContext* _nsglContext; |
- const int _id; |
- VideoRenderNSOpenGL* _owner; |
- int32_t _width; |
- int32_t _height; |
- float _startWidth; |
- float _startHeight; |
- float _stopWidth; |
- float _stopHeight; |
- int _stretchedWidth; |
- int _stretchedHeight; |
- int _oldStretchedHeight; |
- int _oldStretchedWidth; |
- unsigned char* _buffer; |
- size_t _bufferSize; |
- size_t _incomingBufferSize; |
- bool _bufferIsUpdated; |
- int _numberOfStreams; |
- GLenum _pixelFormat; |
- GLenum _pixelDataType; |
- unsigned int _texture; |
-}; |
- |
-class VideoRenderNSOpenGL |
-{ |
- |
-public: // methods |
- VideoRenderNSOpenGL(CocoaRenderView *windowRef, bool fullScreen, int iId); |
- ~VideoRenderNSOpenGL(); |
- |
- static int GetOpenGLVersion(int& nsglMajor, int& nsglMinor); |
- |
- // Allocates textures |
- int Init(); |
- VideoChannelNSOpenGL* CreateNSGLChannel(int streamID, int zOrder, float startWidth, float startHeight, float stopWidth, float stopHeight); |
- VideoChannelNSOpenGL* ConfigureNSGLChannel(int channel, int zOrder, float startWidth, float startHeight, float stopWidth, float stopHeight); |
- int DeleteNSGLChannel(int channel); |
- int DeleteAllNSGLChannels(); |
- int StopThread(); |
- bool IsFullScreen(); |
- bool HasChannels(); |
- bool HasChannel(int channel); |
- int GetChannels(std::list<int>& channelList); |
- void LockAGLCntx() EXCLUSIVE_LOCK_FUNCTION(_nsglContextCritSec); |
- void UnlockAGLCntx() UNLOCK_FUNCTION(_nsglContextCritSec); |
- |
- // ********** new module functions ************ // |
- int ChangeWindow(CocoaRenderView* newWindowRef); |
- int32_t StartRender(); |
- int32_t StopRender(); |
- int32_t DeleteNSGLChannel(const uint32_t streamID); |
- int32_t GetChannelProperties(const uint16_t streamId, |
- uint32_t& zOrder, |
- float& left, |
- float& top, |
- float& right, |
- float& bottom); |
- |
- int32_t SetText(const uint8_t textId, |
- const uint8_t* text, |
- const int32_t textLength, |
- const uint32_t textColorRef, |
- const uint32_t backgroundColorRef, |
- const float left, |
- const float top, |
- const float right, |
- const float bottom); |
- |
- // ********** new module helper functions ***** // |
- int configureNSOpenGLEngine(); |
- int configureNSOpenGLView(); |
- int setRenderTargetWindow(); |
- int setRenderTargetFullScreen(); |
- |
-protected: // methods |
- static bool ScreenUpdateThreadProc(void* obj); |
- bool ScreenUpdateProcess(); |
- int GetWindowRect(Rect& rect); |
- |
-private: // methods |
- |
- int CreateMixingContext(); |
- int RenderOffScreenBuffers(); |
- int DisplayBuffers(); |
- |
-private: // variables |
- |
- |
- CocoaRenderView* _windowRef; |
- bool _fullScreen; |
- int _id; |
- CriticalSectionWrapper& _nsglContextCritSec; |
- // TODO(pbos): Remove unique_ptr and use PlatformThread directly. |
- std::unique_ptr<rtc::PlatformThread> _screenUpdateThread; |
- EventTimerWrapper* _screenUpdateEvent; |
- NSOpenGLContext* _nsglContext; |
- NSOpenGLContext* _nsglFullScreenContext; |
- CocoaFullScreenWindow* _fullScreenWindow; |
- Rect _windowRect; // The size of the window |
- int _windowWidth; |
- int _windowHeight; |
- std::map<int, VideoChannelNSOpenGL*> _nsglChannels; |
- std::multimap<int, int> _zOrderToChannel; |
- bool _renderingIsPaused; |
- NSView* _windowRefSuperView; |
- NSRect _windowRefSuperViewFrame; |
-}; |
- |
-} // namespace webrtc |
- |
-#endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_NSOPENGL_H_ |
-#endif // COCOA_RENDERING |