summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/renderer/media/rtc_video_decoder.cc2
-rw-r--r--content/renderer/media/rtc_video_encoder.cc12
-rw-r--r--content/renderer/media/rtc_video_encoder.h2
-rw-r--r--tools/metrics/histograms/histograms.xml21
4 files changed, 36 insertions, 1 deletions
diff --git a/content/renderer/media/rtc_video_decoder.cc b/content/renderer/media/rtc_video_decoder.cc
index 0955e9f..5c470fd 100644
--- a/content/renderer/media/rtc_video_decoder.cc
+++ b/content/renderer/media/rtc_video_decoder.cc
@@ -754,7 +754,7 @@ int32_t RTCVideoDecoder::RecordInitDecodeUMA(int32_t status) {
// Logging boolean is enough to know if HW decoding has been used. Also,
// InitDecode is less likely to return an error so enum is not used here.
bool sample = (status == WEBRTC_VIDEO_CODEC_OK) ? true : false;
- UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoDecoderInitDecodeStatus", sample);
+ UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoDecoderInitDecodeSuccess", sample);
return status;
}
diff --git a/content/renderer/media/rtc_video_encoder.cc b/content/renderer/media/rtc_video_encoder.cc
index 1ce4b4a..2ab8e41 100644
--- a/content/renderer/media/rtc_video_encoder.cc
+++ b/content/renderer/media/rtc_video_encoder.cc
@@ -9,6 +9,7 @@
#include "base/logging.h"
#include "base/memory/scoped_vector.h"
#include "base/message_loop/message_loop_proxy.h"
+#include "base/metrics/histogram.h"
#include "base/synchronization/waitable_event.h"
#include "content/renderer/media/renderer_gpu_video_accelerator_factories.h"
#include "media/base/bitstream_buffer.h"
@@ -512,6 +513,7 @@ int32_t RTCVideoEncoder::InitEncode(const webrtc::VideoCodec* codec_settings,
// webrtc::VideoEncoder expects this call to be synchronous.
initialization_waiter.Wait();
+ RecordInitEncodeUMA(initialization_retval);
return initialization_retval;
}
@@ -652,4 +654,14 @@ void RTCVideoEncoder::NotifyError(int32_t error) {
impl_ = NULL;
}
+void RTCVideoEncoder::RecordInitEncodeUMA(int32_t init_retval) {
+ UMA_HISTOGRAM_BOOLEAN("Media.RTCVideoEncoderInitEncodeSuccess",
+ init_retval == WEBRTC_VIDEO_CODEC_OK);
+ if (init_retval == WEBRTC_VIDEO_CODEC_OK) {
+ UMA_HISTOGRAM_ENUMERATION("Media.RTCVideoEncoderProfile",
+ video_codec_profile_,
+ media::VIDEO_CODEC_PROFILE_MAX);
+ }
+}
+
} // namespace content
diff --git a/content/renderer/media/rtc_video_encoder.h b/content/renderer/media/rtc_video_encoder.h
index 3c15a55..3cc9c59 100644
--- a/content/renderer/media/rtc_video_encoder.h
+++ b/content/renderer/media/rtc_video_encoder.h
@@ -69,6 +69,8 @@ class CONTENT_EXPORT RTCVideoEncoder
void NotifyError(int32_t error);
+ void RecordInitEncodeUMA(int32_t init_retval);
+
base::ThreadChecker thread_checker_;
// The video codec type, as reported to WebRTC.
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index a8a0998..b514fd9 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -6126,9 +6126,30 @@ other types of suffix sets.
</histogram>
<histogram name="Media.RTCVideoDecoderInitDecodeStatus" enum="BooleanSuccess">
+ <obsolete>
+ Renamed to Media.RTCVideoDecoderInitDecodeSuccess.
+ </obsolete>
<summary>Results of attempts to RTCVideoDecoder::InitDecode().</summary>
</histogram>
+<histogram name="Media.RTCVideoDecoderInitDecodeSuccess" enum="BooleanSuccess">
+ <summary>
+ Indicates whether we were successful in initializing hardware video decoder
+ for use in the RTC pipeline.
+ </summary>
+</histogram>
+
+<histogram name="Media.RTCVideoEncoderInitEncodeSuccess" enum="BooleanSuccess">
+ <summary>
+ Indicates whether we were successful in initializing hardware video encoder
+ for use in the RTC pipeline.
+ </summary>
+</histogram>
+
+<histogram name="Media.RTCVideoEncoderProfile" enum="VideoCodecProfile">
+ <summary>Video codec profile used in RTC video encoder.</summary>
+</histogram>
+
<histogram name="Media.TimeToPipelineStarted" units="ms">
<summary>
Time in milliseconds from HTML5 media pipeline creation to playing event.