| Index: webrtc/call/flexfec_receive_stream_unittest.cc
|
| diff --git a/webrtc/call/flexfec_receive_stream_unittest.cc b/webrtc/call/flexfec_receive_stream_unittest.cc
|
| index ba4140609435c6c1f498014b2abb0c7ecab9b0e5..1788efd0769766a50f25d1817ddf36c59d8425b9 100644
|
| --- a/webrtc/call/flexfec_receive_stream_unittest.cc
|
| +++ b/webrtc/call/flexfec_receive_stream_unittest.cc
|
| @@ -8,10 +8,12 @@
|
| * be found in the AUTHORS file in the root of the source tree.
|
| */
|
|
|
| +#include "webrtc/call/flexfec_receive_stream_impl.h"
|
| +
|
| #include <stdint.h>
|
| +#include <memory>
|
|
|
| #include "webrtc/base/array_view.h"
|
| -#include "webrtc/call/flexfec_receive_stream_impl.h"
|
| #include "webrtc/call/rtp_stream_receiver_controller.h"
|
| #include "webrtc/modules/pacing/packet_router.h"
|
| #include "webrtc/modules/rtp_rtcp/include/flexfec_receiver.h"
|
| @@ -20,6 +22,7 @@
|
| #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
|
| #include "webrtc/modules/utility/include/mock/mock_process_thread.h"
|
| +#include "webrtc/rtc_base/ptr_util.h"
|
| #include "webrtc/test/gmock.h"
|
| #include "webrtc/test/gtest.h"
|
| #include "webrtc/test/mock_transport.h"
|
| @@ -28,6 +31,8 @@ namespace webrtc {
|
|
|
| namespace {
|
|
|
| +using ::testing::_;
|
| +
|
| constexpr uint8_t kFlexfecPlType = 118;
|
| constexpr uint8_t kFlexfecSsrc[] = {0x00, 0x00, 0x00, 0x01};
|
| constexpr uint8_t kMediaSsrc[] = {0x00, 0x00, 0x00, 0x02};
|
| @@ -77,12 +82,16 @@ TEST(FlexfecReceiveStreamConfigTest, IsCompleteAndEnabled) {
|
| class FlexfecReceiveStreamTest : public ::testing::Test {
|
| protected:
|
| FlexfecReceiveStreamTest()
|
| - : config_(CreateDefaultConfig(&rtcp_send_transport_)),
|
| - receive_stream_(&rtp_stream_receiver_controller_,
|
| - config_,
|
| - &recovered_packet_receiver_,
|
| - &rtt_stats_,
|
| - &process_thread_) {}
|
| + : config_(CreateDefaultConfig(&rtcp_send_transport_)) {
|
| + EXPECT_CALL(process_thread_, RegisterModule(_, _)).Times(1);
|
| + receive_stream_ = rtc::MakeUnique<FlexfecReceiveStreamImpl>(
|
| + &rtp_stream_receiver_controller_, config_, &recovered_packet_receiver_,
|
| + &rtt_stats_, &process_thread_);
|
| + }
|
| +
|
| + ~FlexfecReceiveStreamTest() {
|
| + EXPECT_CALL(process_thread_, DeRegisterModule(_)).Times(1);
|
| + }
|
|
|
| MockTransport rtcp_send_transport_;
|
| FlexfecReceiveStream::Config config_;
|
| @@ -90,14 +99,14 @@ class FlexfecReceiveStreamTest : public ::testing::Test {
|
| MockRtcpRttStats rtt_stats_;
|
| MockProcessThread process_thread_;
|
| RtpStreamReceiverController rtp_stream_receiver_controller_;
|
| - FlexfecReceiveStreamImpl receive_stream_;
|
| + std::unique_ptr<FlexfecReceiveStreamImpl> receive_stream_;
|
| };
|
|
|
| TEST_F(FlexfecReceiveStreamTest, ConstructDestruct) {}
|
|
|
| TEST_F(FlexfecReceiveStreamTest, StartStop) {
|
| - receive_stream_.Start();
|
| - receive_stream_.Stop();
|
| + receive_stream_->Start();
|
| + receive_stream_->Stop();
|
| }
|
|
|
| // Create a FlexFEC packet that protects a single media packet and ensure
|
| @@ -136,6 +145,7 @@ TEST_F(FlexfecReceiveStreamTest, RecoversPacketWhenStarted) {
|
| // clang-format on
|
|
|
| testing::StrictMock<MockRecoveredPacketReceiver> recovered_packet_receiver;
|
| + EXPECT_CALL(process_thread_, RegisterModule(_, _)).Times(1);
|
| FlexfecReceiveStreamImpl receive_stream(&rtp_stream_receiver_controller_,
|
| config_, &recovered_packet_receiver,
|
| &rtt_stats_, &process_thread_);
|
| @@ -145,10 +155,12 @@ TEST_F(FlexfecReceiveStreamTest, RecoversPacketWhenStarted) {
|
|
|
| // Call back after being started.
|
| receive_stream.Start();
|
| - EXPECT_CALL(
|
| - recovered_packet_receiver,
|
| - OnRecoveredPacket(::testing::_, kRtpHeaderSize + kPayloadLength[1]));
|
| + EXPECT_CALL(recovered_packet_receiver,
|
| + OnRecoveredPacket(_, kRtpHeaderSize + kPayloadLength[1]));
|
| receive_stream.OnRtpPacket(ParsePacket(kFlexfecPacket));
|
| +
|
| + // Tear-down
|
| + EXPECT_CALL(process_thread_, DeRegisterModule(_)).Times(1);
|
| }
|
|
|
| } // namespace webrtc
|
|
|