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

Unified Diff: webrtc/video/video_quality_test.cc

Issue 2728553003: fixed VP8 simulcast to not decode non-selected streams (Closed)
Patch Set: forgot to remove unused function declaration Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/test/layer_filtering_transport.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/video/video_quality_test.cc
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc
index affadc0a765dad1217d0d2acb694f21e3a057166..dc636b0aebe9486060e7c31ba2e875cda2f5287f 100644
--- a/webrtc/video/video_quality_test.cc
+++ b/webrtc/video/video_quality_test.cc
@@ -1425,21 +1425,26 @@ void VideoQualityTest::RunWithAnalyzer(const Params& params) {
call_config.bitrate_config = params.call.call_bitrate_config;
CreateCalls(call_config, call_config);
- test::LayerFilteringTransport send_transport(
- params_.pipe, sender_call_.get(), kPayloadTypeVP8, kPayloadTypeVP9,
- params_.video.selected_tl, params_.ss.selected_sl);
- test::DirectTransport recv_transport(params_.pipe, receiver_call_.get());
+ VideoStream& selected_stream = params_.ss.streams[params_.ss.selected_stream];
std::string graph_title = params_.analyzer.graph_title;
if (graph_title.empty())
graph_title = VideoQualityTest::GenerateGraphTitle();
- // In the case of different resolutions, the functions calculating PSNR and
- // SSIM return -1.0, instead of a positive value as usual. VideoAnalyzer
- // aborts if the average psnr/ssim are below the given threshold, which is
- // 0.0 by default. Setting the thresholds to -1.1 prevents the unnecessary
- // abort.
- VideoStream& selected_stream = params_.ss.streams[params_.ss.selected_stream];
+ std::set<uint32_t> excluded_ssrcs;
+ for (size_t i = 0; i < params_.ss.streams.size(); i++) {
+ if (i != params_.ss.selected_stream) {
+ excluded_ssrcs.insert(kVideoSendSsrcs[i]);
+ excluded_ssrcs.insert(kSendRtxSsrcs[i]);
+ }
+ }
+
+ test::LayerFilteringTransport send_transport(
+ params_.pipe, sender_call_.get(), kPayloadTypeVP8, kPayloadTypeVP9,
+ params_.video.selected_tl, params_.ss.selected_sl,
+ excluded_ssrcs);
+ test::DirectTransport recv_transport(params_.pipe, receiver_call_.get());
+
bool is_quick_test_enabled = field_trial::IsEnabled("WebRTC-QuickPerfTest");
VideoAnalyzer analyzer(
@@ -1571,7 +1576,8 @@ void VideoQualityTest::RunWithRenderers(const Params& params) {
// calls.
test::LayerFilteringTransport transport(
params.pipe, call.get(), kPayloadTypeVP8, kPayloadTypeVP9,
- params.video.selected_tl, params_.ss.selected_sl);
+ params.video.selected_tl, params_.ss.selected_sl,
+ std::set<uint32_t>());
// TODO(ivica): Use two calls to be able to merge with RunWithAnalyzer or at
// least share as much code as possible. That way this test would also match
// the full stack tests better.
@@ -1604,8 +1610,7 @@ void VideoQualityTest::RunWithRenderers(const Params& params) {
if (params_.audio.enabled && params_.audio.sync_video)
video_receive_configs_[stream_id].sync_group = kSyncGroup;
- if (params_.screenshare.enabled)
- SetupScreenshareOrSVC();
+ SetupScreenshareOrSVC();
video_send_stream_ = call->CreateVideoSendStream(
video_send_config_.Copy(), video_encoder_config_.Copy());
« no previous file with comments | « webrtc/test/layer_filtering_transport.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698