From 5494cdc67b541034c963919aef8acb8b665e4dde Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Wed, 20 Feb 2013 19:15:15 -0800 Subject: Camera: Change ProCamera to take IGraphicBufferProducer Change-Id: Iec62eead6d179aa5486f7719143340976bb76e7d --- services/camera/libcameraservice/ProCamera2Client.cpp | 12 ++++++++++-- services/camera/libcameraservice/ProCamera2Client.h | 6 +++--- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'services/camera') diff --git a/services/camera/libcameraservice/ProCamera2Client.cpp b/services/camera/libcameraservice/ProCamera2Client.cpp index 5ebe713..aa02f10 100644 --- a/services/camera/libcameraservice/ProCamera2Client.cpp +++ b/services/camera/libcameraservice/ProCamera2Client.cpp @@ -238,7 +238,7 @@ status_t ProCamera2Client::cancelStream(int streamId) { } status_t ProCamera2Client::createStream(int width, int height, int format, - const sp& surface, + const sp& bufferProducer, /*out*/ int* streamId) { @@ -254,7 +254,15 @@ status_t ProCamera2Client::createStream(int width, int height, int format, Mutex::Autolock icl(mIProCameraUserLock); - return mDevice->createStream(surface, width, height, format, /*size*/1, streamId); + sp binder; + sp window; + if (bufferProducer != 0) { + binder = bufferProducer->asBinder(); + window = new Surface(bufferProducer); + } + + return mDevice->createStream(window, width, height, format, /*size*/1, + streamId); } // Create a request object from a template. diff --git a/services/camera/libcameraservice/ProCamera2Client.h b/services/camera/libcameraservice/ProCamera2Client.h index ed42e22..b72fd63 100644 --- a/services/camera/libcameraservice/ProCamera2Client.h +++ b/services/camera/libcameraservice/ProCamera2Client.h @@ -53,9 +53,9 @@ public: virtual status_t cancelStream(int streamId); virtual status_t createStream(int width, int height, int format, - const sp& surface, - /*out*/ - int* streamId); + const sp& bufferProducer, + /*out*/ + int* streamId); // Create a request object from a template. // -- Caller owns the newly allocated metadata -- cgit v1.1