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 |