Chromium Code Reviews| 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 static const uint32 kFrameIdUnknown = 0xFFFF; | 18 static const uint32 kFrameIdUnknown = 0xFFFF; |
| 19 | 19 |
| 20 struct CastLoggingConfig { | 20 struct CastLoggingConfig { |
| 21 CastLoggingConfig(); | 21 CastLoggingConfig(bool sender); |
| 22 ~CastLoggingConfig(); | 22 ~CastLoggingConfig(); |
| 23 | 23 |
| 24 bool is_sender; | |
| 24 bool enable_data_collection; | 25 bool enable_data_collection; |
| 25 bool enable_uma_stats; | 26 bool enable_uma_stats; |
| 26 bool enable_tracing; | 27 bool enable_tracing; |
| 27 }; | 28 }; |
| 28 | 29 |
| 29 // By default, enable raw and stats data collection. Disable tracing and UMA. | 30 // By default, enable raw and stats data collection. Disable tracing and UMA. |
| 30 CastLoggingConfig GetDefaultCastLoggingConfig(); | 31 CastLoggingConfig GetDefaultCastSenderLoggingConfig(); |
| 32 CastLoggingConfig GetDefaultCastReceiverLoggingConfig(); | |
| 31 | 33 |
| 32 enum CastLoggingEvent { | 34 enum CastLoggingEvent { |
| 33 // Generic events. | 35 // Generic events. |
| 34 kUnknown, | 36 kUnknown, |
| 35 kRttMs, | 37 kRttMs, |
| 36 kPacketLoss, | 38 kPacketLoss, |
| 37 kJitterMs, | 39 kJitterMs, |
| 38 kAckReceived, | 40 kAckReceived, |
|
mikhal1
2014/01/14 19:57:18
Shouldn't this be divided as well?
pwestin
2014/01/17 23:46:17
In theory yes but we don't log audio acks since we
| |
| 39 kRembBitrate, | 41 kRembBitrate, |
| 40 kAckSent, | 42 kAudioAckSent, |
| 43 kVideoAckSent, | |
| 41 kLastEvent, | 44 kLastEvent, |
| 42 // Audio sender. | 45 // Audio sender. |
| 43 kAudioFrameReceived, | 46 kAudioFrameReceived, |
| 44 kAudioFrameCaptured, | 47 kAudioFrameCaptured, |
| 45 kAudioFrameEncoded, | 48 kAudioFrameEncoded, |
| 46 // Audio receiver. | 49 // Audio receiver. |
| 47 kAudioPlayoutDelay, | 50 kAudioPlayoutDelay, |
| 48 kAudioFrameDecoded, | 51 kAudioFrameDecoded, |
| 49 // Video sender. | 52 // Video sender. |
| 50 kVideoFrameCaptured, | 53 kVideoFrameCaptured, |
| 51 kVideoFrameReceived, | 54 kVideoFrameReceived, |
| 52 kVideoFrameSentToEncoder, | 55 kVideoFrameSentToEncoder, |
| 53 kVideoFrameEncoded, | 56 kVideoFrameEncoded, |
| 54 // Video receiver. | 57 // Video receiver. |
| 55 kVideoFrameDecoded, | 58 kVideoFrameDecoded, |
| 56 kVideoRenderDelay, | 59 kVideoRenderDelay, |
| 57 // Send-side packet events. | 60 // Send-side packet events. |
| 58 kPacketSentToPacer, | 61 kPacketSentToPacer, |
| 59 kPacketSentToNetwork, | 62 kPacketSentToNetwork, |
| 60 kPacketRetransmited, | 63 kPacketRetransmited, |
| 61 // Receive-side packet events. | 64 // Receive-side packet events. |
| 62 kPacketReceived, | 65 kAudioPacketReceived, |
| 66 kVideoPacketReceived, | |
| 63 kDuplicatePacketReceived, | 67 kDuplicatePacketReceived, |
| 64 | 68 |
| 65 kNumOfLoggingEvents, | 69 kNumOfLoggingEvents, |
| 66 }; | 70 }; |
| 67 | 71 |
| 68 std::string CastLoggingToString(CastLoggingEvent event); | 72 std::string CastLoggingToString(CastLoggingEvent event); |
| 69 | 73 |
| 70 struct FrameEvent { | 74 struct FrameEvent { |
| 71 FrameEvent(); | 75 FrameEvent(); |
| 72 ~FrameEvent(); | 76 ~FrameEvent(); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 109 FrameLogStats(); | 113 FrameLogStats(); |
| 110 ~FrameLogStats(); | 114 ~FrameLogStats(); |
| 111 | 115 |
| 112 double framerate_fps; | 116 double framerate_fps; |
| 113 double bitrate_kbps; | 117 double bitrate_kbps; |
| 114 int max_delay_ms; | 118 int max_delay_ms; |
| 115 int min_delay_ms; | 119 int min_delay_ms; |
| 116 int avg_delay_ms; | 120 int avg_delay_ms; |
| 117 }; | 121 }; |
| 118 | 122 |
| 123 struct ReceiverRtcpEvent { | |
| 124 ReceiverRtcpEvent(); | |
| 125 ~ReceiverRtcpEvent(); | |
| 126 | |
| 127 CastLoggingEvent type; | |
| 128 base::TimeTicks timestamp; | |
| 129 base::TimeDelta delay_delta; // Render/playout delay. | |
| 130 uint16 packet_id; | |
| 131 }; | |
| 132 | |
| 119 // Store all log types in a map based on the event. | 133 // Store all log types in a map based on the event. |
| 120 typedef std::map<uint32, FrameEvent> FrameRawMap; | 134 typedef std::map<uint32, FrameEvent> FrameRawMap; |
| 121 typedef std::map<uint32, PacketEvent> PacketRawMap; | 135 typedef std::map<uint32, PacketEvent> PacketRawMap; |
| 122 typedef std::map<CastLoggingEvent, GenericEvent> GenericRawMap; | 136 typedef std::map<CastLoggingEvent, GenericEvent> GenericRawMap; |
| 123 | 137 |
| 138 typedef std::multimap<uint32, ReceiverRtcpEvent> AudioRtcpRawMap; | |
| 139 typedef std::multimap<uint32, ReceiverRtcpEvent> VideoRtcpRawMap; | |
| 140 | |
| 124 typedef std::map<CastLoggingEvent, linked_ptr<FrameLogStats > > FrameStatsMap; | 141 typedef std::map<CastLoggingEvent, linked_ptr<FrameLogStats > > FrameStatsMap; |
| 125 typedef std::map<CastLoggingEvent, double> PacketStatsMap; | 142 typedef std::map<CastLoggingEvent, double> PacketStatsMap; |
| 126 typedef std::map<CastLoggingEvent, double> GenericStatsMap; | 143 typedef std::map<CastLoggingEvent, double> GenericStatsMap; |
| 127 | 144 |
| 128 } // namespace cast | 145 } // namespace cast |
| 129 } // namespace media | 146 } // namespace media |
| 130 | 147 |
| 131 #endif // MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ | 148 #endif // MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ |
| OLD | NEW |