OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 |
11 #include "webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h" | 11 #include "webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h" |
12 | 12 |
13 #include <string.h> | 13 #include <string.h> |
14 | 14 |
15 #include <string> | 15 #include <string> |
| 16 #include <vector> |
16 | 17 |
17 #include "webrtc/base/checks.h" | 18 #include "webrtc/base/checks.h" |
18 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ
k_adaptor.h" | 19 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ
k_adaptor.h" |
19 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" | 20 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" |
20 #include "webrtc/test/gtest.h" | 21 #include "webrtc/test/gtest.h" |
21 #include "webrtc/test/testsupport/fileutils.h" | 22 #include "webrtc/test/testsupport/fileutils.h" |
22 | 23 |
23 // Files generated at build-time by the protobuf compiler. | 24 // Files generated at build-time by the protobuf compiler. |
24 #ifdef WEBRTC_ANDROID_PLATFORM_BUILD | 25 #ifdef WEBRTC_ANDROID_PLATFORM_BUILD |
25 #include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log.pb.h" | 26 #include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log.pb.h" |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 for (int i = 0; i < receiver_config.decoders_size(); i++) { | 231 for (int i = 0; i < receiver_config.decoders_size(); i++) { |
231 ASSERT_TRUE(receiver_config.decoders(i).has_name()); | 232 ASSERT_TRUE(receiver_config.decoders(i).has_name()); |
232 ASSERT_TRUE(receiver_config.decoders(i).has_payload_type()); | 233 ASSERT_TRUE(receiver_config.decoders(i).has_payload_type()); |
233 const std::string& decoder_name = receiver_config.decoders(i).name(); | 234 const std::string& decoder_name = receiver_config.decoders(i).name(); |
234 int decoder_type = receiver_config.decoders(i).payload_type(); | 235 int decoder_type = receiver_config.decoders(i).payload_type(); |
235 EXPECT_EQ(config.codecs[i].payload_name, decoder_name); | 236 EXPECT_EQ(config.codecs[i].payload_name, decoder_name); |
236 EXPECT_EQ(config.codecs[i].payload_type, decoder_type); | 237 EXPECT_EQ(config.codecs[i].payload_type, decoder_type); |
237 } | 238 } |
238 | 239 |
239 // Check consistency of the parser. | 240 // Check consistency of the parser. |
240 rtclog::StreamConfig parsed_config; | 241 rtclog::StreamConfig parsed_config = parsed_log.GetVideoReceiveConfig(index); |
241 parsed_log.GetVideoReceiveConfig(index, &parsed_config); | |
242 VerifyStreamConfigsAreEqual(config, parsed_config); | 242 VerifyStreamConfigsAreEqual(config, parsed_config); |
243 } | 243 } |
244 | 244 |
245 void RtcEventLogTestHelper::VerifyVideoSendStreamConfig( | 245 void RtcEventLogTestHelper::VerifyVideoSendStreamConfig( |
246 const ParsedRtcEventLog& parsed_log, | 246 const ParsedRtcEventLog& parsed_log, |
247 size_t index, | 247 size_t index, |
248 const rtclog::StreamConfig& config) { | 248 const rtclog::StreamConfig& config) { |
249 const rtclog::Event& event = parsed_log.events_[index]; | 249 const rtclog::Event& event = parsed_log.events_[index]; |
250 ASSERT_TRUE(IsValidBasicEvent(event)); | 250 ASSERT_TRUE(IsValidBasicEvent(event)); |
251 ASSERT_EQ(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT, event.type()); | 251 ASSERT_EQ(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT, event.type()); |
(...skipping 18 matching lines...) Expand all Loading... |
270 ASSERT_TRUE(sender_config.encoder().has_name()); | 270 ASSERT_TRUE(sender_config.encoder().has_name()); |
271 ASSERT_TRUE(sender_config.encoder().has_payload_type()); | 271 ASSERT_TRUE(sender_config.encoder().has_payload_type()); |
272 EXPECT_EQ(config.codecs[0].payload_name, sender_config.encoder().name()); | 272 EXPECT_EQ(config.codecs[0].payload_name, sender_config.encoder().name()); |
273 EXPECT_EQ(config.codecs[0].payload_type, | 273 EXPECT_EQ(config.codecs[0].payload_type, |
274 sender_config.encoder().payload_type()); | 274 sender_config.encoder().payload_type()); |
275 | 275 |
276 EXPECT_EQ(config.codecs[0].rtx_payload_type, | 276 EXPECT_EQ(config.codecs[0].rtx_payload_type, |
277 sender_config.rtx_payload_type()); | 277 sender_config.rtx_payload_type()); |
278 | 278 |
279 // Check consistency of the parser. | 279 // Check consistency of the parser. |
280 rtclog::StreamConfig parsed_config; | 280 std::vector<rtclog::StreamConfig> parsed_configs = |
281 parsed_log.GetVideoSendConfig(index, &parsed_config); | 281 parsed_log.GetVideoSendConfig(index); |
282 VerifyStreamConfigsAreEqual(config, parsed_config); | 282 ASSERT_EQ(1u, parsed_configs.size()); |
| 283 VerifyStreamConfigsAreEqual(config, parsed_configs[0]); |
283 } | 284 } |
284 | 285 |
285 void RtcEventLogTestHelper::VerifyAudioReceiveStreamConfig( | 286 void RtcEventLogTestHelper::VerifyAudioReceiveStreamConfig( |
286 const ParsedRtcEventLog& parsed_log, | 287 const ParsedRtcEventLog& parsed_log, |
287 size_t index, | 288 size_t index, |
288 const rtclog::StreamConfig& config) { | 289 const rtclog::StreamConfig& config) { |
289 const rtclog::Event& event = parsed_log.events_[index]; | 290 const rtclog::Event& event = parsed_log.events_[index]; |
290 ASSERT_TRUE(IsValidBasicEvent(event)); | 291 ASSERT_TRUE(IsValidBasicEvent(event)); |
291 ASSERT_EQ(rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT, event.type()); | 292 ASSERT_EQ(rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT, event.type()); |
292 const rtclog::AudioReceiveConfig& receiver_config = | 293 const rtclog::AudioReceiveConfig& receiver_config = |
293 event.audio_receiver_config(); | 294 event.audio_receiver_config(); |
294 // Check SSRCs. | 295 // Check SSRCs. |
295 ASSERT_TRUE(receiver_config.has_remote_ssrc()); | 296 ASSERT_TRUE(receiver_config.has_remote_ssrc()); |
296 EXPECT_EQ(config.remote_ssrc, receiver_config.remote_ssrc()); | 297 EXPECT_EQ(config.remote_ssrc, receiver_config.remote_ssrc()); |
297 ASSERT_TRUE(receiver_config.has_local_ssrc()); | 298 ASSERT_TRUE(receiver_config.has_local_ssrc()); |
298 EXPECT_EQ(config.local_ssrc, receiver_config.local_ssrc()); | 299 EXPECT_EQ(config.local_ssrc, receiver_config.local_ssrc()); |
299 // Check header extensions. | 300 // Check header extensions. |
300 ASSERT_EQ(static_cast<int>(config.rtp_extensions.size()), | 301 ASSERT_EQ(static_cast<int>(config.rtp_extensions.size()), |
301 receiver_config.header_extensions_size()); | 302 receiver_config.header_extensions_size()); |
302 for (int i = 0; i < receiver_config.header_extensions_size(); i++) { | 303 for (int i = 0; i < receiver_config.header_extensions_size(); i++) { |
303 ASSERT_TRUE(receiver_config.header_extensions(i).has_name()); | 304 ASSERT_TRUE(receiver_config.header_extensions(i).has_name()); |
304 ASSERT_TRUE(receiver_config.header_extensions(i).has_id()); | 305 ASSERT_TRUE(receiver_config.header_extensions(i).has_id()); |
305 const std::string& name = receiver_config.header_extensions(i).name(); | 306 const std::string& name = receiver_config.header_extensions(i).name(); |
306 int id = receiver_config.header_extensions(i).id(); | 307 int id = receiver_config.header_extensions(i).id(); |
307 EXPECT_EQ(config.rtp_extensions[i].id, id); | 308 EXPECT_EQ(config.rtp_extensions[i].id, id); |
308 EXPECT_EQ(config.rtp_extensions[i].uri, name); | 309 EXPECT_EQ(config.rtp_extensions[i].uri, name); |
309 } | 310 } |
310 | 311 |
311 // Check consistency of the parser. | 312 // Check consistency of the parser. |
312 rtclog::StreamConfig parsed_config; | 313 rtclog::StreamConfig parsed_config = parsed_log.GetAudioReceiveConfig(index); |
313 parsed_log.GetAudioReceiveConfig(index, &parsed_config); | |
314 EXPECT_EQ(config.remote_ssrc, parsed_config.remote_ssrc); | 314 EXPECT_EQ(config.remote_ssrc, parsed_config.remote_ssrc); |
315 EXPECT_EQ(config.local_ssrc, parsed_config.local_ssrc); | 315 EXPECT_EQ(config.local_ssrc, parsed_config.local_ssrc); |
316 // Check header extensions. | 316 // Check header extensions. |
317 EXPECT_EQ(config.rtp_extensions.size(), parsed_config.rtp_extensions.size()); | 317 EXPECT_EQ(config.rtp_extensions.size(), parsed_config.rtp_extensions.size()); |
318 for (size_t i = 0; i < parsed_config.rtp_extensions.size(); i++) { | 318 for (size_t i = 0; i < parsed_config.rtp_extensions.size(); i++) { |
319 EXPECT_EQ(config.rtp_extensions[i].uri, | 319 EXPECT_EQ(config.rtp_extensions[i].uri, |
320 parsed_config.rtp_extensions[i].uri); | 320 parsed_config.rtp_extensions[i].uri); |
321 EXPECT_EQ(config.rtp_extensions[i].id, parsed_config.rtp_extensions[i].id); | 321 EXPECT_EQ(config.rtp_extensions[i].id, parsed_config.rtp_extensions[i].id); |
322 } | 322 } |
323 } | 323 } |
(...skipping 14 matching lines...) Expand all Loading... |
338 for (int i = 0; i < sender_config.header_extensions_size(); i++) { | 338 for (int i = 0; i < sender_config.header_extensions_size(); i++) { |
339 ASSERT_TRUE(sender_config.header_extensions(i).has_name()); | 339 ASSERT_TRUE(sender_config.header_extensions(i).has_name()); |
340 ASSERT_TRUE(sender_config.header_extensions(i).has_id()); | 340 ASSERT_TRUE(sender_config.header_extensions(i).has_id()); |
341 const std::string& name = sender_config.header_extensions(i).name(); | 341 const std::string& name = sender_config.header_extensions(i).name(); |
342 int id = sender_config.header_extensions(i).id(); | 342 int id = sender_config.header_extensions(i).id(); |
343 EXPECT_EQ(config.rtp_extensions[i].id, id); | 343 EXPECT_EQ(config.rtp_extensions[i].id, id); |
344 EXPECT_EQ(config.rtp_extensions[i].uri, name); | 344 EXPECT_EQ(config.rtp_extensions[i].uri, name); |
345 } | 345 } |
346 | 346 |
347 // Check consistency of the parser. | 347 // Check consistency of the parser. |
348 rtclog::StreamConfig parsed_config; | 348 rtclog::StreamConfig parsed_config = parsed_log.GetAudioSendConfig(index); |
349 parsed_log.GetAudioSendConfig(index, &parsed_config); | |
350 VerifyStreamConfigsAreEqual(config, parsed_config); | 349 VerifyStreamConfigsAreEqual(config, parsed_config); |
351 } | 350 } |
352 | 351 |
353 void RtcEventLogTestHelper::VerifyRtpEvent(const ParsedRtcEventLog& parsed_log, | 352 void RtcEventLogTestHelper::VerifyRtpEvent(const ParsedRtcEventLog& parsed_log, |
354 size_t index, | 353 size_t index, |
355 PacketDirection direction, | 354 PacketDirection direction, |
356 const uint8_t* header, | 355 const uint8_t* header, |
357 size_t header_size, | 356 size_t header_size, |
358 size_t total_size) { | 357 size_t total_size) { |
359 const rtclog::Event& event = parsed_log.events_[index]; | 358 const rtclog::Event& event = parsed_log.events_[index]; |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 ASSERT_TRUE(bwe_event.has_id()); | 564 ASSERT_TRUE(bwe_event.has_id()); |
566 EXPECT_EQ(id, bwe_event.id()); | 565 EXPECT_EQ(id, bwe_event.id()); |
567 ASSERT_TRUE(bwe_event.has_result()); | 566 ASSERT_TRUE(bwe_event.has_result()); |
568 EXPECT_EQ(GetProbeResultType(failure_reason), bwe_event.result()); | 567 EXPECT_EQ(GetProbeResultType(failure_reason), bwe_event.result()); |
569 ASSERT_FALSE(bwe_event.has_bitrate_bps()); | 568 ASSERT_FALSE(bwe_event.has_bitrate_bps()); |
570 | 569 |
571 // TODO(philipel): Verify the parser when parsing has been implemented. | 570 // TODO(philipel): Verify the parser when parsing has been implemented. |
572 } | 571 } |
573 | 572 |
574 } // namespace webrtc | 573 } // namespace webrtc |
OLD | NEW |