Chromium Code Reviews| Index: webrtc/api/video/video_timing.cc |
| diff --git a/webrtc/api/video/video_timing.cc b/webrtc/api/video/video_timing.cc |
| index a0a3f4d10f70df71da505f726d6d19ebf35ca307..58acdb617bbfec100fee821dbd98fa835016ab9e 100644 |
| --- a/webrtc/api/video/video_timing.cc |
| +++ b/webrtc/api/video/video_timing.cc |
| @@ -27,7 +27,8 @@ TimingFrameInfo::TimingFrameInfo() |
| receive_finish_ms(-1), |
| decode_start_ms(-1), |
| decode_finish_ms(-1), |
| - render_time_ms(-1) {} |
| + render_time_ms(-1), |
| + flags(TimingFrameFlags::kDefault) {} |
| int64_t TimingFrameInfo::EndToEndDelay() const { |
| return capture_time_ms >= 0 ? decode_finish_ms - capture_time_ms : -1; |
| @@ -38,14 +39,27 @@ bool TimingFrameInfo::IsLongerThan(const TimingFrameInfo& other) const { |
| return other_delay == -1 || EndToEndDelay() > other_delay; |
| } |
| +bool TimingFrameInfo::IsOutlier() const { |
| + return flags & TimingFrameFlags::kTriggeredBySize; |
|
danilchap
2017/08/11 13:51:16
are Invalid frames outliers?
sprang_webrtc
2017/08/11 15:06:33
No, this is a bug.
|
| +} |
| + |
| +bool TimingFrameInfo::IsInvalid() const { |
| + return flags == TimingFrameFlags::kTriggeredBySize; |
|
danilchap
2017/08/11 13:51:16
== ::kInvalid ?
sprang_webrtc
2017/08/11 15:06:33
Yes. What a brain fart...
|
| +} |
| + |
| std::string TimingFrameInfo::ToString() const { |
| std::stringstream out; |
| - out << rtp_timestamp << ',' << capture_time_ms << ',' << encode_start_ms |
| - << ',' << encode_finish_ms << ',' << packetization_finish_ms << ',' |
| - << pacer_exit_ms << ',' << network_timestamp_ms << ',' |
| - << network2_timestamp_ms << ',' << receive_start_ms << ',' |
| - << receive_finish_ms << ',' << decode_start_ms << ',' << decode_finish_ms |
| - << ',' << render_time_ms; |
| + if (IsInvalid()) { |
| + out << "[Invalid]"; |
| + } else { |
| + out << rtp_timestamp << ',' << capture_time_ms << ',' << encode_start_ms |
| + << ',' << encode_finish_ms << ',' << packetization_finish_ms << ',' |
| + << pacer_exit_ms << ',' << network_timestamp_ms << ',' |
| + << network2_timestamp_ms << ',' << receive_start_ms << ',' |
| + << receive_finish_ms << ',' << decode_start_ms << ',' |
| + << decode_finish_ms << ',' << render_time_ms << ", outlier " |
| + << IsOutlier(); |
|
danilchap
2017/08/11 13:51:16
can it be usefull to trace also if frame trigger b
sprang_webrtc
2017/08/11 15:06:33
Done.
|
| + } |
| return out.str(); |
| } |