aboutsummaryrefslogtreecommitdiff
path: root/media/base/media_channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/base/media_channel.h')
-rw-r--r--media/base/media_channel.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/media/base/media_channel.h b/media/base/media_channel.h
index 4758cf52ba..d71ec9158a 100644
--- a/media/base/media_channel.h
+++ b/media/base/media_channel.h
@@ -569,6 +569,7 @@ struct VideoSenderInfo : public MediaSenderInfo {
int send_frame_height = 0;
int framerate_input = 0;
int framerate_sent = 0;
+ int aggregated_framerate_sent = 0;
int nominal_bitrate = 0;
int adapt_reason = 0;
int adapt_changes = 0;
@@ -592,8 +593,11 @@ struct VideoSenderInfo : public MediaSenderInfo {
bool has_entered_low_resolution = false;
absl::optional<uint64_t> qp_sum;
webrtc::VideoContentType content_type = webrtc::VideoContentType::UNSPECIFIED;
+ uint32_t frames_sent = 0;
// https://w3c.github.io/webrtc-stats/#dom-rtcvideosenderstats-hugeframessent
uint32_t huge_frames_sent = 0;
+ uint32_t aggregated_huge_frames_sent = 0;
+ absl::optional<std::string> rid;
};
struct VideoReceiverInfo : public MediaReceiverInfo {
@@ -713,11 +717,20 @@ struct VideoMediaInfo {
~VideoMediaInfo();
void Clear() {
senders.clear();
+ aggregated_senders.clear();
receivers.clear();
send_codecs.clear();
receive_codecs.clear();
}
+ // Each sender info represents one "outbound-rtp" stream.In non - simulcast,
+ // this means one info per RtpSender but if simulcast is used this means
+ // one info per simulcast layer.
std::vector<VideoSenderInfo> senders;
+ // Used for legacy getStats() API's "ssrc" stats and modern getStats() API's
+ // "track" stats. If simulcast is used, instead of having one sender info per
+ // simulcast layer, the metrics of all layers of an RtpSender are aggregated
+ // into a single sender info per RtpSender.
+ std::vector<VideoSenderInfo> aggregated_senders;
std::vector<VideoReceiverInfo> receivers;
RtpCodecParametersMap send_codecs;
RtpCodecParametersMap receive_codecs;