OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 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 #include "webrtc/video/video_quality_test.h" | 10 #include "webrtc/video/video_quality_test.h" |
(...skipping 1271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1282 | 1282 |
1283 video_send_config_.rtp.extensions.clear(); | 1283 video_send_config_.rtp.extensions.clear(); |
1284 if (params_.call.send_side_bwe) { | 1284 if (params_.call.send_side_bwe) { |
1285 video_send_config_.rtp.extensions.push_back( | 1285 video_send_config_.rtp.extensions.push_back( |
1286 RtpExtension(RtpExtension::kTransportSequenceNumberUri, | 1286 RtpExtension(RtpExtension::kTransportSequenceNumberUri, |
1287 test::kTransportSequenceNumberExtensionId)); | 1287 test::kTransportSequenceNumberExtensionId)); |
1288 } else { | 1288 } else { |
1289 video_send_config_.rtp.extensions.push_back(RtpExtension( | 1289 video_send_config_.rtp.extensions.push_back(RtpExtension( |
1290 RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); | 1290 RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); |
1291 } | 1291 } |
| 1292 video_send_config_.rtp.extensions.push_back(RtpExtension( |
| 1293 RtpExtension::kVideoContentTypeUri, test::kVideoContentTypeExtensionId)); |
1292 | 1294 |
1293 video_encoder_config_.min_transmit_bitrate_bps = | 1295 video_encoder_config_.min_transmit_bitrate_bps = |
1294 params_.video.min_transmit_bps; | 1296 params_.video.min_transmit_bps; |
1295 | 1297 |
1296 video_send_config_.suspend_below_min_bitrate = | 1298 video_send_config_.suspend_below_min_bitrate = |
1297 params_.video.suspend_below_min_bitrate; | 1299 params_.video.suspend_below_min_bitrate; |
1298 | 1300 |
1299 video_encoder_config_.number_of_streams = params_.ss.streams.size(); | 1301 video_encoder_config_.number_of_streams = params_.ss.streams.size(); |
1300 video_encoder_config_.max_bitrate_bps = 0; | 1302 video_encoder_config_.max_bitrate_bps = 0; |
1301 for (size_t i = 0; i < params_.ss.streams.size(); ++i) { | 1303 for (size_t i = 0; i < params_.ss.streams.size(); ++i) { |
1302 video_encoder_config_.max_bitrate_bps += | 1304 video_encoder_config_.max_bitrate_bps += |
1303 params_.ss.streams[i].max_bitrate_bps; | 1305 params_.ss.streams[i].max_bitrate_bps; |
1304 } | 1306 } |
1305 video_encoder_config_.video_stream_factory = | 1307 video_encoder_config_.video_stream_factory = |
1306 new rtc::RefCountedObject<VideoStreamFactory>(params_.ss.streams); | 1308 new rtc::RefCountedObject<VideoStreamFactory>(params_.ss.streams); |
1307 | 1309 |
1308 video_encoder_config_.spatial_layers = params_.ss.spatial_layers; | 1310 video_encoder_config_.spatial_layers = params_.ss.spatial_layers; |
1309 | 1311 |
1310 CreateMatchingReceiveConfigs(recv_transport); | 1312 CreateMatchingReceiveConfigs(recv_transport); |
1311 | 1313 |
1312 for (size_t i = 0; i < num_video_streams; ++i) { | 1314 for (size_t i = 0; i < num_video_streams; ++i) { |
1313 video_receive_configs_[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; | 1315 video_receive_configs_[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; |
1314 video_receive_configs_[i].rtp.rtx_ssrc = kSendRtxSsrcs[i]; | 1316 video_receive_configs_[i].rtp.rtx_ssrc = kSendRtxSsrcs[i]; |
1315 video_receive_configs_[i].rtp.rtx_payload_types[payload_type] = | 1317 video_receive_configs_[i].rtp.rtx_payload_types[payload_type] = |
1316 kSendRtxPayloadType; | 1318 kSendRtxPayloadType; |
1317 video_receive_configs_[i].rtp.transport_cc = params_.call.send_side_bwe; | 1319 video_receive_configs_[i].rtp.transport_cc = params_.call.send_side_bwe; |
1318 video_receive_configs_[i].rtp.remb = !params_.call.send_side_bwe; | 1320 video_receive_configs_[i].rtp.remb = !params_.call.send_side_bwe; |
| 1321 // Enable RTT calculation so NTP time estimator will work. |
| 1322 video_receive_configs_[i].rtp.rtcp_xr.receiver_reference_time_report = true; |
1319 // Force fake decoders on non-selected simulcast streams. | 1323 // Force fake decoders on non-selected simulcast streams. |
1320 if (i != params_.ss.selected_stream) { | 1324 if (i != params_.ss.selected_stream) { |
1321 VideoReceiveStream::Decoder decoder; | 1325 VideoReceiveStream::Decoder decoder; |
1322 decoder.decoder = new test::FakeDecoder(); | 1326 decoder.decoder = new test::FakeDecoder(); |
1323 decoder.payload_type = video_send_config_.encoder_settings.payload_type; | 1327 decoder.payload_type = video_send_config_.encoder_settings.payload_type; |
1324 decoder.payload_name = video_send_config_.encoder_settings.payload_name; | 1328 decoder.payload_name = video_send_config_.encoder_settings.payload_name; |
1325 video_receive_configs_[i].decoders.clear(); | 1329 video_receive_configs_[i].decoders.clear(); |
1326 allocated_decoders_.emplace_back(decoder.decoder); | 1330 allocated_decoders_.emplace_back(decoder.decoder); |
1327 video_receive_configs_[i].decoders.push_back(decoder); | 1331 video_receive_configs_[i].decoders.push_back(decoder); |
1328 } | 1332 } |
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1884 if (!params_.video.encoded_frame_base_path.empty()) { | 1888 if (!params_.video.encoded_frame_base_path.empty()) { |
1885 std::ostringstream str; | 1889 std::ostringstream str; |
1886 str << receive_logs_++; | 1890 str << receive_logs_++; |
1887 std::string path = | 1891 std::string path = |
1888 params_.video.encoded_frame_base_path + "." + str.str() + ".recv.ivf"; | 1892 params_.video.encoded_frame_base_path + "." + str.str() + ".recv.ivf"; |
1889 stream->EnableEncodedFrameRecording(rtc::CreatePlatformFile(path), | 1893 stream->EnableEncodedFrameRecording(rtc::CreatePlatformFile(path), |
1890 10000000); | 1894 10000000); |
1891 } | 1895 } |
1892 } | 1896 } |
1893 } // namespace webrtc | 1897 } // namespace webrtc |
OLD | NEW |