Reimplement rtc::ToString and rtc::FromString without streams.

Bug: webrtc:8982
Change-Id: I3977435b035fdebef449732301d6e77fc899e7ba
Reviewed-on: https://webrtc-review.googlesource.com/86941
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24319}
diff --git a/pc/rtcstatscollector.cc b/pc/rtcstatscollector.cc
index 9b7708e..c7555fd 100644
--- a/pc/rtcstatscollector.cc
+++ b/pc/rtcstatscollector.cc
@@ -995,7 +995,7 @@
        pc_->sctp_data_channels()) {
     std::unique_ptr<RTCDataChannelStats> data_channel_stats(
         new RTCDataChannelStats(
-            "RTCDataChannel_" + rtc::ToString<>(data_channel->id()),
+            "RTCDataChannel_" + rtc::ToString(data_channel->id()),
             timestamp_us));
     data_channel_stats->label = data_channel->label();
     data_channel_stats->protocol = data_channel->protocol();
diff --git a/pc/rtcstatscollector_unittest.cc b/pc/rtcstatscollector_unittest.cc
index 178440b..3ece85f 100644
--- a/pc/rtcstatscollector_unittest.cc
+++ b/pc/rtcstatscollector_unittest.cc
@@ -586,12 +586,12 @@
     graph.sender = stats_->SetupLocalTrackAndSender(
         cricket::MEDIA_TYPE_VIDEO, "LocalVideoTrackID", 3, false);
     graph.sender_track_id = "RTCMediaStreamTrack_sender_" +
-                            rtc::ToString<>(graph.sender->AttachmentId());
+                            rtc::ToString(graph.sender->AttachmentId());
     // track (receiver) and stream (remote stream)
     graph.receiver = stats_->SetupRemoteTrackAndReceiver(
         cricket::MEDIA_TYPE_VIDEO, "RemoteVideoTrackID", "RemoteStreamId", 4);
     graph.receiver_track_id = "RTCMediaStreamTrack_receiver_" +
-                              rtc::ToString<>(graph.receiver->AttachmentId());
+                              rtc::ToString(graph.receiver->AttachmentId());
     graph.remote_stream_id = "RTCMediaStream_RemoteStreamId";
     // peer-connection
     graph.peer_connection_id = "RTCPeerConnection";
@@ -1121,7 +1121,7 @@
                                          report->timestamp_us());
   expected_pair.transport_id =
       "RTCTransport_transport_" +
-      rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTP);
+      rtc::ToString(cricket::ICE_CANDIDATE_COMPONENT_RTP);
   expected_pair.local_candidate_id = "RTCIceCandidate_" + local_candidate->id();
   expected_pair.remote_candidate_id =
       "RTCIceCandidate_" + remote_candidate->id();
@@ -1853,7 +1853,7 @@
 
   RTCTransportStats expected_rtp_transport(
       "RTCTransport_transport_" +
-          rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTP),
+          rtc::ToString(cricket::ICE_CANDIDATE_COMPONENT_RTP),
       report->timestamp_us());
   expected_rtp_transport.bytes_sent = 42;
   expected_rtp_transport.bytes_received = 1337;
@@ -1883,7 +1883,7 @@
 
   RTCTransportStats expected_rtcp_transport(
       "RTCTransport_transport_" +
-          rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTCP),
+          rtc::ToString(cricket::ICE_CANDIDATE_COMPONENT_RTCP),
       report->timestamp_us());
   expected_rtcp_transport.bytes_sent = 1337;
   expected_rtcp_transport.bytes_received = 42;
diff --git a/pc/statscollector.cc b/pc/statscollector.cc
index 9a77a21..23a4493 100644
--- a/pc/statscollector.cc
+++ b/pc/statscollector.cc
@@ -582,7 +582,7 @@
   StatsReport::Id id(StatsReport::NewIdWithDirection(
       local ? StatsReport::kStatsReportTypeSsrc
             : StatsReport::kStatsReportTypeRemoteSsrc,
-      rtc::ToString<uint32_t>(ssrc), direction));
+      rtc::ToString(ssrc), direction));
   StatsReport* report = reports_.Find(id);
 
   // Use the ID of the track that is currently mapped to the SSRC, if any.
@@ -1004,8 +1004,8 @@
       continue;
     }
     const StatsReport::Id stats_id = StatsReport::NewIdWithDirection(
-        StatsReport::kStatsReportTypeSsrc,
-        rtc::ToString<uint32_t>(sender->ssrc()), StatsReport::kSend);
+        StatsReport::kStatsReportTypeSsrc, rtc::ToString(sender->ssrc()),
+        StatsReport::kSend);
     StatsReport* report = reports_.FindOrAddNew(stats_id);
     report->AddInt(StatsReport::kStatsValueNameFrameWidthInput,
                    stats.input_width);
@@ -1051,9 +1051,8 @@
   for (const auto& it : local_audio_tracks_) {
     AudioTrackInterface* track = it.first;
     uint32_t ssrc = it.second;
-    StatsReport* report =
-        GetReport(StatsReport::kStatsReportTypeSsrc,
-                  rtc::ToString<uint32_t>(ssrc), StatsReport::kSend);
+    StatsReport* report = GetReport(StatsReport::kStatsReportTypeSsrc,
+                                    rtc::ToString(ssrc), StatsReport::kSend);
     if (report == NULL) {
       // This can happen if a local audio track is added to a stream on the
       // fly and the report has not been set up yet. Do nothing in this case.
diff --git a/pc/statscollector_unittest.cc b/pc/statscollector_unittest.cc
index 2a2a2dc..fa4d3db 100644
--- a/pc/statscollector_unittest.cc
+++ b/pc/statscollector_unittest.cc
@@ -283,69 +283,67 @@
   std::string value_in_report;
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameAudioOutputLevel,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.audio_level), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.audio_level), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameBytesReceived,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int64_t>(info.bytes_rcvd), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.bytes_rcvd), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameJitterReceived,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.jitter_ms), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.jitter_ms), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameJitterBufferMs,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.jitter_buffer_ms), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.jitter_buffer_ms), value_in_report);
   EXPECT_TRUE(GetValue(report,
                        StatsReport::kStatsValueNamePreferredJitterBufferMs,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.jitter_buffer_preferred_ms),
-            value_in_report);
+  EXPECT_EQ(rtc::ToString(info.jitter_buffer_preferred_ms), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameCurrentDelayMs,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.delay_estimate_ms), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.delay_estimate_ms), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameExpandRate,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<float>(info.expand_rate), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.expand_rate), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameSpeechExpandRate,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<float>(info.speech_expand_rate), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.speech_expand_rate), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameAccelerateRate,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<float>(info.accelerate_rate), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.accelerate_rate), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNamePreemptiveExpandRate,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<float>(info.preemptive_expand_rate), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.preemptive_expand_rate), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameSecondaryDecodedRate,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<float>(info.secondary_decoded_rate), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.secondary_decoded_rate), value_in_report);
   EXPECT_TRUE(GetValue(report,
                        StatsReport::kStatsValueNameSecondaryDiscardedRate,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<float>(info.secondary_discarded_rate),
-            value_in_report);
+  EXPECT_EQ(rtc::ToString(info.secondary_discarded_rate), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNamePacketsReceived,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.packets_rcvd), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.packets_rcvd), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingCTSG,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_calls_to_silence_generator),
+  EXPECT_EQ(rtc::ToString(info.decoding_calls_to_silence_generator),
             value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingCTN,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_calls_to_neteq), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.decoding_calls_to_neteq), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingNormal,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_normal), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.decoding_normal), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingPLC,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_plc), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.decoding_plc), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingCNG,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_cng), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.decoding_cng), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingPLCCNG,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_plc_cng), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.decoding_plc_cng), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameDecodingMutedOutput,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(info.decoding_muted_output), value_in_report);
+  EXPECT_EQ(rtc::ToString(info.decoding_muted_output), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameCodecName,
                        &value_in_report));
 }
@@ -358,26 +356,26 @@
   EXPECT_EQ(sinfo.codec_name, value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameBytesSent,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int64_t>(sinfo.bytes_sent), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.bytes_sent), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNamePacketsSent,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(sinfo.packets_sent), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.packets_sent), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNamePacketsLost,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(sinfo.packets_lost), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.packets_lost), value_in_report);
   EXPECT_TRUE(
       GetValue(report, StatsReport::kStatsValueNameRtt, &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(sinfo.rtt_ms), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.rtt_ms), value_in_report);
   EXPECT_TRUE(
       GetValue(report, StatsReport::kStatsValueNameRtt, &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(sinfo.rtt_ms), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.rtt_ms), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameJitterReceived,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(sinfo.jitter_ms), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.jitter_ms), value_in_report);
   if (sinfo.apm_statistics.delay_median_ms) {
     EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameEchoDelayMedian,
                          &value_in_report));
-    EXPECT_EQ(rtc::ToString<int>(*sinfo.apm_statistics.delay_median_ms),
+    EXPECT_EQ(rtc::ToString(*sinfo.apm_statistics.delay_median_ms),
               value_in_report);
   } else {
     EXPECT_FALSE(GetValue(report, StatsReport::kStatsValueNameEchoDelayMedian,
@@ -386,9 +384,8 @@
   if (sinfo.apm_statistics.delay_standard_deviation_ms) {
     EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameEchoDelayStdDev,
                          &value_in_report));
-    EXPECT_EQ(
-        rtc::ToString<int>(*sinfo.apm_statistics.delay_standard_deviation_ms),
-        value_in_report);
+    EXPECT_EQ(rtc::ToString(*sinfo.apm_statistics.delay_standard_deviation_ms),
+              value_in_report);
   } else {
     EXPECT_FALSE(GetValue(report, StatsReport::kStatsValueNameEchoDelayStdDev,
                           &value_in_report));
@@ -396,7 +393,7 @@
   if (sinfo.apm_statistics.echo_return_loss) {
     EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameEchoReturnLoss,
                          &value_in_report));
-    EXPECT_EQ(rtc::ToString<int>(*sinfo.apm_statistics.echo_return_loss),
+    EXPECT_EQ(rtc::ToString(*sinfo.apm_statistics.echo_return_loss),
               value_in_report);
   } else {
     EXPECT_FALSE(GetValue(report, StatsReport::kStatsValueNameEchoReturnLoss,
@@ -406,9 +403,8 @@
     EXPECT_TRUE(GetValue(report,
                          StatsReport::kStatsValueNameEchoReturnLossEnhancement,
                          &value_in_report));
-    EXPECT_EQ(
-        rtc::ToString<int>(*sinfo.apm_statistics.echo_return_loss_enhancement),
-        value_in_report);
+    EXPECT_EQ(rtc::ToString(*sinfo.apm_statistics.echo_return_loss_enhancement),
+              value_in_report);
   } else {
     EXPECT_FALSE(GetValue(report,
                           StatsReport::kStatsValueNameEchoReturnLossEnhancement,
@@ -418,9 +414,8 @@
     EXPECT_TRUE(GetValue(report,
                          StatsReport::kStatsValueNameResidualEchoLikelihood,
                          &value_in_report));
-    EXPECT_EQ(
-        rtc::ToString<float>(*sinfo.apm_statistics.residual_echo_likelihood),
-        value_in_report);
+    EXPECT_EQ(rtc::ToString(*sinfo.apm_statistics.residual_echo_likelihood),
+              value_in_report);
   } else {
     EXPECT_FALSE(GetValue(report,
                           StatsReport::kStatsValueNameResidualEchoLikelihood,
@@ -430,7 +425,7 @@
     EXPECT_TRUE(GetValue(
         report, StatsReport::kStatsValueNameResidualEchoLikelihoodRecentMax,
         &value_in_report));
-    EXPECT_EQ(rtc::ToString<float>(
+    EXPECT_EQ(rtc::ToString(
                   *sinfo.apm_statistics.residual_echo_likelihood_recent_max),
               value_in_report);
   } else {
@@ -440,7 +435,7 @@
   }
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameAudioInputLevel,
                        &value_in_report));
-  EXPECT_EQ(rtc::ToString<int>(sinfo.audio_level), value_in_report);
+  EXPECT_EQ(rtc::ToString(sinfo.audio_level), value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameTypingNoiseState,
                        &value_in_report));
   std::string typing_detected = sinfo.typing_noise_detected ? "true" : "false";
@@ -449,47 +444,42 @@
                        StatsReport::kStatsValueNameAnaBitrateActionCounter,
                        &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.bitrate_action_counter);
-  EXPECT_EQ(
-      rtc::ToString<uint32_t>(*sinfo.ana_statistics.bitrate_action_counter),
-      value_in_report);
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.bitrate_action_counter),
+            value_in_report);
   EXPECT_TRUE(GetValue(report,
                        StatsReport::kStatsValueNameAnaChannelActionCounter,
                        &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.channel_action_counter);
-  EXPECT_EQ(
-      rtc::ToString<uint32_t>(*sinfo.ana_statistics.channel_action_counter),
-      value_in_report);
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.channel_action_counter),
+            value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameAnaDtxActionCounter,
                        &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.dtx_action_counter);
-  EXPECT_EQ(rtc::ToString<uint32_t>(*sinfo.ana_statistics.dtx_action_counter),
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.dtx_action_counter),
             value_in_report);
   EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameAnaFecActionCounter,
                        &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.fec_action_counter);
-  EXPECT_EQ(rtc::ToString<uint32_t>(*sinfo.ana_statistics.fec_action_counter),
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.fec_action_counter),
             value_in_report);
   EXPECT_TRUE(GetValue(
       report, StatsReport::kStatsValueNameAnaFrameLengthIncreaseCounter,
       &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.frame_length_increase_counter);
-  EXPECT_EQ(rtc::ToString<uint32_t>(
-                *sinfo.ana_statistics.frame_length_increase_counter),
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.frame_length_increase_counter),
             value_in_report);
   EXPECT_TRUE(GetValue(
       report, StatsReport::kStatsValueNameAnaFrameLengthDecreaseCounter,
       &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.frame_length_decrease_counter);
-  EXPECT_EQ(rtc::ToString<uint32_t>(
-                *sinfo.ana_statistics.frame_length_decrease_counter),
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.frame_length_decrease_counter),
             value_in_report);
   EXPECT_TRUE(GetValue(report,
                        StatsReport::kStatsValueNameAnaUplinkPacketLossFraction,
                        &value_in_report));
   ASSERT_TRUE(sinfo.ana_statistics.uplink_packet_loss_fraction);
-  EXPECT_EQ(
-      rtc::ToString<float>(*sinfo.ana_statistics.uplink_packet_loss_fraction),
-      value_in_report);
+  EXPECT_EQ(rtc::ToString(*sinfo.ana_statistics.uplink_packet_loss_fraction),
+            value_in_report);
 }
 
 // Helper methods to avoid duplication of code.
@@ -591,7 +581,7 @@
     EXPECT_EQ(audio_track->id(), track_id);
     std::string ssrc_id =
         ExtractSsrcStatsValue(*reports, StatsReport::kStatsValueNameSsrc);
-    EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id);
+    EXPECT_EQ(rtc::ToString(kSsrcOfTrack), ssrc_id);
 
     std::string media_type =
         ExtractSsrcStatsValue(*reports, StatsReport::kStatsValueNameMediaType);
@@ -617,7 +607,7 @@
     EXPECT_EQ(audio_track->id(), track_id);
     ssrc_id =
         ExtractSsrcStatsValue(track_reports, StatsReport::kStatsValueNameSsrc);
-    EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id);
+    EXPECT_EQ(rtc::ToString(kSsrcOfTrack), ssrc_id);
     if (!voice_info.senders.empty()) {
       VerifyVoiceSenderInfoReport(track_report, voice_info.senders[0]);
     }
@@ -823,7 +813,7 @@
   EXPECT_EQ(kDataChannelLabel,
             ExtractStatsValue(StatsReport::kStatsReportTypeDataChannel, reports,
                               StatsReport::kStatsValueNameLabel));
-  EXPECT_EQ(rtc::ToString<int64_t>(kDataChannelId),
+  EXPECT_EQ(rtc::ToString(kDataChannelId),
             ExtractStatsValue(StatsReport::kStatsReportTypeDataChannel, reports,
                               StatsReport::kStatsValueNameDataChannelId));
   EXPECT_EQ(kConnectingString,
@@ -1054,7 +1044,7 @@
 
   std::string ssrc_id =
       ExtractSsrcStatsValue(reports, StatsReport::kStatsValueNameSsrc);
-  EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id);
+  EXPECT_EQ(rtc::ToString(kSsrcOfTrack), ssrc_id);
 
   std::string track_id =
       ExtractSsrcStatsValue(reports, StatsReport::kStatsValueNameTrackId);
@@ -1190,7 +1180,7 @@
 
   std::string ssrc_id =
       ExtractSsrcStatsValue(reports, StatsReport::kStatsValueNameSsrc);
-  EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id);
+  EXPECT_EQ(rtc::ToString(kSsrcOfTrack), ssrc_id);
 
   std::string track_id =
       ExtractSsrcStatsValue(reports, StatsReport::kStatsValueNameTrackId);
@@ -1573,7 +1563,7 @@
   EXPECT_EQ(kLocalTrackId, track_id);
   std::string ssrc_id =
       ExtractSsrcStatsValue(reports, StatsReport::kStatsValueNameSsrc);
-  EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id);
+  EXPECT_EQ(rtc::ToString(kSsrcOfTrack), ssrc_id);
 
   // Verifies the values in the track report, no value will be changed by the
   // AudioTrackInterface::GetSignalValue() and
diff --git a/pc/videocapturertracksource_unittest.cc b/pc/videocapturertracksource_unittest.cc
index 1ddfc6f..d2b8e15 100644
--- a/pc/videocapturertracksource_unittest.cc
+++ b/pc/videocapturertracksource_unittest.cc
@@ -449,7 +449,7 @@
 
 TEST_F(VideoCapturerTrackSourceTest, MandatorySubOneFpsConstraints) {
   FakeConstraints constraints;
-  constraints.AddMandatory(MediaConstraintsInterface::kMaxFrameRate, 0.5);
+  constraints.AddMandatory(MediaConstraintsInterface::kMaxFrameRate, 0);
 
   CreateVideoCapturerSource(&constraints);
   EXPECT_EQ_WAIT(MediaSourceInterface::kEnded, state_observer_->state(),
@@ -459,7 +459,7 @@
 
 TEST_F(VideoCapturerTrackSourceTest, OptionalSubOneFpsConstraints) {
   FakeConstraints constraints;
-  constraints.AddOptional(MediaConstraintsInterface::kMaxFrameRate, 0.5);
+  constraints.AddOptional(MediaConstraintsInterface::kMaxFrameRate, 0);
 
   CreateVideoCapturerSource(&constraints);
   EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
diff --git a/pc/webrtcsdp.cc b/pc/webrtcsdp.cc
index 9cb9e06..73df354 100644
--- a/pc/webrtcsdp.cc
+++ b/pc/webrtcsdp.cc
@@ -1282,7 +1282,7 @@
              video_desc->codecs().begin();
          it != video_desc->codecs().end(); ++it) {
       fmt.append(" ");
-      fmt.append(rtc::ToString<int>(it->id));
+      fmt.append(rtc::ToString(it->id));
     }
   } else if (media_type == cricket::MEDIA_TYPE_AUDIO) {
     const AudioContentDescription* audio_desc = media_desc->as_audio();
@@ -1290,7 +1290,7 @@
              audio_desc->codecs().begin();
          it != audio_desc->codecs().end(); ++it) {
       fmt.append(" ");
-      fmt.append(rtc::ToString<int>(it->id));
+      fmt.append(rtc::ToString(it->id));
     }
   } else if (media_type == cricket::MEDIA_TYPE_DATA) {
     const DataContentDescription* data_desc = media_desc->as_data();
@@ -1308,7 +1308,7 @@
           }
         }
 
-        fmt.append(rtc::ToString<int>(sctp_port));
+        fmt.append(rtc::ToString(sctp_port));
       } else {
         fmt.append(kDefaultSctpmapProtocol);
       }
@@ -1317,7 +1317,7 @@
                data_desc->codecs().begin();
            it != data_desc->codecs().end(); ++it) {
         fmt.append(" ");
-        fmt.append(rtc::ToString<int>(it->id));
+        fmt.append(rtc::ToString(it->id));
       }
     }
   }
@@ -1596,7 +1596,7 @@
       std::vector<uint32_t>::const_iterator ssrc =
           track->ssrc_groups[i].ssrcs.begin();
       for (; ssrc != track->ssrc_groups[i].ssrcs.end(); ++ssrc) {
-        os << kSdpDelimiterSpace << rtc::ToString<uint32_t>(*ssrc);
+        os << kSdpDelimiterSpace << rtc::ToString(*ssrc);
       }
       AddLine(os.str(), message);
     }
diff --git a/pc/webrtcsdp_unittest.cc b/pc/webrtcsdp_unittest.cc
index b2dc47a..bfae1b9 100644
--- a/pc/webrtcsdp_unittest.cc
+++ b/pc/webrtcsdp_unittest.cc
@@ -1713,7 +1713,7 @@
                             int expected_value) {
     cricket::CodecParameterMap::const_iterator found = params.find(name);
     ASSERT_TRUE(found != params.end());
-    EXPECT_EQ(found->second, rtc::ToString<int>(expected_value));
+    EXPECT_EQ(found->second, rtc::ToString(expected_value));
   }
 
   void TestDeserializeCodecParams(const CodecParams& params,