Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Unified Diff: talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java

Issue 1395693002: Add option to print peer connection factory Java stack traces. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Add native callback API Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « talk/app/webrtc/java/jni/peerconnection_jni.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
diff --git a/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java b/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
index 7d954852cd9d10d72dea9790b9de97484a6ae126..6bc8189cd85e80c5fb1987fb297b214ec1a68a0d 100644
--- a/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
+++ b/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
@@ -39,7 +39,10 @@ public class PeerConnectionFactory {
System.loadLibrary("jingle_peerconnection_so");
}
+ private static final String TAG = "PeerConnectionFactory";
private final long nativeFactory;
+ private static Thread workerThread;
+ private static Thread signalingThread;
public static class Options {
// Keep in sync with webrtc/base/network.h!
@@ -136,7 +139,38 @@ public class PeerConnectionFactory {
}
public void dispose() {
- freeFactory(nativeFactory);
+ nativeFreeFactory(nativeFactory);
+ signalingThread = null;
+ workerThread = null;
+ }
+
+ public void threadsCallbacks() {
+ nativeThreadsCallbacks(nativeFactory);
+ }
+
+ public static void printStackTraces() {
+ if (workerThread != null) {
+ Logging.d(TAG, "Worker thread stacks trace:");
+ for (StackTraceElement stackTrace : workerThread.getStackTrace()) {
+ Logging.d(TAG, stackTrace.toString());
+ }
+ }
+ if (signalingThread != null) {
+ Logging.d(TAG, "Signaling thread stacks trace:");
+ for (StackTraceElement stackTrace : signalingThread.getStackTrace()) {
+ Logging.d(TAG, stackTrace.toString());
+ }
+ }
+ }
+
+ private static void onWorkerThreadReady() {
+ workerThread = Thread.currentThread();
+ Logging.d(TAG, "onWorkerThreadReady");
+ }
+
+ private static void onSignalingThreadReady() {
+ signalingThread = Thread.currentThread();
+ Logging.d(TAG, "onSignalingThreadReady");
}
private static native long nativeCreatePeerConnectionFactory();
@@ -169,5 +203,7 @@ public class PeerConnectionFactory {
private static native void nativeSetVideoHwAccelerationOptions(
long nativeFactory, Object renderEGLContext);
- private static native void freeFactory(long nativeFactory);
+ private static native void nativeThreadsCallbacks(long nativeFactory);
+
+ private static native void nativeFreeFactory(long nativeFactory);
}
« no previous file with comments | « talk/app/webrtc/java/jni/peerconnection_jni.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698