Refactored DummyConsumer
DummyConsumer no longer uses a ProxyConsumerListener
Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c
diff --git a/include/gui/DummyConsumer.h b/include/gui/DummyConsumer.h
index 6fc8da7..7fe4d40 100644
--- a/include/gui/DummyConsumer.h
+++ b/include/gui/DummyConsumer.h
@@ -25,14 +25,11 @@
// The DummyConsumer does not keep a reference to BufferQueue
// unlike SurfaceTexture. This prevents a circular reference from
-// forming. The BufferQueue indirectly keeps a DummyConsumer alive
-// through the proxy ConsumerListener.
-class DummyConsumer : public virtual RefBase,
- protected BufferQueue::ConsumerListener {
+// forming without having to use a ProxyConsumerListener
+class DummyConsumer : public BufferQueue::ConsumerListener {
public:
- DummyConsumer(sp<BufferQueue> bufferQueue);
+ DummyConsumer();
virtual ~DummyConsumer();
-
protected:
// Implementation of the BufferQueue::ConsumerListener interface. These
diff --git a/libs/gui/DummyConsumer.cpp b/libs/gui/DummyConsumer.cpp
index e42aa05..be47e0e 100644
--- a/libs/gui/DummyConsumer.cpp
+++ b/libs/gui/DummyConsumer.cpp
@@ -24,17 +24,8 @@
namespace android {
-DummyConsumer::DummyConsumer(sp<BufferQueue> bufferQueue) {
- wp<BufferQueue::ConsumerListener> listener;
- sp<BufferQueue::ConsumerListener> proxy;
- listener = static_cast<BufferQueue::ConsumerListener*>(this);
- proxy = new BufferQueue::ProxyConsumerListener(listener);
-
- status_t err = bufferQueue->consumerConnect(proxy);
- if (err != NO_ERROR) {
- ALOGE("DummyConsumer: error connecting to BufferQueue: %s (%d)",
- strerror(-err), err);
- }
+DummyConsumer::DummyConsumer() {
+ ALOGV("DummyConsumer");
}
DummyConsumer::~DummyConsumer() {