OSDN Git Service

Refactored DummyConsumer
authorDaniel Lam <dalam@google.com>
Tue, 27 Mar 2012 03:37:15 +0000 (20:37 -0700)
committerDaniel Lam <dalam@google.com>
Tue, 27 Mar 2012 23:47:12 +0000 (16:47 -0700)
DummyConsumer no longer uses a ProxyConsumerListener

Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c

include/gui/DummyConsumer.h
libs/gui/DummyConsumer.cpp

index 6fc8da7..7fe4d40 100644 (file)
@@ -25,14 +25,11 @@ namespace android {
 
 // 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
index e42aa05..be47e0e 100644 (file)
 
 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() {