diff options
-rw-r--r-- | include/gui/SurfaceComposerClient.h | 2 | ||||
-rw-r--r-- | libs/gui/SurfaceComposerClient.cpp | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/gui/SurfaceComposerClient.h b/include/gui/SurfaceComposerClient.h index 350b987..ac53f02 100644 --- a/include/gui/SurfaceComposerClient.h +++ b/include/gui/SurfaceComposerClient.h @@ -169,7 +169,7 @@ public: private: mutable sp<CpuConsumer> mCpuConsumer; - mutable sp<BufferQueue> mBufferQueue; + mutable sp<IGraphicBufferProducer> mProducer; CpuConsumer::LockedBuffer mBuffer; bool mHaveBuffer; diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index 5fe99e8..6b20eaf 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -646,8 +646,9 @@ ScreenshotClient::~ScreenshotClient() { sp<CpuConsumer> ScreenshotClient::getCpuConsumer() const { if (mCpuConsumer == NULL) { - mBufferQueue = new BufferQueue(); - mCpuConsumer = new CpuConsumer(mBufferQueue, 1); + sp<IGraphicBufferConsumer> consumer; + BufferQueue::createBufferQueue(&mProducer, &consumer); + mCpuConsumer = new CpuConsumer(consumer, 1); mCpuConsumer->setName(String8("ScreenshotClient")); } return mCpuConsumer; @@ -667,7 +668,7 @@ status_t ScreenshotClient::update(const sp<IBinder>& display, mHaveBuffer = false; } - status_t err = s->captureScreen(display, mBufferQueue, + status_t err = s->captureScreen(display, mProducer, reqWidth, reqHeight, minLayerZ, maxLayerZ, useIdentityTransform); if (err == NO_ERROR) { |