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 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 } | 442 } |
443 delete it->second; | 443 delete it->second; |
444 dec_map_.erase(it); | 444 dec_map_.erase(it); |
445 if (receive_codec_.plType == payload_type) { | 445 if (receive_codec_.plType == payload_type) { |
446 // This codec is currently in use. | 446 // This codec is currently in use. |
447 memset(&receive_codec_, 0, sizeof(VideoCodec)); | 447 memset(&receive_codec_, 0, sizeof(VideoCodec)); |
448 } | 448 } |
449 return true; | 449 return true; |
450 } | 450 } |
451 | 451 |
452 bool VCMCodecDataBase::ReceiveCodec(VideoCodec* current_receive_codec) const { | |
453 RTC_DCHECK(current_receive_codec); | |
454 if (!ptr_decoder_) { | |
455 return false; | |
456 } | |
457 memcpy(current_receive_codec, &receive_codec_, sizeof(VideoCodec)); | |
458 return true; | |
459 } | |
460 | |
461 VideoCodecType VCMCodecDataBase::ReceiveCodec() const { | |
462 if (!ptr_decoder_) { | |
463 return kVideoCodecUnknown; | |
464 } | |
465 return receive_codec_.codecType; | |
466 } | |
467 | |
468 VCMGenericDecoder* VCMCodecDataBase::GetDecoder( | 452 VCMGenericDecoder* VCMCodecDataBase::GetDecoder( |
469 const VCMEncodedFrame& frame, | 453 const VCMEncodedFrame& frame, |
470 VCMDecodedFrameCallback* decoded_frame_callback) { | 454 VCMDecodedFrameCallback* decoded_frame_callback) { |
471 RTC_DCHECK(decoded_frame_callback->UserReceiveCallback()); | 455 RTC_DCHECK(decoded_frame_callback->UserReceiveCallback()); |
472 uint8_t payload_type = frame.PayloadType(); | 456 uint8_t payload_type = frame.PayloadType(); |
473 if (payload_type == receive_codec_.plType || payload_type == 0) { | 457 if (payload_type == receive_codec_.plType || payload_type == 0) { |
474 return ptr_decoder_; | 458 return ptr_decoder_; |
475 } | 459 } |
476 // Check for exisitng decoder, if exists - delete. | 460 // Check for exisitng decoder, if exists - delete. |
477 if (ptr_decoder_) { | 461 if (ptr_decoder_) { |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 | 583 |
600 const VCMExtDecoderMapItem* VCMCodecDataBase::FindExternalDecoderItem( | 584 const VCMExtDecoderMapItem* VCMCodecDataBase::FindExternalDecoderItem( |
601 uint8_t payload_type) const { | 585 uint8_t payload_type) const { |
602 ExternalDecoderMap::const_iterator it = dec_external_map_.find(payload_type); | 586 ExternalDecoderMap::const_iterator it = dec_external_map_.find(payload_type); |
603 if (it != dec_external_map_.end()) { | 587 if (it != dec_external_map_.end()) { |
604 return (*it).second; | 588 return (*it).second; |
605 } | 589 } |
606 return nullptr; | 590 return nullptr; |
607 } | 591 } |
608 } // namespace webrtc | 592 } // namespace webrtc |
OLD | NEW |