Revert "Add support for camera preview to be in overlay surfaces."
This reverts commit c35feb106e8ded282a261ae89075361ae5dc4214.
diff --git a/camera/libcameraservice/CameraService.cpp b/camera/libcameraservice/CameraService.cpp
index b103861..36c5ada 100644
--- a/camera/libcameraservice/CameraService.cpp
+++ b/camera/libcameraservice/CameraService.cpp
@@ -158,7 +158,6 @@
mCameraClient = cameraClient;
mClientPid = clientPid;
mHardware = openCameraHardware();
- mUseOverlay = mHardware->useOverlay();
// Callback is disabled by default
mFrameCallbackFlag = FRAME_CALLBACK_FLAG_NOOP;
@@ -234,7 +233,7 @@
{
// tear down client
LOGD("Client E destructor");
- if (mSurface != 0 && !mUseOverlay) {
+ if (mSurface != 0) {
#if HAVE_ANDROID_OS
pthread_t thr;
// We unregister the buffers in a different thread because binder does
@@ -289,7 +288,7 @@
Mutex::Autolock surfaceLock(mSurfaceLock);
// asBinder() is safe on NULL (returns NULL)
if (surface->asBinder() != mSurface->asBinder()) {
- if (mSurface != 0 && !mUseOverlay) {
+ if (mSurface != 0) {
LOGD("clearing old preview surface %p", mSurface.get());
mSurface->unregisterBuffers();
}
@@ -342,39 +341,17 @@
#if DEBUG_DUMP_PREVIEW_FRAME_TO_FILE
debug_frame_cnt = 0;
#endif
- status_t ret;
- if (mUseOverlay) {
- const char *format = params.getPreviewFormat();
- int fmt;
- LOGD("Use Overlays");
- if (!strcmp(format, "yuv422i"))
- fmt = OVERLAY_FORMAT_YCbCr_422_I;
- else if (!strcmp(format, "rgb565"))
- fmt = OVERLAY_FORMAT_RGB_565;
- else {
- LOGE("Invalid preview format for overlays");
- return -EINVAL;
- }
- sp<OverlayRef> ref = mSurface->createOverlay(w, h, fmt);
- ret = mHardware->setOverlay(new Overlay(ref));
- if (ret != NO_ERROR) {
- LOGE("mHardware->setOverlay() failed with status %d\n", ret);
- return ret;
- }
- ret = mHardware->startPreview(NULL, mCameraService.get());
- if (ret != NO_ERROR)
- LOGE("mHardware->startPreview() failed with status %d\n", ret);
- } else {
- LOGD("Don't use Overlays");
- ret = mHardware->startPreview(previewCallback,
- mCameraService.get());
- if (ret == NO_ERROR) {
- mSurface->unregisterBuffers();
- mSurface->registerBuffers(w, h, w, h, PIXEL_FORMAT_YCbCr_420_SP,
- mHardware->getPreviewHeap());
- }
- else LOGE("mHardware->startPreview() failed with status %d\n", ret);
+
+ status_t ret = mHardware->startPreview(previewCallback,
+ mCameraService.get());
+ if (ret == NO_ERROR) {
+ mSurface->unregisterBuffers();
+ mSurface->registerBuffers(w,h,w,h,
+ PIXEL_FORMAT_YCbCr_420_SP,
+ mHardware->getPreviewHeap());
}
+ else LOGE("mHardware->startPreview() failed with status %d\n",
+ ret);
return ret;
}
@@ -395,7 +372,7 @@
mHardware->stopPreview();
LOGD("stopPreview(), hardware stopped OK");
- if (mSurface != 0 && !mUseOverlay) {
+ if (mSurface != 0) {
mSurface->unregisterBuffers();
}
mPreviewBuffer.clear();
@@ -543,7 +520,7 @@
return INVALID_OPERATION;
}
- if (mSurface != NULL && !mUseOverlay)
+ if (mSurface != NULL)
mSurface->unregisterBuffers();
return mHardware->takePicture(shutterCallback,
@@ -596,7 +573,7 @@
params.getPictureSize(&w, &h);
// Mutex::Autolock clientLock(client->mLock);
- if (client->mSurface != 0 && !client->mUseOverlay) {
+ if (client->mSurface != 0) {
client->mSurface->unregisterBuffers();
client->mSurface->registerBuffers(w,h,w,h,
PIXEL_FORMAT_YCbCr_420_SP, heap);
@@ -903,3 +880,5 @@
#endif // DEBUG_HEAP_LEAKS
}; // namespace android
+
+