| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_NET_RTCP_RTCP_DEFINES_H_ | 5 #ifndef MEDIA_CAST_NET_RTCP_RTCP_DEFINES_H_ |
| 6 #define MEDIA_CAST_NET_RTCP_RTCP_DEFINES_H_ | 6 #define MEDIA_CAST_NET_RTCP_RTCP_DEFINES_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 kPacketTypeXr = 207, | 41 kPacketTypeXr = 207, |
| 42 kPacketTypeHigh = 210, // Port Mapping. | 42 kPacketTypeHigh = 210, // Port Mapping. |
| 43 }; | 43 }; |
| 44 | 44 |
| 45 // Handle the per frame ACK and NACK messages. | 45 // Handle the per frame ACK and NACK messages. |
| 46 struct RtcpCastMessage { | 46 struct RtcpCastMessage { |
| 47 explicit RtcpCastMessage(uint32_t ssrc); | 47 explicit RtcpCastMessage(uint32_t ssrc); |
| 48 RtcpCastMessage(); | 48 RtcpCastMessage(); |
| 49 ~RtcpCastMessage(); | 49 ~RtcpCastMessage(); |
| 50 | 50 |
| 51 uint32_t media_ssrc; | 51 uint32_t remote_ssrc; |
| 52 uint32_t ack_frame_id; | 52 uint32_t ack_frame_id; |
| 53 uint16_t target_delay_ms; | 53 uint16_t target_delay_ms; |
| 54 MissingFramesAndPacketsMap missing_frames_and_packets; | 54 MissingFramesAndPacketsMap missing_frames_and_packets; |
| 55 // This wrap-around counter is incremented by one for each ACK/NACK Cast | 55 // This wrap-around counter is incremented by one for each ACK/NACK Cast |
| 56 // packet sent. | 56 // packet sent. |
| 57 uint8_t feedback_count; | 57 uint8_t feedback_count; |
| 58 // The set of received frames that have frame IDs strictly equal to or larger | 58 // The set of received frames that have frame IDs strictly equal to or larger |
| 59 // than |ack_frame_id + 2|. | 59 // than |ack_frame_id + 2|. |
| 60 std::vector<uint32_t> received_later_frames; | 60 std::vector<uint32_t> received_later_frames; |
| 61 }; | 61 }; |
| 62 | 62 |
| 63 struct RtcpPliMessage { |
| 64 explicit RtcpPliMessage(uint32_t ssrc); |
| 65 RtcpPliMessage(); |
| 66 |
| 67 uint32_t remote_ssrc; |
| 68 }; |
| 69 |
| 63 // Log messages from receiver to sender. | 70 // Log messages from receiver to sender. |
| 64 struct RtcpReceiverEventLogMessage { | 71 struct RtcpReceiverEventLogMessage { |
| 65 RtcpReceiverEventLogMessage(); | 72 RtcpReceiverEventLogMessage(); |
| 66 ~RtcpReceiverEventLogMessage(); | 73 ~RtcpReceiverEventLogMessage(); |
| 67 | 74 |
| 68 CastLoggingEvent type; | 75 CastLoggingEvent type; |
| 69 base::TimeTicks event_timestamp; | 76 base::TimeTicks event_timestamp; |
| 70 base::TimeDelta delay_delta; | 77 base::TimeDelta delay_delta; |
| 71 uint16_t packet_id; | 78 uint16_t packet_id; |
| 72 }; | 79 }; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 base::TimeDelta delay_delta; | 123 base::TimeDelta delay_delta; |
| 117 | 124 |
| 118 // Only set for packet events. | 125 // Only set for packet events. |
| 119 uint16_t packet_id; | 126 uint16_t packet_id; |
| 120 }; | 127 }; |
| 121 | 128 |
| 122 typedef base::Callback<void(const RtcpCastMessage&)> RtcpCastMessageCallback; | 129 typedef base::Callback<void(const RtcpCastMessage&)> RtcpCastMessageCallback; |
| 123 typedef base::Callback<void(base::TimeDelta)> RtcpRttCallback; | 130 typedef base::Callback<void(base::TimeDelta)> RtcpRttCallback; |
| 124 typedef | 131 typedef |
| 125 base::Callback<void(const RtcpReceiverLogMessage&)> RtcpLogMessageCallback; | 132 base::Callback<void(const RtcpReceiverLogMessage&)> RtcpLogMessageCallback; |
| 133 typedef base::Callback<void()> RtcpPliCallback; |
| 126 | 134 |
| 127 // TODO(hubbe): Document members of this struct. | 135 // TODO(hubbe): Document members of this struct. |
| 128 struct RtpReceiverStatistics { | 136 struct RtpReceiverStatistics { |
| 129 RtpReceiverStatistics(); | 137 RtpReceiverStatistics(); |
| 130 uint8_t fraction_lost; | 138 uint8_t fraction_lost; |
| 131 uint32_t cumulative_lost; // 24 bits valid. | 139 uint32_t cumulative_lost; // 24 bits valid. |
| 132 uint32_t extended_high_sequence_number; | 140 uint32_t extended_high_sequence_number; |
| 133 uint32_t jitter; | 141 uint32_t jitter; |
| 134 }; | 142 }; |
| 135 | 143 |
| 136 // Created on a RTP receiver to be passed over IPC. | 144 // Created on a RTP receiver to be passed over IPC. |
| 137 struct RtcpTimeData { | 145 struct RtcpTimeData { |
| 138 uint32_t ntp_seconds; | 146 uint32_t ntp_seconds; |
| 139 uint32_t ntp_fraction; | 147 uint32_t ntp_fraction; |
| 140 base::TimeTicks timestamp; | 148 base::TimeTicks timestamp; |
| 141 }; | 149 }; |
| 142 | 150 |
| 143 // This struct is used to encapsulate all the parameters of the | 151 // This struct is used to encapsulate all the parameters of the |
| 144 // SendRtcpFromRtpReceiver for IPC transportation. | 152 // SendRtcpFromRtpReceiver for IPC transportation. |
| 145 struct SendRtcpFromRtpReceiver_Params { | 153 struct SendRtcpFromRtpReceiver_Params { |
| 146 SendRtcpFromRtpReceiver_Params(); | 154 SendRtcpFromRtpReceiver_Params(); |
| 147 ~SendRtcpFromRtpReceiver_Params(); | 155 ~SendRtcpFromRtpReceiver_Params(); |
| 148 uint32_t ssrc; | 156 uint32_t ssrc; |
| 149 uint32_t sender_ssrc; | 157 uint32_t sender_ssrc; |
| 150 RtcpTimeData time_data; | 158 RtcpTimeData time_data; |
| 151 scoped_ptr<RtcpCastMessage> cast_message; | 159 scoped_ptr<RtcpCastMessage> cast_message; |
| 160 scoped_ptr<RtcpPliMessage> pli_message; |
| 152 base::TimeDelta target_delay; | 161 base::TimeDelta target_delay; |
| 153 scoped_ptr<std::vector<std::pair<RtpTimeTicks, RtcpEvent>>> rtcp_events; | 162 scoped_ptr<std::vector<std::pair<RtpTimeTicks, RtcpEvent>>> rtcp_events; |
| 154 scoped_ptr<RtpReceiverStatistics> rtp_receiver_statistics; | 163 scoped_ptr<RtpReceiverStatistics> rtp_receiver_statistics; |
| 155 }; | 164 }; |
| 156 | 165 |
| 157 | 166 |
| 158 } // namespace cast | 167 } // namespace cast |
| 159 } // namespace media | 168 } // namespace media |
| 160 | 169 |
| 161 #endif // MEDIA_CAST_NET_RTCP_RTCP_DEFINES_H_ | 170 #endif // MEDIA_CAST_NET_RTCP_RTCP_DEFINES_H_ |
| OLD | NEW |