summaryrefslogtreecommitdiff
path: root/modules/rtp_rtcp/source/rtcp_sender.h
diff options
context:
space:
mode:
authorAndroid Chromium Automerger <chromium-automerger@android>2014-07-16 14:53:18 +0000
committerAndroid Chromium Automerger <chromium-automerger@android>2014-07-16 14:53:18 +0000
commitf3d27028ce9a280c02c286f9b98adf1e476c03d2 (patch)
treedca7e434477e7454b81894977f75e455af4cc0dc /modules/rtp_rtcp/source/rtcp_sender.h
parent477e6bce6816b8bb433c2e6c44b377bdc766a3b3 (diff)
parent82383d9b14ff8e5fedf5a70229eb0ac6b512909a (diff)
downloadwebrtc-f3d27028ce9a280c02c286f9b98adf1e476c03d2.tar.gz
Merge third_party/webrtc from https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git at 82383d9b14ff8e5fedf5a70229eb0ac6b512909a
This commit was generated by merge_from_chromium.py. Change-Id: I8c578be801fa38420e875a4a8cef17e7522252e2
Diffstat (limited to 'modules/rtp_rtcp/source/rtcp_sender.h')
-rw-r--r--modules/rtp_rtcp/source/rtcp_sender.h182
1 files changed, 99 insertions, 83 deletions
diff --git a/modules/rtp_rtcp/source/rtcp_sender.h b/modules/rtp_rtcp/source/rtcp_sender.h
index cbbc32aa..fad3b5e3 100644
--- a/modules/rtp_rtcp/source/rtcp_sender.h
+++ b/modules/rtp_rtcp/source/rtcp_sender.h
@@ -23,6 +23,7 @@
#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
#include "webrtc/modules/rtp_rtcp/source/tmmbr_help.h"
#include "webrtc/system_wrappers/interface/scoped_ptr.h"
+#include "webrtc/system_wrappers/interface/thread_annotations.h"
#include "webrtc/typedefs.h"
namespace webrtc {
@@ -74,10 +75,6 @@ public:
ReceiveStatistics* receive_statistics);
virtual ~RTCPSender();
- void ChangeUniqueId(const int32_t id);
-
- int32_t Init();
-
int32_t RegisterSendTransport(Transport* outgoingTransport);
RTCPMethod Status() const;
@@ -100,7 +97,6 @@ public:
int32_t SetCameraDelay(const int32_t delayMS);
- int32_t CNAME(char cName[RTCP_CNAME_SIZE]);
int32_t SetCNAME(const char cName[RTCP_CNAME_SIZE]);
int32_t AddMixedCNAME(const uint32_t SSRC,
@@ -185,13 +181,12 @@ public:
private:
int32_t SendToNetwork(const uint8_t* dataBuffer, const uint16_t length);
- void UpdatePacketRate();
-
int32_t WriteAllReportBlocksToBuffer(uint8_t* rtcpbuffer,
int pos,
uint8_t& numberOfReportBlocks,
const uint32_t NTPsec,
- const uint32_t NTPfrac);
+ const uint32_t NTPfrac)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int32_t WriteReportBlocksToBuffer(
uint8_t* rtcpbuffer,
@@ -212,12 +207,14 @@ private:
uint8_t* rtcpbuffer,
int& pos,
uint32_t NTPsec,
- uint32_t NTPfrac);
+ uint32_t NTPfrac)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int32_t BuildRR(uint8_t* rtcpbuffer,
int& pos,
const uint32_t NTPsec,
- const uint32_t NTPfrac);
+ const uint32_t NTPfrac)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int PrepareRTCP(
const FeedbackState& feedback_state,
@@ -234,117 +231,136 @@ private:
int32_t BuildExtendedJitterReport(
uint8_t* rtcpbuffer,
int& pos,
- const uint32_t jitterTransmissionTimeOffset);
-
- int32_t BuildSDEC(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildPLI(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildREMB(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildTMMBR(ModuleRtpRtcpImpl* module,
- uint8_t* rtcpbuffer,
- int& pos);
- int32_t BuildTMMBN(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildAPP(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildVoIPMetric(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildBYE(uint8_t* rtcpbuffer, int& pos);
- int32_t BuildFIR(uint8_t* rtcpbuffer, int& pos, bool repeat);
- int32_t BuildSLI(uint8_t* rtcpbuffer,
- int& pos,
- const uint8_t pictureID);
+ const uint32_t jitterTransmissionTimeOffset)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+
+ int32_t BuildSDEC(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildPLI(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildREMB(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildTMMBR(ModuleRtpRtcpImpl* module, uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildTMMBN(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildAPP(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildVoIPMetric(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildBYE(uint8_t* rtcpbuffer, int& pos)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildFIR(uint8_t* rtcpbuffer, int& pos, bool repeat)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
+ int32_t BuildSLI(uint8_t* rtcpbuffer, int& pos, const uint8_t pictureID)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int32_t BuildRPSI(uint8_t* rtcpbuffer,
int& pos,
const uint64_t pictureID,
- const uint8_t payloadType);
+ const uint8_t payloadType)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int32_t BuildNACK(uint8_t* rtcpbuffer,
int& pos,
const int32_t nackSize,
const uint16_t* nackList,
- std::string* nackString);
-
+ std::string* nackString)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int32_t BuildReceiverReferenceTime(uint8_t* buffer,
int& pos,
uint32_t ntp_sec,
- uint32_t ntp_frac);
+ uint32_t ntp_frac)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
int32_t BuildDlrr(uint8_t* buffer,
int& pos,
- const RtcpReceiveTimeInfo& info);
+ const RtcpReceiveTimeInfo& info)
+ EXCLUSIVE_LOCKS_REQUIRED(_criticalSectionRTCPSender);
private:
- int32_t _id;
+ const int32_t _id;
const bool _audio;
- Clock* _clock;
- RTCPMethod _method;
+ Clock* const _clock;
+ RTCPMethod _method GUARDED_BY(_criticalSectionRTCPSender);
CriticalSectionWrapper* _criticalSectionTransport;
- Transport* _cbTransport;
+ Transport* _cbTransport GUARDED_BY(_criticalSectionTransport);
CriticalSectionWrapper* _criticalSectionRTCPSender;
- bool _usingNack;
- bool _sending;
- bool _sendTMMBN;
- bool _REMB;
- bool _sendREMB;
- bool _TMMBR;
- bool _IJ;
-
- int64_t _nextTimeToSendRTCP;
-
- uint32_t start_timestamp_;
- uint32_t last_rtp_timestamp_;
- int64_t last_frame_capture_time_ms_;
- uint32_t _SSRC;
- uint32_t _remoteSSRC; // SSRC that we receive on our RTP channel
- char _CNAME[RTCP_CNAME_SIZE];
-
-
- ReceiveStatistics* receive_statistics_;
- std::map<uint32_t, RTCPReportBlock*> internal_report_blocks_;
- std::map<uint32_t, RTCPReportBlock*> external_report_blocks_;
- std::map<uint32_t, RTCPUtility::RTCPCnameInformation*> _csrcCNAMEs;
-
- int32_t _cameraDelayMS;
+ bool _usingNack GUARDED_BY(_criticalSectionRTCPSender);
+ bool _sending GUARDED_BY(_criticalSectionRTCPSender);
+ bool _sendTMMBN GUARDED_BY(_criticalSectionRTCPSender);
+ bool _REMB GUARDED_BY(_criticalSectionRTCPSender);
+ bool _sendREMB GUARDED_BY(_criticalSectionRTCPSender);
+ bool _TMMBR GUARDED_BY(_criticalSectionRTCPSender);
+ bool _IJ GUARDED_BY(_criticalSectionRTCPSender);
+
+ int64_t _nextTimeToSendRTCP GUARDED_BY(_criticalSectionRTCPSender);
+
+ uint32_t start_timestamp_ GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t last_rtp_timestamp_ GUARDED_BY(_criticalSectionRTCPSender);
+ int64_t last_frame_capture_time_ms_ GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t _SSRC GUARDED_BY(_criticalSectionRTCPSender);
+ // SSRC that we receive on our RTP channel
+ uint32_t _remoteSSRC GUARDED_BY(_criticalSectionRTCPSender);
+ char _CNAME[RTCP_CNAME_SIZE] GUARDED_BY(_criticalSectionRTCPSender);
+
+ ReceiveStatistics* receive_statistics_
+ GUARDED_BY(_criticalSectionRTCPSender);
+ std::map<uint32_t, RTCPReportBlock*> internal_report_blocks_
+ GUARDED_BY(_criticalSectionRTCPSender);
+ std::map<uint32_t, RTCPReportBlock*> external_report_blocks_
+ GUARDED_BY(_criticalSectionRTCPSender);
+ std::map<uint32_t, RTCPUtility::RTCPCnameInformation*> _csrcCNAMEs
+ GUARDED_BY(_criticalSectionRTCPSender);
+
+ int32_t _cameraDelayMS GUARDED_BY(_criticalSectionRTCPSender);
// Sent
- uint32_t _lastSendReport[RTCP_NUMBER_OF_SR]; // allow packet loss and RTT above 1 sec
- uint32_t _lastRTCPTime[RTCP_NUMBER_OF_SR];
+ uint32_t _lastSendReport[RTCP_NUMBER_OF_SR] GUARDED_BY(
+ _criticalSectionRTCPSender); // allow packet loss and RTT above 1 sec
+ uint32_t _lastRTCPTime[RTCP_NUMBER_OF_SR] GUARDED_BY(
+ _criticalSectionRTCPSender);
// Sent XR receiver reference time report.
// <mid ntp (mid 32 bits of the 64 bits NTP timestamp), send time in ms>.
- std::map<uint32_t, int64_t> last_xr_rr_;
+ std::map<uint32_t, int64_t> last_xr_rr_
+ GUARDED_BY(_criticalSectionRTCPSender);
// send CSRCs
- uint8_t _CSRCs;
- uint32_t _CSRC[kRtpCsrcSize];
- bool _includeCSRCs;
+ uint8_t _CSRCs GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t _CSRC[kRtpCsrcSize] GUARDED_BY(_criticalSectionRTCPSender);
+ bool _includeCSRCs GUARDED_BY(_criticalSectionRTCPSender);
// Full intra request
- uint8_t _sequenceNumberFIR;
+ uint8_t _sequenceNumberFIR GUARDED_BY(_criticalSectionRTCPSender);
- // REMB
- uint8_t _lengthRembSSRC;
- uint8_t _sizeRembSSRC;
- uint32_t* _rembSSRC;
- uint32_t _rembBitrate;
+ // REMB
+ uint8_t _lengthRembSSRC GUARDED_BY(_criticalSectionRTCPSender);
+ uint8_t _sizeRembSSRC GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t* _rembSSRC GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t _rembBitrate GUARDED_BY(_criticalSectionRTCPSender);
- TMMBRHelp _tmmbrHelp;
- uint32_t _tmmbr_Send;
- uint32_t _packetOH_Send;
+ TMMBRHelp _tmmbrHelp GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t _tmmbr_Send GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t _packetOH_Send GUARDED_BY(_criticalSectionRTCPSender);
// APP
- bool _appSend;
- uint8_t _appSubType;
- uint32_t _appName;
- uint8_t* _appData;
- uint16_t _appLength;
+ bool _appSend GUARDED_BY(_criticalSectionRTCPSender);
+ uint8_t _appSubType GUARDED_BY(_criticalSectionRTCPSender);
+ uint32_t _appName GUARDED_BY(_criticalSectionRTCPSender);
+ uint8_t* _appData GUARDED_BY(_criticalSectionRTCPSender);
+ uint16_t _appLength GUARDED_BY(_criticalSectionRTCPSender);
// True if sending of XR Receiver reference time report is enabled.
- bool xrSendReceiverReferenceTimeEnabled_;
+ bool xrSendReceiverReferenceTimeEnabled_
+ GUARDED_BY(_criticalSectionRTCPSender);
// XR VoIP metric
- bool _xrSendVoIPMetric;
- RTCPVoIPMetric _xrVoIPMetric;
+ bool _xrSendVoIPMetric GUARDED_BY(_criticalSectionRTCPSender);
+ RTCPVoIPMetric _xrVoIPMetric GUARDED_BY(_criticalSectionRTCPSender);
- RtcpPacketTypeCounter packet_type_counter_;
+ RtcpPacketTypeCounter packet_type_counter_
+ GUARDED_BY(_criticalSectionRTCPSender);
};
} // namespace webrtc