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

Side by Side Diff: media/cast/net/rtcp/rtcp_utility.h

Issue 1709863002: Add Cast PLI support on sender side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 RtcpCastMessage* mutable_cast_message() { return &cast_message_; } 60 RtcpCastMessage* mutable_cast_message() { return &cast_message_; }
61 61
62 bool has_receiver_reference_time_report() const { 62 bool has_receiver_reference_time_report() const {
63 return has_receiver_reference_time_report_; 63 return has_receiver_reference_time_report_;
64 } 64 }
65 const RtcpReceiverReferenceTimeReport& 65 const RtcpReceiverReferenceTimeReport&
66 receiver_reference_time_report() const { 66 receiver_reference_time_report() const {
67 return receiver_reference_time_report_; 67 return receiver_reference_time_report_;
68 } 68 }
69 69
70 bool has_received_pli() const { return received_picture_loss_indicator_; }
miu 2016/02/26 23:36:07 naming consistency: has_picture_loss_indicator() a
xjz 2016/02/27 05:53:32 Done.
71
70 private: 72 private:
71 bool ParseCommonHeader(base::BigEndianReader* reader, 73 bool ParseCommonHeader(base::BigEndianReader* reader,
72 RtcpCommonHeader* parsed_header); 74 RtcpCommonHeader* parsed_header);
73 bool ParseSR(base::BigEndianReader* reader, 75 bool ParseSR(base::BigEndianReader* reader, const RtcpCommonHeader& header);
74 const RtcpCommonHeader& header); 76 bool ParseRR(base::BigEndianReader* reader, const RtcpCommonHeader& header);
75 bool ParseRR(base::BigEndianReader* reader,
76 const RtcpCommonHeader& header);
77 bool ParseReportBlock(base::BigEndianReader* reader); 77 bool ParseReportBlock(base::BigEndianReader* reader);
78 bool ParsePli(base::BigEndianReader* reader, const RtcpCommonHeader& header);
78 bool ParseApplicationDefined(base::BigEndianReader* reader, 79 bool ParseApplicationDefined(base::BigEndianReader* reader,
79 const RtcpCommonHeader& header); 80 const RtcpCommonHeader& header);
80 bool ParseCastReceiverLogFrameItem(base::BigEndianReader* reader); 81 bool ParseCastReceiverLogFrameItem(base::BigEndianReader* reader);
81 bool ParseFeedbackCommon(base::BigEndianReader* reader, 82 bool ParseFeedbackCommon(base::BigEndianReader* reader,
82 const RtcpCommonHeader& header); 83 const RtcpCommonHeader& header);
83 bool ParseExtendedReport(base::BigEndianReader* reader, 84 bool ParseExtendedReport(base::BigEndianReader* reader,
84 const RtcpCommonHeader& header); 85 const RtcpCommonHeader& header);
85 bool ParseExtendedReportReceiverReferenceTimeReport( 86 bool ParseExtendedReportReceiverReferenceTimeReport(
86 base::BigEndianReader* reader, 87 base::BigEndianReader* reader,
87 uint32_t remote_ssrc); 88 uint32_t remote_ssrc);
(...skipping 17 matching lines...) Expand all
105 RtcpCastMessage cast_message_; 106 RtcpCastMessage cast_message_;
106 107
107 bool has_receiver_reference_time_report_; 108 bool has_receiver_reference_time_report_;
108 RtcpReceiverReferenceTimeReport receiver_reference_time_report_; 109 RtcpReceiverReferenceTimeReport receiver_reference_time_report_;
109 110
110 // Tracks recently-parsed RTP timestamps so that the truncated values can be 111 // Tracks recently-parsed RTP timestamps so that the truncated values can be
111 // re-expanded into full-form. 112 // re-expanded into full-form.
112 RtpTimeTicks last_parsed_sr_rtp_timestamp_; 113 RtpTimeTicks last_parsed_sr_rtp_timestamp_;
113 RtpTimeTicks last_parsed_frame_log_rtp_timestamp_; 114 RtpTimeTicks last_parsed_frame_log_rtp_timestamp_;
114 115
116 // Indicates if sender received the PLI request from the receiver.
117 bool received_picture_loss_indicator_;
118
115 DISALLOW_COPY_AND_ASSIGN(RtcpParser); 119 DISALLOW_COPY_AND_ASSIGN(RtcpParser);
116 }; 120 };
117 121
118 // Converts a log event type to an integer value. 122 // Converts a log event type to an integer value.
119 // NOTE: We have only allocated 4 bits to represent the type of event over the 123 // NOTE: We have only allocated 4 bits to represent the type of event over the
120 // wire. Therefore, this function can only return values from 0 to 15. 124 // wire. Therefore, this function can only return values from 0 to 15.
121 uint8_t ConvertEventTypeToWireFormat(CastLoggingEvent event); 125 uint8_t ConvertEventTypeToWireFormat(CastLoggingEvent event);
122 126
123 // The inverse of |ConvertEventTypeToWireFormat()|. 127 // The inverse of |ConvertEventTypeToWireFormat()|.
124 CastLoggingEvent TranslateToLogEventFromWireFormat(uint8_t event); 128 CastLoggingEvent TranslateToLogEventFromWireFormat(uint8_t event);
(...skipping 15 matching lines...) Expand all
140 uint32_t ntp_fractions); 144 uint32_t ntp_fractions);
141 145
142 bool IsRtcpPacket(const uint8_t* packet, size_t length); 146 bool IsRtcpPacket(const uint8_t* packet, size_t length);
143 147
144 uint32_t GetSsrcOfSender(const uint8_t* rtcp_buffer, size_t length); 148 uint32_t GetSsrcOfSender(const uint8_t* rtcp_buffer, size_t length);
145 149
146 } // namespace cast 150 } // namespace cast
147 } // namespace media 151 } // namespace media
148 152
149 #endif // MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_ 153 #endif // MEDIA_CAST_NET_RTCP_RTCP_UTILITY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698