camera2
thegobot 4 years ago committed by GitHub
parent 7f6312a034
commit 3e39a34c88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -279,9 +279,17 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
public void run() { public void run() {
while (!Thread.interrupted()) { while (!Thread.interrupted()) {
while (!mGLIntBufferCache.isEmpty()) { while (!mGLIntBufferCache.isEmpty()) {
IntBuffer picture = mGLIntBufferCache.poll(); try {
mGLPreviewBuffer.asIntBuffer().put(picture.array()); IntBuffer picture = mGLIntBufferCache.poll();
mPrevCb.onGetRgbaFrame(mGLPreviewBuffer.array(), mPreviewWidth, mPreviewHeight); mGLPreviewBuffer.asIntBuffer().put(picture.array());
mPrevCb.onGetRgbaFrame(mGLPreviewBuffer.array(), mPreviewWidth, mPreviewHeight);
}catch (Exception e){
cameraCallbacksHandler.onError(e);
e.printStackTrace();
worker.interrupt();
break;
}
} }
// Waiting for next frame // Waiting for next frame
synchronized (writeLock) { synchronized (writeLock) {
@ -499,10 +507,17 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
public void onCameraParameters(Camera.Parameters params) { public void onCameraParameters(Camera.Parameters params) {
} }
@Override
public void onError(Exception e) {
//stop publish
}
} }
public interface CameraCallbacks { public interface CameraCallbacks {
void onCameraParameters(Camera.Parameters params); void onCameraParameters(Camera.Parameters params);
void onError(Exception e);
} }
public void setCameraCallbacksHandler(CameraCallbacksHandler cameraCallbacksHandler) { public void setCameraCallbacksHandler(CameraCallbacksHandler cameraCallbacksHandler) {

Loading…
Cancel
Save