updated review comments for video recording callback

pull/498/head
Suneet Agrawal 6 years ago committed by Mattia Iavarone
parent 14a739c79b
commit 99d023c366
  1. 2
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/MockCameraEngine.java
  2. 6
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/video/VideoRecorderTest.java
  3. 7
      cameraview/src/main/java/com/otaliastudios/cameraview/CameraListener.java
  4. 6
      cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java
  5. 5
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java
  6. 5
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java
  7. 11
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java
  8. 2
      cameraview/src/main/java/com/otaliastudios/cameraview/video/FullVideoRecorder.java
  9. 2
      cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java
  10. 6
      cameraview/src/main/java/com/otaliastudios/cameraview/video/VideoRecorder.java
  11. 1
      demo/release/output.json
  12. 2
      docs/_posts/2018-12-20-camera-events.md

@ -179,7 +179,7 @@ public class MockCameraEngine extends CameraEngine {
} }
@Override @Override
public void onActualVideoRecordingStarted() { public void onVideoRecordingStart() {
} }
} }

@ -2,9 +2,7 @@ package com.otaliastudios.cameraview.video;
import com.otaliastudios.cameraview.BaseTest; import com.otaliastudios.cameraview.BaseTest;
import com.otaliastudios.cameraview.PictureResult;
import com.otaliastudios.cameraview.VideoResult; import com.otaliastudios.cameraview.VideoResult;
import com.otaliastudios.cameraview.video.VideoRecorder;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
@ -29,7 +27,7 @@ public class VideoRecorderTest extends BaseTest {
VideoRecorder.VideoResultListener listener = Mockito.mock(VideoRecorder.VideoResultListener.class); VideoRecorder.VideoResultListener listener = Mockito.mock(VideoRecorder.VideoResultListener.class);
VideoRecorder recorder = new VideoRecorder(listener) { VideoRecorder recorder = new VideoRecorder(listener) {
@Override @Override
protected void onStart() { dispatchActualVideoRecordingStarted(); } protected void onStart() { dispatchVideoRecordingStart(); }
@Override @Override
protected void onStop() { protected void onStop() {
@ -38,7 +36,7 @@ public class VideoRecorderTest extends BaseTest {
}; };
recorder.start(result); recorder.start(result);
Mockito.verify(listener,Mockito.times(1) ) Mockito.verify(listener,Mockito.times(1) )
.onActualVideoRecordingStarted(); .onVideoRecordingStart();
recorder.stop(); recorder.stop();
Mockito.verify(listener, Mockito.times(1)) Mockito.verify(listener, Mockito.times(1))
.onVideoResult(result, null); .onVideoResult(result, null);

@ -130,12 +130,11 @@ public abstract class CameraListener {
/** /**
* Notifies that the actual video recording has started * Notifies that the actual video recording has started
* When we request for video recording, it doesn't start the recording the immediately. * This is the time when actual frames recording starts.
* Instead it checks for hardware availability first and later on available, * This can be used to show some indicator while the actual video recording.
* it sets all the config and then start the actual recording.
*/ */
@UiThread @UiThread
public void onActualVideoRecordingStarted() { public void onVideoRecordingStart() {
} }

@ -2064,13 +2064,13 @@ public class CameraView extends FrameLayout implements LifecycleObserver {
} }
@Override @Override
public void onActualVideoRecordingStarted() { public void onVideoRecordingStart() {
mLogger.i("onActualVideoRecordingStarted", "onActualVideoRecordingStarted"); mLogger.i("onVideoRecordingStart", "onVideoRecordingStart");
mUiHandler.post(new Runnable() { mUiHandler.post(new Runnable() {
@Override @Override
public void run() { public void run() {
for (CameraListener listener : mListeners) { for (CameraListener listener : mListeners) {
listener.onActualVideoRecordingStarted(); listener.onVideoRecordingStart();
} }
} }
}); });

@ -375,11 +375,6 @@ public class Camera1Engine extends CameraEngine implements
} }
} }
@Override
public void onActualVideoRecordingStarted() {
mCallback.onActualVideoRecordingStarted();
}
//endregion //endregion
//region Parameters //region Parameters

@ -726,11 +726,6 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
} }
} }
@Override
public void onActualVideoRecordingStarted() {
mCallback.onActualVideoRecordingStarted();
}
//endregion //endregion
//region Parameters //region Parameters

@ -134,7 +134,7 @@ public abstract class CameraEngine implements
void dispatchOnExposureCorrectionChanged(float newValue, @NonNull float[] bounds, @Nullable PointF[] fingers); void dispatchOnExposureCorrectionChanged(float newValue, @NonNull float[] bounds, @Nullable PointF[] fingers);
void dispatchFrame(Frame frame); void dispatchFrame(Frame frame);
void dispatchError(CameraException exception); void dispatchError(CameraException exception);
void onActualVideoRecordingStarted(); void onVideoRecordingStart();
} }
private static final String TAG = CameraEngine.class.getSimpleName(); private static final String TAG = CameraEngine.class.getSimpleName();
@ -1383,4 +1383,13 @@ public abstract class CameraEngine implements
} }
//endregion //endregion
//region callbacks
@Override
public void onVideoRecordingStart() {
mCallback.onVideoRecordingStart();
}
//endregion
} }

@ -130,7 +130,7 @@ public abstract class FullVideoRecorder extends VideoRecorder {
try { try {
mMediaRecorder.start(); mMediaRecorder.start();
dispatchActualVideoRecordingStarted(); dispatchVideoRecordingStart();
} catch (Exception e) { } catch (Exception e) {
LOG.w("start:", "Error while starting media recorder.", e); LOG.w("start:", "Error while starting media recorder.", e);
mResult = null; mResult = null;

@ -60,7 +60,7 @@ public class SnapshotVideoRecorder extends VideoRecorder implements RendererFram
mPreview.addRendererFrameCallback(this); mPreview.addRendererFrameCallback(this);
mFlipped = mEngine.getAngles().flip(Reference.SENSOR, Reference.VIEW); mFlipped = mEngine.getAngles().flip(Reference.SENSOR, Reference.VIEW);
mDesiredState = STATE_RECORDING; mDesiredState = STATE_RECORDING;
dispatchActualVideoRecordingStarted(); dispatchVideoRecordingStart();
} }
@Override @Override

@ -28,7 +28,7 @@ public abstract class VideoRecorder {
/** /**
* The callback for the actual video recording starting. * The callback for the actual video recording starting.
*/ */
void onActualVideoRecordingStarted(); void onVideoRecordingStart();
} }
@VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) VideoResult.Stub mResult; @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) VideoResult.Stub mResult;
@ -96,9 +96,9 @@ public abstract class VideoRecorder {
*/ */
@SuppressWarnings("WeakerAccess") @SuppressWarnings("WeakerAccess")
@CallSuper @CallSuper
protected void dispatchActualVideoRecordingStarted(){ protected void dispatchVideoRecordingStart(){
if(mListener != null){ if(mListener != null){
mListener.onActualVideoRecordingStarted(); mListener.onVideoRecordingStart();
} }
} }
} }

@ -0,0 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"demo-release.apk","fullName":"release","baseName":"release"},"path":"demo-release.apk","properties":{}}]

@ -37,6 +37,8 @@ camera.addCameraListener(new CameraListener() {
public void onZoomChanged(float newValue, float[] bounds, PointF[] fingers) {} public void onZoomChanged(float newValue, float[] bounds, PointF[] fingers) {}
public void onExposureCorrectionChanged(float newValue, float[] bounds, PointF[] fingers) {} public void onExposureCorrectionChanged(float newValue, float[] bounds, PointF[] fingers) {}
public void onVideoRecordingStart() {}
}); });
``` ```

Loading…
Cancel
Save