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_RTCP_RTCP_DEFINES_H_ | 5 #ifndef MEDIA_CAST_RTCP_RTCP_DEFINES_H_ |
6 #define MEDIA_CAST_RTCP_RTCP_DEFINES_H_ | 6 #define MEDIA_CAST_RTCP_RTCP_DEFINES_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
11 | 11 |
12 #include "media/cast/cast_config.h" | 12 #include "media/cast/cast_config.h" |
13 #include "media/cast/cast_defines.h" | 13 #include "media/cast/cast_defines.h" |
| 14 #include "media/cast/logging/logging_defines.h" |
14 | 15 |
15 namespace media { | 16 namespace media { |
16 namespace cast { | 17 namespace cast { |
17 | 18 |
| 19 // Handle the per frame ACK and NACK messages. |
18 class RtcpCastMessage { | 20 class RtcpCastMessage { |
19 public: | 21 public: |
20 explicit RtcpCastMessage(uint32 media_ssrc); | 22 explicit RtcpCastMessage(uint32 media_ssrc); |
21 ~RtcpCastMessage(); | 23 ~RtcpCastMessage(); |
22 | 24 |
23 uint32 media_ssrc_; | 25 uint32 media_ssrc_; |
24 uint32 ack_frame_id_; | 26 uint32 ack_frame_id_; |
25 MissingFramesAndPacketsMap missing_frames_and_packets_; | 27 MissingFramesAndPacketsMap missing_frames_and_packets_; |
26 }; | 28 }; |
27 | 29 |
| 30 // Log messages form sender to receiver. |
| 31 enum RtcpSenderFrameStatus { |
| 32 kRtcpSenderFrameStatusUnknown = 0, |
| 33 kRtcpSenderFrameStatusDroppedByEncoder = 1, |
| 34 kRtcpSenderFrameStatusDroppedByFlowControl = 2, |
| 35 kRtcpSenderFrameStatusSentToNetwork = 3, |
| 36 }; |
| 37 |
| 38 struct RtcpSenderFrameLogMessage { |
| 39 RtcpSenderFrameStatus frame_status; |
| 40 uint32 rtp_timestamp; |
| 41 }; |
| 42 |
| 43 typedef std::list<RtcpSenderFrameLogMessage> RtcpSenderLogMessage; |
| 44 |
| 45 // Log messages from receiver to sender. |
| 46 struct RtcpReceiverEventLogMessage { |
| 47 CastLoggingEvent type; |
| 48 base::TimeTicks event_timestamp; |
| 49 base::TimeDelta delay_delta; |
| 50 uint16 packet_id; |
| 51 }; |
| 52 |
| 53 class RtcpReceiverFrameLogMessage { |
| 54 public: |
| 55 RtcpReceiverFrameLogMessage(); |
| 56 ~RtcpReceiverFrameLogMessage(); |
| 57 |
| 58 uint32 rtp_timestamp; |
| 59 std::list<RtcpReceiverEventLogMessage> event_log_messages; |
| 60 }; |
| 61 |
| 62 typedef std::list<RtcpReceiverFrameLogMessage> RtcpReceiverLogMessage; |
| 63 |
28 struct RtcpSenderInfo { | 64 struct RtcpSenderInfo { |
29 // First three members are used for lipsync. | 65 // First three members are used for lipsync. |
30 // First two members are used for rtt. | 66 // First two members are used for rtt. |
31 uint32 ntp_seconds; | 67 uint32 ntp_seconds; |
32 uint32 ntp_fraction; | 68 uint32 ntp_fraction; |
33 uint32 rtp_timestamp; | 69 uint32 rtp_timestamp; |
34 uint32 send_packet_count; | 70 uint32 send_packet_count; |
35 size_t send_octet_count; | 71 size_t send_octet_count; |
36 }; | 72 }; |
37 | 73 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 RtcpReceiverReferenceTimeReport rhs) { | 140 RtcpReceiverReferenceTimeReport rhs) { |
105 return lhs.remote_ssrc == rhs.remote_ssrc && | 141 return lhs.remote_ssrc == rhs.remote_ssrc && |
106 lhs.ntp_seconds == rhs.ntp_seconds && | 142 lhs.ntp_seconds == rhs.ntp_seconds && |
107 lhs.ntp_fraction == rhs.ntp_fraction; | 143 lhs.ntp_fraction == rhs.ntp_fraction; |
108 } | 144 } |
109 | 145 |
110 } // namespace cast | 146 } // namespace cast |
111 } // namespace media | 147 } // namespace media |
112 | 148 |
113 #endif // MEDIA_CAST_RTCP_RTCP_DEFINES_H_ | 149 #endif // MEDIA_CAST_RTCP_RTCP_DEFINES_H_ |
OLD | NEW |