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

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

Issue 1397163002: Add option to print peer connection factory Java stack traces. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: 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
Index: talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java
diff --git a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java
index fa3d472e0f3a71beda8991870730368bb5a2f844..d80de80ba92fe94f8d81d33849db3f2dd3f545e5 100644
--- a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java
+++ b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java
@@ -25,7 +25,6 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
package org.webrtc;
import android.media.MediaCodec;
@@ -62,7 +61,7 @@ public class MediaCodecVideoEncoder {
}
private static final int DEQUEUE_TIMEOUT = 0; // Non-blocking, no wait.
- private Thread mediaCodecThread;
+ private static Thread mediaCodecThread;
private MediaCodec mediaCodec;
private ByteBuffer[] outputBuffers;
private static final String VP8_MIME_TYPE = "video/x-vnd.on2.vp8";
@@ -199,6 +198,18 @@ 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
@@ -215,7 +226,7 @@ public class MediaCodecVideoEncoder {
Logging.d(TAG, "Java initEncode: " + type + " : " + width + " x " + height +
". @ " + kbps + " kbps. Fps: " + fps +
". Color: 0x" + Integer.toHexString(colorFormat));
- if (mediaCodecThread != null) {
+ if (mediaCodec != null) {
throw new RuntimeException("Forgot to release()?");
}
this.type = type;
@@ -245,6 +256,7 @@ public class MediaCodecVideoEncoder {
Logging.d(TAG, " Format: " + format);
mediaCodec = createByCodecName(properties.codecName);
if (mediaCodec == null) {
+ Logging.e(TAG, "Can not create media encoder");
return null;
}
mediaCodec.configure(
@@ -298,6 +310,7 @@ public class MediaCodecVideoEncoder {
}
mediaCodec = null;
mediaCodecThread = null;
+ Logging.d(TAG, "Java releaseEncoder done");
}
private boolean setRates(int kbps, int frameRateIgnored) {

Powered by Google App Engine
This is Rietveld 408576698