diff --git a/audio/audio_receive_stream.cc b/audio/audio_receive_stream.cc index b1e3f98fe1..a1233f2910 100644 --- a/audio/audio_receive_stream.cc +++ b/audio/audio_receive_stream.cc @@ -180,7 +180,7 @@ webrtc::AudioReceiveStream::Stats AudioReceiveStream::GetStats() const { stats.capture_start_ntp_time_ms = call_stats.capture_start_ntp_time_ms_; if (codec_inst.pltype != -1) { stats.codec_name = codec_inst.plname; - stats.codec_payload_type = rtc::Optional(codec_inst.pltype); + stats.codec_payload_type = codec_inst.pltype; } stats.ext_seqnum = call_stats.extendedMax; if (codec_inst.plfreq / 1000 > 0) { @@ -272,18 +272,18 @@ rtc::Optional AudioReceiveStream::GetInfo() const { if (!rtp_receiver->GetLatestTimestamps( &info.latest_received_capture_timestamp, &info.latest_receive_time_ms)) { - return rtc::Optional(); + return rtc::nullopt; } if (rtp_rtcp->RemoteNTP(&info.capture_time_ntp_secs, &info.capture_time_ntp_frac, nullptr, nullptr, &info.capture_time_source_clock) != 0) { - return rtc::Optional(); + return rtc::nullopt; } info.current_delay_ms = channel_proxy_->GetDelayEstimate(); - return rtc::Optional(info); + return info; } uint32_t AudioReceiveStream::GetPlayoutTimestamp() const { diff --git a/audio/audio_send_stream.cc b/audio/audio_send_stream.cc index fc893e49e8..8583ed0e5f 100644 --- a/audio/audio_send_stream.cc +++ b/audio/audio_send_stream.cc @@ -296,7 +296,7 @@ webrtc::AudioSendStream::Stats AudioSendStream::GetStats() const { if (config_.send_codec_spec) { const auto& spec = *config_.send_codec_spec; stats.codec_name = spec.format.name; - stats.codec_payload_type = rtc::Optional(spec.payload_type); + stats.codec_payload_type = spec.payload_type; // Get data from the last remote RTCP report. for (const auto& block : channel_proxy_->GetRemoteRTCPReportBlocks()) { diff --git a/audio/audio_send_stream_unittest.cc b/audio/audio_send_stream_unittest.cc index d8d81a4eae..8e42029cbf 100644 --- a/audio/audio_send_stream_unittest.cc +++ b/audio/audio_send_stream_unittest.cc @@ -115,14 +115,15 @@ rtc::scoped_refptr SetupEncoderFactoryMock() { .WillByDefault(Return(std::vector( std::begin(kCodecSpecs), std::end(kCodecSpecs)))); ON_CALL(*factory.get(), QueryAudioEncoder(_)) - .WillByDefault(Invoke([](const SdpAudioFormat& format) { - for (const auto& spec : kCodecSpecs) { - if (format == spec.format) { - return rtc::Optional(spec.info); - } - } - return rtc::Optional(); - })); + .WillByDefault(Invoke( + [](const SdpAudioFormat& format) -> rtc::Optional { + for (const auto& spec : kCodecSpecs) { + if (format == spec.format) { + return spec.info; + } + } + return rtc::nullopt; + })); ON_CALL(*factory.get(), MakeAudioEncoderMock(_, _, _)) .WillByDefault(Invoke([](int payload_type, const SdpAudioFormat& format, std::unique_ptr* return_value) { @@ -168,8 +169,7 @@ struct ConfigHelper { // Use ISAC as default codec so as to prevent unnecessary |voice_engine_| // calls from the default ctor behavior. stream_config_.send_codec_spec = - rtc::Optional( - {kIsacPayloadType, kIsacFormat}); + AudioSendStream::Config::SendCodecSpec(kIsacPayloadType, kIsacFormat); stream_config_.voe_channel_id = kChannelId; stream_config_.rtp.ssrc = kSsrc; stream_config_.rtp.nack.rtp_history_ms = 200; @@ -358,11 +358,10 @@ TEST(AudioSendStreamTest, ConfigToString) { config.min_bitrate_bps = 12000; config.max_bitrate_bps = 34000; config.send_codec_spec = - rtc::Optional( - {kIsacPayloadType, kIsacFormat}); + AudioSendStream::Config::SendCodecSpec(kIsacPayloadType, kIsacFormat); config.send_codec_spec->nack_enabled = true; config.send_codec_spec->transport_cc_enabled = false; - config.send_codec_spec->cng_payload_type = rtc::Optional(42); + config.send_codec_spec->cng_payload_type = 42; config.encoder_factory = MockAudioEncoderFactory::CreateUnusedFactory(); config.rtp.extensions.push_back( RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelId)); @@ -383,7 +382,7 @@ TEST(AudioSendStreamTest, ConstructDestruct) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); } TEST(AudioSendStreamTest, SendTelephoneEvent) { @@ -391,7 +390,7 @@ TEST(AudioSendStreamTest, SendTelephoneEvent) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); helper.SetupMockForSendTelephoneEvent(); EXPECT_TRUE(send_stream.SendTelephoneEvent(kTelephoneEventPayloadType, kTelephoneEventPayloadFrequency, kTelephoneEventCode, @@ -403,7 +402,7 @@ TEST(AudioSendStreamTest, SetMuted) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); EXPECT_CALL(*helper.channel_proxy(), SetInputMute(true)); send_stream.SetMuted(true); } @@ -413,7 +412,7 @@ TEST(AudioSendStreamTest, AudioBweCorrectObjectsOnChannelProxy) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); } TEST(AudioSendStreamTest, NoAudioBweCorrectObjectsOnChannelProxy) { @@ -421,7 +420,7 @@ TEST(AudioSendStreamTest, NoAudioBweCorrectObjectsOnChannelProxy) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); } TEST(AudioSendStreamTest, GetStats) { @@ -429,7 +428,7 @@ TEST(AudioSendStreamTest, GetStats) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); helper.SetupMockForGetStats(); AudioSendStream::Stats stats = send_stream.GetStats(); EXPECT_EQ(kSsrc, stats.local_ssrc); @@ -461,12 +460,11 @@ TEST(AudioSendStreamTest, SendCodecAppliesAudioNetworkAdaptor) { ConfigHelper helper(false, true); auto stream_config = helper.config(); stream_config.send_codec_spec = - rtc::Optional({0, kOpusFormat}); + AudioSendStream::Config::SendCodecSpec(0, kOpusFormat); const std::string kAnaConfigString = "abcde"; const std::string kAnaReconfigString = "12345"; - stream_config.audio_network_adaptor_config = - rtc::Optional(kAnaConfigString); + stream_config.audio_network_adaptor_config = kAnaConfigString; EXPECT_CALL(helper.mock_encoder_factory(), MakeAudioEncoderMock(_, _, _)) .WillOnce(Invoke([&kAnaConfigString, &kAnaReconfigString]( @@ -485,10 +483,9 @@ TEST(AudioSendStreamTest, SendCodecAppliesAudioNetworkAdaptor) { internal::AudioSendStream send_stream( stream_config, helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); - stream_config.audio_network_adaptor_config = - rtc::Optional(kAnaReconfigString); + stream_config.audio_network_adaptor_config = kAnaReconfigString; helper.SetupMockForModifyEncoder(); send_stream.Reconfigure(stream_config); @@ -500,8 +497,8 @@ TEST(AudioSendStreamTest, SendCodecCanApplyVad) { ConfigHelper helper(false, false); auto stream_config = helper.config(); stream_config.send_codec_spec = - rtc::Optional({9, kG722Format}); - stream_config.send_codec_spec->cng_payload_type = rtc::Optional(105); + AudioSendStream::Config::SendCodecSpec(9, kG722Format); + stream_config.send_codec_spec->cng_payload_type = 105; using ::testing::Invoke; std::unique_ptr stolen_encoder; EXPECT_CALL(*helper.channel_proxy(), SetEncoderForMock(_, _)) @@ -515,7 +512,7 @@ TEST(AudioSendStreamTest, SendCodecCanApplyVad) { internal::AudioSendStream send_stream( stream_config, helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); // We cannot truly determine if the encoder created is an AudioEncoderCng. It // is the only reasonable implementation that will return something from @@ -529,7 +526,7 @@ TEST(AudioSendStreamTest, DoesNotPassHigherBitrateThanMaxBitrate) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); EXPECT_CALL(*helper.channel_proxy(), SetBitrate(helper.config().max_bitrate_bps, _)); send_stream.OnBitrateUpdated(helper.config().max_bitrate_bps + 5000, 0.0, 50, @@ -541,7 +538,7 @@ TEST(AudioSendStreamTest, ProbingIntervalOnBitrateUpdated) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); EXPECT_CALL(*helper.channel_proxy(), SetBitrate(_, 5000)); send_stream.OnBitrateUpdated(50000, 0.0, 50, 5000); } @@ -559,12 +556,12 @@ TEST(AudioSendStreamTest, DontRecreateEncoder) { auto stream_config = helper.config(); stream_config.send_codec_spec = - rtc::Optional({9, kG722Format}); - stream_config.send_codec_spec->cng_payload_type = rtc::Optional(105); + AudioSendStream::Config::SendCodecSpec(9, kG722Format); + stream_config.send_codec_spec->cng_payload_type = 105; internal::AudioSendStream send_stream( stream_config, helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); send_stream.Reconfigure(stream_config); } @@ -573,7 +570,7 @@ TEST(AudioSendStreamTest, ReconfigureTransportCcResetsFirst) { internal::AudioSendStream send_stream( helper.config(), helper.audio_state(), helper.worker_queue(), helper.transport(), helper.bitrate_allocator(), helper.event_log(), - helper.rtcp_rtt_stats(), rtc::Optional()); + helper.rtcp_rtt_stats(), rtc::nullopt); auto new_config = helper.config(); ConfigHelper::AddBweToConfig(&new_config); EXPECT_CALL(*helper.channel_proxy(), diff --git a/audio/test/audio_bwe_integration_test.cc b/audio/test/audio_bwe_integration_test.cc index d57fef8453..f89ced97f4 100644 --- a/audio/test/audio_bwe_integration_test.cc +++ b/audio/test/audio_bwe_integration_test.cc @@ -92,13 +92,12 @@ class NoBandwidthDropAfterDtx : public AudioBweTest { void ModifyAudioConfigs( AudioSendStream::Config* send_config, std::vector* receive_configs) override { - send_config->send_codec_spec = - rtc::Optional( - {test::CallTest::kAudioSendPayloadType, - {"OPUS", - 48000, - 2, - {{"ptime", "60"}, {"usedtx", "1"}, {"stereo", "1"}}}}); + send_config->send_codec_spec = AudioSendStream::Config::SendCodecSpec( + test::CallTest::kAudioSendPayloadType, + {"OPUS", + 48000, + 2, + {{"ptime", "60"}, {"usedtx", "1"}, {"stereo", "1"}}}); send_config->min_bitrate_bps = 6000; send_config->max_bitrate_bps = 100000; diff --git a/audio/test/audio_end_to_end_test.cc b/audio/test/audio_end_to_end_test.cc index 2ae9390bc8..44bf3f775a 100644 --- a/audio/test/audio_end_to_end_test.cc +++ b/audio/test/audio_end_to_end_test.cc @@ -80,9 +80,8 @@ void AudioEndToEndTest::ModifyAudioConfigs( // Large bitrate by default. const webrtc::SdpAudioFormat kDefaultFormat("opus", 48000, 2, {{"stereo", "1"}}); - send_config->send_codec_spec = - rtc::Optional( - {test::CallTest::kAudioSendPayloadType, kDefaultFormat}); + send_config->send_codec_spec = AudioSendStream::Config::SendCodecSpec( + test::CallTest::kAudioSendPayloadType, kDefaultFormat); } void AudioEndToEndTest::OnAudioStreamsCreated( diff --git a/audio/test/low_bandwidth_audio_test.cc b/audio/test/low_bandwidth_audio_test.cc index b3c674da61..cf84e19924 100644 --- a/audio/test/low_bandwidth_audio_test.cc +++ b/audio/test/low_bandwidth_audio_test.cc @@ -77,15 +77,14 @@ class AudioQualityTest : public AudioEndToEndTest { class Mobile2GNetworkTest : public AudioQualityTest { void ModifyAudioConfigs(AudioSendStream::Config* send_config, std::vector* receive_configs) override { - send_config->send_codec_spec = - rtc::Optional( - {test::CallTest::kAudioSendPayloadType, - {"OPUS", - 48000, - 2, - {{"maxaveragebitrate", "6000"}, - {"ptime", "60"}, - {"stereo", "1"}}}}); + send_config->send_codec_spec = AudioSendStream::Config::SendCodecSpec( + test::CallTest::kAudioSendPayloadType, + {"OPUS", + 48000, + 2, + {{"maxaveragebitrate", "6000"}, + {"ptime", "60"}, + {"stereo", "1"}}}); } FakeNetworkPipe::Config GetNetworkPipeConfig() const override {