stats: unify optional handling to use operator*
following https://abseil.io/tips/181#solution BUG=None Change-Id: I865572e42dff172fcf722383f3dde31dcc747220 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302341 Commit-Queue: Philipp Hancke <phancke@microsoft.com> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39931}
This commit is contained in:
parent
c22893b3f6
commit
70fc5a2e41
@ -459,7 +459,7 @@ std::unique_ptr<RTCInboundRtpStreamStats> CreateInboundAudioStreamStats(
|
|||||||
inbound_audio->kind = "audio";
|
inbound_audio->kind = "audio";
|
||||||
if (voice_receiver_info.codec_payload_type.has_value()) {
|
if (voice_receiver_info.codec_payload_type.has_value()) {
|
||||||
auto codec_param_it = voice_media_info.receive_codecs.find(
|
auto codec_param_it = voice_media_info.receive_codecs.find(
|
||||||
voice_receiver_info.codec_payload_type.value());
|
*voice_receiver_info.codec_payload_type);
|
||||||
RTC_DCHECK(codec_param_it != voice_media_info.receive_codecs.end());
|
RTC_DCHECK(codec_param_it != voice_media_info.receive_codecs.end());
|
||||||
if (codec_param_it != voice_media_info.receive_codecs.end()) {
|
if (codec_param_it != voice_media_info.receive_codecs.end()) {
|
||||||
inbound_audio->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
inbound_audio->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
||||||
@ -551,8 +551,7 @@ CreateRemoteOutboundAudioStreamStats(
|
|||||||
auto stats = std::make_unique<RTCRemoteOutboundRtpStreamStats>(
|
auto stats = std::make_unique<RTCRemoteOutboundRtpStreamStats>(
|
||||||
/*id=*/RTCRemoteOutboundRTPStreamStatsIDFromSSRC(
|
/*id=*/RTCRemoteOutboundRTPStreamStatsIDFromSSRC(
|
||||||
cricket::MEDIA_TYPE_AUDIO, voice_receiver_info.ssrc()),
|
cricket::MEDIA_TYPE_AUDIO, voice_receiver_info.ssrc()),
|
||||||
Timestamp::Millis(
|
Timestamp::Millis(*voice_receiver_info.last_sender_report_timestamp_ms));
|
||||||
voice_receiver_info.last_sender_report_timestamp_ms.value()));
|
|
||||||
|
|
||||||
// Populate.
|
// Populate.
|
||||||
// - RTCRtpStreamStats.
|
// - RTCRtpStreamStats.
|
||||||
@ -567,10 +566,12 @@ CreateRemoteOutboundAudioStreamStats(
|
|||||||
stats->bytes_sent = voice_receiver_info.sender_reports_bytes_sent;
|
stats->bytes_sent = voice_receiver_info.sender_reports_bytes_sent;
|
||||||
// - RTCRemoteOutboundRtpStreamStats.
|
// - RTCRemoteOutboundRtpStreamStats.
|
||||||
stats->local_id = inbound_audio_stats.id();
|
stats->local_id = inbound_audio_stats.id();
|
||||||
|
// last_sender_report_remote_timestamp_ms is set together with
|
||||||
|
// last_sender_report_timestamp_ms.
|
||||||
RTC_DCHECK(
|
RTC_DCHECK(
|
||||||
voice_receiver_info.last_sender_report_remote_timestamp_ms.has_value());
|
voice_receiver_info.last_sender_report_remote_timestamp_ms.has_value());
|
||||||
stats->remote_timestamp = static_cast<double>(
|
stats->remote_timestamp = static_cast<double>(
|
||||||
voice_receiver_info.last_sender_report_remote_timestamp_ms.value());
|
*voice_receiver_info.last_sender_report_remote_timestamp_ms);
|
||||||
stats->reports_sent = voice_receiver_info.sender_reports_reports_count;
|
stats->reports_sent = voice_receiver_info.sender_reports_reports_count;
|
||||||
if (voice_receiver_info.round_trip_time.has_value()) {
|
if (voice_receiver_info.round_trip_time.has_value()) {
|
||||||
stats->round_trip_time =
|
stats->round_trip_time =
|
||||||
@ -604,7 +605,7 @@ CreateInboundRTPStreamStatsFromVideoReceiverInfo(
|
|||||||
inbound_video->kind = "video";
|
inbound_video->kind = "video";
|
||||||
if (video_receiver_info.codec_payload_type.has_value()) {
|
if (video_receiver_info.codec_payload_type.has_value()) {
|
||||||
auto codec_param_it = video_media_info.receive_codecs.find(
|
auto codec_param_it = video_media_info.receive_codecs.find(
|
||||||
video_receiver_info.codec_payload_type.value());
|
*video_receiver_info.codec_payload_type);
|
||||||
RTC_DCHECK(codec_param_it != video_media_info.receive_codecs.end());
|
RTC_DCHECK(codec_param_it != video_media_info.receive_codecs.end());
|
||||||
if (codec_param_it != video_media_info.receive_codecs.end()) {
|
if (codec_param_it != video_media_info.receive_codecs.end()) {
|
||||||
inbound_video->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
inbound_video->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
||||||
@ -682,7 +683,7 @@ CreateInboundRTPStreamStatsFromVideoReceiverInfo(
|
|||||||
}
|
}
|
||||||
if (video_receiver_info.power_efficient_decoder.has_value()) {
|
if (video_receiver_info.power_efficient_decoder.has_value()) {
|
||||||
inbound_video->power_efficient_decoder =
|
inbound_video->power_efficient_decoder =
|
||||||
video_receiver_info.power_efficient_decoder.value();
|
*video_receiver_info.power_efficient_decoder;
|
||||||
}
|
}
|
||||||
return inbound_video;
|
return inbound_video;
|
||||||
}
|
}
|
||||||
@ -736,7 +737,7 @@ CreateOutboundRTPStreamStatsFromVoiceSenderInfo(
|
|||||||
}
|
}
|
||||||
if (voice_sender_info.codec_payload_type.has_value()) {
|
if (voice_sender_info.codec_payload_type.has_value()) {
|
||||||
auto codec_param_it = voice_media_info.send_codecs.find(
|
auto codec_param_it = voice_media_info.send_codecs.find(
|
||||||
voice_sender_info.codec_payload_type.value());
|
*voice_sender_info.codec_payload_type);
|
||||||
RTC_DCHECK(codec_param_it != voice_media_info.send_codecs.end());
|
RTC_DCHECK(codec_param_it != voice_media_info.send_codecs.end());
|
||||||
if (codec_param_it != voice_media_info.send_codecs.end()) {
|
if (codec_param_it != voice_media_info.send_codecs.end()) {
|
||||||
outbound_audio->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
outbound_audio->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
||||||
@ -769,7 +770,7 @@ CreateOutboundRTPStreamStatsFromVideoSenderInfo(
|
|||||||
outbound_video->kind = "video";
|
outbound_video->kind = "video";
|
||||||
if (video_sender_info.codec_payload_type.has_value()) {
|
if (video_sender_info.codec_payload_type.has_value()) {
|
||||||
auto codec_param_it = video_media_info.send_codecs.find(
|
auto codec_param_it = video_media_info.send_codecs.find(
|
||||||
video_sender_info.codec_payload_type.value());
|
*video_sender_info.codec_payload_type);
|
||||||
RTC_DCHECK(codec_param_it != video_media_info.send_codecs.end());
|
RTC_DCHECK(codec_param_it != video_media_info.send_codecs.end());
|
||||||
if (codec_param_it != video_media_info.send_codecs.end()) {
|
if (codec_param_it != video_media_info.send_codecs.end()) {
|
||||||
outbound_video->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
outbound_video->codec_id = GetCodecIdAndMaybeCreateCodecStats(
|
||||||
@ -828,7 +829,7 @@ CreateOutboundRTPStreamStatsFromVideoSenderInfo(
|
|||||||
}
|
}
|
||||||
if (video_sender_info.power_efficient_encoder.has_value()) {
|
if (video_sender_info.power_efficient_encoder.has_value()) {
|
||||||
outbound_video->power_efficient_encoder =
|
outbound_video->power_efficient_encoder =
|
||||||
video_sender_info.power_efficient_encoder.value();
|
*video_sender_info.power_efficient_encoder;
|
||||||
}
|
}
|
||||||
if (video_sender_info.scalability_mode) {
|
if (video_sender_info.scalability_mode) {
|
||||||
outbound_video->scalability_mode = std::string(
|
outbound_video->scalability_mode = std::string(
|
||||||
@ -1292,12 +1293,11 @@ RTCStatsCollector::CreateReportFilteredBySelector(
|
|||||||
for (const auto* outbound_rtp :
|
for (const auto* outbound_rtp :
|
||||||
report->GetStatsOfType<RTCOutboundRtpStreamStats>()) {
|
report->GetStatsOfType<RTCOutboundRtpStreamStats>()) {
|
||||||
RTC_DCHECK(outbound_rtp->ssrc.is_defined());
|
RTC_DCHECK(outbound_rtp->ssrc.is_defined());
|
||||||
auto it = std::find_if(
|
auto it = std::find_if(encodings.begin(), encodings.end(),
|
||||||
encodings.begin(), encodings.end(),
|
[ssrc = *outbound_rtp->ssrc](
|
||||||
[ssrc =
|
const RtpEncodingParameters& encoding) {
|
||||||
*outbound_rtp->ssrc](const RtpEncodingParameters& encoding) {
|
return encoding.ssrc == ssrc;
|
||||||
return encoding.ssrc.has_value() && encoding.ssrc.value() == ssrc;
|
});
|
||||||
});
|
|
||||||
if (it != encodings.end()) {
|
if (it != encodings.end()) {
|
||||||
rtpstream_ids.push_back(outbound_rtp->id());
|
rtpstream_ids.push_back(outbound_rtp->id());
|
||||||
}
|
}
|
||||||
@ -2005,8 +2005,8 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n(
|
|||||||
continue;
|
continue;
|
||||||
// Inbound.
|
// Inbound.
|
||||||
auto inbound_audio = CreateInboundAudioStreamStats(
|
auto inbound_audio = CreateInboundAudioStreamStats(
|
||||||
stats.track_media_info_map.voice_media_info().value(),
|
*stats.track_media_info_map.voice_media_info(), voice_receiver_info,
|
||||||
voice_receiver_info, transport_id, mid, timestamp, report);
|
transport_id, mid, timestamp, report);
|
||||||
// TODO(hta): This lookup should look for the sender, not the track.
|
// TODO(hta): This lookup should look for the sender, not the track.
|
||||||
rtc::scoped_refptr<AudioTrackInterface> audio_track =
|
rtc::scoped_refptr<AudioTrackInterface> audio_track =
|
||||||
stats.track_media_info_map.GetAudioTrack(voice_receiver_info);
|
stats.track_media_info_map.GetAudioTrack(voice_receiver_info);
|
||||||
@ -2054,8 +2054,7 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n(
|
|||||||
if (!voice_sender_info.connected())
|
if (!voice_sender_info.connected())
|
||||||
continue;
|
continue;
|
||||||
auto outbound_audio = CreateOutboundRTPStreamStatsFromVoiceSenderInfo(
|
auto outbound_audio = CreateOutboundRTPStreamStatsFromVoiceSenderInfo(
|
||||||
transport_id, mid,
|
transport_id, mid, *stats.track_media_info_map.voice_media_info(),
|
||||||
stats.track_media_info_map.voice_media_info().value(),
|
|
||||||
voice_sender_info, timestamp, report);
|
voice_sender_info, timestamp, report);
|
||||||
rtc::scoped_refptr<AudioTrackInterface> audio_track =
|
rtc::scoped_refptr<AudioTrackInterface> audio_track =
|
||||||
stats.track_media_info_map.GetAudioTrack(voice_sender_info);
|
stats.track_media_info_map.GetAudioTrack(voice_sender_info);
|
||||||
@ -2114,8 +2113,7 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n(
|
|||||||
if (!video_receiver_info.connected())
|
if (!video_receiver_info.connected())
|
||||||
continue;
|
continue;
|
||||||
auto inbound_video = CreateInboundRTPStreamStatsFromVideoReceiverInfo(
|
auto inbound_video = CreateInboundRTPStreamStatsFromVideoReceiverInfo(
|
||||||
transport_id, mid,
|
transport_id, mid, *stats.track_media_info_map.video_media_info(),
|
||||||
stats.track_media_info_map.video_media_info().value(),
|
|
||||||
video_receiver_info, timestamp, report);
|
video_receiver_info, timestamp, report);
|
||||||
rtc::scoped_refptr<VideoTrackInterface> video_track =
|
rtc::scoped_refptr<VideoTrackInterface> video_track =
|
||||||
stats.track_media_info_map.GetVideoTrack(video_receiver_info);
|
stats.track_media_info_map.GetVideoTrack(video_receiver_info);
|
||||||
@ -2139,8 +2137,7 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n(
|
|||||||
if (!video_sender_info.connected())
|
if (!video_sender_info.connected())
|
||||||
continue;
|
continue;
|
||||||
auto outbound_video = CreateOutboundRTPStreamStatsFromVideoSenderInfo(
|
auto outbound_video = CreateOutboundRTPStreamStatsFromVideoSenderInfo(
|
||||||
transport_id, mid,
|
transport_id, mid, *stats.track_media_info_map.video_media_info(),
|
||||||
stats.track_media_info_map.video_media_info().value(),
|
|
||||||
video_sender_info, timestamp, report);
|
video_sender_info, timestamp, report);
|
||||||
rtc::scoped_refptr<VideoTrackInterface> video_track =
|
rtc::scoped_refptr<VideoTrackInterface> video_track =
|
||||||
stats.track_media_info_map.GetVideoTrack(video_sender_info);
|
stats.track_media_info_map.GetVideoTrack(video_sender_info);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user