Remove potential deadlock in RTPSenderAudio.
Removes lock-order inversion formed by RTPSenderAudio->RTPSender calls by doing a lot shorter locking which fetches a current state of RTPSenderAudio variables before sending. Thread annotates locked variables and removes one lock in RTPSenderAudio, bonus fixes data races reported in voe_auto_test --automated under TSan (DTMF data race). Also includes some bonus cleanup of RTPSenderVideo which removes the send critsect completely as all methods using it was always called from RTPSender under its send_critsect. R=henrik.lundin@webrtc.org, stefan@webrtc.org, tommi@webrtc.org BUG=3001, chromium:454654 Review URL: https://webrtc-codereview.appspot.com/41869004 Cr-Commit-Position: refs/heads/master@{#8348} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8348 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -266,8 +266,6 @@ class ModuleRtpRtcpImpl : public RtpRtcp {
|
||||
// packet in silence (CNG).
|
||||
virtual int32_t SetAudioPacketSize(uint16_t packet_size_samples) OVERRIDE;
|
||||
|
||||
virtual bool SendTelephoneEventActive(int8_t& telephone_event) const OVERRIDE;
|
||||
|
||||
// Send a TelephoneEvent tone using RFC 2833 (4733).
|
||||
virtual int32_t SendTelephoneEventOutband(uint8_t key,
|
||||
uint16_t time_ms,
|
||||
|
||||
Reference in New Issue
Block a user