| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ | 5 #ifndef MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ |
| 6 #define MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ | 6 #define MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ |
| 7 | 7 |
| 8 #include "base/gtest_prod_util.h" | 8 #include "base/gtest_prod_util.h" |
| 9 #include "base/memory/linked_ptr.h" | 9 #include "base/memory/linked_ptr.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 public: | 83 public: |
| 84 // This will create N+2 buckets where N = (max - min) / width: | 84 // This will create N+2 buckets where N = (max - min) / width: |
| 85 // Underflow bucket: < min | 85 // Underflow bucket: < min |
| 86 // Bucket 0: [min, min + width - 1] | 86 // Bucket 0: [min, min + width - 1] |
| 87 // Bucket 1: [min + width, min + 2 * width - 1] | 87 // Bucket 1: [min + width, min + 2 * width - 1] |
| 88 // ... | 88 // ... |
| 89 // Bucket N-1: [max - width, max - 1] | 89 // Bucket N-1: [max - width, max - 1] |
| 90 // Overflow bucket: >= max | 90 // Overflow bucket: >= max |
| 91 // |min| must be less than |max|. | 91 // |min| must be less than |max|. |
| 92 // |width| must divide |max - min| evenly. | 92 // |width| must divide |max - min| evenly. |
| 93 SimpleHistogram(int64 min, int64 max, int64 width); | 93 SimpleHistogram(int64_t min, int64_t max, int64_t width); |
| 94 | 94 |
| 95 ~SimpleHistogram(); | 95 ~SimpleHistogram(); |
| 96 | 96 |
| 97 void Add(int64 sample); | 97 void Add(int64_t sample); |
| 98 | 98 |
| 99 void Reset(); | 99 void Reset(); |
| 100 | 100 |
| 101 scoped_ptr<base::ListValue> GetHistogram() const; | 101 scoped_ptr<base::ListValue> GetHistogram() const; |
| 102 | 102 |
| 103 private: | 103 private: |
| 104 int64 min_; | 104 int64_t min_; |
| 105 int64 max_; | 105 int64_t max_; |
| 106 int64 width_; | 106 int64_t width_; |
| 107 std::vector<int> buckets_; | 107 std::vector<int> buckets_; |
| 108 }; | 108 }; |
| 109 | 109 |
| 110 enum CastStat { | 110 enum CastStat { |
| 111 // Capture frame rate. | 111 // Capture frame rate. |
| 112 CAPTURE_FPS, | 112 CAPTURE_FPS, |
| 113 // Encode frame rate. | 113 // Encode frame rate. |
| 114 ENCODE_FPS, | 114 ENCODE_FPS, |
| 115 // Decode frame rate. | 115 // Decode frame rate. |
| 116 DECODE_FPS, | 116 DECODE_FPS, |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 | 176 |
| 177 base::TimeTicks capture_time; | 177 base::TimeTicks capture_time; |
| 178 base::TimeTicks capture_end_time; | 178 base::TimeTicks capture_end_time; |
| 179 base::TimeTicks encode_end_time; | 179 base::TimeTicks encode_end_time; |
| 180 bool encoded; | 180 bool encoded; |
| 181 }; | 181 }; |
| 182 | 182 |
| 183 typedef std::map<CastStat, double> StatsMap; | 183 typedef std::map<CastStat, double> StatsMap; |
| 184 typedef std::map<CastStat, linked_ptr<SimpleHistogram> > HistogramMap; | 184 typedef std::map<CastStat, linked_ptr<SimpleHistogram> > HistogramMap; |
| 185 typedef std::map<RtpTimestamp, FrameInfo> FrameInfoMap; | 185 typedef std::map<RtpTimestamp, FrameInfo> FrameInfoMap; |
| 186 typedef std::map< | 186 typedef std::map<std::pair<RtpTimestamp, uint16_t>, |
| 187 std::pair<RtpTimestamp, uint16>, | 187 std::pair<base::TimeTicks, CastLoggingEvent>> |
| 188 std::pair<base::TimeTicks, CastLoggingEvent> > | |
| 189 PacketEventTimeMap; | 188 PacketEventTimeMap; |
| 190 typedef std::map<CastLoggingEvent, FrameLogStats> FrameStatsMap; | 189 typedef std::map<CastLoggingEvent, FrameLogStats> FrameStatsMap; |
| 191 typedef std::map<CastLoggingEvent, PacketLogStats> PacketStatsMap; | 190 typedef std::map<CastLoggingEvent, PacketLogStats> PacketStatsMap; |
| 192 | 191 |
| 193 static const char* CastStatToString(CastStat stat); | 192 static const char* CastStatToString(CastStat stat); |
| 194 | 193 |
| 195 void InitHistograms(); | 194 void InitHistograms(); |
| 196 | 195 |
| 197 // Assigns |stats_map| with stats data. Used for testing. | 196 // Assigns |stats_map| with stats data. Used for testing. |
| 198 void GetStatsInternal(StatsMap* stats_map) const; | 197 void GetStatsInternal(StatsMap* stats_map) const; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 HistogramMap histograms_; | 275 HistogramMap histograms_; |
| 277 | 276 |
| 278 base::ThreadChecker thread_checker_; | 277 base::ThreadChecker thread_checker_; |
| 279 DISALLOW_COPY_AND_ASSIGN(StatsEventSubscriber); | 278 DISALLOW_COPY_AND_ASSIGN(StatsEventSubscriber); |
| 280 }; | 279 }; |
| 281 | 280 |
| 282 } // namespace cast | 281 } // namespace cast |
| 283 } // namespace media | 282 } // namespace media |
| 284 | 283 |
| 285 #endif // MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ | 284 #endif // MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ |
| OLD | NEW |