OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_LOGGING_DEFINES_H_ | 5 #ifndef MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ |
6 #define MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ | 6 #define MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/memory/linked_ptr.h" | 12 #include "base/memory/linked_ptr.h" |
13 #include "base/time/time.h" | 13 #include "base/time/time.h" |
14 | 14 |
15 namespace media { | 15 namespace media { |
16 namespace cast { | 16 namespace cast { |
17 | 17 |
| 18 struct CastLoggingConfig { |
| 19 CastLoggingConfig(); |
| 20 ~CastLoggingConfig(); |
| 21 |
| 22 bool enable_data_collection; |
| 23 bool enable_uma_stats; |
| 24 bool enable_tracing; |
| 25 }; |
| 26 |
| 27 // By default, enable raw and stats data collection. Disable tracing and UMA. |
| 28 CastLoggingConfig GetDefaultCastLoggingConfig(); |
| 29 |
18 enum CastLoggingEvent { | 30 enum CastLoggingEvent { |
19 // Generic events. | 31 // Generic events. |
20 kRtt, | 32 kRttMs, |
21 kPacketLoss, | 33 kPacketLoss, |
22 kJitter, | 34 kJitterMs, |
23 kAckReceived, | 35 kAckReceived, |
| 36 kRembBitrate, |
24 kAckSent, | 37 kAckSent, |
25 kLastEvent, | 38 kLastEvent, |
26 // Audio sender. | 39 // Audio sender. |
| 40 kAudioFrameReceived, |
27 kAudioFrameCaptured, | 41 kAudioFrameCaptured, |
28 kAudioFrameEncoded, | 42 kAudioFrameEncoded, |
29 // Audio receiver. | 43 // Audio receiver. |
30 kAudioPlayoutDelay, | 44 kAudioPlayoutDelay, |
31 kAudioFrameDecoded, | 45 kAudioFrameDecoded, |
32 // Video sender. | 46 // Video sender. |
33 kVideoFrameCaptured, | 47 kVideoFrameCaptured, |
| 48 kVideoFrameReceived, |
34 kVideoFrameSentToEncoder, | 49 kVideoFrameSentToEncoder, |
35 kVideoFrameEncoded, | 50 kVideoFrameEncoded, |
36 // Video receiver. | 51 // Video receiver. |
37 kVideoFrameDecoded, | 52 kVideoFrameDecoded, |
38 kVideoRenderDelay, | 53 kVideoRenderDelay, |
39 // Send-side packet events. | 54 // Send-side packet events. |
40 kPacketSentToPacer, | 55 kPacketSentToPacer, |
41 kPacketSentToNetwork, | 56 kPacketSentToNetwork, |
42 kPacketRetransmited, | 57 kPacketRetransmited, |
43 // Receive-side packet events. | 58 // Receive-side packet events. |
44 kPacketReceived, | 59 kPacketReceived, |
| 60 |
| 61 kNumOfLoggingEvents, |
45 }; | 62 }; |
46 | 63 |
47 std::string CastLoggingToString(CastLoggingEvent event); | 64 std::string CastLoggingToString(CastLoggingEvent event); |
48 | 65 |
49 struct FrameEvent { | 66 struct FrameEvent { |
50 FrameEvent(); | 67 FrameEvent(); |
51 ~FrameEvent(); | 68 ~FrameEvent(); |
52 | 69 |
53 uint32 frame_id; | 70 uint32 frame_id; |
54 int size; // Encoded size only. | 71 size_t size; // Encoded size only. |
55 std::vector<base::TimeTicks> timestamp; | 72 std::vector<base::TimeTicks> timestamp; |
56 std::vector<CastLoggingEvent> type; | 73 std::vector<CastLoggingEvent> type; |
57 base::TimeDelta delay_delta; // Render/playout delay. | 74 base::TimeDelta delay_delta; // Render/playout delay. |
58 }; | 75 }; |
59 | 76 |
60 // Internal map sorted by packet id. | 77 // Internal map sorted by packet id. |
61 struct BasePacketInfo { | 78 struct BasePacketInfo { |
62 BasePacketInfo(); | 79 BasePacketInfo(); |
63 ~BasePacketInfo(); | 80 ~BasePacketInfo(); |
64 | 81 |
65 int size; | 82 size_t size; |
66 std::vector<base::TimeTicks> timestamp; | 83 std::vector<base::TimeTicks> timestamp; |
67 std::vector<CastLoggingEvent> type; | 84 std::vector<CastLoggingEvent> type; |
68 }; | 85 }; |
69 | 86 |
70 typedef std::map<uint16, BasePacketInfo> BasePacketMap; | 87 typedef std::map<uint16, BasePacketInfo> BasePacketMap; |
71 | 88 |
72 struct PacketEvent { | 89 struct PacketEvent { |
73 PacketEvent(); | 90 PacketEvent(); |
74 ~PacketEvent(); | 91 ~PacketEvent(); |
75 uint32 frame_id; | 92 uint32 frame_id; |
(...skipping 25 matching lines...) Expand all Loading... |
101 typedef std::map<CastLoggingEvent, GenericEvent> GenericRawMap; | 118 typedef std::map<CastLoggingEvent, GenericEvent> GenericRawMap; |
102 | 119 |
103 typedef std::map<CastLoggingEvent, linked_ptr<FrameLogStats > > FrameStatsMap; | 120 typedef std::map<CastLoggingEvent, linked_ptr<FrameLogStats > > FrameStatsMap; |
104 typedef std::map<CastLoggingEvent, double> PacketStatsMap; | 121 typedef std::map<CastLoggingEvent, double> PacketStatsMap; |
105 typedef std::map<CastLoggingEvent, double> GenericStatsMap; | 122 typedef std::map<CastLoggingEvent, double> GenericStatsMap; |
106 | 123 |
107 } // namespace cast | 124 } // namespace cast |
108 } // namespace media | 125 } // namespace media |
109 | 126 |
110 #endif // MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ | 127 #endif // MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ |
OLD | NEW |