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";
|
||||
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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user