Expose VideoCodingModule's decoder stats up the stack from VCMTiming to chrome://webrtc-internals.
R=juberti@google.com, mikhal@webrtc.org, stefan@webrtc.org, wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2429004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5027 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/video_coding/main/source/timing.cc b/webrtc/modules/video_coding/main/source/timing.cc
index 97fdac9..98a69e9 100644
--- a/webrtc/modules/video_coding/main/source/timing.cc
+++ b/webrtc/modules/video_coding/main/source/timing.cc
@@ -36,6 +36,7 @@
min_playout_delay_ms_(0),
jitter_delay_ms_(0),
current_delay_ms_(0),
+ last_decode_ms_(0),
prev_frame_timestamp_(0) {
if (master_timing == NULL) {
master_ = true;
@@ -158,7 +159,7 @@
timing_id_), "Codec timer error: %d", time_diff_ms);
assert(false);
}
-
+ last_decode_ms_ = time_diff_ms;
if (master_) {
WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCoding, VCMId(vcm_id_,
timing_id_),
@@ -262,4 +263,21 @@
jitter_delay_ms_ + MaxDecodeTimeMs() + render_delay_ms_);
}
+void VCMTiming::GetTimings(int* decode_ms,
+ int* max_decode_ms,
+ int* current_delay_ms,
+ int* target_delay_ms,
+ int* jitter_buffer_ms,
+ int* min_playout_delay_ms,
+ int* render_delay_ms) const {
+ CriticalSectionScoped cs(crit_sect_);
+ *decode_ms = last_decode_ms_;
+ *max_decode_ms = MaxDecodeTimeMs();
+ *current_delay_ms = current_delay_ms_;
+ *target_delay_ms = TargetDelayInternal();
+ *jitter_buffer_ms = jitter_delay_ms_;
+ *min_playout_delay_ms = min_playout_delay_ms_;
+ *render_delay_ms = render_delay_ms_;
+}
+
} // namespace webrtc