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_UTILITY_H_ | 5 #ifndef MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_ |
6 #define MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_ | 6 #define MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 bool has_cst2_message() const { return has_cst2_message_; } | 64 bool has_cst2_message() const { return has_cst2_message_; } |
65 | 65 |
66 bool has_receiver_reference_time_report() const { | 66 bool has_receiver_reference_time_report() const { |
67 return has_receiver_reference_time_report_; | 67 return has_receiver_reference_time_report_; |
68 } | 68 } |
69 const RtcpReceiverReferenceTimeReport& | 69 const RtcpReceiverReferenceTimeReport& |
70 receiver_reference_time_report() const { | 70 receiver_reference_time_report() const { |
71 return receiver_reference_time_report_; | 71 return receiver_reference_time_report_; |
72 } | 72 } |
73 | 73 |
| 74 bool has_picture_loss_indicator() const { |
| 75 return has_picture_loss_indicator_; |
| 76 } |
| 77 |
74 private: | 78 private: |
75 bool ParseCommonHeader(base::BigEndianReader* reader, | 79 bool ParseCommonHeader(base::BigEndianReader* reader, |
76 RtcpCommonHeader* parsed_header); | 80 RtcpCommonHeader* parsed_header); |
77 bool ParseSR(base::BigEndianReader* reader, | 81 bool ParseSR(base::BigEndianReader* reader, const RtcpCommonHeader& header); |
78 const RtcpCommonHeader& header); | 82 bool ParseRR(base::BigEndianReader* reader, const RtcpCommonHeader& header); |
79 bool ParseRR(base::BigEndianReader* reader, | |
80 const RtcpCommonHeader& header); | |
81 bool ParseReportBlock(base::BigEndianReader* reader); | 83 bool ParseReportBlock(base::BigEndianReader* reader); |
| 84 bool ParsePli(base::BigEndianReader* reader, const RtcpCommonHeader& header); |
82 bool ParseApplicationDefined(base::BigEndianReader* reader, | 85 bool ParseApplicationDefined(base::BigEndianReader* reader, |
83 const RtcpCommonHeader& header); | 86 const RtcpCommonHeader& header); |
84 bool ParseCastReceiverLogFrameItem(base::BigEndianReader* reader); | 87 bool ParseCastReceiverLogFrameItem(base::BigEndianReader* reader); |
85 bool ParseFeedbackCommon(base::BigEndianReader* reader, | 88 bool ParseFeedbackCommon(base::BigEndianReader* reader, |
86 const RtcpCommonHeader& header); | 89 const RtcpCommonHeader& header); |
87 bool ParseExtendedReport(base::BigEndianReader* reader, | 90 bool ParseExtendedReport(base::BigEndianReader* reader, |
88 const RtcpCommonHeader& header); | 91 const RtcpCommonHeader& header); |
89 bool ParseExtendedReportReceiverReferenceTimeReport( | 92 bool ParseExtendedReportReceiverReferenceTimeReport( |
90 base::BigEndianReader* reader, | 93 base::BigEndianReader* reader, |
91 uint32_t remote_ssrc); | 94 uint32_t remote_ssrc); |
(...skipping 18 matching lines...) Expand all Loading... |
110 bool has_cst2_message_; | 113 bool has_cst2_message_; |
111 | 114 |
112 bool has_receiver_reference_time_report_; | 115 bool has_receiver_reference_time_report_; |
113 RtcpReceiverReferenceTimeReport receiver_reference_time_report_; | 116 RtcpReceiverReferenceTimeReport receiver_reference_time_report_; |
114 | 117 |
115 // Tracks recently-parsed RTP timestamps so that the truncated values can be | 118 // Tracks recently-parsed RTP timestamps so that the truncated values can be |
116 // re-expanded into full-form. | 119 // re-expanded into full-form. |
117 RtpTimeTicks last_parsed_sr_rtp_timestamp_; | 120 RtpTimeTicks last_parsed_sr_rtp_timestamp_; |
118 RtpTimeTicks last_parsed_frame_log_rtp_timestamp_; | 121 RtpTimeTicks last_parsed_frame_log_rtp_timestamp_; |
119 | 122 |
| 123 // Indicates if sender received the Pli message from the receiver. |
| 124 bool has_picture_loss_indicator_; |
| 125 |
120 DISALLOW_COPY_AND_ASSIGN(RtcpParser); | 126 DISALLOW_COPY_AND_ASSIGN(RtcpParser); |
121 }; | 127 }; |
122 | 128 |
123 // Converts a log event type to an integer value. | 129 // Converts a log event type to an integer value. |
124 // NOTE: We have only allocated 4 bits to represent the type of event over the | 130 // NOTE: We have only allocated 4 bits to represent the type of event over the |
125 // wire. Therefore, this function can only return values from 0 to 15. | 131 // wire. Therefore, this function can only return values from 0 to 15. |
126 uint8_t ConvertEventTypeToWireFormat(CastLoggingEvent event); | 132 uint8_t ConvertEventTypeToWireFormat(CastLoggingEvent event); |
127 | 133 |
128 // The inverse of |ConvertEventTypeToWireFormat()|. | 134 // The inverse of |ConvertEventTypeToWireFormat()|. |
129 CastLoggingEvent TranslateToLogEventFromWireFormat(uint8_t event); | 135 CastLoggingEvent TranslateToLogEventFromWireFormat(uint8_t event); |
(...skipping 19 matching lines...) Expand all Loading... |
149 uint32_t ntp_fractions); | 155 uint32_t ntp_fractions); |
150 | 156 |
151 bool IsRtcpPacket(const uint8_t* packet, size_t length); | 157 bool IsRtcpPacket(const uint8_t* packet, size_t length); |
152 | 158 |
153 uint32_t GetSsrcOfSender(const uint8_t* rtcp_buffer, size_t length); | 159 uint32_t GetSsrcOfSender(const uint8_t* rtcp_buffer, size_t length); |
154 | 160 |
155 } // namespace cast | 161 } // namespace cast |
156 } // namespace media | 162 } // namespace media |
157 | 163 |
158 #endif // MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_ | 164 #endif // MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_ |
OLD | NEW |