This reverts commit 308e7ff613.
Original cl description:
This adds an Android apk for running tests on the Java layer of PeerConnection.
The only testcase is currently the same test we run on Java standalone.
To run the test adb shell am instrument -w org.webrtc.test/android.test.InstrumentationTestRunner
BUG=4031
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/32529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7748 4adac7df-926f-26a2-2b94-8c16560cd09d
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
Also:
- Make PeerConnectionObserver::OnRenegotiationNeeded() pure virtual to avoid
this sort of mistake in the future.
- Sprinkle @Override annotations on some callback definitions that were missing
them.
- Fix a JNI method-signature-lookup typo (s/(V)V/()V/) in PCOJava::OnError()
- Add an explicit ScopedLocalFrameRef to PCOJava::OnError() to match all other
C++-fired callbacks, for consistency.
BUG=2771
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5376 4adac7df-926f-26a2-2b94-8c16560cd09d
In r4665 I went a bit crazy with the manual reinterpretation of a pointer to a
jlong (to avoid undefined behavior) but that's what reinterpret_cast<> is for.
So use it directly now.
Added a do-nothing DataChannel to AppRTCDemo to regression test this, since the
only repro I've found of the original bug requires ARM ABI (PeerConnectionTest
on ia32 fails to repro).
BUG=2302
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5489004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5269 4adac7df-926f-26a2-2b94-8c16560cd09d
- TCPPort::~TCPPort() was leaking incoming_ sockets; now they are deleted.
- PeerConnection::RemoveStream() now removes streams even if the
PeerConnection::IsClosed(). Previously such streams would never get removed.
- Gave MediaStreamTrackInterface a virtual destructor to ensure deletes on base
pointers are dispatched virtually.
- VideoTrack.dispose() delegates to super.dispose() (instead of leaking)
- PeerConnection.dispose() now removes streams before disposing of them.
- MediaStream.dispose() now removes tracks before disposing of them.
- VideoCapturer.dispose() only unowned VideoCapturers (mirroring C++ API)
- AppRTCDemo.disconnectAndExit() now correctly .dispose()s its
VideoSource and PeerConnectionFactory.
- CHECK that Release()d objects are deleted when expected to (i.e. no ref-cycles
or missing .dispose() calls) in the Java API.
- Create & Return webrtc::Traces at factory birth/death to be able to assert
that _all_ threads started during the test are collected by the end.
- Name threads attached to the JVM more informatively for debugging.
- Removed a bunch of unnecessary scoped_refptr instances in
peerconnection_jni.cc whose only job was messing with refcounts.
RISK=P2
TESTED=AppRTCDemo can be ended and restarted just fine instead of crashing on camera unavailability. No more post-app-exit logcat lines. PCTest.java now asserts that all threads are collected before exit.
BUG=2183
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2005004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4534 4adac7df-926f-26a2-2b94-8c16560cd09d