OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 11 matching lines...) Expand all Loading... |
22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | 22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | 23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #include "talk/media/base/streamparams.h" | 28 #include "talk/media/base/streamparams.h" |
29 #include "talk/media/base/testutils.h" | 29 #include "talk/media/base/testutils.h" |
30 #include "webrtc/base/gunit.h" | 30 #include "webrtc/base/gunit.h" |
31 | 31 |
32 static const uint32 kSsrcs1[] = {1}; | 32 static const uint32_t kSsrcs1[] = {1}; |
33 static const uint32 kSsrcs2[] = {1, 2}; | 33 static const uint32_t kSsrcs2[] = {1, 2}; |
34 static const uint32 kSsrcs3[] = {1, 2, 3}; | 34 static const uint32_t kSsrcs3[] = {1, 2, 3}; |
35 static const uint32 kRtxSsrcs3[] = {4, 5, 6}; | 35 static const uint32_t kRtxSsrcs3[] = {4, 5, 6}; |
36 | 36 |
37 static cricket::StreamParams CreateStreamParamsWithSsrcGroup( | 37 static cricket::StreamParams CreateStreamParamsWithSsrcGroup( |
38 const std::string& semantics, const uint32 ssrcs_in[], size_t len) { | 38 const std::string& semantics, |
| 39 const uint32_t ssrcs_in[], |
| 40 size_t len) { |
39 cricket::StreamParams stream; | 41 cricket::StreamParams stream; |
40 std::vector<uint32> ssrcs(ssrcs_in, ssrcs_in + len); | 42 std::vector<uint32_t> ssrcs(ssrcs_in, ssrcs_in + len); |
41 cricket::SsrcGroup sg(semantics, ssrcs); | 43 cricket::SsrcGroup sg(semantics, ssrcs); |
42 stream.ssrcs = ssrcs; | 44 stream.ssrcs = ssrcs; |
43 stream.ssrc_groups.push_back(sg); | 45 stream.ssrc_groups.push_back(sg); |
44 return stream; | 46 return stream; |
45 } | 47 } |
46 | 48 |
47 TEST(SsrcGroup, EqualNotEqual) { | 49 TEST(SsrcGroup, EqualNotEqual) { |
48 cricket::SsrcGroup ssrc_groups[] = { | 50 cricket::SsrcGroup ssrc_groups[] = { |
49 cricket::SsrcGroup("ABC", MAKE_VECTOR(kSsrcs1)), | 51 cricket::SsrcGroup("ABC", MAKE_VECTOR(kSsrcs1)), |
50 cricket::SsrcGroup("ABC", MAKE_VECTOR(kSsrcs2)), | 52 cricket::SsrcGroup("ABC", MAKE_VECTOR(kSsrcs2)), |
(...skipping 19 matching lines...) Expand all Loading... |
70 cricket::SsrcGroup sg3("abc", MAKE_VECTOR(kSsrcs1)); | 72 cricket::SsrcGroup sg3("abc", MAKE_VECTOR(kSsrcs1)); |
71 EXPECT_FALSE(sg3.has_semantics("ABC")); | 73 EXPECT_FALSE(sg3.has_semantics("ABC")); |
72 } | 74 } |
73 | 75 |
74 TEST(SsrcGroup, ToString) { | 76 TEST(SsrcGroup, ToString) { |
75 cricket::SsrcGroup sg1("ABC", MAKE_VECTOR(kSsrcs1)); | 77 cricket::SsrcGroup sg1("ABC", MAKE_VECTOR(kSsrcs1)); |
76 EXPECT_STREQ("{semantics:ABC;ssrcs:[1]}", sg1.ToString().c_str()); | 78 EXPECT_STREQ("{semantics:ABC;ssrcs:[1]}", sg1.ToString().c_str()); |
77 } | 79 } |
78 | 80 |
79 TEST(StreamParams, CreateLegacy) { | 81 TEST(StreamParams, CreateLegacy) { |
80 const uint32 ssrc = 7; | 82 const uint32_t ssrc = 7; |
81 cricket::StreamParams one_sp = cricket::StreamParams::CreateLegacy(ssrc); | 83 cricket::StreamParams one_sp = cricket::StreamParams::CreateLegacy(ssrc); |
82 EXPECT_EQ(1U, one_sp.ssrcs.size()); | 84 EXPECT_EQ(1U, one_sp.ssrcs.size()); |
83 EXPECT_EQ(ssrc, one_sp.first_ssrc()); | 85 EXPECT_EQ(ssrc, one_sp.first_ssrc()); |
84 EXPECT_TRUE(one_sp.has_ssrcs()); | 86 EXPECT_TRUE(one_sp.has_ssrcs()); |
85 EXPECT_TRUE(one_sp.has_ssrc(ssrc)); | 87 EXPECT_TRUE(one_sp.has_ssrc(ssrc)); |
86 EXPECT_FALSE(one_sp.has_ssrc(ssrc+1)); | 88 EXPECT_FALSE(one_sp.has_ssrc(ssrc+1)); |
87 EXPECT_FALSE(one_sp.has_ssrc_groups()); | 89 EXPECT_FALSE(one_sp.has_ssrc_groups()); |
88 EXPECT_EQ(0U, one_sp.ssrc_groups.size()); | 90 EXPECT_EQ(0U, one_sp.ssrc_groups.size()); |
89 } | 91 } |
90 | 92 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 | 127 |
126 for (size_t i = 0; i < ARRAY_SIZE(sps); ++i) { | 128 for (size_t i = 0; i < ARRAY_SIZE(sps); ++i) { |
127 for (size_t j = 0; j < ARRAY_SIZE(sps); ++j) { | 129 for (size_t j = 0; j < ARRAY_SIZE(sps); ++j) { |
128 EXPECT_EQ((sps[i] == sps[j]), (i == j)); | 130 EXPECT_EQ((sps[i] == sps[j]), (i == j)); |
129 EXPECT_EQ((sps[i] != sps[j]), (i != j)); | 131 EXPECT_EQ((sps[i] != sps[j]), (i != j)); |
130 } | 132 } |
131 } | 133 } |
132 } | 134 } |
133 | 135 |
134 TEST(StreamParams, FidFunctions) { | 136 TEST(StreamParams, FidFunctions) { |
135 uint32 fid_ssrc; | 137 uint32_t fid_ssrc; |
136 | 138 |
137 cricket::StreamParams sp = cricket::StreamParams::CreateLegacy(1); | 139 cricket::StreamParams sp = cricket::StreamParams::CreateLegacy(1); |
138 EXPECT_FALSE(sp.AddFidSsrc(10, 20)); | 140 EXPECT_FALSE(sp.AddFidSsrc(10, 20)); |
139 EXPECT_TRUE(sp.AddFidSsrc(1, 2)); | 141 EXPECT_TRUE(sp.AddFidSsrc(1, 2)); |
140 EXPECT_TRUE(sp.GetFidSsrc(1, &fid_ssrc)); | 142 EXPECT_TRUE(sp.GetFidSsrc(1, &fid_ssrc)); |
141 EXPECT_EQ(2u, fid_ssrc); | 143 EXPECT_EQ(2u, fid_ssrc); |
142 EXPECT_FALSE(sp.GetFidSsrc(15, &fid_ssrc)); | 144 EXPECT_FALSE(sp.GetFidSsrc(15, &fid_ssrc)); |
143 | 145 |
144 sp.add_ssrc(20); | 146 sp.add_ssrc(20); |
145 sp.AddFidSsrc(20, 30); | 147 sp.AddFidSsrc(20, 30); |
146 EXPECT_TRUE(sp.GetFidSsrc(20, &fid_ssrc)); | 148 EXPECT_TRUE(sp.GetFidSsrc(20, &fid_ssrc)); |
147 EXPECT_EQ(30u, fid_ssrc); | 149 EXPECT_EQ(30u, fid_ssrc); |
148 | 150 |
149 // Manually create SsrcGroup to test bounds-checking | 151 // Manually create SsrcGroup to test bounds-checking |
150 // in GetSecondarySsrc. We construct an invalid StreamParams | 152 // in GetSecondarySsrc. We construct an invalid StreamParams |
151 // for this. | 153 // for this. |
152 std::vector<uint32> fid_vector; | 154 std::vector<uint32_t> fid_vector; |
153 fid_vector.push_back(13); | 155 fid_vector.push_back(13); |
154 cricket::SsrcGroup invalid_fid_group(cricket::kFidSsrcGroupSemantics, | 156 cricket::SsrcGroup invalid_fid_group(cricket::kFidSsrcGroupSemantics, |
155 fid_vector); | 157 fid_vector); |
156 cricket::StreamParams sp_invalid; | 158 cricket::StreamParams sp_invalid; |
157 sp_invalid.add_ssrc(13); | 159 sp_invalid.add_ssrc(13); |
158 sp_invalid.ssrc_groups.push_back(invalid_fid_group); | 160 sp_invalid.ssrc_groups.push_back(invalid_fid_group); |
159 EXPECT_FALSE(sp_invalid.GetFidSsrc(13, &fid_ssrc)); | 161 EXPECT_FALSE(sp_invalid.GetFidSsrc(13, &fid_ssrc)); |
160 } | 162 } |
161 | 163 |
162 TEST(StreamParams, GetPrimaryAndFidSsrcs) { | 164 TEST(StreamParams, GetPrimaryAndFidSsrcs) { |
163 cricket::StreamParams sp; | 165 cricket::StreamParams sp; |
164 sp.ssrcs.push_back(1); | 166 sp.ssrcs.push_back(1); |
165 sp.ssrcs.push_back(2); | 167 sp.ssrcs.push_back(2); |
166 sp.ssrcs.push_back(3); | 168 sp.ssrcs.push_back(3); |
167 | 169 |
168 std::vector<uint32> primary_ssrcs; | 170 std::vector<uint32_t> primary_ssrcs; |
169 sp.GetPrimarySsrcs(&primary_ssrcs); | 171 sp.GetPrimarySsrcs(&primary_ssrcs); |
170 std::vector<uint32> fid_ssrcs; | 172 std::vector<uint32_t> fid_ssrcs; |
171 sp.GetFidSsrcs(primary_ssrcs, &fid_ssrcs); | 173 sp.GetFidSsrcs(primary_ssrcs, &fid_ssrcs); |
172 ASSERT_EQ(1u, primary_ssrcs.size()); | 174 ASSERT_EQ(1u, primary_ssrcs.size()); |
173 EXPECT_EQ(1u, primary_ssrcs[0]); | 175 EXPECT_EQ(1u, primary_ssrcs[0]); |
174 ASSERT_EQ(0u, fid_ssrcs.size()); | 176 ASSERT_EQ(0u, fid_ssrcs.size()); |
175 | 177 |
176 sp.ssrc_groups.push_back( | 178 sp.ssrc_groups.push_back( |
177 cricket::SsrcGroup(cricket::kSimSsrcGroupSemantics, sp.ssrcs)); | 179 cricket::SsrcGroup(cricket::kSimSsrcGroupSemantics, sp.ssrcs)); |
178 sp.AddFidSsrc(1, 10); | 180 sp.AddFidSsrc(1, 10); |
179 sp.AddFidSsrc(2, 20); | 181 sp.AddFidSsrc(2, 20); |
180 | 182 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 // stream2 has invalid fid-group (no primary). | 267 // stream2 has invalid fid-group (no primary). |
266 cricket::StreamParams stream2; | 268 cricket::StreamParams stream2; |
267 stream2.add_ssrc(13); | 269 stream2.add_ssrc(13); |
268 EXPECT_TRUE(stream2.AddFidSsrc(13, 14)); | 270 EXPECT_TRUE(stream2.AddFidSsrc(13, 14)); |
269 std::remove(stream2.ssrcs.begin(), stream2.ssrcs.end(), 13); | 271 std::remove(stream2.ssrcs.begin(), stream2.ssrcs.end(), 13); |
270 EXPECT_FALSE(cricket::IsSimulcastStream(stream2)); | 272 EXPECT_FALSE(cricket::IsSimulcastStream(stream2)); |
271 | 273 |
272 // stream3 has two SIM groups. | 274 // stream3 has two SIM groups. |
273 cricket::StreamParams stream3 = | 275 cricket::StreamParams stream3 = |
274 cricket::CreateSimStreamParams("cname", MAKE_VECTOR(kSsrcs2)); | 276 cricket::CreateSimStreamParams("cname", MAKE_VECTOR(kSsrcs2)); |
275 std::vector<uint32> sim_ssrcs = MAKE_VECTOR(kRtxSsrcs3); | 277 std::vector<uint32_t> sim_ssrcs = MAKE_VECTOR(kRtxSsrcs3); |
276 cricket::SsrcGroup sg(cricket::kSimSsrcGroupSemantics, sim_ssrcs); | 278 cricket::SsrcGroup sg(cricket::kSimSsrcGroupSemantics, sim_ssrcs); |
277 for (size_t i = 0; i < sim_ssrcs.size(); i++) { | 279 for (size_t i = 0; i < sim_ssrcs.size(); i++) { |
278 stream3.add_ssrc(sim_ssrcs[i]); | 280 stream3.add_ssrc(sim_ssrcs[i]); |
279 } | 281 } |
280 stream3.ssrc_groups.push_back(sg); | 282 stream3.ssrc_groups.push_back(sg); |
281 EXPECT_FALSE(cricket::IsSimulcastStream(stream3)); | 283 EXPECT_FALSE(cricket::IsSimulcastStream(stream3)); |
282 } | 284 } |
OLD | NEW |