Expose RtpCodecParameters to VoiceMediaInfo stats.

Payload type -> RtpCodecParameters maps added for sender and receiver.
This is a follow-up to https://codereview.webrtc.org/2484193002/ which
did the same thing for VideoMediaInfo. This information will be used to
produce RTCCodecStats[1].

Voice[Sender/Receiver]Info is updated with current codec payload type
for every stream which can be used to look up the codec in
VoiceMediaInfo.

[1] https://w3c.github.io/webrtc-stats/#codec-dict*

BUG=chromium:659117

Review-Url: https://codereview.webrtc.org/2503383002
Cr-Commit-Position: refs/heads/master@{#15144}
diff --git a/webrtc/api/call/audio_receive_stream.h b/webrtc/api/call/audio_receive_stream.h
index ec80a9e..2fd6760 100644
--- a/webrtc/api/call/audio_receive_stream.h
+++ b/webrtc/api/call/audio_receive_stream.h
@@ -16,6 +16,7 @@
 #include <string>
 #include <vector>
 
+#include "webrtc/base/optional.h"
 #include "webrtc/base/scoped_ref_ptr.h"
 #include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h"
 #include "webrtc/common_types.h"
@@ -40,6 +41,7 @@
     uint32_t packets_lost = 0;
     float fraction_lost = 0.0f;
     std::string codec_name;
+    rtc::Optional<int> codec_payload_type;
     uint32_t ext_seqnum = 0;
     uint32_t jitter_ms = 0;
     uint32_t jitter_buffer_ms = 0;
diff --git a/webrtc/api/call/audio_send_stream.cc b/webrtc/api/call/audio_send_stream.cc
index 3ce35e7..b619007 100644
--- a/webrtc/api/call/audio_send_stream.cc
+++ b/webrtc/api/call/audio_send_stream.cc
@@ -30,6 +30,7 @@
 namespace webrtc {
 
 AudioSendStream::Stats::Stats() = default;
+AudioSendStream::Stats::~Stats() = default;
 
 AudioSendStream::Config::Config(Transport* send_transport)
     : send_transport(send_transport) {}
diff --git a/webrtc/api/call/audio_send_stream.h b/webrtc/api/call/audio_send_stream.h
index aab625e..b4ba615 100644
--- a/webrtc/api/call/audio_send_stream.h
+++ b/webrtc/api/call/audio_send_stream.h
@@ -15,6 +15,7 @@
 #include <string>
 #include <vector>
 
+#include "webrtc/base/optional.h"
 #include "webrtc/config.h"
 #include "webrtc/modules/audio_coding/codecs/audio_encoder.h"
 #include "webrtc/transport.h"
@@ -31,6 +32,7 @@
  public:
   struct Stats {
     Stats();
+    ~Stats();
 
     // TODO(solenberg): Harmonize naming and defaults with receive stream stats.
     uint32_t local_ssrc = 0;
@@ -39,6 +41,7 @@
     int32_t packets_lost = -1;
     float fraction_lost = -1.0f;
     std::string codec_name;
+    rtc::Optional<int> codec_payload_type;
     int32_t ext_seqnum = -1;
     int32_t jitter_ms = -1;
     int64_t rtt_ms = -1;