frameworks/base
Revisión | b9bba0f526490ff1a92349c54af45e31d82a33da (tree) |
---|---|
Tiempo | 2010-02-27 17:47:44 |
Autor | Swan_Wang <swandle@gmai...> |
Commiter | Chih-Wei Huang |
enable camera preview
@@ -314,20 +314,19 @@ int CameraHardware::pictureThread() | ||
314 | 314 | if (mShutterCallback) |
315 | 315 | mShutterCallback(mPictureCallbackCookie); |
316 | 316 | |
317 | - sp<PreviewThread> previewThread; | |
318 | - Mutex::Autolock lock(mLock); | |
319 | - previewStopped = true; | |
320 | - previewThread = mPreviewThread; | |
321 | - if (previewThread != 0) { | |
322 | - previewThread->requestExitAndWait(); | |
323 | - } | |
324 | - mPreviewThread.clear(); | |
325 | - // Grab the photo | |
317 | + camera.Open(VIDEO_DEVICE, PREVIEW_WIDTH, PREVIEW_HEIGHT, PIXEL_FORMAT); | |
318 | + camera.Init(); | |
319 | + camera.StartStreaming(); | |
320 | + | |
326 | 321 | if (mJpegPictureCallback) { |
322 | + LOGD ("mJpegPictureCallback"); | |
323 | + | |
327 | 324 | mJpegPictureCallback(camera.GrabJpegFrame(), mPictureCallbackCookie); |
328 | 325 | } |
329 | - previewStopped = false; | |
330 | - mPreviewThread = new PreviewThread(this); | |
326 | + | |
327 | + camera.Uninit(); | |
328 | + camera.StopStreaming(); | |
329 | + camera.Close(); | |
331 | 330 | return NO_ERROR; |
332 | 331 | } |
333 | 332 |
@@ -336,6 +335,7 @@ status_t CameraHardware::takePicture(shutter_callback shutter_cb, | ||
336 | 335 | jpeg_callback jpeg_cb, |
337 | 336 | void* user) |
338 | 337 | { |
338 | + stopPreview(); | |
339 | 339 | mShutterCallback = shutter_cb; |
340 | 340 | mRawPictureCallback = raw_cb; |
341 | 341 | mJpegPictureCallback = jpeg_cb; |