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:
@ -904,11 +904,6 @@ int32_t ModuleRtpRtcpImpl::SendTelephoneEventOutband(
|
||||
return rtp_sender_.SendTelephoneEvent(key, time_ms, level);
|
||||
}
|
||||
|
||||
bool ModuleRtpRtcpImpl::SendTelephoneEventActive(
|
||||
int8_t& telephone_event) const {
|
||||
return rtp_sender_.SendTelephoneEventActive(&telephone_event);
|
||||
}
|
||||
|
||||
// Set audio packet size, used to determine when it's time to send a DTMF
|
||||
// packet in silence (CNG).
|
||||
int32_t ModuleRtpRtcpImpl::SetAudioPacketSize(
|
||||
|
||||
Reference in New Issue
Block a user