Files
platform-external-webrtc/webrtc
wuchengli@chromium.org ac4b87c258 Fix a deadlock in ViEEncoder::DeliverFrame.
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
2014-03-19 03:44:20 +00:00
..
2014-03-13 12:52:27 +00:00
2014-02-25 09:17:43 +00:00
2012-10-22 18:19:23 +00:00
2012-10-22 18:19:23 +00:00
2012-10-22 18:19:23 +00:00

Name: WebRTC
URL: http://www.webrtc.org
Version: 90
License: BSD
License File: LICENSE

Description:
WebRTC provides real time voice and video processing
functionality to enable the implementation of 
PeerConnection/MediaStream.

Third party code used in this project is described 
in the file LICENSE_THIRD_PARTY.