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

Unified Diff: webrtc/media/base/streamparams_unittest.cc

Issue 2503403004: Add support for FEC-FR semantics in StreamParams. (Closed)
Patch Set: No inline inside class declaration. Created 4 years, 1 month 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/media/base/streamparams.cc ('k') | webrtc/media/base/testutils.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/base/streamparams_unittest.cc
diff --git a/webrtc/media/base/streamparams_unittest.cc b/webrtc/media/base/streamparams_unittest.cc
index 8784ffc3f807aed6eab0e8261047a905315cfbbc..dc48a721acbc57407524b401c03f444e9d3bd9c6 100644
--- a/webrtc/media/base/streamparams_unittest.cc
+++ b/webrtc/media/base/streamparams_unittest.cc
@@ -128,7 +128,7 @@ TEST(StreamParams, FidFunctions) {
EXPECT_FALSE(sp.GetFidSsrc(15, &fid_ssrc));
sp.add_ssrc(20);
- sp.AddFidSsrc(20, 30);
+ EXPECT_TRUE(sp.AddFidSsrc(20, 30));
EXPECT_TRUE(sp.GetFidSsrc(20, &fid_ssrc));
EXPECT_EQ(30u, fid_ssrc);
@@ -177,6 +177,34 @@ TEST(StreamParams, GetPrimaryAndFidSsrcs) {
EXPECT_EQ(20u, fid_ssrcs[1]);
}
+TEST(StreamParams, FecFrFunctions) {
+ uint32_t fecfr_ssrc;
+
+ cricket::StreamParams sp = cricket::StreamParams::CreateLegacy(1);
+ EXPECT_FALSE(sp.AddFecFrSsrc(10, 20));
+ EXPECT_TRUE(sp.AddFecFrSsrc(1, 2));
+ EXPECT_TRUE(sp.GetFecFrSsrc(1, &fecfr_ssrc));
+ EXPECT_EQ(2u, fecfr_ssrc);
+ EXPECT_FALSE(sp.GetFecFrSsrc(15, &fecfr_ssrc));
+
+ sp.add_ssrc(20);
+ EXPECT_TRUE(sp.AddFecFrSsrc(20, 30));
+ EXPECT_TRUE(sp.GetFecFrSsrc(20, &fecfr_ssrc));
+ EXPECT_EQ(30u, fecfr_ssrc);
+
+ // Manually create SsrcGroup to test bounds-checking
+ // in GetSecondarySsrc. We construct an invalid StreamParams
+ // for this.
+ std::vector<uint32_t> fecfr_vector;
+ fecfr_vector.push_back(13);
+ cricket::SsrcGroup invalid_fecfr_group(cricket::kFecFrSsrcGroupSemantics,
+ fecfr_vector);
+ cricket::StreamParams sp_invalid;
+ sp_invalid.add_ssrc(13);
+ sp_invalid.ssrc_groups.push_back(invalid_fecfr_group);
+ EXPECT_FALSE(sp_invalid.GetFecFrSsrc(13, &fecfr_ssrc));
+}
+
TEST(StreamParams, ToString) {
cricket::StreamParams sp =
CreateStreamParamsWithSsrcGroup("XYZ", kSsrcs2, arraysize(kSsrcs2));
@@ -184,7 +212,6 @@ TEST(StreamParams, ToString) {
sp.ToString().c_str());
}
-
TEST(StreamParams, TestIsOneSsrcStream_LegacyStream) {
EXPECT_TRUE(
cricket::IsOneSsrcStream(cricket::StreamParams::CreateLegacy(13)));
@@ -197,6 +224,21 @@ TEST(StreamParams, TestIsOneSsrcStream_SingleRtxStream) {
EXPECT_TRUE(cricket::IsOneSsrcStream(stream));
}
+TEST(StreamParams, TestIsOneSsrcStream_SingleFlexfecStream) {
+ cricket::StreamParams stream;
+ stream.add_ssrc(13);
+ EXPECT_TRUE(stream.AddFecFrSsrc(13, 14));
+ EXPECT_TRUE(cricket::IsOneSsrcStream(stream));
+}
+
+TEST(StreamParams, TestIsOneSsrcStream_SingleFlexfecAndRtxStream) {
+ cricket::StreamParams stream;
+ stream.add_ssrc(13);
+ EXPECT_TRUE(stream.AddFecFrSsrc(13, 14));
+ EXPECT_TRUE(stream.AddFidSsrc(13, 15));
+ EXPECT_TRUE(cricket::IsOneSsrcStream(stream));
+}
+
TEST(StreamParams, TestIsOneSsrcStream_SimulcastStream) {
EXPECT_FALSE(cricket::IsOneSsrcStream(
cricket::CreateSimStreamParams("cname", MAKE_VECTOR(kSsrcs2))));
« no previous file with comments | « webrtc/media/base/streamparams.cc ('k') | webrtc/media/base/testutils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698