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

Side by Side Diff: webrtc/media/engine/webrtcmediaengine_unittest.cc

Issue 2761143002: Support encrypted RTP extensions (RFC 6904) (Closed)
Patch Set: More updates + support for adding/changing encrypted extensions. Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 137
138 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundant) { 138 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundant) {
139 std::vector<RtpExtension> extensions = MakeRedundantExtensions(); 139 std::vector<RtpExtension> extensions = MakeRedundantExtensions();
140 std::vector<webrtc::RtpExtension> filtered = 140 std::vector<webrtc::RtpExtension> filtered =
141 FilterRtpExtensions(extensions, SupportedExtensions2, true); 141 FilterRtpExtensions(extensions, SupportedExtensions2, true);
142 EXPECT_EQ(6, filtered.size()); 142 EXPECT_EQ(6, filtered.size());
143 EXPECT_TRUE(IsSorted(filtered)); 143 EXPECT_TRUE(IsSorted(filtered));
144 EXPECT_NE(filtered[0].uri, filtered[1].uri); 144 EXPECT_NE(filtered[0].uri, filtered[1].uri);
145 } 145 }
146 146
147 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantEncrypted) {
148 std::vector<RtpExtension> extensions = MakeRedundantExtensions();
149 extensions[3] = extensions[2];
150 extensions[3].encrypt = true;
Taylor Brandstetter 2017/04/01 00:28:59 nit: It's a little hard to read this test, since y
joachim 2017/04/17 10:46:09 The DCHECK is in "ValidateRtpExtensions" (which is
151 std::vector<webrtc::RtpExtension> filtered =
152 FilterRtpExtensions(extensions, SupportedExtensions2, true);
153 EXPECT_EQ(7, filtered.size());
154 EXPECT_TRUE(IsSorted(filtered));
155 EXPECT_EQ(filtered[0].uri, filtered[1].uri);
156 EXPECT_NE(filtered[0].encrypt, filtered[1].encrypt);
157 EXPECT_NE(filtered[0].uri, filtered[2].uri);
158 EXPECT_NE(filtered[1].uri, filtered[2].uri);
159 }
160
147 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_1) { 161 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_1) {
148 std::vector<RtpExtension> extensions; 162 std::vector<RtpExtension> extensions;
149 extensions.push_back( 163 extensions.push_back(
150 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3)); 164 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3));
151 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 9)); 165 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 9));
152 extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 6)); 166 extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 6));
153 extensions.push_back( 167 extensions.push_back(
154 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1)); 168 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1));
155 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14)); 169 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14));
156 std::vector<webrtc::RtpExtension> filtered = 170 std::vector<webrtc::RtpExtension> filtered =
157 FilterRtpExtensions(extensions, SupportedExtensions2, true); 171 FilterRtpExtensions(extensions, SupportedExtensions2, true);
158 EXPECT_EQ(1, filtered.size()); 172 EXPECT_EQ(1, filtered.size());
159 EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri); 173 EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri);
160 } 174 }
161 175
176 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBweEncrypted_1) {
177 std::vector<RtpExtension> extensions;
178 extensions.push_back(
179 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3));
180 extensions.push_back(
181 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3, true));
Taylor Brandstetter 2017/04/01 00:28:59 They both have the same ID; is that intentional?
joachim 2017/04/17 10:46:09 No, see above.
182 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 9));
183 extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 6));
184 extensions.push_back(
185 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1));
186 extensions.push_back(
187 RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1, true));
188 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14));
189 std::vector<webrtc::RtpExtension> filtered =
190 FilterRtpExtensions(extensions, SupportedExtensions2, true);
191 EXPECT_EQ(2, filtered.size());
192 EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri);
193 EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[1].uri);
194 EXPECT_NE(filtered[0].encrypt, filtered[1].encrypt);
195 }
196
162 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_2) { 197 TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_2) {
163 std::vector<RtpExtension> extensions; 198 std::vector<RtpExtension> extensions;
164 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 1)); 199 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 1));
165 extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 14)); 200 extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 14));
166 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 7)); 201 extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 7));
167 std::vector<webrtc::RtpExtension> filtered = 202 std::vector<webrtc::RtpExtension> filtered =
168 FilterRtpExtensions(extensions, SupportedExtensions2, true); 203 FilterRtpExtensions(extensions, SupportedExtensions2, true);
169 EXPECT_EQ(1, filtered.size()); 204 EXPECT_EQ(1, filtered.size());
170 EXPECT_EQ(RtpExtension::kAbsSendTimeUri, filtered[0].uri); 205 EXPECT_EQ(RtpExtension::kAbsSendTimeUri, filtered[0].uri);
171 } 206 }
(...skipping 14 matching lines...) Expand all
186 EXPECT_TRUE(engine); 221 EXPECT_TRUE(engine);
187 } 222 }
188 223
189 TEST(WebRtcMediaEngineFactoryTest, CreateWithBuiltinDecoders) { 224 TEST(WebRtcMediaEngineFactoryTest, CreateWithBuiltinDecoders) {
190 std::unique_ptr<MediaEngineInterface> engine(WebRtcMediaEngineFactory::Create( 225 std::unique_ptr<MediaEngineInterface> engine(WebRtcMediaEngineFactory::Create(
191 nullptr, webrtc::CreateBuiltinAudioDecoderFactory(), nullptr, nullptr)); 226 nullptr, webrtc::CreateBuiltinAudioDecoderFactory(), nullptr, nullptr));
192 EXPECT_TRUE(engine); 227 EXPECT_TRUE(engine);
193 } 228 }
194 229
195 } // namespace cricket 230 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698