@@ -73,7 +73,6 @@ boolean cacPreviewSize(final int width, final int height) {
73
73
Math .abs (aspect - (float )w /h ) < 0.2 ) {
74
74
bestWidth = w ;
75
75
bestHeight = h ;
76
- //mPreviewSize = psize;
77
76
}
78
77
}
79
78
Log .i (LOGTAG , "best size: " +bestWidth +"x" +bestHeight );
@@ -156,9 +155,9 @@ public void onOpened(CameraDevice cameraDevice) {
156
155
157
156
@ Override
158
157
public void onDisconnected (CameraDevice cameraDevice ) {
159
- //mCameraOpenCloseLock.release();
160
158
cameraDevice .close ();
161
159
mCameraDevice = null ;
160
+ mCameraOpenCloseLock .release ();
162
161
}
163
162
164
163
@ Override
@@ -185,14 +184,14 @@ private void createCameraPreviewSession() {
185
184
return ;
186
185
}
187
186
if (null == mSTex ) {
187
+ mCameraOpenCloseLock .release ();
188
188
Log .e (LOGTAG , "createCameraPreviewSession: preview SurfaceTexture is null" );
189
189
return ;
190
190
}
191
191
Log .d (LOGTAG , "starting preview " +mPreviewSize .getWidth ()+"x" +mPreviewSize .getHeight ());
192
192
mSTex .setDefaultBufferSize (mPreviewSize .getWidth (), mPreviewSize .getHeight ());
193
193
194
194
Surface surface = new Surface (mSTex );
195
- Log .d (LOGTAG , "createCameraPreviewSession: surface = " + surface );
196
195
197
196
mPreviewRequestBuilder = mCameraDevice
198
197
.createCaptureRequest (CameraDevice .TEMPLATE_PREVIEW );
@@ -215,6 +214,7 @@ public void onConfigured(
215
214
mCaptureSession .setRepeatingRequest (
216
215
mPreviewRequestBuilder .build (), null ,
217
216
mBackgroundHandler );
217
+ Log .i (LOGTAG , "CameraPreviewSession has been started" );
218
218
} catch (CameraAccessException e ) {
219
219
Log .e (LOGTAG , "createCaptureSession failed" );
220
220
}
@@ -227,15 +227,15 @@ public void onConfigureFailed(
227
227
Log .e (LOGTAG , "createCameraPreviewSession failed" );
228
228
mCameraOpenCloseLock .release ();
229
229
}
230
- }, null );
230
+ }, mBackgroundHandler );
231
231
} catch (CameraAccessException e ) {
232
232
Log .e (LOGTAG , "createCameraPreviewSession" );
233
233
} catch (InterruptedException e ) {
234
234
throw new RuntimeException (
235
235
"Interrupted while createCameraPreviewSession" , e );
236
236
}
237
237
finally {
238
- mCameraOpenCloseLock .release ();
238
+ // mCameraOpenCloseLock.release();
239
239
}
240
240
}
241
241
@@ -262,12 +262,15 @@ private void stopBackgroundThread() {
262
262
263
263
@ Override
264
264
protected void setCameraPreviewSize (int width , int height ) {
265
- //mPreviewSize = new Size(width, height);
266
- if ( !cacPreviewSize (width , height ) )
267
- return ;
265
+ Log .i (LOGTAG , "setCameraPreviewSize(" +width +"x" +height +")" );
268
266
try {
269
267
mCameraOpenCloseLock .acquire ();
268
+ if ( !cacPreviewSize (width , height ) ) {
269
+ mCameraOpenCloseLock .release ();
270
+ return ;
271
+ }
270
272
if (null != mCaptureSession ) {
273
+ Log .d (LOGTAG , "closing existing previewSession" );
271
274
mCaptureSession .close ();
272
275
mCaptureSession = null ;
273
276
}
0 commit comments