summaryrefslogtreecommitdiff
path: root/media/cast/logging/logging_defines.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/cast/logging/logging_defines.h')
-rw-r--r--media/cast/logging/logging_defines.h111
1 files changed, 65 insertions, 46 deletions
diff --git a/media/cast/logging/logging_defines.h b/media/cast/logging/logging_defines.h
index 724216dd30..835c022589 100644
--- a/media/cast/logging/logging_defines.h
+++ b/media/cast/logging/logging_defines.h
@@ -5,7 +5,12 @@
#ifndef MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_
#define MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_
-#include "base/logging.h"
+#include <map>
+#include <string>
+#include <vector>
+
+#include "base/memory/linked_ptr.h"
+#include "base/time/time.h"
namespace media {
namespace cast {
@@ -39,51 +44,65 @@ enum CastLoggingEvent {
kPacketReceived,
};
-std::string CastEnumToString(CastLoggingEvent event) {
- switch (event) {
- case(kRtt):
- return "Rtt";
- case(kPacketLoss):
- return "PacketLoss";
- case(kJitter):
- return "Jitter";
- case(kAckReceived):
- return "AckReceived";
- case(kAckSent):
- return "AckSent";
- case(kLastEvent):
- return "LastEvent";
- case(kAudioFrameCaptured):
- return "AudioFrameCaptured";
- case(kAudioFrameEncoded):
- return "AudioFrameEncoded";
- case(kAudioPlayoutDelay):
- return "AudioPlayoutDelay";
- case(kAudioFrameDecoded):
- return "AudioFrameDecoded";
- case(kVideoFrameCaptured):
- return "VideoFrameCaptured";
- case(kVideoFrameSentToEncoder):
- return "VideoFrameSentToEncoder";
- case(kVideoFrameEncoded):
- return "VideoFrameEncoded";
- case(kVideoFrameDecoded):
- return "VideoFrameDecoded";
- case(kVideoRenderDelay):
- return "VideoRenderDelay";
- case(kPacketSentToPacer):
- return "PacketSentToPacer";
- case(kPacketSentToNetwork):
- return "PacketSentToNetwork";
- case(kPacketRetransmited):
- return "PacketRetransmited";
- case(kPacketReceived):
- return "PacketReceived";
- default:
- NOTREACHED();
- return "";
- }
-}
+std::string CastLoggingToString(CastLoggingEvent event);
+
+struct FrameEvent {
+ FrameEvent();
+ ~FrameEvent();
+
+ uint8 frame_id;
+ int size; // Encoded size only.
+ std::vector<base::TimeTicks> timestamp;
+ std::vector<CastLoggingEvent> type;
+ base::TimeDelta delay_delta; // Render/playout delay.
+};
+
+// Internal map sorted by packet id.
+struct BasePacketInfo {
+ BasePacketInfo();
+ ~BasePacketInfo();
+
+ int size;
+ std::vector<base::TimeTicks> timestamp;
+ std::vector<CastLoggingEvent> type;
+};
+
+typedef std::map<uint16, BasePacketInfo> BasePacketMap;
+
+struct PacketEvent {
+ PacketEvent();
+ ~PacketEvent();
+ uint8 frame_id;
+ int max_packet_id;
+ BasePacketMap packet_map;
+};
+
+struct GenericEvent {
+ GenericEvent();
+ ~GenericEvent();
+ std::vector<int> value;
+ std::vector<base::TimeTicks> timestamp;
+};
+
+struct FrameLogStats {
+ FrameLogStats();
+ ~FrameLogStats();
+
+ double framerate_fps;
+ double bitrate_kbps;
+ int max_delay_ms;
+ int min_delay_ms;
+ int avg_delay_ms;
+};
+
+// Store all log types in a map based on the event.
+typedef std::map<uint32, FrameEvent> FrameRawMap;
+typedef std::map<uint32, PacketEvent> PacketRawMap;
+typedef std::map<CastLoggingEvent, GenericEvent> GenericRawMap;
+
+typedef std::map<CastLoggingEvent, linked_ptr<FrameLogStats > > FrameStatsMap;
+typedef std::map<CastLoggingEvent, double> PacketStatsMap;
+typedef std::map<CastLoggingEvent, double> GenericStatsMap;
} // namespace cast
} // namespace media