From fd20bb3e80a7d4270a077b404619d00e2faf7f68 Mon Sep 17 00:00:00 2001 From: Alejandro Luebs Date: Thu, 8 Oct 2015 18:13:37 -0700 Subject: [PATCH] Revert "Allow to print Java stack traces in Android camera, renderer and media codec." Reason for revert: It breaks some Android32 bots. TBR=glaznev@google.com Review URL: https://codereview.webrtc.org/1397473004 . Cr-Commit-Position: refs/heads/master@{#10231} --- .../org/webrtc/VideoCapturerAndroid.java | 13 +------ .../android/org/webrtc/VideoRendererGui.java | 34 ++----------------- .../org/webrtc/MediaCodecVideoDecoder.java | 17 +++------- .../org/webrtc/MediaCodecVideoEncoder.java | 15 ++------ .../src/org/webrtc/PeerConnectionFactory.java | 24 ++++++------- 5 files changed, 20 insertions(+), 83 deletions(-) diff --git a/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java b/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java index 9fdd41af9a..7ec86b005b 100644 --- a/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java +++ b/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java @@ -35,6 +35,7 @@ import android.opengl.EGLContext; import android.os.Handler; import android.os.HandlerThread; import android.os.SystemClock; +import android.text.StaticLayout; import android.view.Surface; import android.view.WindowManager; @@ -216,18 +217,6 @@ public class VideoCapturerAndroid extends VideoCapturer implements PreviewCallba return capturer; } - public void printStackTrace() { - if (cameraThread != null) { - StackTraceElement[] cameraStackTraces = cameraThread.getStackTrace(); - if (cameraStackTraces.length > 0) { - Logging.d(TAG, "VideoCapturerAndroid stacks trace:"); - for (StackTraceElement stackTrace : cameraStackTraces) { - Logging.d(TAG, stackTrace.toString()); - } - } - } - } - // Switch camera to the next valid camera id. This can only be called while // the camera is running. public void switchCamera(final CameraSwitchHandler handler) { diff --git a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java index 1d413b8ece..afaebf6f2e 100644 --- a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java +++ b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java @@ -36,10 +36,12 @@ import javax.microedition.khronos.opengles.GL10; import android.annotation.SuppressLint; import android.graphics.Point; import android.graphics.Rect; +import android.graphics.SurfaceTexture; import android.opengl.EGL14; import android.opengl.EGLContext; import android.opengl.GLES20; import android.opengl.GLSurfaceView; +import android.opengl.Matrix; import org.webrtc.Logging; import org.webrtc.VideoRenderer.I420Frame; @@ -75,9 +77,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { // Current SDK version. private static final int CURRENT_SDK_VERSION = android.os.Build.VERSION.SDK_INT; - // Render and draw threads. - private static Thread renderFrameThread; - private static Thread drawThread; private VideoRendererGui(GLSurfaceView surface) { this.surface = surface; @@ -373,9 +372,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { VideoRenderer.renderFrameDone(frame); return; } - if (renderFrameThread == null) { - renderFrameThread = Thread.currentThread(); - } if (!seenFrame && rendererEvents != null) { Logging.d(TAG, "ID: " + id + ". Reporting first rendered frame."); rendererEvents.onFirstFrameRendered(); @@ -398,7 +394,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { // Skip rendering of this frame if previous frame was not rendered yet. framesDropped++; VideoRenderer.renderFrameDone(frame); - seenFrame = true; return; } pendingFrame = frame; @@ -435,8 +430,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { } instance.yuvImageRenderers.clear(); } - renderFrameThread = null; - drawThread = null; instance.surface = null; eglContext = null; eglContextReady = null; @@ -572,26 +565,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { } } - private static void printStackTrace(Thread thread, String threadName) { - if (thread != null) { - StackTraceElement[] stackTraces = thread.getStackTrace(); - if (stackTraces.length > 0) { - Logging.d(TAG, threadName + " stacks trace:"); - for (StackTraceElement stackTrace : stackTraces) { - Logging.d(TAG, stackTrace.toString()); - } - } - } - } - - public static synchronized void printStackTraces() { - if (instance == null) { - return; - } - printStackTrace(renderFrameThread, "Render frame thread"); - printStackTrace(drawThread, "Draw thread"); - } - @SuppressLint("NewApi") @Override public void onSurfaceCreated(GL10 unused, EGLConfig config) { @@ -640,9 +613,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { @Override public void onDrawFrame(GL10 unused) { - if (drawThread == null) { - drawThread = Thread.currentThread(); - } GLES20.glViewport(0, 0, screenWidth, screenHeight); GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); synchronized (yuvImageRenderers) { diff --git a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java index c1fff94ed6..91de8110b0 100644 --- a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java +++ b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java @@ -32,6 +32,9 @@ import android.media.MediaCodecInfo; import android.media.MediaCodecInfo.CodecCapabilities; import android.media.MediaCodecList; import android.media.MediaFormat; +import android.opengl.EGLContext; +import android.opengl.GLES11Ext; +import android.opengl.GLES20; import android.os.Build; import android.view.Surface; @@ -62,7 +65,7 @@ public class MediaCodecVideoDecoder { } private static final int DEQUEUE_INPUT_TIMEOUT = 500000; // 500 ms timeout. - private static Thread mediaCodecThread; + private Thread mediaCodecThread; private MediaCodec mediaCodec; private ByteBuffer[] inputBuffers; private ByteBuffer[] outputBuffers; @@ -172,18 +175,6 @@ public class MediaCodecVideoDecoder { return findDecoder(H264_MIME_TYPE, supportedH264HwCodecPrefixes) != null; } - public static void printStackTrace() { - if (mediaCodecThread != null) { - StackTraceElement[] mediaCodecStackTraces = mediaCodecThread.getStackTrace(); - if (mediaCodecStackTraces.length > 0) { - Logging.d(TAG, "MediaCodecVideoDecoder stacks trace:"); - for (StackTraceElement stackTrace : mediaCodecStackTraces) { - Logging.d(TAG, stackTrace.toString()); - } - } - } - } - private void checkOnMediaCodecThread() throws IllegalStateException { if (mediaCodecThread.getId() != Thread.currentThread().getId()) { throw new IllegalStateException( diff --git a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java index f043f9b5de..fa3d472e0f 100644 --- a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java +++ b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java @@ -25,6 +25,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package org.webrtc; import android.media.MediaCodec; @@ -61,7 +62,7 @@ public class MediaCodecVideoEncoder { } private static final int DEQUEUE_TIMEOUT = 0; // Non-blocking, no wait. - private static Thread mediaCodecThread; + private Thread mediaCodecThread; private MediaCodec mediaCodec; private ByteBuffer[] outputBuffers; private static final String VP8_MIME_TYPE = "video/x-vnd.on2.vp8"; @@ -198,18 +199,6 @@ public class MediaCodecVideoEncoder { } } - public static void printStackTrace() { - if (mediaCodecThread != null) { - StackTraceElement[] mediaCodecStackTraces = mediaCodecThread.getStackTrace(); - if (mediaCodecStackTraces.length > 0) { - Logging.d(TAG, "MediaCodecVideoEncoder stacks trace:"); - for (StackTraceElement stackTrace : mediaCodecStackTraces) { - Logging.d(TAG, stackTrace.toString()); - } - } - } - } - static MediaCodec createByCodecName(String codecName) { try { // In the L-SDK this call can throw IOException so in order to work in diff --git a/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java b/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java index 0460624aa7..6bc8189cd8 100644 --- a/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java +++ b/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java @@ -148,21 +148,19 @@ public class PeerConnectionFactory { nativeThreadsCallbacks(nativeFactory); } - private static void printStackTrace(Thread thread, String threadName) { - if (thread != null) { - StackTraceElement[] stackTraces = thread.getStackTrace(); - if (stackTraces.length > 0) { - Logging.d(TAG, threadName + " stacks trace:"); - for (StackTraceElement stackTrace : stackTraces) { - Logging.d(TAG, stackTrace.toString()); - } + 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()); } } - } - - public static void printStackTraces() { - printStackTrace(workerThread, "Worker thread"); - printStackTrace(signalingThread, "Signaling thread"); } private static void onWorkerThreadReady() {