Do not report bucket delay for stats when pacer is paused (zero returned).

Avoids reporting a growing delay (i.e. time b/w current time and oldest packet in the pacer).

BUG=webrtc:6253

Review-Url: https://codereview.webrtc.org/2279283002
Cr-Commit-Position: refs/heads/master@{#14118}
diff --git a/webrtc/modules/congestion_controller/congestion_controller.cc b/webrtc/modules/congestion_controller/congestion_controller.cc
index 24bfd78..ae11d93 100644
--- a/webrtc/modules/congestion_controller/congestion_controller.cc
+++ b/webrtc/modules/congestion_controller/congestion_controller.cc
@@ -309,7 +309,7 @@
 }
 
 int64_t CongestionController::GetPacerQueuingDelayMs() const {
-  return pacer_->QueueInMs();
+  return IsNetworkDown() ? 0 : pacer_->QueueInMs();
 }
 
 void CongestionController::SignalNetworkState(NetworkState state) {
diff --git a/webrtc/modules/congestion_controller/congestion_controller_unittest.cc b/webrtc/modules/congestion_controller/congestion_controller_unittest.cc
index ce2258b..53ccf3d 100644
--- a/webrtc/modules/congestion_controller/congestion_controller_unittest.cc
+++ b/webrtc/modules/congestion_controller/congestion_controller_unittest.cc
@@ -18,6 +18,7 @@
 #include "webrtc/system_wrappers/include/clock.h"
 
 using testing::_;
+using testing::AtLeast;
 using testing::NiceMock;
 using testing::Return;
 using testing::SaveArg;
@@ -169,5 +170,21 @@
   controller_->Process();
 }
 
+TEST_F(CongestionControllerTest, GetPacerQueuingDelayMs) {
+  EXPECT_CALL(observer_, OnNetworkChanged(_, _, _)).Times(AtLeast(1));
+
+  const int64_t kQueueTimeMs = 123;
+  EXPECT_CALL(*pacer_, QueueInMs()).WillRepeatedly(Return(kQueueTimeMs));
+  EXPECT_EQ(kQueueTimeMs, controller_->GetPacerQueuingDelayMs());
+
+  // Expect zero pacer delay when network is down.
+  controller_->SignalNetworkState(kNetworkDown);
+  EXPECT_EQ(0, controller_->GetPacerQueuingDelayMs());
+
+  // Network is up, pacer delay should be reported.
+  controller_->SignalNetworkState(kNetworkUp);
+  EXPECT_EQ(kQueueTimeMs, controller_->GetPacerQueuingDelayMs());
+}
+
 }  // namespace test
 }  // namespace webrtc