Reland "Fix threading model of video quality test with audio enabled"
This is a reland of f537da6c194d2c021709a255563c27b261e92488
Original change's description:
> Fix threading model of video quality test with audio enabled
>
> Bug: None
> Change-Id: Ifb7fc57df54ec4d0a6f8c7f0504f3c06de6ac756
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130514
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27413}
Bug: None
Change-Id: I4fb793a5a5f636103159ed537847d6f2deb60108
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132797
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27621}diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc
index 139be61..10f9699 100644
--- a/video/video_quality_test.cc
+++ b/video/video_quality_test.cc
@@ -1203,13 +1203,11 @@
recv_event_log_ = RtcEventLog::CreateNull();
}
- Call::Config send_call_config(send_event_log_.get());
- Call::Config recv_call_config(recv_event_log_.get());
- send_call_config.bitrate_config = params.call.call_bitrate_config;
- recv_call_config.bitrate_config = params.call.call_bitrate_config;
-
- task_queue_.SendTask([this, &send_call_config, &recv_call_config,
- &send_transport, &recv_transport]() {
+ task_queue_.SendTask([this, ¶ms, &send_transport, &recv_transport]() {
+ Call::Config send_call_config(send_event_log_.get());
+ Call::Config recv_call_config(recv_event_log_.get());
+ send_call_config.bitrate_config = params.call.call_bitrate_config;
+ recv_call_config.bitrate_config = params.call.call_bitrate_config;
if (params_.audio.enabled)
InitializeAudioDevice(&send_call_config, &recv_call_config,
params_.audio.use_real_adm);
@@ -1234,7 +1232,8 @@
kSendRtxSsrcs[params_.ss[0].selected_stream],
static_cast<size_t>(params_.ss[0].selected_stream),
params.ss[0].selected_sl, params_.video[0].selected_tl,
- is_quick_test_enabled, clock_, params_.logging.rtp_dump_name);
+ is_quick_test_enabled, clock_, params_.logging.rtp_dump_name,
+ &task_queue_);
task_queue_.SendTask([&]() {
analyzer_->SetCall(sender_call_.get());