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 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 kTraceVideoRenderer, | 373 kTraceVideoRenderer, |
374 _id, | 374 _id, |
375 "%s: stream doesn't exist", | 375 "%s: stream doesn't exist", |
376 __FUNCTION__); | 376 __FUNCTION__); |
377 return 0; | 377 return 0; |
378 } | 378 } |
379 assert(it->second != NULL); | 379 assert(it->second != NULL); |
380 return it->second->IncomingRate(); | 380 return it->second->IncomingRate(); |
381 } | 381 } |
382 | 382 |
383 VideoRenderCallback* | 383 rtc::VideoSinkInterface<VideoFrame>* |
384 ModuleVideoRenderImpl::AddIncomingRenderStream(const uint32_t streamId, | 384 ModuleVideoRenderImpl::AddIncomingRenderStream(const uint32_t streamId, |
385 const uint32_t zOrder, | 385 const uint32_t zOrder, |
386 const float left, | 386 const float left, |
387 const float top, | 387 const float top, |
388 const float right, | 388 const float right, |
389 const float bottom) | 389 const float bottom) |
390 { | 390 { |
391 CriticalSectionScoped cs(&_moduleCrit); | 391 CriticalSectionScoped cs(&_moduleCrit); |
392 | 392 |
393 if (!_ptrRenderer) | 393 if (!_ptrRenderer) |
394 { | 394 { |
395 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 395 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
396 "%s: No renderer", __FUNCTION__); | 396 "%s: No renderer", __FUNCTION__); |
397 return NULL; | 397 return NULL; |
398 } | 398 } |
399 | 399 |
400 if (_streamRenderMap.find(streamId) != _streamRenderMap.end()) { | 400 if (_streamRenderMap.find(streamId) != _streamRenderMap.end()) { |
401 // The stream already exists... | 401 // The stream already exists... |
402 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 402 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
403 "%s: stream already exists", __FUNCTION__); | 403 "%s: stream already exists", __FUNCTION__); |
404 return NULL; | 404 return NULL; |
405 } | 405 } |
406 | 406 |
407 VideoRenderCallback* ptrRenderCallback = | 407 rtc::VideoSinkInterface<VideoFrame>* ptrRenderCallback = |
408 _ptrRenderer->AddIncomingRenderStream(streamId, zOrder, left, top, | 408 _ptrRenderer->AddIncomingRenderStream(streamId, zOrder, left, top, |
409 right, bottom); | 409 right, bottom); |
410 if (ptrRenderCallback == NULL) | 410 if (ptrRenderCallback == NULL) |
411 { | 411 { |
412 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 412 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
413 "%s: Can't create incoming stream in renderer", | 413 "%s: Can't create incoming stream in renderer", |
414 __FUNCTION__); | 414 __FUNCTION__); |
415 return NULL; | 415 return NULL; |
416 } | 416 } |
417 | 417 |
418 // Create platform independant code | 418 // Create platform independant code |
419 IncomingVideoStream* ptrIncomingStream = | 419 IncomingVideoStream* ptrIncomingStream = |
420 new IncomingVideoStream(streamId, false); | 420 new IncomingVideoStream(false); |
421 ptrIncomingStream->SetRenderCallback(ptrRenderCallback); | 421 ptrIncomingStream->SetRenderCallback(ptrRenderCallback); |
422 VideoRenderCallback* moduleCallback = ptrIncomingStream->ModuleCallback(); | 422 rtc::VideoSinkInterface<VideoFrame>* moduleCallback = |
| 423 ptrIncomingStream->ModuleCallback(); |
423 | 424 |
424 // Store the stream | 425 // Store the stream |
425 _streamRenderMap[streamId] = ptrIncomingStream; | 426 _streamRenderMap[streamId] = ptrIncomingStream; |
426 | 427 |
427 return moduleCallback; | 428 return moduleCallback; |
428 } | 429 } |
429 | 430 |
430 int32_t ModuleVideoRenderImpl::DeleteIncomingRenderStream( | 431 int32_t ModuleVideoRenderImpl::DeleteIncomingRenderStream( |
431 const uint32_t s
treamId) | 432 const uint32_t s
treamId) |
432 { | 433 { |
(...skipping 18 matching lines...) Expand all Loading... |
451 | 452 |
452 _ptrRenderer->DeleteIncomingRenderStream(streamId); | 453 _ptrRenderer->DeleteIncomingRenderStream(streamId); |
453 | 454 |
454 _streamRenderMap.erase(item); | 455 _streamRenderMap.erase(item); |
455 | 456 |
456 return 0; | 457 return 0; |
457 } | 458 } |
458 | 459 |
459 int32_t ModuleVideoRenderImpl::AddExternalRenderCallback( | 460 int32_t ModuleVideoRenderImpl::AddExternalRenderCallback( |
460 const uint32_t streamId, | 461 const uint32_t streamId, |
461 VideoRenderCallback* renderObject) { | 462 rtc::VideoSinkInterface<VideoFrame>* renderObject) { |
462 CriticalSectionScoped cs(&_moduleCrit); | 463 CriticalSectionScoped cs(&_moduleCrit); |
463 | 464 |
464 IncomingVideoStreamMap::iterator item = _streamRenderMap.find(streamId); | 465 IncomingVideoStreamMap::iterator item = _streamRenderMap.find(streamId); |
465 | 466 |
466 if (item == _streamRenderMap.end()) | 467 if (item == _streamRenderMap.end()) |
467 { | 468 { |
468 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 469 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
469 "%s: stream doesn't exist", __FUNCTION__); | 470 "%s: stream doesn't exist", __FUNCTION__); |
470 return -1; | 471 return -1; |
471 } | 472 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
509 | 510 |
510 bool ModuleVideoRenderImpl::HasIncomingRenderStream( | 511 bool ModuleVideoRenderImpl::HasIncomingRenderStream( |
511 const uint32_t streamId) const { | 512 const uint32_t streamId) const { |
512 CriticalSectionScoped cs(&_moduleCrit); | 513 CriticalSectionScoped cs(&_moduleCrit); |
513 | 514 |
514 return _streamRenderMap.find(streamId) != _streamRenderMap.end(); | 515 return _streamRenderMap.find(streamId) != _streamRenderMap.end(); |
515 } | 516 } |
516 | 517 |
517 int32_t ModuleVideoRenderImpl::RegisterRawFrameCallback( | 518 int32_t ModuleVideoRenderImpl::RegisterRawFrameCallback( |
518 const uint32_t streamId, | 519 const uint32_t streamId, |
519 VideoRenderCallback* callbackObj) { | 520 rtc::VideoSinkInterface<VideoFrame>* callbackObj) { |
520 return -1; | 521 return -1; |
521 } | 522 } |
522 | 523 |
523 int32_t ModuleVideoRenderImpl::StartRender(const uint32_t streamId) | 524 int32_t ModuleVideoRenderImpl::StartRender(const uint32_t streamId) |
524 { | 525 { |
525 CriticalSectionScoped cs(&_moduleCrit); | 526 CriticalSectionScoped cs(&_moduleCrit); |
526 | 527 |
527 if (!_ptrRenderer) | 528 if (!_ptrRenderer) |
528 { | 529 { |
529 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 530 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
816 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, | 817 WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id, |
817 "%s: stream doesn't exist", __FUNCTION__); | 818 "%s: stream doesn't exist", __FUNCTION__); |
818 return -1; | 819 return -1; |
819 } | 820 } |
820 assert(item->second != NULL); | 821 assert(item->second != NULL); |
821 item->second->SetTimeoutImage(videoFrame, timeout); | 822 item->second->SetTimeoutImage(videoFrame, timeout); |
822 return 0; | 823 return 0; |
823 } | 824 } |
824 | 825 |
825 } // namespace webrtc | 826 } // namespace webrtc |
OLD | NEW |