
The deadlock can happen when using HW encoder. HW encoder calls the encode complete callback on libjingle worker thread instead of ViECaptureThread. The capture thread can hold VieEncoder::|data_cs_| and wait for ModuleRtpRtcpImpl::|critical_section_module_ptrs_|. When libjingle worker thread runs encode complete callback, it can hold ModuleRtpRtcpImpl::|critical_section_module_ptrs_| and wait for VieEncoder::|data_cs_|. |default_rtp_rtcp_| is not guarded by |data_cs|. So move it out of the critical section to avoid the deadlock. BUG=chromium:352567 TEST=Run apprtc loopback on CrOS. Run apprtc between CrOS and Linux. Run vie_auto_test. R=henrik.lundin@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10039004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5721 4adac7df-926f-26a2-2b94-8c16560cd09d
Description
No description provided
Languages
C++
76%
C
16%
Python
2.3%
Java
2.1%
Objective-C++
1.5%
Other
1.9%