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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_receiver.h

Issue 1362923002: Revert of Wire up send-side bandwidth estimation. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Manual merge of revert Created 5 years, 3 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 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 16 matching lines...) Expand all
27 class ModuleRtpRtcpImpl; 27 class ModuleRtpRtcpImpl;
28 28
29 class RTCPReceiver : public TMMBRHelp 29 class RTCPReceiver : public TMMBRHelp
30 { 30 {
31 public: 31 public:
32 RTCPReceiver(Clock* clock, 32 RTCPReceiver(Clock* clock,
33 bool receiver_only, 33 bool receiver_only,
34 RtcpPacketTypeCounterObserver* packet_type_counter_observer, 34 RtcpPacketTypeCounterObserver* packet_type_counter_observer,
35 RtcpBandwidthObserver* rtcp_bandwidth_observer, 35 RtcpBandwidthObserver* rtcp_bandwidth_observer,
36 RtcpIntraFrameObserver* rtcp_intra_frame_observer, 36 RtcpIntraFrameObserver* rtcp_intra_frame_observer,
37 TransportFeedbackObserver* transport_feedback_observer,
38 ModuleRtpRtcpImpl* owner); 37 ModuleRtpRtcpImpl* owner);
39 virtual ~RTCPReceiver(); 38 virtual ~RTCPReceiver();
40 39
41 RTCPMethod Status() const; 40 RTCPMethod Status() const;
42 void SetRTCPStatus(RTCPMethod method); 41 void SetRTCPStatus(RTCPMethod method);
43 42
44 int64_t LastReceived(); 43 int64_t LastReceived();
45 int64_t LastReceivedReceiverReport() const; 44 int64_t LastReceivedReceiverReport() const;
46 45
47 void SetSsrcs(uint32_t main_ssrc, 46 void SetSsrcs(uint32_t main_ssrc,
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 void HandleFIRItem(RTCPHelp::RTCPReceiveInformation* receiveInfo, 209 void HandleFIRItem(RTCPHelp::RTCPReceiveInformation* receiveInfo,
211 const RTCPUtility::RTCPPacket& rtcpPacket, 210 const RTCPUtility::RTCPPacket& rtcpPacket,
212 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); 211 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation);
213 212
214 void HandleAPP(RTCPUtility::RTCPParserV2& rtcpParser, 213 void HandleAPP(RTCPUtility::RTCPParserV2& rtcpParser,
215 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); 214 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation);
216 215
217 void HandleAPPItem(RTCPUtility::RTCPParserV2& rtcpParser, 216 void HandleAPPItem(RTCPUtility::RTCPParserV2& rtcpParser,
218 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation); 217 RTCPHelp::RTCPPacketInformation& rtcpPacketInformation);
219 218
220 void HandleTransportFeedback(
221 RTCPUtility::RTCPParserV2* rtcp_parser,
222 RTCPHelp::RTCPPacketInformation* rtcp_packet_information);
223
224 private: 219 private:
225 typedef std::map<uint32_t, RTCPHelp::RTCPReceiveInformation*> 220 typedef std::map<uint32_t, RTCPHelp::RTCPReceiveInformation*>
226 ReceivedInfoMap; 221 ReceivedInfoMap;
227 // RTCP report block information mapped by remote SSRC. 222 // RTCP report block information mapped by remote SSRC.
228 typedef std::map<uint32_t, RTCPHelp::RTCPReportBlockInformation*> 223 typedef std::map<uint32_t, RTCPHelp::RTCPReportBlockInformation*>
229 ReportBlockInfoMap; 224 ReportBlockInfoMap;
230 // RTCP report block information map mapped by source SSRC. 225 // RTCP report block information map mapped by source SSRC.
231 typedef std::map<uint32_t, ReportBlockInfoMap> ReportBlockMap; 226 typedef std::map<uint32_t, ReportBlockInfoMap> ReportBlockMap;
232 227
233 RTCPHelp::RTCPReportBlockInformation* CreateOrGetReportBlockInformation( 228 RTCPHelp::RTCPReportBlockInformation* CreateOrGetReportBlockInformation(
234 uint32_t remote_ssrc, uint32_t source_ssrc) 229 uint32_t remote_ssrc, uint32_t source_ssrc)
235 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); 230 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver);
236 RTCPHelp::RTCPReportBlockInformation* GetReportBlockInformation( 231 RTCPHelp::RTCPReportBlockInformation* GetReportBlockInformation(
237 uint32_t remote_ssrc, uint32_t source_ssrc) const 232 uint32_t remote_ssrc, uint32_t source_ssrc) const
238 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver); 233 EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPReceiver);
239 234
240 Clock* const _clock; 235 Clock* const _clock;
241 const bool receiver_only_; 236 const bool receiver_only_;
242 RTCPMethod _method; 237 RTCPMethod _method;
243 int64_t _lastReceived; 238 int64_t _lastReceived;
244 ModuleRtpRtcpImpl& _rtpRtcp; 239 ModuleRtpRtcpImpl& _rtpRtcp;
245 240
246 CriticalSectionWrapper* _criticalSectionFeedbacks; 241 CriticalSectionWrapper* _criticalSectionFeedbacks;
247 RtcpBandwidthObserver* const _cbRtcpBandwidthObserver; 242 RtcpBandwidthObserver* const _cbRtcpBandwidthObserver;
248 RtcpIntraFrameObserver* const _cbRtcpIntraFrameObserver; 243 RtcpIntraFrameObserver* const _cbRtcpIntraFrameObserver;
249 TransportFeedbackObserver* const _cbTransportFeedbackObserver;
250 244
251 CriticalSectionWrapper* _criticalSectionRTCPReceiver; 245 CriticalSectionWrapper* _criticalSectionRTCPReceiver;
252 uint32_t main_ssrc_; 246 uint32_t main_ssrc_;
253 uint32_t _remoteSSRC; 247 uint32_t _remoteSSRC;
254 std::set<uint32_t> registered_ssrcs_; 248 std::set<uint32_t> registered_ssrcs_;
255 249
256 // Received send report 250 // Received send report
257 RTCPSenderInfo _remoteSenderInfo; 251 RTCPSenderInfo _remoteSenderInfo;
258 // when did we receive the last send report 252 // when did we receive the last send report
259 uint32_t _lastReceivedSRNTPsecs; 253 uint32_t _lastReceivedSRNTPsecs;
(...skipping 21 matching lines...) Expand all
281 // The time we last received an RTCP RR telling we have successfully 275 // The time we last received an RTCP RR telling we have successfully
282 // delivered RTP packet to the remote side. 276 // delivered RTP packet to the remote side.
283 int64_t _lastIncreasedSequenceNumberMs; 277 int64_t _lastIncreasedSequenceNumberMs;
284 278
285 RtcpStatisticsCallback* stats_callback_ GUARDED_BY(_criticalSectionFeedbacks); 279 RtcpStatisticsCallback* stats_callback_ GUARDED_BY(_criticalSectionFeedbacks);
286 280
287 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_; 281 RtcpPacketTypeCounterObserver* const packet_type_counter_observer_;
288 RtcpPacketTypeCounter packet_type_counter_; 282 RtcpPacketTypeCounter packet_type_counter_;
289 283
290 RTCPUtility::NackStats nack_stats_; 284 RTCPUtility::NackStats nack_stats_;
291
292 size_t num_skipped_packets_;
293 int64_t last_skipped_packets_warning_;
294 }; 285 };
295 } // namespace webrtc 286 } // namespace webrtc
296 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ 287 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet.h ('k') | webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698