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

Side by Side Diff: webrtc/logging/rtc_event_log/rtc_event_log2text.cc

Issue 2686823002: Add option to print information about configured SSRCs from RTC event logs. (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « webrtc/logging/BUILD.gn ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2017 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 19 matching lines...) Expand all
30 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sdes.h" 30 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sdes.h"
31 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.h" 31 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
32 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sli.h" 32 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sli.h"
33 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h" 33 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h"
34 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h" 34 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h"
35 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h" 35 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
36 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" 36 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
37 37
38 namespace { 38 namespace {
39 39
40 DEFINE_bool(noconfig, true, "Excludes stream configurations.");
40 DEFINE_bool(noincoming, false, "Excludes incoming packets."); 41 DEFINE_bool(noincoming, false, "Excludes incoming packets.");
41 DEFINE_bool(nooutgoing, false, "Excludes outgoing packets."); 42 DEFINE_bool(nooutgoing, false, "Excludes outgoing packets.");
42 // TODO(terelius): Note that the media type doesn't work with outgoing packets. 43 // TODO(terelius): Note that the media type doesn't work with outgoing packets.
43 DEFINE_bool(noaudio, false, "Excludes audio packets."); 44 DEFINE_bool(noaudio, false, "Excludes audio packets.");
44 // TODO(terelius): Note that the media type doesn't work with outgoing packets. 45 // TODO(terelius): Note that the media type doesn't work with outgoing packets.
45 DEFINE_bool(novideo, false, "Excludes video packets."); 46 DEFINE_bool(novideo, false, "Excludes video packets.");
46 // TODO(terelius): Note that the media type doesn't work with outgoing packets. 47 // TODO(terelius): Note that the media type doesn't work with outgoing packets.
47 DEFINE_bool(nodata, false, "Excludes data packets."); 48 DEFINE_bool(nodata, false, "Excludes data packets.");
48 DEFINE_bool(nortp, false, "Excludes RTP packets."); 49 DEFINE_bool(nortp, false, "Excludes RTP packets.");
49 DEFINE_bool(nortcp, false, "Excludes RTCP packets."); 50 DEFINE_bool(nortcp, false, "Excludes RTCP packets.");
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 if (!FLAGS_ssrc.empty()) 343 if (!FLAGS_ssrc.empty())
343 RTC_CHECK(ParseSsrc(FLAGS_ssrc)) << "Flag verification has failed."; 344 RTC_CHECK(ParseSsrc(FLAGS_ssrc)) << "Flag verification has failed.";
344 345
345 webrtc::ParsedRtcEventLog parsed_stream; 346 webrtc::ParsedRtcEventLog parsed_stream;
346 if (!parsed_stream.ParseFile(input_file)) { 347 if (!parsed_stream.ParseFile(input_file)) {
347 std::cerr << "Error while parsing input file: " << input_file << std::endl; 348 std::cerr << "Error while parsing input file: " << input_file << std::endl;
348 return -1; 349 return -1;
349 } 350 }
350 351
351 for (size_t i = 0; i < parsed_stream.GetNumberOfEvents(); i++) { 352 for (size_t i = 0; i < parsed_stream.GetNumberOfEvents(); i++) {
353 if (!FLAGS_noconfig && !FLAGS_novideo && !FLAGS_noincoming &&
354 parsed_stream.GetEventType(i) ==
355 webrtc::ParsedRtcEventLog::VIDEO_RECEIVER_CONFIG_EVENT) {
356 webrtc::VideoReceiveStream::Config config(nullptr);
357 parsed_stream.GetVideoReceiveConfig(i, &config);
358 std::cout << parsed_stream.GetTimestamp(i) << "\tVIDEO_RECV_CONFIG"
359 << "\tSSRC=" << config.rtp.remote_ssrc
danilchap 2017/02/08 14:30:50 may be label them remote/local rather than ssrc/rt
terelius 2017/02/08 14:41:05 Do you find local/remote to be more clear? The loc
danilchap 2017/02/08 14:44:44 Is it? as I understand rtp sender care about local
terelius 2017/02/08 14:49:11 I agree, but since this is a receive stream there
danilchap 2017/02/08 15:41:45 Right, I'm still not sure about 'rtcp' label - it
terelius 2017/02/08 15:55:42 I'm fine with any label. Do you prefer "ssrc"/"fee
danilchap 2017/02/08 16:00:41 Yes, I think ssrc/feedback_ssrc is better.
360 << "\tRTCP_SSRC=" << config.rtp.local_ssrc << std::endl;
361 }
362 if (!FLAGS_noconfig && !FLAGS_novideo && !FLAGS_nooutgoing &&
363 parsed_stream.GetEventType(i) ==
364 webrtc::ParsedRtcEventLog::VIDEO_SENDER_CONFIG_EVENT) {
365 webrtc::VideoSendStream::Config config(nullptr);
366 parsed_stream.GetVideoSendConfig(i, &config);
367 std::cout << parsed_stream.GetTimestamp(i) << "\tVIDEO_SEND_CONFIG";
368 std::cout << "\tSSRCs=";
369 for (const auto& ssrc : config.rtp.ssrcs)
370 std::cout << ssrc << ',';
371 std::cout << "\tRTX_SSRCs=";
372 for (const auto& ssrc : config.rtp.rtx.ssrcs)
373 std::cout << ssrc << ',';
374 std::cout << std::endl;
375 }
376 if (!FLAGS_noconfig && !FLAGS_noaudio && !FLAGS_noincoming &&
377 parsed_stream.GetEventType(i) ==
378 webrtc::ParsedRtcEventLog::AUDIO_RECEIVER_CONFIG_EVENT) {
379 webrtc::AudioReceiveStream::Config config;
380 parsed_stream.GetAudioReceiveConfig(i, &config);
381 std::cout << parsed_stream.GetTimestamp(i) << "\tAUDIO_RECV_CONFIG"
382 << "\tSSRC=" << config.rtp.remote_ssrc
danilchap 2017/02/08 14:30:50 ditto
383 << "\tRTCP_SSRC=" << config.rtp.local_ssrc << std::endl;
384 }
385 if (!FLAGS_noconfig && !FLAGS_noaudio && !FLAGS_nooutgoing &&
386 parsed_stream.GetEventType(i) ==
387 webrtc::ParsedRtcEventLog::AUDIO_SENDER_CONFIG_EVENT) {
388 webrtc::AudioSendStream::Config config(nullptr);
389 parsed_stream.GetAudioSendConfig(i, &config);
390 std::cout << parsed_stream.GetTimestamp(i) << "\tAUDIO_SEND_CONFIG"
391 << "\tSSRC=" << config.rtp.ssrc << std::endl;
392 }
352 if (!FLAGS_nortp && 393 if (!FLAGS_nortp &&
353 parsed_stream.GetEventType(i) == webrtc::ParsedRtcEventLog::RTP_EVENT) { 394 parsed_stream.GetEventType(i) == webrtc::ParsedRtcEventLog::RTP_EVENT) {
354 size_t header_length; 395 size_t header_length;
355 size_t total_length; 396 size_t total_length;
356 uint8_t header[IP_PACKET_SIZE]; 397 uint8_t header[IP_PACKET_SIZE];
357 webrtc::PacketDirection direction; 398 webrtc::PacketDirection direction;
358 webrtc::MediaType media_type; 399 webrtc::MediaType media_type;
359 parsed_stream.GetRtpHeader(i, &direction, &media_type, header, 400 parsed_stream.GetRtpHeader(i, &direction, &media_type, header,
360 &header_length, &total_length); 401 &header_length, &total_length);
361 402
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 PrintPsFeedback(rtcp_block, log_timestamp, direction, media_type); 457 PrintPsFeedback(rtcp_block, log_timestamp, direction, media_type);
417 break; 458 break;
418 default: 459 default:
419 break; 460 break;
420 } 461 }
421 } 462 }
422 } 463 }
423 } 464 }
424 return 0; 465 return 0;
425 } 466 }
OLDNEW
« no previous file with comments | « webrtc/logging/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698