summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/ProCamera2Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/camera/libcameraservice/ProCamera2Client.cpp')
-rw-r--r--services/camera/libcameraservice/ProCamera2Client.cpp12
1 files changed, 10 insertions, 2 deletions
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>& surface,
+ const sp<IGraphicBufferProducer>& 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<IBinder> binder;
+ sp<ANativeWindow> 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.