Deprecate two DirectTransport ctors and remove their direct usage.

Because DirectTransport is switched on SimulatedPacketReceiverInterface
we can't create it from some specific config in ctor, so all ctors,
that accept specific config are deprecated and you should pass concrete
implementation of underlying implememntation instead.

Bug: webrtc:9630
Change-Id: I7f241f310c993d8136b40898e55a6915924d61bd
Reviewed-on: https://webrtc-review.googlesource.com/94841
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24344}
This commit is contained in:
Artem Titov 2018-08-20 13:27:45 +02:00 committed by Commit Bot
parent 908689d047
commit dd2eebef5e
11 changed files with 122 additions and 18 deletions

View File

@ -319,6 +319,7 @@ if (rtc_include_tests) {
":rtp_interfaces",
":rtp_receiver",
":rtp_sender",
":simulated_network",
"..:webrtc_common",
"../api:array_view",
"../api:libjingle_peerconnection_api",

View File

@ -13,6 +13,8 @@
#include <string>
#include "call/call.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "rtc_base/checks.h"
#include "rtc_base/event.h"
#include "rtc_base/logging.h"
@ -106,10 +108,18 @@ class BitrateEstimatorTest : public test::CallTest {
CreateCalls();
send_transport_.reset(new test::DirectTransport(
&task_queue_, sender_call_.get(), payload_type_map_));
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call_.get(), payload_type_map_));
send_transport_->SetReceiver(receiver_call_->Receiver());
receive_transport_.reset(new test::DirectTransport(
&task_queue_, receiver_call_.get(), payload_type_map_));
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
receiver_call_.get(), payload_type_map_));
receive_transport_->SetReceiver(sender_call_->Receiver());
VideoSendStream::Config video_send_config(send_transport_.get());

View File

@ -42,10 +42,18 @@ class Demuxer {
// same task-queue - the one that's passed in via the constructor.
class DirectTransport : public Transport {
public:
// Deprecated. DO NOT USE. Use the constructor that takes an
// explicit pipe instead.Because there can be different ways to simulated
// underlying network passing implementation specific config to the transport
// constructor makes no sense.
DirectTransport(SingleThreadedTaskQueueForTesting* task_queue,
Call* send_call,
const std::map<uint8_t, MediaType>& payload_type_map);
// Deprecated. DO NOT USE. Use the constructor that takes an
// explicit pipe instead.Because there can be different ways to simulated
// underlying network passing implementation specific config to the transport
// constructor makes no sense.
DirectTransport(SingleThreadedTaskQueueForTesting* task_queue,
const DefaultNetworkSimulationConfig& config,
Call* send_call,

View File

@ -206,6 +206,7 @@ if (rtc_include_tests) {
"../api:fec_controller_api",
"../api:video_quality_test_fixture_api",
"../call:fake_network",
"../call:simulated_network",
"../logging:rtc_event_log_api",
"../logging:rtc_event_log_impl_output",
"../media:rtc_audio_video",
@ -429,10 +430,12 @@ if (rtc_include_tests) {
"../api/video:video_frame_i420",
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../call:fake_network",
"../call:mock_bitrate_allocator",
"../call:mock_rtp_interfaces",
"../call:rtp_receiver",
"../call:rtp_sender",
"../call:simulated_network",
"../call:video_stream_api",
"../common_video",
"../logging:rtc_event_log_api",

View File

@ -8,6 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/test/simulated_network.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "system_wrappers/include/sleep.h"
#include "test/call_test.h"
#include "test/field_trial.h"
@ -111,9 +114,17 @@ TEST_P(CallOperationEndToEndTest, RendersSingleDelayedFrame) {
CreateCalls();
sender_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, sender_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call_.get(), payload_type_map_);
receiver_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, receiver_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
receiver_call_.get(), payload_type_map_);
sender_transport->SetReceiver(receiver_call_->Receiver());
receiver_transport->SetReceiver(sender_call_->Receiver());
@ -171,9 +182,17 @@ TEST_P(CallOperationEndToEndTest, TransmitsFirstFrame) {
CreateCalls();
sender_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, sender_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call_.get(), payload_type_map_);
receiver_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, receiver_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
receiver_call_.get(), payload_type_map_);
sender_transport->SetReceiver(receiver_call_->Receiver());
receiver_transport->SetReceiver(sender_call_->Receiver());
@ -238,9 +257,17 @@ TEST_P(CallOperationEndToEndTest, ObserversEncodedFrames) {
CreateCalls();
sender_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, sender_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call_.get(), payload_type_map_);
receiver_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, receiver_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
receiver_call_.get(), payload_type_map_);
sender_transport->SetReceiver(receiver_call_->Receiver());
receiver_transport->SetReceiver(sender_call_->Receiver());

View File

@ -14,6 +14,9 @@
#include <utility>
#include <vector>
#include "api/test/simulated_network.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "logging/rtc_event_log/rtc_event_log.h"
#include "modules/video_coding/codecs/vp8/include/vp8.h"
#include "test/call_test.h"
@ -138,13 +141,22 @@ void MultiStreamTester::UpdateReceiveConfig(
test::DirectTransport* MultiStreamTester::CreateSendTransport(
test::SingleThreadedTaskQueueForTesting* task_queue,
Call* sender_call) {
return new test::DirectTransport(task_queue, sender_call, payload_type_map_);
return new test::DirectTransport(
task_queue,
absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call, payload_type_map_);
}
test::DirectTransport* MultiStreamTester::CreateReceiveTransport(
test::SingleThreadedTaskQueueForTesting* task_queue,
Call* receiver_call) {
return new test::DirectTransport(task_queue, receiver_call,
payload_type_map_);
return new test::DirectTransport(
task_queue,
absl::make_unique<FakeNetworkPipe>(Clock::GetRealTimeClock(),
absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
receiver_call, payload_type_map_);
}
} // namespace webrtc

View File

@ -8,6 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/test/simulated_network.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "system_wrappers/include/sleep.h"
#include "test/call_test.h"
#include "test/encoder_proxy_factory.h"
@ -114,7 +117,11 @@ void NetworkStateEndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState(
CreateCalls();
receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp);
sender_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, sender_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call_.get(), payload_type_map_);
sender_transport->SetReceiver(receiver_call_->Receiver());
CreateSendConfig(1, 0, 0, sender_transport.get());
CreateMatchingReceiveConfigs(transport);

View File

@ -8,6 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/test/simulated_network.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "test/call_test.h"
#include "test/gtest.h"
#include "test/rtcp_packet_parser.h"
@ -78,9 +81,17 @@ TEST_F(SsrcEndToEndTest, UnknownRtpPacketGivesUnknownSsrcReturnCode) {
CreateCalls();
send_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, sender_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call_.get(), payload_type_map_);
receive_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, receiver_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(), absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
receiver_call_.get(), payload_type_map_);
input_observer =
absl::make_unique<PacketInputObserver>(receiver_call_->Receiver());
send_transport->SetReceiver(input_observer.get());

View File

@ -9,6 +9,8 @@
*/
#include "api/test/simulated_network.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "modules/rtp_rtcp/source/rtp_utility.h"
#include "modules/video_coding/include/video_coding_defines.h"
#include "system_wrappers/include/metrics.h"
@ -712,10 +714,18 @@ TEST_F(StatsEndToEndTest, CallReportsRttForSender) {
config.queue_delay_ms = kSendDelayMs;
CreateCalls();
sender_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, config, sender_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(),
absl::make_unique<SimulatedNetwork>(config)),
sender_call_.get(), payload_type_map_);
config.queue_delay_ms = kReceiveDelayMs;
receiver_transport = absl::make_unique<test::DirectTransport>(
&task_queue_, config, receiver_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(),
absl::make_unique<SimulatedNetwork>(config)),
receiver_call_.get(), payload_type_map_);
sender_transport->SetReceiver(receiver_call_->Receiver());
receiver_transport->SetReceiver(sender_call_->Receiver());

View File

@ -8,6 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "call/call.h"
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "test/call_test.h"
#include "test/field_trial.h"
#include "test/gtest.h"
@ -49,7 +52,13 @@ TEST_P(TransportFeedbackEndToEndTest, AssignsTransportSequenceNumbers) {
const uint32_t& first_media_ssrc,
const std::map<uint32_t, uint32_t>& ssrc_map,
const std::map<uint8_t, MediaType>& payload_type_map)
: DirectTransport(task_queue, sender_call, payload_type_map),
: DirectTransport(task_queue,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(),
absl::make_unique<SimulatedNetwork>(
DefaultNetworkSimulationConfig())),
sender_call,
payload_type_map),
done_(false, false),
parser_(RtpHeaderParser::Create()),
first_media_ssrc_(first_media_ssrc),

View File

@ -17,6 +17,8 @@
#include <string>
#include <vector>
#include "call/fake_network_pipe.h"
#include "call/simulated_network.h"
#include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
#include "media/engine/internalencoderfactory.h"
#include "media/engine/vp8_encoder_simulcast_proxy.h"
@ -800,7 +802,11 @@ VideoQualityTest::CreateSendTransport() {
std::unique_ptr<test::DirectTransport>
VideoQualityTest::CreateReceiveTransport() {
return absl::make_unique<test::DirectTransport>(
&task_queue_, params_.pipe, receiver_call_.get(), payload_type_map_);
&task_queue_,
absl::make_unique<FakeNetworkPipe>(
Clock::GetRealTimeClock(),
absl::make_unique<SimulatedNetwork>(params_.pipe)),
receiver_call_.get(), payload_type_map_);
}
void VideoQualityTest::RunWithAnalyzer(const Params& params) {