Make rtc_event_log2text handle all events [1/2]
rtc_event_log2text doesn't currently handle all possible RtcEvent-s. 1. This CL - to make sure events are not forgotten in the future, change the succession of if-statements to a switch, so that the compiler would complain if events are ever added, but are not handled here. 2. Next CL - add handling of currently-unhandled events. BUG=webrtc:8111 NOPRESUBMIT=True Change-Id: Ia4459b4e760eb0208823fdab69996de0e8420703 Reviewed-on: https://webrtc-review.googlesource.com/1242 Commit-Queue: Elad Alon <eladalon@webrtc.org> Reviewed-by: Elad Alon <eladalon@webrtc.org> Cr-Commit-Position: refs/heads/master@{#19861}
This commit is contained in:
parent
48d96c0bcc
commit
34f303cf58
@ -386,98 +386,31 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < parsed_stream.GetNumberOfEvents(); i++) {
|
||||
if (FLAG_config && FLAG_video && FLAG_incoming &&
|
||||
parsed_stream.GetEventType(i) ==
|
||||
webrtc::ParsedRtcEventLog::VIDEO_RECEIVER_CONFIG_EVENT) {
|
||||
webrtc::rtclog::StreamConfig config =
|
||||
parsed_stream.GetVideoReceiveConfig(i);
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tVIDEO_RECV_CONFIG"
|
||||
<< "\tssrc=" << config.remote_ssrc
|
||||
<< "\tfeedback_ssrc=" << config.local_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
switch (parsed_stream.GetEventType(i)) {
|
||||
case webrtc::ParsedRtcEventLog::UNKNOWN_EVENT: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type << "}";
|
||||
|
||||
case webrtc::ParsedRtcEventLog::LOG_START: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
|
||||
case webrtc::ParsedRtcEventLog::LOG_END: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
if (FLAG_config && FLAG_video && FLAG_outgoing &&
|
||||
parsed_stream.GetEventType(i) ==
|
||||
webrtc::ParsedRtcEventLog::VIDEO_SENDER_CONFIG_EVENT) {
|
||||
std::vector<webrtc::rtclog::StreamConfig> configs =
|
||||
parsed_stream.GetVideoSendConfig(i);
|
||||
for (const auto& config : configs) {
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tVIDEO_SEND_CONFIG";
|
||||
std::cout << "\tssrcs=" << config.local_ssrc;
|
||||
std::cout << "\trtx_ssrcs=" << config.rtx_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type << "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
}
|
||||
if (FLAG_config && FLAG_audio && FLAG_incoming &&
|
||||
parsed_stream.GetEventType(i) ==
|
||||
webrtc::ParsedRtcEventLog::AUDIO_RECEIVER_CONFIG_EVENT) {
|
||||
webrtc::rtclog::StreamConfig config =
|
||||
parsed_stream.GetAudioReceiveConfig(i);
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tAUDIO_RECV_CONFIG"
|
||||
<< "\tssrc=" << config.remote_ssrc
|
||||
<< "\tfeedback_ssrc=" << config.local_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type << "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
if (FLAG_config && FLAG_audio && FLAG_outgoing &&
|
||||
parsed_stream.GetEventType(i) ==
|
||||
webrtc::ParsedRtcEventLog::AUDIO_SENDER_CONFIG_EVENT) {
|
||||
webrtc::rtclog::StreamConfig config = parsed_stream.GetAudioSendConfig(i);
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tAUDIO_SEND_CONFIG"
|
||||
<< "\tssrc=" << config.local_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type << "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
if (FLAG_rtp &&
|
||||
parsed_stream.GetEventType(i) == webrtc::ParsedRtcEventLog::RTP_EVENT) {
|
||||
|
||||
case webrtc::ParsedRtcEventLog::RTP_EVENT: {
|
||||
if (FLAG_rtp) {
|
||||
size_t header_length;
|
||||
size_t total_length;
|
||||
uint8_t header[IP_PACKET_SIZE];
|
||||
webrtc::PacketDirection direction;
|
||||
webrtc::RtpHeaderExtensionMap* extension_map = parsed_stream.GetRtpHeader(
|
||||
i, &direction, header, &header_length, &total_length);
|
||||
webrtc::RtpHeaderExtensionMap* extension_map =
|
||||
parsed_stream.GetRtpHeader(i, &direction, header, &header_length,
|
||||
&total_length);
|
||||
|
||||
if (extension_map == nullptr)
|
||||
extension_map = &default_map;
|
||||
@ -502,11 +435,13 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
if (parsed_header.extension.hasVideoContentType) {
|
||||
std::cout << "\tContentType="
|
||||
<< static_cast<int>(parsed_header.extension.videoContentType);
|
||||
<< static_cast<int>(
|
||||
parsed_header.extension.videoContentType);
|
||||
}
|
||||
if (parsed_header.extension.hasVideoRotation) {
|
||||
std::cout << "\tRotation="
|
||||
<< static_cast<int>(parsed_header.extension.videoRotation);
|
||||
<< static_cast<int>(
|
||||
parsed_header.extension.videoRotation);
|
||||
}
|
||||
if (parsed_header.extension.hasTransportSequenceNumber) {
|
||||
std::cout << "\tTransportSeq="
|
||||
@ -521,8 +456,11 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
std::cout << std::endl;
|
||||
}
|
||||
if (FLAG_rtcp && parsed_stream.GetEventType(i) ==
|
||||
webrtc::ParsedRtcEventLog::RTCP_EVENT) {
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::RTCP_EVENT: {
|
||||
if (FLAG_rtcp) {
|
||||
size_t length;
|
||||
uint8_t packet[IP_PACKET_SIZE];
|
||||
webrtc::PacketDirection direction;
|
||||
@ -570,6 +508,138 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::AUDIO_PLAYOUT_EVENT: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::LOSS_BASED_BWE_UPDATE: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::DELAY_BASED_BWE_UPDATE: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::VIDEO_RECEIVER_CONFIG_EVENT: {
|
||||
if (FLAG_config && FLAG_video && FLAG_incoming) {
|
||||
webrtc::rtclog::StreamConfig config =
|
||||
parsed_stream.GetVideoReceiveConfig(i);
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tVIDEO_RECV_CONFIG"
|
||||
<< "\tssrc=" << config.remote_ssrc
|
||||
<< "\tfeedback_ssrc=" << config.local_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type
|
||||
<< "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::VIDEO_SENDER_CONFIG_EVENT: {
|
||||
if (FLAG_config && FLAG_video && FLAG_outgoing) {
|
||||
std::vector<webrtc::rtclog::StreamConfig> configs =
|
||||
parsed_stream.GetVideoSendConfig(i);
|
||||
for (const auto& config : configs) {
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tVIDEO_SEND_CONFIG";
|
||||
std::cout << "\tssrcs=" << config.local_ssrc;
|
||||
std::cout << "\trtx_ssrcs=" << config.rtx_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type
|
||||
<< "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::AUDIO_RECEIVER_CONFIG_EVENT: {
|
||||
if (FLAG_config && FLAG_audio && FLAG_incoming) {
|
||||
webrtc::rtclog::StreamConfig config =
|
||||
parsed_stream.GetAudioReceiveConfig(i);
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tAUDIO_RECV_CONFIG"
|
||||
<< "\tssrc=" << config.remote_ssrc
|
||||
<< "\tfeedback_ssrc=" << config.local_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type
|
||||
<< "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::AUDIO_SENDER_CONFIG_EVENT: {
|
||||
if (FLAG_config && FLAG_audio && FLAG_outgoing) {
|
||||
webrtc::rtclog::StreamConfig config =
|
||||
parsed_stream.GetAudioSendConfig(i);
|
||||
std::cout << parsed_stream.GetTimestamp(i) << "\tAUDIO_SEND_CONFIG"
|
||||
<< "\tssrc=" << config.local_ssrc;
|
||||
std::cout << "\textensions={";
|
||||
for (const auto& extension : config.rtp_extensions) {
|
||||
std::cout << extension.ToString() << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "\tcodecs={";
|
||||
for (const auto& codec : config.codecs) {
|
||||
std::cout << "{name: " << codec.payload_name
|
||||
<< ", payload_type: " << codec.payload_type
|
||||
<< ", rtx_payload_type: " << codec.rtx_payload_type
|
||||
<< "}";
|
||||
}
|
||||
std::cout << "}" << std::endl;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::AUDIO_NETWORK_ADAPTATION_EVENT: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::BWE_PROBE_CLUSTER_CREATED_EVENT: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
|
||||
case webrtc::ParsedRtcEventLog::BWE_PROBE_RESULT_EVENT: {
|
||||
// TODO(eladalon): Implement in new CL.
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
RTC_NOTREACHED();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user