Index: webrtc/modules/video_render/mac/video_render_agl.h |
diff --git a/webrtc/modules/video_render/mac/video_render_agl.h b/webrtc/modules/video_render/mac/video_render_agl.h |
deleted file mode 100644 |
index c0a60597e98613d22ba1581a096cbd46e02f5466..0000000000000000000000000000000000000000 |
--- a/webrtc/modules/video_render/mac/video_render_agl.h |
+++ /dev/null |
@@ -1,178 +0,0 @@ |
-/* |
- * Copyright (c) 2011 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(CARBON_RENDERING) |
- |
-#ifndef WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_AGL_H_ |
-#define WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_AGL_H_ |
- |
-#include "webrtc/base/platform_thread.h" |
-#include "webrtc/modules/video_render/video_render_defines.h" |
- |
-#define NEW_HIVIEW_PARENT_EVENT_HANDLER 1 |
-#define NEW_HIVIEW_EVENT_HANDLER 1 |
-#define USE_STRUCT_RGN |
- |
-#include <AGL/agl.h> |
-#include <Carbon/Carbon.h> |
-#include <OpenGL/OpenGL.h> |
-#include <OpenGL/glext.h> |
-#include <OpenGL/glu.h> |
-#include <list> |
-#include <map> |
-#include <memory> |
- |
-class VideoRenderAGL; |
- |
-namespace webrtc { |
-class CriticalSectionWrapper; |
-class EventWrapper; |
- |
-class VideoChannelAGL : public VideoRenderCallback { |
- public: |
- |
- VideoChannelAGL(AGLContext& aglContext, int iId, VideoRenderAGL* owner); |
- virtual ~VideoChannelAGL(); |
- virtual int FrameSizeChange(int width, int height, int numberOfStreams); |
- virtual int DeliverFrame(const VideoFrame& videoFrame); |
- virtual int UpdateSize(int width, int height); |
- int SetStreamSettings(int streamId, float startWidth, float startHeight, |
- float stopWidth, float stopHeight); |
- int SetStreamCropSettings(int streamId, float startWidth, float startHeight, |
- float stopWidth, float stopHeight); |
- int RenderOffScreenBuffer(); |
- int IsUpdated(bool& isUpdated); |
- virtual int UpdateStretchSize(int stretchHeight, int stretchWidth); |
- virtual int32_t RenderFrame(const uint32_t streamId, VideoFrame& videoFrame); |
- |
- private: |
- |
- AGLContext _aglContext; |
- int _id; |
- VideoRenderAGL* _owner; |
- int _width; |
- int _height; |
- int _stretchedWidth; |
- int _stretchedHeight; |
- float _startHeight; |
- float _startWidth; |
- float _stopWidth; |
- float _stopHeight; |
- int _xOldWidth; |
- int _yOldHeight; |
- int _oldStretchedHeight; |
- int _oldStretchedWidth; |
- unsigned char* _buffer; |
- size_t _bufferSize; |
- size_t _incomingBufferSize; |
- bool _bufferIsUpdated; |
- bool _sizeInitialized; |
- int _numberOfStreams; |
- bool _bVideoSizeStartedChanging; |
- GLenum _pixelFormat; |
- GLenum _pixelDataType; |
- unsigned int _texture; |
-}; |
- |
-class VideoRenderAGL { |
- public: |
- VideoRenderAGL(WindowRef windowRef, bool fullscreen, int iId); |
- VideoRenderAGL(HIViewRef windowRef, bool fullscreen, int iId); |
- ~VideoRenderAGL(); |
- |
- int Init(); |
- VideoChannelAGL* CreateAGLChannel(int channel, int zOrder, float startWidth, |
- float startHeight, float stopWidth, |
- float stopHeight); |
- VideoChannelAGL* ConfigureAGLChannel(int channel, int zOrder, |
- float startWidth, float startHeight, |
- float stopWidth, float stopHeight); |
- int DeleteAGLChannel(int channel); |
- int DeleteAllAGLChannels(); |
- int StopThread(); |
- bool IsFullScreen(); |
- bool HasChannels(); |
- bool HasChannel(int channel); |
- int GetChannels(std::list<int>& channelList); |
- void LockAGLCntx(); |
- void UnlockAGLCntx(); |
- |
- static int GetOpenGLVersion(int& aglMajor, int& aglMinor); |
- |
- // ********** new module functions ************ // |
- int ChangeWindow(void* newWindowRef); |
- int32_t StartRender(); |
- int32_t StopRender(); |
- int32_t DeleteAGLChannel(const uint32_t streamID); |
- int32_t GetChannelProperties(const uint16_t streamId, uint32_t& zOrder, |
- float& left, float& top, float& right, |
- float& bottom); |
- |
- protected: |
- static bool ScreenUpdateThreadProc(void* obj); |
- bool ScreenUpdateProcess(); |
- int GetWindowRect(Rect& rect); |
- |
- private: |
- int CreateMixingContext(); |
- int RenderOffScreenBuffers(); |
- int SwapAndDisplayBuffers(); |
- int UpdateClipping(); |
- int CalculateVisibleRegion(ControlRef control, RgnHandle& visibleRgn, |
- bool clipChildren); |
- bool CheckValidRegion(RgnHandle rHandle); |
- void ParentWindowResized(WindowRef window); |
- |
- // Carbon GUI event handlers |
- static pascal OSStatus sHandleWindowResized( |
- EventHandlerCallRef nextHandler, EventRef theEvent, void* userData); |
- static pascal OSStatus sHandleHiViewResized( |
- EventHandlerCallRef nextHandler, EventRef theEvent, void* userData); |
- |
- HIViewRef _hiviewRef; |
- WindowRef _windowRef; |
- bool _fullScreen; |
- int _id; |
- webrtc::CriticalSectionWrapper& _renderCritSec; |
- // TODO(pbos): Remove unique_ptr and use PlatformThread directly. |
- std::unique_ptr<rtc::PlatformThread> _screenUpdateThread; |
- webrtc::EventWrapper* _screenUpdateEvent; |
- bool _isHIViewRef; |
- AGLContext _aglContext; |
- int _windowWidth; |
- int _windowHeight; |
- int _lastWindowWidth; |
- int _lastWindowHeight; |
- int _lastHiViewWidth; |
- int _lastHiViewHeight; |
- int _currentParentWindowHeight; |
- int _currentParentWindowWidth; |
- Rect _currentParentWindowBounds; |
- bool _windowHasResized; |
- Rect _lastParentWindowBounds; |
- Rect _currentHIViewBounds; |
- Rect _lastHIViewBounds; |
- Rect _windowRect; |
- std::map<int, VideoChannelAGL*> _aglChannels; |
- std::multimap<int, int> _zOrderToChannel; |
- EventHandlerRef _hiviewEventHandlerRef; |
- EventHandlerRef _windowEventHandlerRef; |
- HIRect _currentViewBounds; |
- HIRect _lastViewBounds; |
- bool _renderingIsPaused; |
-}; |
- |
-} // namespace webrtc |
- |
-#endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_MAC_VIDEO_RENDER_AGL_H_ |
- |
-#endif // CARBON_RENDERING |