diff options
author | Android Chromium Automerger <chromium-automerger@android> | 2014-07-16 14:53:18 +0000 |
---|---|---|
committer | Android Chromium Automerger <chromium-automerger@android> | 2014-07-16 14:53:18 +0000 |
commit | f3d27028ce9a280c02c286f9b98adf1e476c03d2 (patch) | |
tree | dca7e434477e7454b81894977f75e455af4cc0dc /modules/rtp_rtcp/source/rtcp_sender.h | |
parent | 477e6bce6816b8bb433c2e6c44b377bdc766a3b3 (diff) | |
parent | 82383d9b14ff8e5fedf5a70229eb0ac6b512909a (diff) | |
download | webrtc-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.h | 182 |
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 |