All consumers now take an IGraphicBufferConsumer instead of a BufferQueue
this means they only have access to the consumer end of
the interface. we had a lot of code that assumed consumers
where holding a BufferQueue (i.e.: both ends), so most of
this change is untangling in fix that
Bug: 9265647
Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
diff --git a/libs/gui/tests/CpuConsumer_test.cpp b/libs/gui/tests/CpuConsumer_test.cpp
index f8a35b4..afbc026 100644
--- a/libs/gui/tests/CpuConsumer_test.cpp
+++ b/libs/gui/tests/CpuConsumer_test.cpp
@@ -70,7 +70,7 @@
mCC = new CpuConsumer(bq, params.maxLockedBuffers);
String8 name("CpuConsumer_Under_Test");
mCC->setName(name);
- mSTC = new Surface(mCC->getProducerInterface());
+ mSTC = new Surface(bq);
mANW = mSTC;
}
diff --git a/libs/gui/tests/SurfaceTextureClient_test.cpp b/libs/gui/tests/SurfaceTextureClient_test.cpp
index 1de9c27..459b001 100644
--- a/libs/gui/tests/SurfaceTextureClient_test.cpp
+++ b/libs/gui/tests/SurfaceTextureClient_test.cpp
@@ -42,7 +42,7 @@
sp<BufferQueue> bq = new BufferQueue();
mST = new GLConsumer(bq, 123);
- mSTC = new Surface(mST->getBufferQueue());
+ mSTC = new Surface(bq);
mANW = mSTC;
// We need a valid GL context so we can test updateTexImage()
@@ -710,7 +710,7 @@
for (int i = 0; i < NUM_SURFACE_TEXTURES; i++) {
sp<BufferQueue> bq = new BufferQueue();
sp<GLConsumer> st(new GLConsumer(bq, i));
- sp<Surface> stc(new Surface(st->getBufferQueue()));
+ sp<Surface> stc(new Surface(bq));
mEglSurfaces[i] = eglCreateWindowSurface(mEglDisplay, myConfig,
static_cast<ANativeWindow*>(stc.get()), NULL);
ASSERT_EQ(EGL_SUCCESS, eglGetError());
diff --git a/libs/gui/tests/SurfaceTexture_test.cpp b/libs/gui/tests/SurfaceTexture_test.cpp
index ae223c6..05b0b67 100644
--- a/libs/gui/tests/SurfaceTexture_test.cpp
+++ b/libs/gui/tests/SurfaceTexture_test.cpp
@@ -387,7 +387,7 @@
GLTest::SetUp();
sp<BufferQueue> bq = new BufferQueue();
mGlConsumer = new GLConsumer(bq, TEX_ID);
- mSurface = new Surface(mGlConsumer->getBufferQueue());
+ mSurface = new Surface(bq);
mANW = mSurface.get();
}
@@ -481,8 +481,9 @@
virtual void SetUp() {
GLTest::SetUp();
sp<BufferQueue> bq = new BufferQueue();
+ mBQ = bq;
mST = new GLConsumer(bq, TEX_ID);
- mSTC = new Surface(mST->getBufferQueue());
+ mSTC = new Surface(bq);
mANW = mSTC;
mTextureRenderer = new TextureRenderer(TEX_ID, mST);
ASSERT_NO_FATAL_FAILURE(mTextureRenderer->SetUp());
@@ -672,6 +673,7 @@
Condition mFrameCondition;
};
+ sp<BufferQueue> mBQ;
sp<GLConsumer> mST;
sp<Surface> mSTC;
sp<ANativeWindow> mANW;
@@ -1211,7 +1213,7 @@
};
sp<DisconnectWaiter> dw(new DisconnectWaiter());
- mST->getBufferQueue()->consumerConnect(dw, false);
+ mBQ->consumerConnect(dw, false);
sp<Thread> pt(new ProducerThread(mANW));
diff --git a/libs/gui/tests/Surface_test.cpp b/libs/gui/tests/Surface_test.cpp
index bcdbedb..0440c4c 100644
--- a/libs/gui/tests/Surface_test.cpp
+++ b/libs/gui/tests/Surface_test.cpp
@@ -92,7 +92,7 @@
sp<CpuConsumer> consumer = new CpuConsumer(bq, 1);
sp<ISurfaceComposer> sf(ComposerService::getComposerService());
sp<IBinder> display(sf->getBuiltInDisplay(ISurfaceComposer::eDisplayIdMain));
- ASSERT_EQ(NO_ERROR, sf->captureScreen(display, consumer->getBufferQueue(),
+ ASSERT_EQ(NO_ERROR, sf->captureScreen(display, bq,
64, 64, 0, 0x7fffffff, true));
// Set the PROTECTED usage bit and verify that the screenshot fails. Note
@@ -121,7 +121,7 @@
&buf));
ASSERT_EQ(NO_ERROR, anw->queueBuffer(anw.get(), buf, -1));
}
- ASSERT_EQ(NO_ERROR, sf->captureScreen(display, consumer->getBufferQueue(),
+ ASSERT_EQ(NO_ERROR, sf->captureScreen(display, bq,
64, 64, 0, 0x7fffffff, true));
}