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

Side by Side Diff: media/cast/logging/logging_defines.h

Issue 270493003: Cast: Deduplicate event types in cast library. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 7 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 unified diff | Download patch
OLDNEW
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/time/time.h" 12 #include "base/time/time.h"
13 13
14 namespace media { 14 namespace media {
15 namespace cast { 15 namespace cast {
16 16
17 static const uint32 kFrameIdUnknown = 0xFFFFFFFF; 17 static const uint32 kFrameIdUnknown = 0xFFFFFFFF;
18 18
19 typedef uint32 RtpTimestamp; 19 typedef uint32 RtpTimestamp;
20 20
21 enum CastLoggingEvent { 21 enum CastLoggingEvent {
22 kUnknown, 22 UNKNOWN,
23 // Generic events. These are no longer used. 23 // Sender side frame events.
24 kRttMs, 24 FRAME_CAPTURE_BEGIN,
25 kPacketLoss, 25 FRAME_CAPTURE_END,
26 kJitterMs, 26 FRAME_ENCODED,
27 kVideoAckReceived, // Sender side frame event. 27 FRAME_ACK_RECEIVED,
28 kRembBitrate, // Generic event. No longer used.
29 // Receiver side frame events. 28 // Receiver side frame events.
30 kAudioAckSent, 29 FRAME_ACK_SENT,
31 kVideoAckSent, 30 FRAME_DECODED,
32 // Audio sender. 31 FRAME_PLAYOUT,
33 kAudioFrameCaptureBegin, 32 // Sender side packet events.
34 kAudioFrameCaptureEnd, 33 PACKET_SENT_TO_NETWORK,
35 kAudioFrameEncoded, 34 PACKET_RETRANSMITTED,
36 // Audio receiver. 35 // Receiver side packet events.
37 kAudioFrameDecoded, 36 PACKET_RECEIVED,
38 kAudioPlayoutDelay, 37 kNumOfLoggingEvents = PACKET_RECEIVED
39 // Video sender.
40 kVideoFrameCaptureBegin,
41 kVideoFrameCaptureEnd,
42 kVideoFrameSentToEncoder, // Deprecated
43 kVideoFrameEncoded,
44 // Video receiver.
45 kVideoFrameDecoded,
46 kVideoRenderDelay,
47 // Send-side packet events.
48 kAudioPacketSentToNetwork,
49 kVideoPacketSentToNetwork,
50 kAudioPacketRetransmitted,
51 kVideoPacketRetransmitted,
52 // Receive-side packet events.
53 kAudioPacketReceived,
54 kVideoPacketReceived,
55 kDuplicateAudioPacketReceived,
56 kDuplicateVideoPacketReceived,
57 kNumOfLoggingEvents = kDuplicateVideoPacketReceived
58 }; 38 };
59 39
60 const char* CastLoggingToString(CastLoggingEvent event); 40 const char* CastLoggingToString(CastLoggingEvent event);
61 41
62 // CastLoggingEvent are classified into one of three following types. 42 // CastLoggingEvent are classified into one of three following types.
63 enum EventMediaType { AUDIO_EVENT, VIDEO_EVENT, OTHER_EVENT }; 43 enum EventMediaType { AUDIO_EVENT, VIDEO_EVENT, UNKNOWN_EVENT };
64
65 EventMediaType GetEventMediaType(CastLoggingEvent event);
66 44
67 struct FrameEvent { 45 struct FrameEvent {
68 FrameEvent(); 46 FrameEvent();
69 ~FrameEvent(); 47 ~FrameEvent();
70 48
71 RtpTimestamp rtp_timestamp; 49 RtpTimestamp rtp_timestamp;
72 uint32 frame_id; 50 uint32 frame_id;
73 // Size of encoded frame. Only set for kVideoFrameEncoded event. 51
52 // Size of encoded frame. Only set for FRAME_ENCODED event.
74 size_t size; 53 size_t size;
75 54
76 // Time of event logged. 55 // Time of event logged.
77 base::TimeTicks timestamp; 56 base::TimeTicks timestamp;
78 57
79 CastLoggingEvent type; 58 CastLoggingEvent type;
80 59
81 // Render / playout delay. Only set for kAudioPlayoutDelay and 60 EventMediaType media_type;
82 // kVideoRenderDelay events. 61
62 // Render / playout delay. Only set for FRAME_PLAYOUT events.
83 base::TimeDelta delay_delta; 63 base::TimeDelta delay_delta;
84 64
85 // Whether the frame is a key frame. Only set for kVideoFrameEncoded event. 65 // Whether the frame is a key frame. Only set for video FRAME_ENCODED event.
86 bool key_frame; 66 bool key_frame;
87 67
88 // The requested target bitrate of the encoder at the time the frame is 68 // The requested target bitrate of the encoder at the time the frame is
89 // encoded. Only set for kVideoFrameEncoded event. 69 // encoded. Only set for video FRAME_ENCODED event.
90 int target_bitrate; 70 int target_bitrate;
91 }; 71 };
92 72
93 struct PacketEvent { 73 struct PacketEvent {
94 PacketEvent(); 74 PacketEvent();
95 ~PacketEvent(); 75 ~PacketEvent();
96 76
97 RtpTimestamp rtp_timestamp; 77 RtpTimestamp rtp_timestamp;
98 uint32 frame_id; 78 uint32 frame_id;
99 uint16 max_packet_id; 79 uint16 max_packet_id;
100 uint16 packet_id; 80 uint16 packet_id;
101 size_t size; 81 size_t size;
102 82
103 // Time of event logged. 83 // Time of event logged.
104 base::TimeTicks timestamp; 84 base::TimeTicks timestamp;
105 CastLoggingEvent type; 85 CastLoggingEvent type;
86 EventMediaType media_type;
106 }; 87 };
107 88
108 } // namespace cast 89 } // namespace cast
109 } // namespace media 90 } // namespace media
110 91
111 #endif // MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_ 92 #endif // MEDIA_CAST_LOGGING_LOGGING_DEFINES_H_
OLDNEW
« no previous file with comments | « media/cast/logging/encoding_event_subscriber_unittest.cc ('k') | media/cast/logging/logging_defines.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698