prevent a thread race in CameraView

when a camera preview surface is destroyed, send it down the same pipelien
to make sure a race condition isn't hit

fixes #3864
Closes #3875
// FREEBIE
fork-5.53.8
Jake McGinty 2015-08-03 13:26:07 -07:00 zatwierdzone przez Moxie Marlinspike
rodzic 324c85cd9f
commit 52e4abf562
3 zmienionych plików z 3 dodań i 5 usunięć

Wyświetl plik

@ -137,9 +137,7 @@ public class CameraView extends FrameLayout {
}
@Override protected Void onRunBackground() {
if (camera != null) {
previewDestroyed();
}
previewDestroyed();
return null;
}

Wyświetl plik

@ -56,7 +56,7 @@ class SurfacePreviewStrategy implements PreviewStrategy,
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.w(TAG, "surfaceDestroyed()");
cameraView.previewDestroyed();
cameraView.onPause();
}
@Override

Wyświetl plik

@ -55,7 +55,7 @@ class TexturePreviewStrategy implements PreviewStrategy,
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
Log.w(TAG, "onSurfaceTextureDestroyed()");
cameraView.previewDestroyed();
cameraView.onPause();
return(true);
}