diff --git a/media/bufferpool/2.0/Accessor.cpp b/media/bufferpool/2.0/Accessor.cpp index 3fd41f0b91..c1b62f8b6a 100644 --- a/media/bufferpool/2.0/Accessor.cpp +++ b/media/bufferpool/2.0/Accessor.cpp @@ -117,14 +117,20 @@ sp Accessor::getConnectionDeathRecipient() { Return Accessor::connect(connect_cb _hidl_cb) { sp connection; ConnectionId connectionId; - const QueueDescriptor* fmqDesc; + const StatusDescriptor* fmqDesc; ResultStatus status = connect(&connection, &connectionId, &fmqDesc, false); if (status == ResultStatus::OK) { - _hidl_cb(status, connection, connectionId, *fmqDesc); + _hidl_cb(status, connection, connectionId, *fmqDesc, + android::hardware::MQDescriptorSync( + std::vector(), + nullptr /* nhandle */, 0 /* size */)); } else { _hidl_cb(status, nullptr, -1LL, android::hardware::MQDescriptorSync( + std::vector(), + nullptr /* nhandle */, 0 /* size */), + android::hardware::MQDescriptorSync( std::vector(), nullptr /* nhandle */, 0 /* size */)); } @@ -162,7 +168,7 @@ ResultStatus Accessor::fetch( ResultStatus Accessor::connect( sp *connection, ConnectionId *pConnectionId, - const QueueDescriptor** fmqDescPtr, bool local) { + const StatusDescriptor** fmqDescPtr, bool local) { if (mImpl) { ResultStatus status = mImpl->connect(this, connection, pConnectionId, fmqDescPtr); if (!local && status == ResultStatus::OK) { diff --git a/media/bufferpool/2.0/Accessor.h b/media/bufferpool/2.0/Accessor.h index 4fd8f5b2e2..fa2cb1b030 100644 --- a/media/bufferpool/2.0/Accessor.h +++ b/media/bufferpool/2.0/Accessor.h @@ -147,7 +147,7 @@ struct Accessor : public IAccessor { */ ResultStatus connect( sp *connection, ConnectionId *pConnectionId, - const QueueDescriptor** fmqDescPtr, bool local); + const StatusDescriptor** fmqDescPtr, bool local); /** * Closes the specified connection to the client. diff --git a/media/bufferpool/2.0/AccessorImpl.cpp b/media/bufferpool/2.0/AccessorImpl.cpp index e5cf275ee3..ef62d030f5 100644 --- a/media/bufferpool/2.0/AccessorImpl.cpp +++ b/media/bufferpool/2.0/AccessorImpl.cpp @@ -139,7 +139,7 @@ Accessor::Impl::~Impl() { ResultStatus Accessor::Impl::connect( const sp &accessor, sp *connection, - ConnectionId *pConnectionId, const QueueDescriptor** fmqDescPtr) { + ConnectionId *pConnectionId, const StatusDescriptor** fmqDescPtr) { sp newConnection = new Connection(); ResultStatus status = ResultStatus::CRITICAL_ERROR; { diff --git a/media/bufferpool/2.0/AccessorImpl.h b/media/bufferpool/2.0/AccessorImpl.h index 404394071c..1d33880e2a 100644 --- a/media/bufferpool/2.0/AccessorImpl.h +++ b/media/bufferpool/2.0/AccessorImpl.h @@ -41,7 +41,7 @@ public: ResultStatus connect( const sp &accessor, sp *connection, - ConnectionId *pConnectionId, const QueueDescriptor** fmqDescPtr); + ConnectionId *pConnectionId, const StatusDescriptor** fmqDescPtr); ResultStatus close(ConnectionId connectionId); diff --git a/media/bufferpool/2.0/BufferPoolClient.cpp b/media/bufferpool/2.0/BufferPoolClient.cpp index 10158c375c..4eeebb442a 100644 --- a/media/bufferpool/2.0/BufferPoolClient.cpp +++ b/media/bufferpool/2.0/BufferPoolClient.cpp @@ -247,7 +247,7 @@ public: BufferPoolClient::Impl::Impl(const sp &accessor) : mLocal(true), mValid(false), mAccessor(accessor), mSeqId(0), mLastEvictCacheUs(getTimestampNow()) { - const QueueDescriptor *fmqDesc; + const StatusDescriptor *fmqDesc; ResultStatus status = accessor->connect( &mLocalConnection, &mConnectionId, &fmqDesc, true); if (status == ResultStatus::OK) { @@ -269,7 +269,9 @@ BufferPoolClient::Impl::Impl(const sp &accessor) Return transResult = accessor->connect( [&valid, &outConnection, &id, &outChannel] (ResultStatus status, sp connection, - ConnectionId connectionId, const QueueDescriptor& desc) { + ConnectionId connectionId, const StatusDescriptor& desc, + const InvalidationDescriptor& invDesc) { + (void) invDesc; if (status == ResultStatus::OK) { outConnection = connection; id = connectionId; diff --git a/media/bufferpool/2.0/BufferStatus.cpp b/media/bufferpool/2.0/BufferStatus.cpp index 3379e21502..0d3f5a3f54 100644 --- a/media/bufferpool/2.0/BufferStatus.cpp +++ b/media/bufferpool/2.0/BufferStatus.cpp @@ -41,7 +41,7 @@ static constexpr int kNumElementsInQueue = 1024*16; static constexpr int kMinElementsToSyncInQueue = 128; ResultStatus BufferStatusObserver::open( - ConnectionId id, const QueueDescriptor** fmqDescPtr) { + ConnectionId id, const StatusDescriptor** fmqDescPtr) { if (mBufferStatusQueues.find(id) != mBufferStatusQueues.end()) { // TODO: id collision log? return ResultStatus::CRITICAL_ERROR; @@ -91,7 +91,7 @@ void BufferStatusObserver::getBufferStatusChanges(std::vector queue = std::make_unique(fmqDesc); if (!queue || queue->isValid() == false) { diff --git a/media/bufferpool/2.0/BufferStatus.h b/media/bufferpool/2.0/BufferStatus.h index a74f0a5d32..777a3200f8 100644 --- a/media/bufferpool/2.0/BufferStatus.h +++ b/media/bufferpool/2.0/BufferStatus.h @@ -56,7 +56,7 @@ public: * NO_MEMORY when there is no memory. * CRITICAL_ERROR otherwise. */ - ResultStatus open(ConnectionId id, const QueueDescriptor** fmqDescPtr); + ResultStatus open(ConnectionId id, const StatusDescriptor** fmqDescPtr); /** Closes an FMQ for the specified connection(client). * @@ -89,7 +89,7 @@ public: * * @param fmqDesc Descriptor of the created FMQ. */ - BufferStatusChannel(const QueueDescriptor &fmqDesc); + BufferStatusChannel(const StatusDescriptor &fmqDesc); /** Returns whether the FMQ is connected successfully. */ bool isValid(); diff --git a/media/bufferpool/2.0/include/bufferpool/BufferPoolTypes.h b/media/bufferpool/2.0/include/bufferpool/BufferPoolTypes.h index d2de62842c..eb845e16ae 100644 --- a/media/bufferpool/2.0/include/bufferpool/BufferPoolTypes.h +++ b/media/bufferpool/2.0/include/bufferpool/BufferPoolTypes.h @@ -58,7 +58,11 @@ enum : ConnectionId { }; typedef android::hardware::MessageQueue BufferStatusQueue; -typedef BufferStatusQueue::Descriptor QueueDescriptor; +typedef BufferStatusQueue::Descriptor StatusDescriptor; + +typedef android::hardware::MessageQueue + BufferInvalidationQueue; +typedef BufferInvalidationQueue::Descriptor InvalidationDescriptor; /** * Allocation wrapper class for buffer pool.