Go to file
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
data Enables robust delay validation in AEC delay logging. 2014-01-13 08:54:34 +00:00
resources Add tests and modify tools for new float deinterleaved interface. 2014-03-10 22:26:12 +00:00
samples/js turn-prober: enable running headlessly and only emit output on error. 2014-03-17 16:27:41 +00:00
talk (Auto)update libjingle 63293120-> 63352036 2014-03-18 21:39:10 +00:00
third_party Document updating gflags and remove code duplication. 2013-08-20 16:17:10 +00:00
tools Exclude WebRtcVideoMediaChannelTest.AddRemoveCapturerMultipleSources for Valgrind on Mac 2014-03-18 21:37:28 +00:00
webrtc Fix a deadlock in ViEEncoder::DeliverFrame. 2014-03-19 03:44:20 +00:00
.clang-format Style-option file for clang-format. 2013-11-25 15:30:37 +00:00
.gitignore (Git)ignore all of /net. Works around issue: gclient sync, git clean -df, gclient runhooks -> failure (regression in r4466). 2014-03-12 15:50:36 +00:00
all.gyp Reorganize libjingle path variables. 2014-03-05 00:40:33 +00:00
android-webrtc.mk Changed a flag in ARM build for platform build. 2012-09-08 00:32:59 +00:00
Android.mk Added buildbot benchmarking in iSAC and APM into Android platform build. 2012-12-07 15:26:28 +00:00
AUTHORS Add ability to receive calls for iOS 2014-02-10 18:47:11 +00:00
BUILD.gn Fix BUILD.gn to load all Chromium GN configurations. 2014-02-10 21:28:55 +00:00
codereview.settings Add a root codereview.settings file. 2013-04-24 02:08:50 +00:00
COPYING Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
DEPS Roll chromium_revision 249215:255773 2014-03-10 09:51:17 +00:00
drover.properties Add a drover.properties file for reference. 2013-05-30 18:15:54 +00:00
libvpx.mk Change android makefile to reflect recent file structure change 2011-07-13 17:49:49 +00:00
LICENSE Updated license path in LICENSE and LICENSE_THIRD_PARTY. 2012-11-22 12:06:21 +00:00
license_template.txt Update template to follow chromium copyright style 2013-04-24 01:01:28 +00:00
LICENSE_THIRD_PARTY Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
OWNERS Android, OpenSlDemo: moved to webrtc/examples/android/opensl_loopback 2014-01-17 23:12:51 +00:00
PATENTS Add references to src/ copies for LICENSE etc. 2011-10-26 01:05:07 +00:00
PRESUBMIT.py Exclude /out* instead of just /out from pylint checks. 2014-03-01 02:09:36 +00:00
WATCHLISTS Add qiang.lu@intel.com to WATCHLISTS. 2013-10-25 19:20:02 +00:00