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:
Philipp Hancke 2023-04-21 16:22:38 +02:00 committed by WebRTC LUCI CQ
parent c22893b3f6
commit 70fc5a2e41

View File

@ -459,7 +459,7 @@ std::unique_ptr<RTCInboundRtpStreamStats> CreateInboundAudioStreamStats(
inbound_audio->kind = "audio";
if (voice_receiver_info.codec_payload_type.has_value()) {
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());
if (codec_param_it != voice_media_info.receive_codecs.end()) {
inbound_audio->codec_id = GetCodecIdAndMaybeCreateCodecStats(
@ -551,8 +551,7 @@ CreateRemoteOutboundAudioStreamStats(
auto stats = std::make_unique<RTCRemoteOutboundRtpStreamStats>(
/*id=*/RTCRemoteOutboundRTPStreamStatsIDFromSSRC(
cricket::MEDIA_TYPE_AUDIO, voice_receiver_info.ssrc()),
Timestamp::Millis(
voice_receiver_info.last_sender_report_timestamp_ms.value()));
Timestamp::Millis(*voice_receiver_info.last_sender_report_timestamp_ms));
// Populate.
// - RTCRtpStreamStats.
@ -567,10 +566,12 @@ CreateRemoteOutboundAudioStreamStats(
stats->bytes_sent = voice_receiver_info.sender_reports_bytes_sent;
// - RTCRemoteOutboundRtpStreamStats.
stats->local_id = inbound_audio_stats.id();
// last_sender_report_remote_timestamp_ms is set together with
// last_sender_report_timestamp_ms.
RTC_DCHECK(
voice_receiver_info.last_sender_report_remote_timestamp_ms.has_value());
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;
if (voice_receiver_info.round_trip_time.has_value()) {
stats->round_trip_time =
@ -604,7 +605,7 @@ CreateInboundRTPStreamStatsFromVideoReceiverInfo(
inbound_video->kind = "video";
if (video_receiver_info.codec_payload_type.has_value()) {
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());
if (codec_param_it != video_media_info.receive_codecs.end()) {
inbound_video->codec_id = GetCodecIdAndMaybeCreateCodecStats(
@ -682,7 +683,7 @@ CreateInboundRTPStreamStatsFromVideoReceiverInfo(
}
if (video_receiver_info.power_efficient_decoder.has_value()) {
inbound_video->power_efficient_decoder =
video_receiver_info.power_efficient_decoder.value();
*video_receiver_info.power_efficient_decoder;
}
return inbound_video;
}
@ -736,7 +737,7 @@ CreateOutboundRTPStreamStatsFromVoiceSenderInfo(
}
if (voice_sender_info.codec_payload_type.has_value()) {
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());
if (codec_param_it != voice_media_info.send_codecs.end()) {
outbound_audio->codec_id = GetCodecIdAndMaybeCreateCodecStats(
@ -769,7 +770,7 @@ CreateOutboundRTPStreamStatsFromVideoSenderInfo(
outbound_video->kind = "video";
if (video_sender_info.codec_payload_type.has_value()) {
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());
if (codec_param_it != video_media_info.send_codecs.end()) {
outbound_video->codec_id = GetCodecIdAndMaybeCreateCodecStats(
@ -828,7 +829,7 @@ CreateOutboundRTPStreamStatsFromVideoSenderInfo(
}
if (video_sender_info.power_efficient_encoder.has_value()) {
outbound_video->power_efficient_encoder =
video_sender_info.power_efficient_encoder.value();
*video_sender_info.power_efficient_encoder;
}
if (video_sender_info.scalability_mode) {
outbound_video->scalability_mode = std::string(
@ -1292,12 +1293,11 @@ RTCStatsCollector::CreateReportFilteredBySelector(
for (const auto* outbound_rtp :
report->GetStatsOfType<RTCOutboundRtpStreamStats>()) {
RTC_DCHECK(outbound_rtp->ssrc.is_defined());
auto it = std::find_if(
encodings.begin(), encodings.end(),
[ssrc =
*outbound_rtp->ssrc](const RtpEncodingParameters& encoding) {
return encoding.ssrc.has_value() && encoding.ssrc.value() == ssrc;
});
auto it = std::find_if(encodings.begin(), encodings.end(),
[ssrc = *outbound_rtp->ssrc](
const RtpEncodingParameters& encoding) {
return encoding.ssrc == ssrc;
});
if (it != encodings.end()) {
rtpstream_ids.push_back(outbound_rtp->id());
}
@ -2005,8 +2005,8 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n(
continue;
// Inbound.
auto inbound_audio = CreateInboundAudioStreamStats(
stats.track_media_info_map.voice_media_info().value(),
voice_receiver_info, transport_id, mid, timestamp, report);
*stats.track_media_info_map.voice_media_info(), voice_receiver_info,
transport_id, mid, timestamp, report);
// TODO(hta): This lookup should look for the sender, not the track.
rtc::scoped_refptr<AudioTrackInterface> audio_track =
stats.track_media_info_map.GetAudioTrack(voice_receiver_info);
@ -2054,8 +2054,7 @@ void RTCStatsCollector::ProduceAudioRTPStreamStats_n(
if (!voice_sender_info.connected())
continue;
auto outbound_audio = CreateOutboundRTPStreamStatsFromVoiceSenderInfo(
transport_id, mid,
stats.track_media_info_map.voice_media_info().value(),
transport_id, mid, *stats.track_media_info_map.voice_media_info(),
voice_sender_info, timestamp, report);
rtc::scoped_refptr<AudioTrackInterface> audio_track =
stats.track_media_info_map.GetAudioTrack(voice_sender_info);
@ -2114,8 +2113,7 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n(
if (!video_receiver_info.connected())
continue;
auto inbound_video = CreateInboundRTPStreamStatsFromVideoReceiverInfo(
transport_id, mid,
stats.track_media_info_map.video_media_info().value(),
transport_id, mid, *stats.track_media_info_map.video_media_info(),
video_receiver_info, timestamp, report);
rtc::scoped_refptr<VideoTrackInterface> video_track =
stats.track_media_info_map.GetVideoTrack(video_receiver_info);
@ -2139,8 +2137,7 @@ void RTCStatsCollector::ProduceVideoRTPStreamStats_n(
if (!video_sender_info.connected())
continue;
auto outbound_video = CreateOutboundRTPStreamStatsFromVideoSenderInfo(
transport_id, mid,
stats.track_media_info_map.video_media_info().value(),
transport_id, mid, *stats.track_media_info_map.video_media_info(),
video_sender_info, timestamp, report);
rtc::scoped_refptr<VideoTrackInterface> video_track =
stats.track_media_info_map.GetVideoTrack(video_sender_info);