Optional: Use nullopt and implicit construction in /modules/audio_coding

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=kwiberg@webrtc.org

Bug: None
Change-Id: I055411a3e521964c81100869a197dd92f5608f1b
Reviewed-on: https://webrtc-review.googlesource.com/23619
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20728}
diff --git a/modules/audio_coding/neteq/tools/encode_neteq_input.cc b/modules/audio_coding/neteq/tools/encode_neteq_input.cc
index d04e818..212b811 100644
--- a/modules/audio_coding/neteq/tools/encode_neteq_input.cc
+++ b/modules/audio_coding/neteq/tools/encode_neteq_input.cc
@@ -29,11 +29,11 @@
 
 rtc::Optional<int64_t> EncodeNetEqInput::NextPacketTime() const {
   RTC_DCHECK(packet_data_);
-  return rtc::Optional<int64_t>(static_cast<int64_t>(packet_data_->time_ms));
+  return static_cast<int64_t>(packet_data_->time_ms);
 }
 
 rtc::Optional<int64_t> EncodeNetEqInput::NextOutputEventTime() const {
-  return rtc::Optional<int64_t>(next_output_event_ms_);
+  return next_output_event_ms_;
 }
 
 std::unique_ptr<NetEqInput::PacketData> EncodeNetEqInput::PopPacket() {
@@ -52,7 +52,7 @@
 
 rtc::Optional<RTPHeader> EncodeNetEqInput::NextHeader() const {
   RTC_DCHECK(packet_data_);
-  return rtc::Optional<RTPHeader>(packet_data_->header);
+  return packet_data_->header;
 }
 
 void EncodeNetEqInput::CreatePacket() {
diff --git a/modules/audio_coding/neteq/tools/fake_decode_from_file.cc b/modules/audio_coding/neteq/tools/fake_decode_from_file.cc
index 6779e5e..393a46f 100644
--- a/modules/audio_coding/neteq/tools/fake_decode_from_file.cc
+++ b/modules/audio_coding/neteq/tools/fake_decode_from_file.cc
@@ -59,8 +59,7 @@
     RTC_CHECK(input_->Seek(jump));
   }
 
-  next_timestamp_from_input_ =
-      rtc::Optional<uint32_t>(timestamp_to_decode + samples_to_decode);
+  next_timestamp_from_input_ = timestamp_to_decode + samples_to_decode;
 
   uint32_t original_payload_size_bytes =
       ByteReader<uint32_t>::ReadLittleEndian(&encoded[8]);
diff --git a/modules/audio_coding/neteq/tools/neteq_delay_analyzer.cc b/modules/audio_coding/neteq/tools/neteq_delay_analyzer.cc
index 72a539f..34e7a84 100644
--- a/modules/audio_coding/neteq/tools/neteq_delay_analyzer.cc
+++ b/modules/audio_coding/neteq/tools/neteq_delay_analyzer.cc
@@ -86,12 +86,11 @@
     auto& it_timing = it->second;
     RTC_CHECK(!it_timing.decode_get_audio_count)
         << "Decode time already written";
-    it_timing.decode_get_audio_count = rtc::Optional<int64_t>(get_audio_count_);
+    it_timing.decode_get_audio_count = get_audio_count_;
     RTC_CHECK(!it_timing.sync_delay_ms) << "Decode time already written";
-    it_timing.sync_delay_ms = rtc::Optional<int64_t>(last_sync_buffer_ms_);
-    it_timing.target_delay_ms = rtc::Optional<int>(neteq->TargetDelayMs());
-    it_timing.current_delay_ms =
-        rtc::Optional<int>(neteq->FilteredCurrentDelayMs());
+    it_timing.sync_delay_ms = last_sync_buffer_ms_;
+    it_timing.target_delay_ms = neteq->TargetDelayMs();
+    it_timing.current_delay_ms = neteq->FilteredCurrentDelayMs();
   }
   last_sample_rate_hz_ = audio_frame.sample_rate_hz_;
   ++get_audio_count_;
@@ -159,16 +158,16 @@
       const float playout_ms = *timing.decode_get_audio_count * 10 +
                                get_audio_time_ms_[0] + *timing.sync_delay_ms -
                                offset_send_time_ms;
-      playout_delay_ms->push_back(rtc::Optional<float>(playout_ms));
+      playout_delay_ms->push_back(playout_ms);
       RTC_DCHECK(timing.target_delay_ms);
       RTC_DCHECK(timing.current_delay_ms);
       const float target =
           playout_ms - *timing.current_delay_ms + *timing.target_delay_ms;
-      target_delay_ms->push_back(rtc::Optional<float>(target));
+      target_delay_ms->push_back(target);
     } else {
       // This packet was never decoded. Mark target and playout delays as empty.
-      playout_delay_ms->push_back(rtc::Optional<float>());
-      target_delay_ms->push_back(rtc::Optional<float>());
+      playout_delay_ms->push_back(rtc::nullopt);
+      target_delay_ms->push_back(rtc::nullopt);
     }
   }
   RTC_DCHECK(data_it == data_.end());
diff --git a/modules/audio_coding/neteq/tools/neteq_input.h b/modules/audio_coding/neteq/tools/neteq_input.h
index 993ba04..88d9eb9 100644
--- a/modules/audio_coding/neteq/tools/neteq_input.h
+++ b/modules/audio_coding/neteq/tools/neteq_input.h
@@ -52,9 +52,9 @@
     const auto b = NextOutputEventTime();
     // Return the minimum of non-empty |a| and |b|, or empty if both are empty.
     if (a) {
-      return b ? rtc::Optional<int64_t>(std::min(*a, *b)) : a;
+      return b ? std::min(*a, *b) : a;
     }
-    return b ? b : rtc::Optional<int64_t>();
+    return b ? b : rtc::nullopt;
   }
 
   // Returns the next packet to be inserted into NetEq. The packet following the
diff --git a/modules/audio_coding/neteq/tools/neteq_packet_source_input.cc b/modules/audio_coding/neteq/tools/neteq_packet_source_input.cc
index 12a12c4..0741d7c 100644
--- a/modules/audio_coding/neteq/tools/neteq_packet_source_input.cc
+++ b/modules/audio_coding/neteq/tools/neteq_packet_source_input.cc
@@ -25,12 +25,12 @@
 rtc::Optional<int64_t> NetEqPacketSourceInput::NextPacketTime() const {
   return packet_
              ? rtc::Optional<int64_t>(static_cast<int64_t>(packet_->time_ms()))
-             : rtc::Optional<int64_t>();
+             : rtc::nullopt;
 }
 
 rtc::Optional<RTPHeader> NetEqPacketSourceInput::NextHeader() const {
   return packet_ ? rtc::Optional<RTPHeader>(packet_->header())
-                 : rtc::Optional<RTPHeader>();
+                 : rtc::nullopt;
 }
 
 void NetEqPacketSourceInput::LoadNextPacket() {
@@ -78,7 +78,7 @@
     *next_output_event_ms_ += kOutputPeriodMs;
   }
   if (!NextPacketTime()) {
-    next_output_event_ms_ = rtc::Optional<int64_t>();
+    next_output_event_ms_ = rtc::nullopt;
   }
 }
 
@@ -97,14 +97,13 @@
 }
 
 rtc::Optional<int64_t> NetEqEventLogInput::NextOutputEventTime() const {
-  return rtc::Optional<int64_t>(next_output_event_ms_);
+  return next_output_event_ms_;
 }
 
 void NetEqEventLogInput::AdvanceOutputEvent() {
-  next_output_event_ms_ =
-      rtc::Optional<int64_t>(source_->NextAudioOutputEventMs());
+  next_output_event_ms_ = source_->NextAudioOutputEventMs();
   if (*next_output_event_ms_ == std::numeric_limits<int64_t>::max()) {
-    next_output_event_ms_ = rtc::Optional<int64_t>();
+    next_output_event_ms_ = rtc::nullopt;
   }
 }
 
diff --git a/modules/audio_coding/neteq/tools/neteq_replacement_input.cc b/modules/audio_coding/neteq/tools/neteq_replacement_input.cc
index a3e3413..6c846c0 100644
--- a/modules/audio_coding/neteq/tools/neteq_replacement_input.cc
+++ b/modules/audio_coding/neteq/tools/neteq_replacement_input.cc
@@ -34,7 +34,7 @@
 rtc::Optional<int64_t> NetEqReplacementInput::NextPacketTime() const {
   return packet_
              ? rtc::Optional<int64_t>(static_cast<int64_t>(packet_->time_ms))
-             : rtc::Optional<int64_t>();
+             : rtc::nullopt;
 }
 
 rtc::Optional<int64_t> NetEqReplacementInput::NextOutputEventTime() const {
diff --git a/modules/audio_coding/neteq/tools/neteq_rtpplay.cc b/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
index 7ea73fb..4c0f3bf 100644
--- a/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
+++ b/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
@@ -209,20 +209,20 @@
   if (payload_type == FLAG_pcmu || payload_type == FLAG_pcma ||
       payload_type == FLAG_ilbc || payload_type == FLAG_pcm16b ||
       payload_type == FLAG_cn_nb || payload_type == FLAG_avt)
-    return rtc::Optional<int>(8000);
+    return 8000;
   if (payload_type == FLAG_isac || payload_type == FLAG_pcm16b_wb ||
       payload_type == FLAG_g722 || payload_type == FLAG_cn_wb ||
       payload_type == FLAG_avt_16)
-    return rtc::Optional<int>(16000);
+    return 16000;
   if (payload_type == FLAG_isac_swb || payload_type == FLAG_pcm16b_swb32 ||
       payload_type == FLAG_cn_swb32 || payload_type == FLAG_avt_32)
-    return rtc::Optional<int>(32000);
+    return 32000;
   if (payload_type == FLAG_opus || payload_type == FLAG_pcm16b_swb48 ||
       payload_type == FLAG_cn_swb48 || payload_type == FLAG_avt_48)
-    return rtc::Optional<int>(48000);
+    return 48000;
   if (payload_type == FLAG_red)
-    return rtc::Optional<int>(0);
-  return rtc::Optional<int>();
+    return 0;
+  return rtc::nullopt;
 }
 
 // Class to let through only the packets with a given SSRC. Should be used as an
@@ -294,7 +294,7 @@
                 << static_cast<int>(packet.header.payloadType) << ")"
                 << std::endl;
     }
-    last_ssrc_ = rtc::Optional<uint32_t>(packet.header.ssrc);
+    last_ssrc_ = packet.header.ssrc;
     if (other_callback_) {
       other_callback_->AfterInsertPacket(packet, neteq);
     }