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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 kTraceVideoRenderer, | 150 kTraceVideoRenderer, |
151 _id, | 151 _id, |
152 "%s: stream doesn't exist", | 152 "%s: stream doesn't exist", |
153 __FUNCTION__); | 153 __FUNCTION__); |
154 return 0; | 154 return 0; |
155 } | 155 } |
156 assert(it->second != NULL); | 156 assert(it->second != NULL); |
157 return it->second->IncomingRate(); | 157 return it->second->IncomingRate(); |
158 } | 158 } |
159 | 159 |
160 VideoRenderCallback* | 160 rtc::VideoSinkInterface<VideoFrame>* |
161 ModuleVideoRenderImpl::AddIncomingRenderStream(const uint32_t streamId, | 161 ModuleVideoRenderImpl::AddIncomingRenderStream(const uint32_t streamId, |
162 const uint32_t zOrder, | 162 const uint32_t zOrder, |
163 const float left, | 163 const float left, |
164 const float top, | 164 const float top, |
165 const float right, | 165 const float right, |
166 const float bottom) | 166 const float bottom) |
167 { | 167 { |
168 CriticalSectionScoped cs(&_moduleCrit); | 168 CriticalSectionScoped cs(&_moduleCrit); |
169 | 169 |
170 if (!_ptrRenderer) | 170 if (!_ptrRenderer) |
171 { | 171 { |
172 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 172 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
173 "%s: No renderer", __FUNCTION__); | 173 "%s: No renderer", __FUNCTION__); |
174 return NULL; | 174 return NULL; |
175 } | 175 } |
176 | 176 |
177 if (_streamRenderMap.find(streamId) != _streamRenderMap.end()) { | 177 if (_streamRenderMap.find(streamId) != _streamRenderMap.end()) { |
178 // The stream already exists... | 178 // The stream already exists... |
179 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 179 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
180 "%s: stream already exists", __FUNCTION__); | 180 "%s: stream already exists", __FUNCTION__); |
181 return NULL; | 181 return NULL; |
182 } | 182 } |
183 | 183 |
184 VideoRenderCallback* ptrRenderCallback = | 184 rtc::VideoSinkInterface<VideoFrame>* ptrRenderCallback = |
185 _ptrRenderer->AddIncomingRenderStream(streamId, zOrder, left, top, | 185 _ptrRenderer->AddIncomingRenderStream(streamId, zOrder, left, top, |
186 right, bottom); | 186 right, bottom); |
187 if (ptrRenderCallback == NULL) | 187 if (ptrRenderCallback == NULL) |
188 { | 188 { |
189 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 189 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
190 "%s: Can't create incoming stream in renderer", | 190 "%s: Can't create incoming stream in renderer", |
191 __FUNCTION__); | 191 __FUNCTION__); |
192 return NULL; | 192 return NULL; |
193 } | 193 } |
194 | 194 |
195 // Create platform independant code | 195 // Create platform independant code |
196 IncomingVideoStream* ptrIncomingStream = | 196 IncomingVideoStream* ptrIncomingStream = |
197 new IncomingVideoStream(streamId, false); | 197 new IncomingVideoStream(false); |
198 ptrIncomingStream->SetRenderCallback(ptrRenderCallback); | 198 ptrIncomingStream->SetRenderCallback(ptrRenderCallback); |
199 VideoRenderCallback* moduleCallback = ptrIncomingStream->ModuleCallback(); | 199 rtc::VideoSinkInterface<VideoFrame>* moduleCallback = |
| 200 ptrIncomingStream->ModuleCallback(); |
200 | 201 |
201 // Store the stream | 202 // Store the stream |
202 _streamRenderMap[streamId] = ptrIncomingStream; | 203 _streamRenderMap[streamId] = ptrIncomingStream; |
203 | 204 |
204 return moduleCallback; | 205 return moduleCallback; |
205 } | 206 } |
206 | 207 |
207 int32_t ModuleVideoRenderImpl::DeleteIncomingRenderStream( | 208 int32_t ModuleVideoRenderImpl::DeleteIncomingRenderStream( |
208 const uint32_t s
treamId) | 209 const uint32_t s
treamId) |
209 { | 210 { |
(...skipping 18 matching lines...) Expand all Loading... |
228 | 229 |
229 _ptrRenderer->DeleteIncomingRenderStream(streamId); | 230 _ptrRenderer->DeleteIncomingRenderStream(streamId); |
230 | 231 |
231 _streamRenderMap.erase(item); | 232 _streamRenderMap.erase(item); |
232 | 233 |
233 return 0; | 234 return 0; |
234 } | 235 } |
235 | 236 |
236 int32_t ModuleVideoRenderImpl::AddExternalRenderCallback( | 237 int32_t ModuleVideoRenderImpl::AddExternalRenderCallback( |
237 const uint32_t streamId, | 238 const uint32_t streamId, |
238 VideoRenderCallback* renderObject) { | 239 rtc::VideoSinkInterface<VideoFrame>* renderObject) { |
239 CriticalSectionScoped cs(&_moduleCrit); | 240 CriticalSectionScoped cs(&_moduleCrit); |
240 | 241 |
241 IncomingVideoStreamMap::iterator item = _streamRenderMap.find(streamId); | 242 IncomingVideoStreamMap::iterator item = _streamRenderMap.find(streamId); |
242 | 243 |
243 if (item == _streamRenderMap.end()) | 244 if (item == _streamRenderMap.end()) |
244 { | 245 { |
245 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 246 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
246 "%s: stream doesn't exist", __FUNCTION__); | 247 "%s: stream doesn't exist", __FUNCTION__); |
247 return -1; | 248 return -1; |
248 } | 249 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 | 287 |
287 bool ModuleVideoRenderImpl::HasIncomingRenderStream( | 288 bool ModuleVideoRenderImpl::HasIncomingRenderStream( |
288 const uint32_t streamId) const { | 289 const uint32_t streamId) const { |
289 CriticalSectionScoped cs(&_moduleCrit); | 290 CriticalSectionScoped cs(&_moduleCrit); |
290 | 291 |
291 return _streamRenderMap.find(streamId) != _streamRenderMap.end(); | 292 return _streamRenderMap.find(streamId) != _streamRenderMap.end(); |
292 } | 293 } |
293 | 294 |
294 int32_t ModuleVideoRenderImpl::RegisterRawFrameCallback( | 295 int32_t ModuleVideoRenderImpl::RegisterRawFrameCallback( |
295 const uint32_t streamId, | 296 const uint32_t streamId, |
296 VideoRenderCallback* callbackObj) { | 297 rtc::VideoSinkInterface<VideoFrame>* callbackObj) { |
297 return -1; | 298 return -1; |
298 } | 299 } |
299 | 300 |
300 int32_t ModuleVideoRenderImpl::StartRender(const uint32_t streamId) | 301 int32_t ModuleVideoRenderImpl::StartRender(const uint32_t streamId) |
301 { | 302 { |
302 CriticalSectionScoped cs(&_moduleCrit); | 303 CriticalSectionScoped cs(&_moduleCrit); |
303 | 304 |
304 if (!_ptrRenderer) | 305 if (!_ptrRenderer) |
305 { | 306 { |
306 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 307 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
593 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 594 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
594 "%s: stream doesn't exist", __FUNCTION__); | 595 "%s: stream doesn't exist", __FUNCTION__); |
595 return -1; | 596 return -1; |
596 } | 597 } |
597 assert(item->second != NULL); | 598 assert(item->second != NULL); |
598 item->second->SetTimeoutImage(videoFrame, timeout); | 599 item->second->SetTimeoutImage(videoFrame, timeout); |
599 return 0; | 600 return 0; |
600 } | 601 } |
601 | 602 |
602 } // namespace webrtc | 603 } // namespace webrtc |
OLD | NEW |