Skip to content

Commit

Permalink
Merge pull request #696 from thegobot/master
Browse files Browse the repository at this point in the history
CAMERA_ERROR_EVICTED fix
  • Loading branch information
begeekmyfriend authored Mar 23, 2019
2 parents 13d40cd + 6d3e549 commit 5e94679
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 5 deletions.
9 changes: 9 additions & 0 deletions app/src/main/java/net/ossrs/yasea/demo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,15 @@ public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}

@Override
protected void onStart() {
super.onStart();
if(mPublisher.getCamera() == null){
//if the camera was busy and available again
mPublisher.startCamera();
}
}

@Override
protected void onResume() {
super.onResume();
Expand Down
23 changes: 18 additions & 5 deletions library/src/main/java/net/ossrs/yasea/SrsCameraView.java
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ public boolean startCamera() {
}

Camera.Parameters params = mCamera.getParameters();
params.setPictureSize(mPreviewWidth, mPreviewHeight);
//params.setPictureSize(mPreviewWidth, mPreviewHeight);
params.setPreviewSize(mPreviewWidth, mPreviewHeight);
int[] range = adaptFpsRange(SrsEncoder.VFPS, params.getSupportedPreviewFpsRange());
params.setPreviewFpsRange(range[0], range[1]);
Expand Down Expand Up @@ -347,7 +347,7 @@ public void stopCamera() {
}
}

private Camera openCamera() {
protected Camera openCamera() {
Camera camera;
if (mCamId < 0) {
Camera.CameraInfo info = new Camera.CameraInfo();
Expand All @@ -374,6 +374,15 @@ private Camera openCamera() {

try {
camera = Camera.open(mCamId);

camera.setErrorCallback(new Camera.ErrorCallback(){
@Override
public void onError(int error, Camera camera) {
//may be Camera.CAMERA_ERROR_EVICTED - Camera was disconnected due to use by higher priority user
stopCamera();
}
});

}catch (Exception e){
e.printStackTrace();
}
Expand Down Expand Up @@ -431,9 +440,13 @@ public boolean startTorch() {

public void stopTorch() {
if (mCamera != null) {
Camera.Parameters params = mCamera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
try {
Camera.Parameters params = mCamera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
}catch (Exception e){
e.printStackTrace();
}
}
}

Expand Down
4 changes: 4 additions & 0 deletions library/src/main/java/net/ossrs/yasea/SrsPublisher.java
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,10 @@ public double getmSamplingFps() {
public int getCameraId() {
return mCameraView.getCameraId();
}

public Camera getCamera() {
return mCameraView.getCamera();
}

public void setPreviewResolution(int width, int height) {
int resolution[] = mCameraView.setPreviewResolution(width, height);
Expand Down

0 comments on commit 5e94679

Please sign in to comment.