Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Side by Side Diff: webrtc/video/video_quality_test.cc

Issue 2772033002: Add content type information to encoded images and corresponding rtp extension header (Closed)
Patch Set: Set EncodedImage content_type from vie_encoder Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 1280
1281 video_send_config_.rtp.extensions.clear(); 1281 video_send_config_.rtp.extensions.clear();
1282 if (params_.call.send_side_bwe) { 1282 if (params_.call.send_side_bwe) {
1283 video_send_config_.rtp.extensions.push_back( 1283 video_send_config_.rtp.extensions.push_back(
1284 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1284 RtpExtension(RtpExtension::kTransportSequenceNumberUri,
1285 test::kTransportSequenceNumberExtensionId)); 1285 test::kTransportSequenceNumberExtensionId));
1286 } else { 1286 } else {
1287 video_send_config_.rtp.extensions.push_back(RtpExtension( 1287 video_send_config_.rtp.extensions.push_back(RtpExtension(
1288 RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); 1288 RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId));
1289 } 1289 }
1290 video_send_config_.rtp.extensions.push_back(RtpExtension(
1291 RtpExtension::kVideoContentTypeUri, test::kVideoContentTypeExtensionId));
1290 1292
1291 video_encoder_config_.min_transmit_bitrate_bps = 1293 video_encoder_config_.min_transmit_bitrate_bps =
1292 params_.video.min_transmit_bps; 1294 params_.video.min_transmit_bps;
1293 1295
1294 video_send_config_.suspend_below_min_bitrate = 1296 video_send_config_.suspend_below_min_bitrate =
1295 params_.video.suspend_below_min_bitrate; 1297 params_.video.suspend_below_min_bitrate;
1296 1298
1297 video_encoder_config_.number_of_streams = params_.ss.streams.size(); 1299 video_encoder_config_.number_of_streams = params_.ss.streams.size();
1298 video_encoder_config_.max_bitrate_bps = 0; 1300 video_encoder_config_.max_bitrate_bps = 0;
1299 for (size_t i = 0; i < params_.ss.streams.size(); ++i) { 1301 for (size_t i = 0; i < params_.ss.streams.size(); ++i) {
1300 video_encoder_config_.max_bitrate_bps += 1302 video_encoder_config_.max_bitrate_bps +=
1301 params_.ss.streams[i].max_bitrate_bps; 1303 params_.ss.streams[i].max_bitrate_bps;
1302 } 1304 }
1303 video_encoder_config_.video_stream_factory = 1305 video_encoder_config_.video_stream_factory =
1304 new rtc::RefCountedObject<VideoStreamFactory>(params_.ss.streams); 1306 new rtc::RefCountedObject<VideoStreamFactory>(params_.ss.streams);
1305 1307
1306 video_encoder_config_.spatial_layers = params_.ss.spatial_layers; 1308 video_encoder_config_.spatial_layers = params_.ss.spatial_layers;
1307 1309
1308 CreateMatchingReceiveConfigs(recv_transport); 1310 CreateMatchingReceiveConfigs(recv_transport);
1309 1311
1310 for (size_t i = 0; i < num_video_streams; ++i) { 1312 for (size_t i = 0; i < num_video_streams; ++i) {
1311 video_receive_configs_[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 1313 video_receive_configs_[i].rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
1312 video_receive_configs_[i].rtp.rtx_ssrc = kSendRtxSsrcs[i]; 1314 video_receive_configs_[i].rtp.rtx_ssrc = kSendRtxSsrcs[i];
1313 video_receive_configs_[i].rtp.rtx_payload_types[payload_type] = 1315 video_receive_configs_[i].rtp.rtx_payload_types[payload_type] =
1314 kSendRtxPayloadType; 1316 kSendRtxPayloadType;
1315 video_receive_configs_[i].rtp.transport_cc = params_.call.send_side_bwe; 1317 video_receive_configs_[i].rtp.transport_cc = params_.call.send_side_bwe;
1316 video_receive_configs_[i].rtp.remb = !params_.call.send_side_bwe; 1318 video_receive_configs_[i].rtp.remb = !params_.call.send_side_bwe;
1319 // Enable RTT calculation so NTP time estimator will work.
1320 video_receive_configs_[i].rtp.rtcp_xr.receiver_reference_time_report = true;
1317 // Force fake decoders on non-selected simulcast streams. 1321 // Force fake decoders on non-selected simulcast streams.
1318 if (i != params_.ss.selected_stream) { 1322 if (i != params_.ss.selected_stream) {
1319 VideoReceiveStream::Decoder decoder; 1323 VideoReceiveStream::Decoder decoder;
1320 decoder.decoder = new test::FakeDecoder(); 1324 decoder.decoder = new test::FakeDecoder();
1321 decoder.payload_type = video_send_config_.encoder_settings.payload_type; 1325 decoder.payload_type = video_send_config_.encoder_settings.payload_type;
1322 decoder.payload_name = video_send_config_.encoder_settings.payload_name; 1326 decoder.payload_name = video_send_config_.encoder_settings.payload_name;
1323 video_receive_configs_[i].decoders.clear(); 1327 video_receive_configs_[i].decoders.clear();
1324 allocated_decoders_.emplace_back(decoder.decoder); 1328 allocated_decoders_.emplace_back(decoder.decoder);
1325 video_receive_configs_[i].decoders.push_back(decoder); 1329 video_receive_configs_[i].decoders.push_back(decoder);
1326 } 1330 }
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1534 RTC_DCHECK(thumbnail_capturers_.back()); 1538 RTC_DCHECK(thumbnail_capturers_.back());
1535 } 1539 }
1536 } 1540 }
1537 1541
1538 void VideoQualityTest::CreateCapturer() { 1542 void VideoQualityTest::CreateCapturer() {
1539 if (params_.screenshare.enabled) { 1543 if (params_.screenshare.enabled) {
1540 test::FrameGeneratorCapturer* frame_generator_capturer = 1544 test::FrameGeneratorCapturer* frame_generator_capturer =
1541 new test::FrameGeneratorCapturer(clock_, std::move(frame_generator_), 1545 new test::FrameGeneratorCapturer(clock_, std::move(frame_generator_),
1542 params_.video.fps); 1546 params_.video.fps);
1543 EXPECT_TRUE(frame_generator_capturer->Init()); 1547 EXPECT_TRUE(frame_generator_capturer->Init());
1548 frame_generator_capturer->SetFakeContentType(kVideoContent_Screenshare);
1544 video_capturer_.reset(frame_generator_capturer); 1549 video_capturer_.reset(frame_generator_capturer);
1545 } else { 1550 } else {
1546 if (params_.video.clip_name.empty()) { 1551 if (params_.video.clip_name.empty()) {
1547 video_capturer_.reset(test::VcmCapturer::Create( 1552 video_capturer_.reset(test::VcmCapturer::Create(
1548 params_.video.width, params_.video.height, params_.video.fps)); 1553 params_.video.width, params_.video.height, params_.video.fps));
1549 if (!video_capturer_) { 1554 if (!video_capturer_) {
1550 // Failed to get actual camera, use chroma generator as backup. 1555 // Failed to get actual camera, use chroma generator as backup.
1551 video_capturer_.reset(test::FrameGeneratorCapturer::Create( 1556 video_capturer_.reset(test::FrameGeneratorCapturer::Create(
1552 static_cast<int>(params_.video.width), 1557 static_cast<int>(params_.video.width),
1553 static_cast<int>(params_.video.height), params_.video.fps, clock_)); 1558 static_cast<int>(params_.video.height), params_.video.fps, clock_));
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1881 if (!params_.video.encoded_frame_base_path.empty()) { 1886 if (!params_.video.encoded_frame_base_path.empty()) {
1882 std::ostringstream str; 1887 std::ostringstream str;
1883 str << receive_logs_++; 1888 str << receive_logs_++;
1884 std::string path = 1889 std::string path =
1885 params_.video.encoded_frame_base_path + "." + str.str() + ".recv.ivf"; 1890 params_.video.encoded_frame_base_path + "." + str.str() + ".recv.ivf";
1886 stream->EnableEncodedFrameRecording(rtc::CreatePlatformFile(path), 1891 stream->EnableEncodedFrameRecording(rtc::CreatePlatformFile(path),
1887 10000000); 1892 10000000);
1888 } 1893 }
1889 } 1894 }
1890 } // namespace webrtc 1895 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698