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

Unified Diff: webrtc/call/flexfec_receive_stream_unittest.cc

Issue 2589713003: Make |rtcp_send_transport| mandatory in FlexfecReceiveStream::Config. (Closed)
Patch Set: Rebase. Created 3 years, 11 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/call/flexfec_receive_stream_impl.cc ('k') | webrtc/media/engine/webrtcvideoengine2.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 c25858f02cbf10c9021583401b4f36b9843020f6..24026365d3301fa15393687c04a27f066378e0c4 100644
--- a/webrtc/call/flexfec_receive_stream_unittest.cc
+++ b/webrtc/call/flexfec_receive_stream_unittest.cc
@@ -13,16 +13,32 @@
#include "webrtc/base/array_view.h"
#include "webrtc/call/flexfec_receive_stream_impl.h"
#include "webrtc/modules/rtp_rtcp/include/flexfec_receiver.h"
-#include "webrtc/modules/rtp_rtcp/source/byte_io.h"
-#include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h"
#include "webrtc/modules/rtp_rtcp/mocks/mock_recovered_packet_receiver.h"
+#include "webrtc/modules/rtp_rtcp/source/byte_io.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
#include "webrtc/test/gmock.h"
#include "webrtc/test/gtest.h"
+#include "webrtc/test/mock_transport.h"
namespace webrtc {
namespace {
+constexpr uint8_t kFlexfecPlType = 118;
+constexpr uint8_t kFlexfecSsrc[] = {0x00, 0x00, 0x00, 0x01};
+constexpr uint8_t kMediaSsrc[] = {0x00, 0x00, 0x00, 0x02};
+
+FlexfecReceiveStream::Config CreateDefaultConfig(
+ Transport* rtcp_send_transport) {
+ FlexfecReceiveStream::Config config(rtcp_send_transport);
+ config.payload_type = kFlexfecPlType;
+ config.remote_ssrc = ByteReader<uint32_t>::ReadBigEndian(kFlexfecSsrc);
+ config.protected_media_ssrcs = {
+ ByteReader<uint32_t>::ReadBigEndian(kMediaSsrc)};
+ EXPECT_TRUE(config.IsCompleteAndEnabled());
+ return config;
+}
+
RtpPacketReceived ParsePacket(rtc::ArrayView<const uint8_t> packet) {
RtpPacketReceived parsed_packet(nullptr);
EXPECT_TRUE(parsed_packet.Parse(packet));
@@ -31,40 +47,58 @@ RtpPacketReceived ParsePacket(rtc::ArrayView<const uint8_t> packet) {
} // namespace
-TEST(FlexfecReceiveStreamTest, ConstructDestruct) {
- FlexfecReceiveStream::Config config;
- config.payload_type = 118;
- config.remote_ssrc = 424223;
- config.protected_media_ssrcs = {912512};
- MockRecoveredPacketReceiver recovered_packet_receiver;
+TEST(FlexfecReceiveStreamConfigTest, IsCompleteAndEnabled) {
+ MockTransport rtcp_send_transport;
+ FlexfecReceiveStream::Config config(&rtcp_send_transport);
+
+ config.local_ssrc = 18374743;
+ config.rtcp_mode = RtcpMode::kCompound;
+ config.transport_cc = true;
+ config.rtp_header_extensions.emplace_back(TransportSequenceNumber::kUri, 7);
+ EXPECT_FALSE(config.IsCompleteAndEnabled());
+
+ config.payload_type = 123;
+ EXPECT_FALSE(config.IsCompleteAndEnabled());
- FlexfecReceiveStreamImpl receive_stream(config, &recovered_packet_receiver);
+ config.remote_ssrc = 238423838;
+ EXPECT_FALSE(config.IsCompleteAndEnabled());
+
+ config.protected_media_ssrcs.push_back(138989393);
+ EXPECT_TRUE(config.IsCompleteAndEnabled());
+
+ config.protected_media_ssrcs.push_back(33423423);
+ EXPECT_FALSE(config.IsCompleteAndEnabled());
}
-TEST(FlexfecReceiveStreamTest, StartStop) {
- FlexfecReceiveStream::Config config;
- config.payload_type = 118;
- config.remote_ssrc = 1652392;
- config.protected_media_ssrcs = {23300443};
- MockRecoveredPacketReceiver recovered_packet_receiver;
- FlexfecReceiveStreamImpl receive_stream(config, &recovered_packet_receiver);
+class FlexfecReceiveStreamTest : public ::testing::Test {
+ protected:
+ FlexfecReceiveStreamTest()
+ : config_(CreateDefaultConfig(&rtcp_send_transport_)),
+ receive_stream_(config_, &recovered_packet_receiver_) {}
- receive_stream.Start();
- receive_stream.Stop();
+ FlexfecReceiveStream::Config config_;
+ MockRecoveredPacketReceiver recovered_packet_receiver_;
+ MockTransport rtcp_send_transport_;
+
+ FlexfecReceiveStreamImpl receive_stream_;
+};
+
+TEST_F(FlexfecReceiveStreamTest, ConstructDestruct) {}
+
+TEST_F(FlexfecReceiveStreamTest, StartStop) {
+ receive_stream_.Start();
+ receive_stream_.Stop();
}
// Create a FlexFEC packet that protects a single media packet and ensure
// that the callback is called. Correctness of recovery is checked in the
// FlexfecReceiver unit tests.
-TEST(FlexfecReceiveStreamTest, RecoversPacketWhenStarted) {
- constexpr uint8_t kFlexfecPlType = 118;
+TEST_F(FlexfecReceiveStreamTest, RecoversPacketWhenStarted) {
constexpr uint8_t kFlexfecSeqNum[] = {0x00, 0x01};
constexpr uint8_t kFlexfecTs[] = {0x00, 0x11, 0x22, 0x33};
- constexpr uint8_t kFlexfecSsrc[] = {0x00, 0x00, 0x00, 0x01};
constexpr uint8_t kMediaPlType = 107;
constexpr uint8_t kMediaSeqNum[] = {0x00, 0x02};
constexpr uint8_t kMediaTs[] = {0xaa, 0xbb, 0xcc, 0xdd};
- constexpr uint8_t kMediaSsrc[] = {0x00, 0x00, 0x00, 0x02};
// This packet mask protects a single media packet, i.e., the FlexFEC payload
// is a copy of that media packet. When inserted in the FlexFEC pipeline,
@@ -91,13 +125,8 @@ TEST(FlexfecReceiveStreamTest, RecoversPacketWhenStarted) {
kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits};
// clang-format on
- FlexfecReceiveStream::Config config;
- config.payload_type = kFlexfecPlType;
- config.remote_ssrc = ByteReader<uint32_t>::ReadBigEndian(kFlexfecSsrc);
- config.protected_media_ssrcs = {
- ByteReader<uint32_t>::ReadBigEndian(kMediaSsrc)};
testing::StrictMock<MockRecoveredPacketReceiver> recovered_packet_receiver;
- FlexfecReceiveStreamImpl receive_stream(config, &recovered_packet_receiver);
+ FlexfecReceiveStreamImpl receive_stream(config_, &recovered_packet_receiver);
// Do not call back before being started.
receive_stream.AddAndProcessReceivedPacket(ParsePacket(kFlexfecPacket));
« no previous file with comments | « webrtc/call/flexfec_receive_stream_impl.cc ('k') | webrtc/media/engine/webrtcvideoengine2.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698