| 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 // 96 to 127 dynamic payload types for video codecs. | 122 // 96 to 127 dynamic payload types for video codecs. |
| 123 settings->plType = kDefaultPayloadType; | 123 settings->plType = kDefaultPayloadType; |
| 124 settings->startBitrate = kDefaultStartBitrateKbps; | 124 settings->startBitrate = kDefaultStartBitrateKbps; |
| 125 settings->minBitrate = VCM_MIN_BITRATE; | 125 settings->minBitrate = VCM_MIN_BITRATE; |
| 126 settings->maxBitrate = 0; | 126 settings->maxBitrate = 0; |
| 127 settings->maxFramerate = VCM_DEFAULT_FRAME_RATE; | 127 settings->maxFramerate = VCM_DEFAULT_FRAME_RATE; |
| 128 settings->width = VCM_DEFAULT_CODEC_WIDTH; | 128 settings->width = VCM_DEFAULT_CODEC_WIDTH; |
| 129 settings->height = VCM_DEFAULT_CODEC_HEIGHT; | 129 settings->height = VCM_DEFAULT_CODEC_HEIGHT; |
| 130 settings->numberOfSimulcastStreams = 0; | 130 settings->numberOfSimulcastStreams = 0; |
| 131 settings->qpMax = 56; | 131 settings->qpMax = 56; |
| 132 settings->codecSpecific.VP8 = VideoEncoder::GetDefaultVp8Settings(); | 132 *(settings->VP8()) = VideoEncoder::GetDefaultVp8Settings(); |
| 133 return; | 133 return; |
| 134 case kVideoCodecVP9: | 134 case kVideoCodecVP9: |
| 135 strncpy(settings->plName, "VP9", 4); | 135 strncpy(settings->plName, "VP9", 4); |
| 136 settings->codecType = kVideoCodecVP9; | 136 settings->codecType = kVideoCodecVP9; |
| 137 // 96 to 127 dynamic payload types for video codecs. | 137 // 96 to 127 dynamic payload types for video codecs. |
| 138 settings->plType = kDefaultPayloadType; | 138 settings->plType = kDefaultPayloadType; |
| 139 settings->startBitrate = 100; | 139 settings->startBitrate = 100; |
| 140 settings->minBitrate = VCM_MIN_BITRATE; | 140 settings->minBitrate = VCM_MIN_BITRATE; |
| 141 settings->maxBitrate = 0; | 141 settings->maxBitrate = 0; |
| 142 settings->maxFramerate = VCM_DEFAULT_FRAME_RATE; | 142 settings->maxFramerate = VCM_DEFAULT_FRAME_RATE; |
| 143 settings->width = VCM_DEFAULT_CODEC_WIDTH; | 143 settings->width = VCM_DEFAULT_CODEC_WIDTH; |
| 144 settings->height = VCM_DEFAULT_CODEC_HEIGHT; | 144 settings->height = VCM_DEFAULT_CODEC_HEIGHT; |
| 145 settings->numberOfSimulcastStreams = 0; | 145 settings->numberOfSimulcastStreams = 0; |
| 146 settings->qpMax = 56; | 146 settings->qpMax = 56; |
| 147 settings->codecSpecific.VP9 = VideoEncoder::GetDefaultVp9Settings(); | 147 *(settings->VP9()) = VideoEncoder::GetDefaultVp9Settings(); |
| 148 return; | 148 return; |
| 149 case kVideoCodecH264: | 149 case kVideoCodecH264: |
| 150 strncpy(settings->plName, "H264", 5); | 150 strncpy(settings->plName, "H264", 5); |
| 151 settings->codecType = kVideoCodecH264; | 151 settings->codecType = kVideoCodecH264; |
| 152 // 96 to 127 dynamic payload types for video codecs. | 152 // 96 to 127 dynamic payload types for video codecs. |
| 153 settings->plType = kDefaultPayloadType; | 153 settings->plType = kDefaultPayloadType; |
| 154 settings->startBitrate = kDefaultStartBitrateKbps; | 154 settings->startBitrate = kDefaultStartBitrateKbps; |
| 155 settings->minBitrate = VCM_MIN_BITRATE; | 155 settings->minBitrate = VCM_MIN_BITRATE; |
| 156 settings->maxBitrate = 0; | 156 settings->maxBitrate = 0; |
| 157 settings->maxFramerate = VCM_DEFAULT_FRAME_RATE; | 157 settings->maxFramerate = VCM_DEFAULT_FRAME_RATE; |
| 158 settings->width = VCM_DEFAULT_CODEC_WIDTH; | 158 settings->width = VCM_DEFAULT_CODEC_WIDTH; |
| 159 settings->height = VCM_DEFAULT_CODEC_HEIGHT; | 159 settings->height = VCM_DEFAULT_CODEC_HEIGHT; |
| 160 settings->numberOfSimulcastStreams = 0; | 160 settings->numberOfSimulcastStreams = 0; |
| 161 settings->qpMax = 56; | 161 settings->qpMax = 56; |
| 162 settings->codecSpecific.H264 = VideoEncoder::GetDefaultH264Settings(); | 162 *(settings->H264()) = VideoEncoder::GetDefaultH264Settings(); |
| 163 return; | 163 return; |
| 164 case kVideoCodecI420: | 164 case kVideoCodecI420: |
| 165 strncpy(settings->plName, "I420", 5); | 165 strncpy(settings->plName, "I420", 5); |
| 166 settings->codecType = kVideoCodecI420; | 166 settings->codecType = kVideoCodecI420; |
| 167 // 96 to 127 dynamic payload types for video codecs. | 167 // 96 to 127 dynamic payload types for video codecs. |
| 168 settings->plType = kDefaultPayloadType; | 168 settings->plType = kDefaultPayloadType; |
| 169 // Bitrate needed for this size and framerate. | 169 // Bitrate needed for this size and framerate. |
| 170 settings->startBitrate = 3 * VCM_DEFAULT_CODEC_WIDTH * | 170 settings->startBitrate = 3 * VCM_DEFAULT_CODEC_WIDTH * |
| 171 VCM_DEFAULT_CODEC_HEIGHT * 8 * | 171 VCM_DEFAULT_CODEC_HEIGHT * 8 * |
| 172 VCM_DEFAULT_FRAME_RATE / 1000 / 2; | 172 VCM_DEFAULT_FRAME_RATE / 1000 / 2; |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 new_send_codec.minBitrate != send_codec_.minBitrate || | 321 new_send_codec.minBitrate != send_codec_.minBitrate || |
| 322 new_send_codec.qpMax != send_codec_.qpMax || | 322 new_send_codec.qpMax != send_codec_.qpMax || |
| 323 new_send_codec.numberOfSimulcastStreams != | 323 new_send_codec.numberOfSimulcastStreams != |
| 324 send_codec_.numberOfSimulcastStreams || | 324 send_codec_.numberOfSimulcastStreams || |
| 325 new_send_codec.mode != send_codec_.mode) { | 325 new_send_codec.mode != send_codec_.mode) { |
| 326 return true; | 326 return true; |
| 327 } | 327 } |
| 328 | 328 |
| 329 switch (new_send_codec.codecType) { | 329 switch (new_send_codec.codecType) { |
| 330 case kVideoCodecVP8: | 330 case kVideoCodecVP8: |
| 331 if (memcmp(&new_send_codec.codecSpecific.VP8, | 331 if (memcmp(&new_send_codec.VP8(), send_codec_.VP8(), |
| 332 &send_codec_.codecSpecific.VP8, | 332 sizeof(new_send_codec.VP8())) != 0) { |
| 333 sizeof(new_send_codec.codecSpecific.VP8)) != 0) { | |
| 334 return true; | 333 return true; |
| 335 } | 334 } |
| 336 break; | 335 break; |
| 337 case kVideoCodecVP9: | 336 case kVideoCodecVP9: |
| 338 if (memcmp(&new_send_codec.codecSpecific.VP9, | 337 if (memcmp(&new_send_codec.VP9(), send_codec_.VP9(), |
| 339 &send_codec_.codecSpecific.VP9, | 338 sizeof(new_send_codec.VP9())) != 0) { |
| 340 sizeof(new_send_codec.codecSpecific.VP9)) != 0) { | |
| 341 return true; | 339 return true; |
| 342 } | 340 } |
| 343 break; | 341 break; |
| 344 case kVideoCodecH264: | 342 case kVideoCodecH264: |
| 345 if (memcmp(&new_send_codec.codecSpecific.H264, | 343 if (memcmp(&new_send_codec.H264(), send_codec_.H264(), |
| 346 &send_codec_.codecSpecific.H264, | 344 sizeof(new_send_codec.H264())) != 0) { |
| 347 sizeof(new_send_codec.codecSpecific.H264)) != 0) { | |
| 348 return true; | 345 return true; |
| 349 } | 346 } |
| 350 break; | 347 break; |
| 351 case kVideoCodecGeneric: | 348 case kVideoCodecGeneric: |
| 352 break; | 349 break; |
| 353 // Known codecs without payload-specifics | 350 // Known codecs without payload-specifics |
| 354 case kVideoCodecI420: | 351 case kVideoCodecI420: |
| 355 case kVideoCodecRED: | 352 case kVideoCodecRED: |
| 356 case kVideoCodecULPFEC: | 353 case kVideoCodecULPFEC: |
| 357 break; | 354 break; |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 | 599 |
| 603 const VCMExtDecoderMapItem* VCMCodecDataBase::FindExternalDecoderItem( | 600 const VCMExtDecoderMapItem* VCMCodecDataBase::FindExternalDecoderItem( |
| 604 uint8_t payload_type) const { | 601 uint8_t payload_type) const { |
| 605 ExternalDecoderMap::const_iterator it = dec_external_map_.find(payload_type); | 602 ExternalDecoderMap::const_iterator it = dec_external_map_.find(payload_type); |
| 606 if (it != dec_external_map_.end()) { | 603 if (it != dec_external_map_.end()) { |
| 607 return (*it).second; | 604 return (*it).second; |
| 608 } | 605 } |
| 609 return nullptr; | 606 return nullptr; |
| 610 } | 607 } |
| 611 } // namespace webrtc | 608 } // namespace webrtc |
| OLD | NEW |