| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2011 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 13 matching lines...) Expand all Loading... |
| 24 #include "webrtc/base/platform_thread.h" | 24 #include "webrtc/base/platform_thread.h" |
| 25 #include "webrtc/modules/video_render/video_render_defines.h" | 25 #include "webrtc/modules/video_render/video_render_defines.h" |
| 26 | 26 |
| 27 #pragma comment(lib, "d3d9.lib") // located in DirectX SDK | 27 #pragma comment(lib, "d3d9.lib") // located in DirectX SDK |
| 28 | 28 |
| 29 namespace webrtc { | 29 namespace webrtc { |
| 30 class CriticalSectionWrapper; | 30 class CriticalSectionWrapper; |
| 31 class EventTimerWrapper; | 31 class EventTimerWrapper; |
| 32 class Trace; | 32 class Trace; |
| 33 | 33 |
| 34 class D3D9Channel: public VideoRenderCallback | 34 class D3D9Channel: public rtc::VideoSinkInterface<VideoFrame> |
| 35 { | 35 { |
| 36 public: | 36 public: |
| 37 D3D9Channel(LPDIRECT3DDEVICE9 pd3DDevice, | 37 D3D9Channel(LPDIRECT3DDEVICE9 pd3DDevice, |
| 38 CriticalSectionWrapper* critSect, Trace* trace); | 38 CriticalSectionWrapper* critSect, Trace* trace); |
| 39 | 39 |
| 40 virtual ~D3D9Channel(); | 40 virtual ~D3D9Channel(); |
| 41 | 41 |
| 42 // Inherited from VideoRencerCallback, called from VideoAPI class. | 42 // Inherited from VideoRencerCallback, called from VideoAPI class. |
| 43 // Called when the incomming frame size and/or number of streams in mix chan
ges | 43 // Called when the incomming frame size and/or number of streams in mix chan
ges |
| 44 virtual int FrameSizeChange(int width, int height, int numberOfStreams); | 44 virtual int FrameSizeChange(int width, int height, int numberOfStreams); |
| 45 | 45 |
| 46 // A new frame is delivered. | 46 // A new frame is delivered. |
| 47 virtual int DeliverFrame(const VideoFrame& videoFrame); | 47 virtual int DeliverFrame(const VideoFrame& videoFrame); |
| 48 virtual int32_t RenderFrame(const uint32_t streamId, | 48 void OnFrame(const VideoFrame& videoFrame) override; |
| 49 const VideoFrame& videoFrame); | |
| 50 | 49 |
| 51 // Called to check if the video frame is updated. | 50 // Called to check if the video frame is updated. |
| 52 int IsUpdated(bool& isUpdated); | 51 int IsUpdated(bool& isUpdated); |
| 53 // Called after the video frame has been render to the screen | 52 // Called after the video frame has been render to the screen |
| 54 int RenderOffFrame(); | 53 int RenderOffFrame(); |
| 55 // Called to get the texture that contains the video frame | 54 // Called to get the texture that contains the video frame |
| 56 LPDIRECT3DTEXTURE9 GetTexture(); | 55 LPDIRECT3DTEXTURE9 GetTexture(); |
| 57 // Called to get the texture(video frame) size | 56 // Called to get the texture(video frame) size |
| 58 int GetTextureWidth(); | 57 int GetTextureWidth(); |
| 59 int GetTextureHeight(); | 58 int GetTextureHeight(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 * Init | 109 * Init |
| 111 * | 110 * |
| 112 ***************************************************************************
/ | 111 ***************************************************************************
/ |
| 113 virtual int32_t Init(); | 112 virtual int32_t Init(); |
| 114 | 113 |
| 115 /************************************************************************** | 114 /************************************************************************** |
| 116 * | 115 * |
| 117 * Incoming Streams | 116 * Incoming Streams |
| 118 * | 117 * |
| 119 ***************************************************************************
/ | 118 ***************************************************************************
/ |
| 120 virtual VideoRenderCallback | 119 virtual rtc::VideoSinkInterface<VideoFrame> |
| 121 * CreateChannel(const uint32_t streamId, | 120 * CreateChannel(const uint32_t streamId, |
| 122 const uint32_t zOrder, | 121 const uint32_t zOrder, |
| 123 const float left, | 122 const float left, |
| 124 const float top, | 123 const float top, |
| 125 const float right, | 124 const float right, |
| 126 const float bottom); | 125 const float bottom); |
| 127 | 126 |
| 128 virtual int32_t DeleteChannel(const uint32_t streamId); | 127 virtual int32_t DeleteChannel(const uint32_t streamId); |
| 129 | 128 |
| 130 virtual int32_t GetStreamSettings(const uint32_t channel, | 129 virtual int32_t GetStreamSettings(const uint32_t channel, |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 float stopWidth, float stopHeight); | 246 float stopWidth, float stopHeight); |
| 248 | 247 |
| 249 //code for providing graphics settings | 248 //code for providing graphics settings |
| 250 DWORD _totalMemory; | 249 DWORD _totalMemory; |
| 251 DWORD _availableMemory; | 250 DWORD _availableMemory; |
| 252 }; | 251 }; |
| 253 | 252 |
| 254 } // namespace webrtc | 253 } // namespace webrtc |
| 255 | 254 |
| 256 #endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_WINDOWS_VIDEO_RENDER_DIRECT3D9
_H_ | 255 #endif // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_WINDOWS_VIDEO_RENDER_DIRECT3D9
_H_ |
| OLD | NEW |