[GetStats] Expose video codec implementation in standardized metrics.

Spec issue: https://github.com/w3c/webrtc-stats/issues/445
Spec PR: https://github.com/w3c/webrtc-stats/pull/473

Now that the spec's RTCCodecStats.implementation has moved to
RTCOutboundRtpStreamStats.encoderImplementation and
RTCInboundRtpStreamStats.decoderImplementation, this CL implements them
using the same string that the legacy getStats() API used.

Bug: webrtc:10890
Change-Id: Ic43ce44735453626791959df3061ee253356015a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149168
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28877}
This commit is contained in:
Henrik Boström
2019-08-16 13:09:51 +02:00
committed by Commit Bot
parent cc96db6de2
commit 2b9fa09fa3
6 changed files with 42 additions and 17 deletions

View File

@ -96,8 +96,7 @@ WEBRTC_RTCSTATS_IMPL(RTCCodecStats, RTCStats, "codec",
&mime_type,
&clock_rate,
&channels,
&sdp_fmtp_line,
&implementation)
&sdp_fmtp_line)
// clang-format on
RTCCodecStats::RTCCodecStats(const std::string& id, int64_t timestamp_us)
@ -109,8 +108,7 @@ RTCCodecStats::RTCCodecStats(std::string&& id, int64_t timestamp_us)
mime_type("mimeType"),
clock_rate("clockRate"),
channels("channels"),
sdp_fmtp_line("sdpFmtpLine"),
implementation("implementation") {}
sdp_fmtp_line("sdpFmtpLine") {}
RTCCodecStats::RTCCodecStats(const RTCCodecStats& other)
: RTCStats(other.id(), other.timestamp_us()),
@ -118,8 +116,7 @@ RTCCodecStats::RTCCodecStats(const RTCCodecStats& other)
mime_type(other.mime_type),
clock_rate(other.clock_rate),
channels(other.channels),
sdp_fmtp_line(other.sdp_fmtp_line),
implementation(other.implementation) {}
sdp_fmtp_line(other.sdp_fmtp_line) {}
RTCCodecStats::~RTCCodecStats() {}
@ -615,7 +612,8 @@ WEBRTC_RTCSTATS_IMPL(
&frames_decoded,
&key_frames_decoded,
&total_decode_time,
&content_type)
&content_type,
&decoder_implementation)
// clang-format on
RTCInboundRTPStreamStats::RTCInboundRTPStreamStats(const std::string& id,
@ -646,7 +644,8 @@ RTCInboundRTPStreamStats::RTCInboundRTPStreamStats(std::string&& id,
frames_decoded("framesDecoded"),
key_frames_decoded("keyFramesDecoded"),
total_decode_time("totalDecodeTime"),
content_type("contentType") {}
content_type("contentType"),
decoder_implementation("decoderImplementation") {}
RTCInboundRTPStreamStats::RTCInboundRTPStreamStats(
const RTCInboundRTPStreamStats& other)
@ -672,7 +671,8 @@ RTCInboundRTPStreamStats::RTCInboundRTPStreamStats(
frames_decoded(other.frames_decoded),
key_frames_decoded(other.key_frames_decoded),
total_decode_time(other.total_decode_time),
content_type(other.content_type) {}
content_type(other.content_type),
decoder_implementation(other.decoder_implementation) {}
RTCInboundRTPStreamStats::~RTCInboundRTPStreamStats() {}
@ -691,7 +691,8 @@ WEBRTC_RTCSTATS_IMPL(
&total_encoded_bytes_target,
&total_packet_send_delay,
&quality_limitation_reason,
&content_type)
&content_type,
&encoder_implementation)
// clang-format on
RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(const std::string& id,
@ -713,7 +714,8 @@ RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(std::string&& id,
total_encoded_bytes_target("totalEncodedBytesTarget"),
total_packet_send_delay("totalPacketSendDelay"),
quality_limitation_reason("qualityLimitationReason"),
content_type("contentType") {}
content_type("contentType"),
encoder_implementation("encoderImplementation") {}
RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(
const RTCOutboundRTPStreamStats& other)
@ -730,7 +732,8 @@ RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(
total_encoded_bytes_target(other.total_encoded_bytes_target),
total_packet_send_delay(other.total_packet_send_delay),
quality_limitation_reason(other.quality_limitation_reason),
content_type(other.content_type) {}
content_type(other.content_type),
encoder_implementation(other.encoder_implementation) {}
RTCOutboundRTPStreamStats::~RTCOutboundRTPStreamStats() {}