1 /* 2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #include "api/units/data_rate.h" 12 13 #include "api/array_view.h" 14 #include "rtc_base/strings/string_builder.h" 15 16 namespace webrtc { 17 ToString(DataRate value)18std::string ToString(DataRate value) { 19 char buf[64]; 20 rtc::SimpleStringBuilder sb(buf); 21 if (value.IsPlusInfinity()) { 22 sb << "+inf bps"; 23 } else if (value.IsMinusInfinity()) { 24 sb << "-inf bps"; 25 } else { 26 if (value.bps() == 0 || value.bps() % 1000 != 0) { 27 sb << value.bps() << " bps"; 28 } else { 29 sb << value.kbps() << " kbps"; 30 } 31 } 32 return sb.str(); 33 } 34 } // namespace webrtc 35