Optional: Use nullopt and implicit construction in /voice_engine

Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=henrikg@webrtc.org

Bug: None
Change-Id: I8cb71d015813312ccfc1b6fc7a2a27f391aaf4d1
Reviewed-on: https://webrtc-review.googlesource.com/23614
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20876}
This commit is contained in:
Oskar Sundbom 2017-11-16 10:57:11 +01:00 committed by Commit Bot
parent 3928dbc1e7
commit 606c882972
3 changed files with 13 additions and 42 deletions

View File

@ -900,8 +900,7 @@ int32_t Channel::GetRecCodec(CodecInst& codec) {
void Channel::SetBitRate(int bitrate_bps, int64_t probing_interval_ms) {
audio_coding_->ModifyEncoder([&](std::unique_ptr<AudioEncoder>* encoder) {
if (*encoder) {
(*encoder)->OnReceivedUplinkBandwidth(
bitrate_bps, rtc::Optional<int64_t>(probing_interval_ms));
(*encoder)->OnReceivedUplinkBandwidth(bitrate_bps, probing_interval_ms);
}
});
retransmission_rate_limiter_->SetMaxRate(bitrate_bps);

View File

@ -348,20 +348,18 @@ rtc::Optional<float>
TransportFeedbackPacketLossTracker::PlrState::GetMetric() const {
const size_t total = num_lost_packets_ + num_received_packets_;
if (total < min_num_acked_packets_) {
return rtc::Optional<float>();
return rtc::nullopt;
} else {
return rtc::Optional<float>(
static_cast<float>(num_lost_packets_) / total);
return static_cast<float>(num_lost_packets_) / total;
}
}
rtc::Optional<float>
TransportFeedbackPacketLossTracker::RplrState::GetMetric() const {
if (num_acked_pairs_ < min_num_acked_pairs_) {
return rtc::Optional<float>();
return rtc::nullopt;
} else {
return rtc::Optional<float>(
static_cast<float>(num_recoverable_losses_) / num_acked_pairs_);
return static_cast<float>(num_recoverable_losses_) / num_acked_pairs_;
}
}

View File

@ -112,16 +112,6 @@ class TransportFeedbackPacketLossTrackerTest
}
}
// Convenience function for when both are valid, and explicitly stating
// the rtc::Optional<float> constructor is just cumbersome.
void ValidatePacketLossStatistics(
const TransportFeedbackPacketLossTracker& tracker,
float expected_plr,
float expected_rplr) {
ValidatePacketLossStatistics(tracker, rtc::Optional<float>(expected_plr),
rtc::Optional<float>(expected_rplr));
}
uint16_t base_{GetParam()};
private:
@ -137,9 +127,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, EmptyWindow) {
TransportFeedbackPacketLossTracker tracker(kDefaultMaxWindowSizeMs, 5, 5);
// PLR and RPLR reported as unknown before reception of first feedback.
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, rtc::nullopt, rtc::nullopt);
}
// A feedback received for an empty window has no effect.
@ -148,9 +136,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, EmptyWindowFeedback) {
// Feedback doesn't correspond to any packets - ignored.
AddTransportFeedbackAndValidate(&tracker, base_, {true, false, true});
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, rtc::nullopt, rtc::nullopt);
// After the packets are transmitted, acking them would have an effect.
SendPackets(&tracker, base_, 3, kDefaultSendIntervalMs);
@ -167,9 +153,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, PartiallyFilledWindow) {
// Expected window contents: [] -> [1001].
SendPackets(&tracker, base_, 3, kDefaultSendIntervalMs);
AddTransportFeedbackAndValidate(&tracker, base_, {true, false, false, true});
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, rtc::nullopt, rtc::nullopt);
}
// Sanity check on minimum filled window - PLR known, RPLR unknown.
@ -182,9 +166,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, PlrMinimumFilledWindow) {
SendPackets(&tracker, base_, 5, kDefaultSendIntervalMs);
AddTransportFeedbackAndValidate(&tracker, base_,
{true, false, false, true, true});
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(2.0f / 5.0f),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, 2.0f / 5.0f, rtc::nullopt);
}
// Sanity check on minimum filled window - PLR unknown, RPLR known.
@ -197,9 +179,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, RplrMinimumFilledWindow) {
SendPackets(&tracker, base_, 5, kDefaultSendIntervalMs);
AddTransportFeedbackAndValidate(&tracker, base_,
{true, false, false, true, true});
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(),
rtc::Optional<float>(1.0f / 4.0f));
ValidatePacketLossStatistics(tracker, rtc::nullopt, 1.0f / 4.0f);
}
// If packets are sent close enough together that the clock reading for both
@ -223,9 +203,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, ExtendWindow) {
// Expected window contents: [] -> [10011].
AddTransportFeedbackAndValidate(&tracker, base_,
{true, false, false, true, true});
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(2.0f / 5.0f),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, 2.0f / 5.0f, rtc::nullopt);
// Expected window contents: [10011] -> [1001110101].
AddTransportFeedbackAndValidate(&tracker, base_ + 5,
@ -542,9 +520,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest, RepeatedSeqNumResetsWindow) {
// A reset occurs.
SendPackets(&tracker, {static_cast<uint16_t>(base_ + 2)},
kDefaultSendIntervalMs);
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, rtc::nullopt, rtc::nullopt);
}
// The window is reset by the sending of a packet which is 0x8000 or more
@ -563,9 +539,7 @@ TEST_P(TransportFeedbackPacketLossTrackerTest,
// A reset occurs.
SendPackets(&tracker, {static_cast<uint16_t>(base_ + 5 + 0x8000)},
kDefaultSendIntervalMs);
ValidatePacketLossStatistics(tracker,
rtc::Optional<float>(),
rtc::Optional<float>());
ValidatePacketLossStatistics(tracker, rtc::nullopt, rtc::nullopt);
}
#if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)