Add new ANA stats to the old GetStats() to count the number of actions taken by each controller.

This CL only wires up the new stats but does not set the values yet. This will be added in a follow-up CL.

BUG=webrtc:8127

Review-Url: https://codereview.webrtc.org/3011623002
Cr-Commit-Position: refs/heads/master@{#19751}
diff --git a/webrtc/api/audio_codecs/audio_encoder.h b/webrtc/api/audio_codecs/audio_encoder.h
index 7406d7d..a77894b 100644
--- a/webrtc/api/audio_codecs/audio_encoder.h
+++ b/webrtc/api/audio_codecs/audio_encoder.h
@@ -27,6 +27,33 @@
 class Clock;
 class RtcEventLog;
 
+// Statistics related to Audio Network Adaptation.
+struct ANAStats {
+  ANAStats();
+  ANAStats(const ANAStats&);
+  ~ANAStats();
+  // Number of actions taken by the ANA bitrate controller since the start of
+  // the call. If this value is not set, it indicates that the bitrate
+  // controller is disabled.
+  rtc::Optional<uint32_t> bitrate_action_counter;
+  // Number of actions taken by the ANA channel controller since the start of
+  // the call. If this value is not set, it indicates that the channel
+  // controller is disabled.
+  rtc::Optional<uint32_t> channel_action_counter;
+  // Number of actions taken by the ANA DTX controller since the start of the
+  // call. If this value is not set, it indicates that the DTX controller is
+  // disabled.
+  rtc::Optional<uint32_t> dtx_action_counter;
+  // Number of actions taken by the ANA FEC controller since the start of the
+  // call. If this value is not set, it indicates that the FEC controller is
+  // disabled.
+  rtc::Optional<uint32_t> fec_action_counter;
+  // Number of actions taken by the ANA frame length controller since the start
+  // of the call. If this value is not set, it indicates that the frame length
+  // controller is disabled.
+  rtc::Optional<uint32_t> frame_length_action_counter;
+};
+
 // This is the interface class for encoders in AudioCoding module. Each codec
 // type must have an implementation of this class.
 class AudioEncoder {
@@ -203,6 +230,9 @@
   virtual void SetReceiverFrameLengthRange(int min_frame_length_ms,
                                            int max_frame_length_ms);
 
+  // Get statistics related to audio network adaptation.
+  virtual ANAStats GetANAStats() const;
+
  protected:
   // Subclasses implement this to perform the actual encoding. Called by
   // Encode().