diff options
| author | 2020-01-15 16:04:47 -0800 | |
|---|---|---|
| committer | 2020-02-07 16:21:31 -0800 | |
| commit | 62493096843ffd4fd2a134588181599727f1c10d (patch) | |
| tree | 6f353fc5ae3c4fa3784de5d475e19ecb811da260 /libs/gui/BufferQueueProducer.cpp | |
| parent | 90e9861ff6651b4bbc5a196d5289b3a7b2386839 (diff) | |
Remove libbinder usage from media.swcodec apex
libgui_bufferqueue_static is used by com.android.media.swcodec apex
which doesn't do any IPC through binder. Remove binder dependency
to eliminate any possibility of IPC via any unstable interfaces.
b/147759770
b/139201422
test: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small
Change-Id: I98dbe751527bf4725c7764ba21f46b6af60968b4
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
| -rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 6b11a54e2b..9e86838592 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -67,6 +67,7 @@ namespace android { ##__VA_ARGS__) static constexpr uint32_t BQ_LAYER_COUNT = 1; +ProducerListener::~ProducerListener() = default; BufferQueueProducer::BufferQueueProducer(const sp<BufferQueueCore>& core, bool consumerIsSurfaceFlinger) : @@ -1005,8 +1006,9 @@ status_t BufferQueueProducer::queueBuffer(int slot, ATRACE_INT(mCore->mConsumerName.string(), static_cast<int32_t>(mCore->mQueue.size())); +#ifndef NO_BINDER mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size()); - +#endif // Take a ticket for the callback functions callbackTicket = mNextCallbackTicket++; @@ -1252,6 +1254,7 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener, if (listener != nullptr) { // Set up a death notification so that we can disconnect // automatically if the remote producer dies +#ifndef NO_BINDER if (IInterface::asBinder(listener)->remoteBinder() != nullptr) { status = IInterface::asBinder(listener)->linkToDeath( static_cast<IBinder::DeathRecipient*>(this)); @@ -1261,6 +1264,7 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener, } mCore->mLinkedToDeath = listener; } +#endif mCore->mConnectedProducerListener = listener; mCore->mBufferReleasedCbEnabled = listener->needsReleaseNotify(); } @@ -1329,6 +1333,7 @@ status_t BufferQueueProducer::disconnect(int api, DisconnectMode mode) { if (mCore->mConnectedApi == api) { mCore->freeAllBuffersLocked(); +#ifndef NO_BINDER // Remove our death notification callback if we have one if (mCore->mLinkedToDeath != nullptr) { sp<IBinder> token = @@ -1338,6 +1343,7 @@ status_t BufferQueueProducer::disconnect(int api, DisconnectMode mode) { token->unlinkToDeath( static_cast<IBinder::DeathRecipient*>(this)); } +#endif mCore->mSharedBufferSlot = BufferQueueCore::INVALID_BUFFER_SLOT; mCore->mLinkedToDeath = nullptr; |