From 3ae9917eb85d78bb97f46e3264bcb2ca267ed0cd Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期日, 23 七月 2017 11:29:50 +0800
Subject: [PATCH]
---
VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/OutputSurface.java | 19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/OutputSurface.java b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/OutputSurface.java
index 8fabeb9..4f0da58 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/OutputSurface.java
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/OutputSurface.java
@@ -191,7 +191,7 @@
}
checkEglError("before makeCurrent");
if (!mEGL.eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext)) {
- throw new RuntimeException("eglMakeCurrent failed");
+ //throw new RuntimeException("eglMakeCurrent failed");
}
}
/**
@@ -221,7 +221,8 @@
mFrameSyncObject.wait(TIMEOUT_MS);
if (!mFrameAvailable) {
// TODO: if "spurious wakeup", continue while loop
- throw new RuntimeException("Surface frame wait timed out");
+ //throw new RuntimeException("Surface frame wait timed out");
+ return;
}
} catch (InterruptedException ie) {
// shouldn't happen
@@ -242,7 +243,8 @@
}
@Override
public void onFrameAvailable(SurfaceTexture st) {
- if (VERBOSE) Log.d(TAG, "new frame available");
+ //if (VERBOSE)
+ Log.d(TAG, "new frame available");
synchronized (mFrameSyncObject) {
if (mFrameAvailable) {
throw new RuntimeException("mFrameAvailable already set, frame could be dropped");
@@ -250,6 +252,7 @@
mFrameAvailable = true;
mFrameSyncObject.notifyAll();
}
+
}
/**
* Checks for EGL errors.
@@ -262,14 +265,16 @@
failed = true;
}
if (failed) {
- throw new RuntimeException("EGL error encountered (see log)");
+ //throw new RuntimeException("EGL error encountered (see log)");
}
}
- public Buffer readPixels()
+ public byte[] readPixels()
{
- Buffer buf = ByteBuffer.allocateDirect( 640 * 480 * 4);
+ ByteBuffer buf = ByteBuffer.allocateDirect( 640 * 480 * 4);
mTextureRender.readPixels(buf);
- return buf;
+ byte[] newbuf = new byte[640 * 480 * 4];
+ buf.get(newbuf);
+ return newbuf;
}
}
\ No newline at end of file
--
Gitblit v1.8.0