pull/696/head
Mattia Iavarone 6 years ago
parent 560be94dcb
commit d2446c2a3f
  1. 2
      .github/workflows/emulator_script.sh
  2. 5
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/CameraIntegrationTest.java
  3. 6
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java

@ -1,4 +1,4 @@
#!/usr/bin/env bash
adb logcat -c
adb logcat CameraOrchestrator:I CameraEngine:I CameraView:I CameraCallbacks:I CameraIntegrationTest:I MediaEncoderEngine:I MediaEncoder:I AudioMediaEncoder:I VideoMediaEncoder:I TextureMediaEncoder:I VideoRecorder:I SnapshotVideoRecorder:I MessageQueue:W MPEG4Writer:I *:E -v color &
adb logcat CameraOrchestrator:I CameraEngine:I CameraView:I CameraCallbacks:I CameraIntegrationTest:I MediaEncoderEngine:I MediaEncoder:I AudioMediaEncoder:I VideoMediaEncoder:I TextureMediaEncoder:I VideoRecorder:I FullVideoRecorder:I SnapshotVideoRecorder:I MessageQueue:W MPEG4Writer:I *:E -v color &
./gradlew cameraview:connectedCheck

@ -988,7 +988,8 @@ public abstract class CameraIntegrationTest<E extends CameraEngine> extends Base
}
@SuppressWarnings("SameParameterValue")
private static long estimateVideoBytes(long bitRate, long millis) {
return Math.round(bitRate * (millis / 1000D) / 8D);
private static long estimateVideoBytes(long videoBitRate, long millis) {
// 1.3F accounts for audio.
return Math.round((videoBitRate * 1.3F) * (millis / 1000D) / 8D);
}
}

@ -237,11 +237,13 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
* it should be set before calling this method, for example by calling
* {@link #createRepeatingRequestBuilder(int)}.
*/
@EngineThread
@SuppressWarnings("WeakerAccess")
protected void applyRepeatingRequestBuilder() {
applyRepeatingRequestBuilder(true, CameraException.REASON_DISCONNECTED);
}
@EngineThread
private void applyRepeatingRequestBuilder(boolean checkStarted, int errorReason) {
if ((getState() == CameraState.PREVIEW && !isChangingState()) || !checkStarted) {
try {
@ -1574,15 +1576,19 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
return mRepeatingRequestBuilder;
}
@EngineThread
@Override
public void applyBuilder(@NonNull Action source) {
// NOTE: Should never be called on a non-engine thread!
// Non-engine threads are not protected by the uncaught exception handler
// and can make the process crash.
applyRepeatingRequestBuilder();
}
@Override
public void applyBuilder(@NonNull Action source, @NonNull CaptureRequest.Builder builder)
throws CameraAccessException {
// Risky - would be better to ensure that thread is the engine one.
if (getState() == CameraState.PREVIEW && !isChangingState()) {
mSession.capture(builder.build(), mRepeatingRequestCallback, null);
}

Loading…
Cancel
Save