webrtc/talk/media/devices
fischman@webrtc.org c2d75e0708 PeerConnection(java): account for thread shutdown vagaries.
Android's JVM requires threads to detach before they exit, but ONLY if
they needed to AttachCurrentThread.  Conversly, threads that were
attached by the JVM (e.g. the result of making a native call from Java)
must NOT be detached by the application.  This is bug 2441.

The fix for the above is to only pthread_setspecific() for threads that
Attach(), not for already-attached threads.  To ensure that we only
detach Attached threads, added a GetEnv() call to ThreadDestructor(),
which revealed that Oracle's JVM can overly-eagerly clear TLS accounting
data, effectively detaching threads without their consent at shutdown.
Work around this with a specific check.

To guard against (some) regression, added a variant of PeerConnectionTest
that runs on a non-main thread.  This revealed a bug in LinuxDeviceManager
which implicitly assumes its talk_base::Thread has already been
initialized.  Fixed that here too.

BUG=2441
R=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/8759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5567 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 16:57:36 +00:00
..
carbonvideorenderer.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
carbonvideorenderer.h Update libjingle to 55618622. 2013-10-25 21:18:33 +00:00
deviceinfo.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
devicemanager_unittest.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
devicemanager.cc Update talk to 60923971 2014-02-03 16:57:16 +00:00
devicemanager.h Update talk to 60923971 2014-02-03 16:57:16 +00:00
dummydevicemanager_unittest.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
dummydevicemanager.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
dummydevicemanager.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
fakedevicemanager.h Update talk folder to revision=49713299. 2013-07-22 21:07:49 +00:00
filevideocapturer_unittest.cc Disable flaky TestPartialFrameHeader. 2013-09-24 20:09:30 +00:00
filevideocapturer.cc Fix tsan failures on filevideocapturer.cc. 2013-10-22 18:41:17 +00:00
filevideocapturer.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
gdivideorenderer.cc Update libjingle to 55618622. 2013-10-25 21:18:33 +00:00
gdivideorenderer.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
gtkvideorenderer.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
gtkvideorenderer.h Update libjingle to 55618622. 2013-10-25 21:18:33 +00:00
iosdeviceinfo.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
libudevsymboltable.cc Update talk to 56619788 2013-11-13 22:48:52 +00:00
libudevsymboltable.h Update libjingle to 53856368. 2013-10-07 23:32:02 +00:00
linuxdeviceinfo.cc Update libjingle to 53856368. 2013-10-07 23:32:02 +00:00
linuxdevicemanager.cc PeerConnection(java): account for thread shutdown vagaries. 2014-02-18 16:57:36 +00:00
linuxdevicemanager.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
macdeviceinfo.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
macdevicemanager.cc Update libjingle to 55618622. 2013-10-25 21:18:33 +00:00
macdevicemanager.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
macdevicemanagermm.mm Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
mobiledevicemanager.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
v4llookup.cc Update libjingle to 61168196 2014-02-07 19:03:26 +00:00
v4llookup.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
videorendererfactory.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
win32deviceinfo.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
win32devicemanager.cc Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
win32devicemanager.h Adds trunk/talk folder of revision 359 from libjingles google code to 2013-07-10 00:45:36 +00:00
yuvframescapturer.cc Update talk to 60923971 2014-02-03 16:57:16 +00:00
yuvframescapturer.h Update talk to 60923971 2014-02-03 16:57:16 +00:00