Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d61a28d authored by Daniel Lam's avatar Daniel Lam
Browse files

Refactored DummyConsumer

DummyConsumer no longer uses a ProxyConsumerListener

Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c
parent bb675568
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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
+2 −11
Original line number Diff line number Diff line
@@ -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() {