Merge pull request #701 from thegobot/master

camera callbacks
camera2
Leo Ma 6 years ago committed by GitHub
commit d5386ed8b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -69,8 +69,9 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
btnSwitchEncoder = (Button) findViewById(R.id.swEnc); btnSwitchEncoder = (Button) findViewById(R.id.swEnc);
btnPause = (Button) findViewById(R.id.pause); btnPause = (Button) findViewById(R.id.pause);
btnPause.setEnabled(false); btnPause.setEnabled(false);
mCameraView = (SrsCameraView) findViewById(R.id.glsurfaceview_camera);
mPublisher = new SrsPublisher((SrsCameraView) findViewById(R.id.glsurfaceview_camera)); mPublisher = new SrsPublisher(mCameraView);
mPublisher.setEncodeHandler(new SrsEncodeHandler(this)); mPublisher.setEncodeHandler(new SrsEncodeHandler(this));
mPublisher.setRtmpHandler(new RtmpHandler(this)); mPublisher.setRtmpHandler(new RtmpHandler(this));
mPublisher.setRecordHandler(new SrsRecordHandler(this)); mPublisher.setRecordHandler(new SrsRecordHandler(this));
@ -79,6 +80,15 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
mPublisher.setVideoHDMode(); mPublisher.setVideoHDMode();
mPublisher.startCamera(); mPublisher.startCamera();
mCameraView.setCameraCallbacksHandler(new SrsCameraView.CameraCallbacksHandler(){
@Override
public void onCameraParameters(Camera.Parameters params) {
//params.setFocusMode("custom-focus");
//params.setWhiteBalance("custom-balance");
//etc...
}
});
btnPublish.setOnClickListener(new View.OnClickListener() { btnPublish.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {

@ -54,6 +54,7 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
private final Object writeLock = new Object(); private final Object writeLock = new Object();
private ConcurrentLinkedQueue<IntBuffer> mGLIntBufferCache = new ConcurrentLinkedQueue<>(); private ConcurrentLinkedQueue<IntBuffer> mGLIntBufferCache = new ConcurrentLinkedQueue<>();
private PreviewCallback mPrevCb; private PreviewCallback mPrevCb;
private CameraCallbacksHandler cameraCallbacksHandler = new CameraCallbacksHandler();
public SrsCameraView(Context context) { public SrsCameraView(Context context) {
this(context, null); this(context, null);
@ -349,6 +350,7 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
} }
} }
cameraCallbacksHandler.onCameraParameters(params);
mCamera.setParameters(params); mCamera.setParameters(params);
mCamera.setDisplayOrientation(mPreviewRotation); mCamera.setDisplayOrientation(mPreviewRotation);
@ -482,4 +484,20 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
void onGetRgbaFrame(byte[] data, int width, int height); void onGetRgbaFrame(byte[] data, int width, int height);
} }
static public class CameraCallbacksHandler implements CameraCallbacks{
@Override
public void onCameraParameters(Camera.Parameters params) {
}
}
public interface CameraCallbacks {
void onCameraParameters(Camera.Parameters params);
}
public void setCameraCallbacksHandler(CameraCallbacksHandler cameraCallbacksHandler) {
this.cameraCallbacksHandler = cameraCallbacksHandler;
}
} }

Loading…
Cancel
Save