Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1718)

Unified Diff: media/cast/logging/logging_defines.h

Issue 130423007: Cast:Updating logging stats (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..1303ce648b3c614c03c767d728d2b0a60cb728db 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;
+ uint64 sum_squared;
+ 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;
+typedef std::map<CastLoggingEvent, PacketLogStats> PacketStatsMap;
+typedef std::map<CastLoggingEvent, GenericLogStats> GenericStatsMap;
} // namespace cast
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698