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;