Binderize the consumer side of BufferQueue
While currently untested, this should allow to move the
BuffereQueue in the consumer process and have everything
work as usual.
Bug: 9265647
Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp
index e20ac86..8524a8b 100644
--- a/libs/gui/BufferQueue.cpp
+++ b/libs/gui/BufferQueue.cpp
@@ -25,6 +25,7 @@
#include <EGL/eglext.h>
#include <gui/BufferQueue.h>
+#include <gui/IConsumerListener.h>
#include <gui/ISurfaceComposer.h>
#include <private/gui/ComposerService.h>
@@ -138,7 +139,7 @@
status_t BufferQueue::setBufferCount(int bufferCount) {
ST_LOGV("setBufferCount: count=%d", bufferCount);
- sp<ConsumerListener> listener;
+ sp<IConsumerListener> listener;
{
Mutex::Autolock lock(mMutex);
@@ -492,7 +493,7 @@
return -EINVAL;
}
- sp<ConsumerListener> listener;
+ sp<IConsumerListener> listener;
{ // scope for the lock
Mutex::Autolock lock(mMutex);
@@ -675,7 +676,7 @@
ST_LOGV("disconnect: api=%d", api);
int err = NO_ERROR;
- sp<ConsumerListener> listener;
+ sp<IConsumerListener> listener;
{ // Scope for the lock
Mutex::Autolock lock(mMutex);
@@ -951,7 +952,7 @@
return NO_ERROR;
}
-status_t BufferQueue::consumerConnect(const sp<ConsumerListener>& consumerListener,
+status_t BufferQueue::consumerConnect(const sp<IConsumerListener>& consumerListener,
bool controlledByApp) {
ST_LOGV("consumerConnect");
Mutex::Autolock lock(mMutex);
@@ -1127,20 +1128,20 @@
}
BufferQueue::ProxyConsumerListener::ProxyConsumerListener(
- const wp<BufferQueue::ConsumerListener>& consumerListener):
+ const wp<ConsumerListener>& consumerListener):
mConsumerListener(consumerListener) {}
BufferQueue::ProxyConsumerListener::~ProxyConsumerListener() {}
void BufferQueue::ProxyConsumerListener::onFrameAvailable() {
- sp<BufferQueue::ConsumerListener> listener(mConsumerListener.promote());
+ sp<ConsumerListener> listener(mConsumerListener.promote());
if (listener != NULL) {
listener->onFrameAvailable();
}
}
void BufferQueue::ProxyConsumerListener::onBuffersReleased() {
- sp<BufferQueue::ConsumerListener> listener(mConsumerListener.promote());
+ sp<ConsumerListener> listener(mConsumerListener.promote());
if (listener != NULL) {
listener->onBuffersReleased();
}