Chromium Code Reviews| Index: media/cast/logging/logging_defines.h |
| diff --git a/media/cast/logging/logging_defines.h b/media/cast/logging/logging_defines.h |
| index f23aeb1ebbb12fa792a04477ab6922d02b117f84..7fa9a0e2ec5b42e46118db992e92eaeb537f21b2 100644 |
| --- a/media/cast/logging/logging_defines.h |
| +++ b/media/cast/logging/logging_defines.h |
| @@ -9,7 +9,6 @@ |
| #include <string> |
| #include <vector> |
| -#include "base/memory/linked_ptr.h" |
| #include "base/time/time.h" |
| namespace media { |
| @@ -76,9 +75,11 @@ struct FrameEvent { |
| ~FrameEvent(); |
| uint32 frame_id; |
| - size_t size; // Encoded size only. |
| + // Size is set only for kAudioFrameEncoded and kVideoFrameEncoded. |
| + size_t size; |
| std::vector<base::TimeTicks> timestamp; |
| std::vector<CastLoggingEvent> type; |
| + // Delay is only set for kAudioPlayoutDelay and kVideoRenderDelay. |
| base::TimeDelta delay_delta; // Render/playout delay. |
| }; |
| @@ -109,15 +110,40 @@ struct GenericEvent { |
| std::vector<base::TimeTicks> timestamp; |
| }; |
| +// Generic statistics given the raw data. More specific data (e.g. frame rate |
| +// and bit rate) can be computed given the basic metrics. |
| +// Some of the metrics will only be set when applicable, e.g. delay and size. |
| struct FrameLogStats { |
| FrameLogStats(); |
| ~FrameLogStats(); |
| + base::TimeTicks first_event_time; |
| + base::TimeTicks last_event_time; |
| + int event_counter; |
| + size_t sum_size; |
| + base::TimeDelta min_delay; |
| + base::TimeDelta max_delay; |
| + base::TimeDelta sum_delay; |
| +}; |
| + |
| +struct PacketLogStats { |
| + PacketLogStats(); |
| + ~PacketLogStats(); |
| + base::TimeTicks first_event_time; |
| + base::TimeTicks last_event_time; |
| + int event_counter; |
| + size_t sum_size; |
| +}; |
| - double framerate_fps; |
| - double bitrate_kbps; |
| - int max_delay_ms; |
| - int min_delay_ms; |
| - int avg_delay_ms; |
| +struct GenericLogStats { |
| + GenericLogStats(); |
| + ~GenericLogStats(); |
| + base::TimeTicks first_event_time; |
| + base::TimeTicks last_event_time; |
| + int event_counter; |
| + int sum; |
| + int64 sum_squared; |
|
imcheng
2014/01/23 21:17:18
nit: uint64?
mikhal1
2014/01/23 23:02:17
Done.
|
| + int min; |
| + int max; |
| }; |
| struct ReceiverRtcpEvent { |
| @@ -138,9 +164,9 @@ typedef std::map<CastLoggingEvent, GenericEvent> GenericRawMap; |
| typedef std::multimap<uint32, ReceiverRtcpEvent> AudioRtcpRawMap; |
| typedef std::multimap<uint32, ReceiverRtcpEvent> VideoRtcpRawMap; |
| -typedef std::map<CastLoggingEvent, linked_ptr<FrameLogStats > > FrameStatsMap; |
| -typedef std::map<CastLoggingEvent, double> PacketStatsMap; |
| -typedef std::map<CastLoggingEvent, double> GenericStatsMap; |
| +typedef std::map<CastLoggingEvent, FrameLogStats > FrameStatsMap; |
|
imcheng
2014/01/23 21:17:18
nit: extra space before closing angle bracket here
mikhal1
2014/01/23 23:02:17
Done.
|
| +typedef std::map<CastLoggingEvent, PacketLogStats > PacketStatsMap; |
| +typedef std::map<CastLoggingEvent, GenericLogStats > GenericStatsMap; |
| } // namespace cast |
| } // namespace media |