Loading include/gui/BufferQueueProducer.h +0 −3 Original line number Original line Diff line number Diff line Loading @@ -170,9 +170,6 @@ public: // See IGraphicBufferProducer::getConsumerName // See IGraphicBufferProducer::getConsumerName virtual String8 getConsumerName() const override; virtual String8 getConsumerName() const override; // See IGraphicBufferProducer::getNextFrameNumber virtual uint64_t getNextFrameNumber() const override; // See IGraphicBufferProducer::setSharedBufferMode // See IGraphicBufferProducer::setSharedBufferMode virtual status_t setSharedBufferMode(bool sharedBufferMode) override; virtual status_t setSharedBufferMode(bool sharedBufferMode) override; Loading include/gui/IGraphicBufferProducer.h +7 −5 Original line number Original line Diff line number Diff line Loading @@ -361,24 +361,29 @@ public: inline void deflate(uint32_t* outWidth, inline void deflate(uint32_t* outWidth, uint32_t* outHeight, uint32_t* outHeight, uint32_t* outTransformHint, uint32_t* outTransformHint, uint32_t* outNumPendingBuffers) const { uint32_t* outNumPendingBuffers, uint64_t* outNextFrameNumber) const { *outWidth = width; *outWidth = width; *outHeight = height; *outHeight = height; *outTransformHint = transformHint; *outTransformHint = transformHint; *outNumPendingBuffers = numPendingBuffers; *outNumPendingBuffers = numPendingBuffers; *outNextFrameNumber = nextFrameNumber; } } inline void inflate(uint32_t inWidth, uint32_t inHeight, inline void inflate(uint32_t inWidth, uint32_t inHeight, uint32_t inTransformHint, uint32_t inNumPendingBuffers) { uint32_t inTransformHint, uint32_t inNumPendingBuffers, uint64_t inNextFrameNumber) { width = inWidth; width = inWidth; height = inHeight; height = inHeight; transformHint = inTransformHint; transformHint = inTransformHint; numPendingBuffers = inNumPendingBuffers; numPendingBuffers = inNumPendingBuffers; nextFrameNumber = inNextFrameNumber; } } private: private: uint32_t width; uint32_t width; uint32_t height; uint32_t height; uint32_t transformHint; uint32_t transformHint; uint32_t numPendingBuffers; uint32_t numPendingBuffers; uint64_t nextFrameNumber{0}; }; }; virtual status_t queueBuffer(int slot, const QueueBufferInput& input, virtual status_t queueBuffer(int slot, const QueueBufferInput& input, Loading Loading @@ -523,9 +528,6 @@ public: // Returns the name of the connected consumer. // Returns the name of the connected consumer. virtual String8 getConsumerName() const = 0; virtual String8 getConsumerName() const = 0; // Returns the number of the next frame which will be dequeued. virtual uint64_t getNextFrameNumber() const = 0; // Used to enable/disable shared buffer mode. // Used to enable/disable shared buffer mode. // // // When shared buffer mode is enabled the first buffer that is queued or // When shared buffer mode is enabled the first buffer that is queued or Loading include/gui/Surface.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -375,6 +375,8 @@ private: nsecs_t mLastQueueDuration = 0; nsecs_t mLastQueueDuration = 0; Condition mQueueBufferCondition; Condition mQueueBufferCondition; uint64_t mNextFrameNumber; }; }; namespace view { namespace view { Loading libs/gui/BufferQueueProducer.cpp +4 −10 Original line number Original line Diff line number Diff line Loading @@ -900,7 +900,8 @@ status_t BufferQueueProducer::queueBuffer(int slot, output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, mCore->mTransformHint, mCore->mTransformHint, static_cast<uint32_t>(mCore->mQueue.size())); static_cast<uint32_t>(mCore->mQueue.size()), mCore->mFrameCounter + 1); ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size()); ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size()); mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size()); mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size()); Loading Loading @@ -1107,7 +1108,8 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener, mCore->mConnectedApi = api; mCore->mConnectedApi = api; output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, mCore->mTransformHint, mCore->mTransformHint, static_cast<uint32_t>(mCore->mQueue.size())); static_cast<uint32_t>(mCore->mQueue.size()), mCore->mFrameCounter + 1); // Set up a death notification so that we can disconnect // Set up a death notification so that we can disconnect // automatically if the remote producer dies // automatically if the remote producer dies Loading Loading @@ -1342,14 +1344,6 @@ String8 BufferQueueProducer::getConsumerName() const { return mConsumerName; return mConsumerName; } } uint64_t BufferQueueProducer::getNextFrameNumber() const { ATRACE_CALL(); Mutex::Autolock lock(mCore->mMutex); uint64_t nextFrameNumber = mCore->mFrameCounter + 1; return nextFrameNumber; } status_t BufferQueueProducer::setSharedBufferMode(bool sharedBufferMode) { status_t BufferQueueProducer::setSharedBufferMode(bool sharedBufferMode) { ATRACE_CALL(); ATRACE_CALL(); BQ_LOGV("setSharedBufferMode: %d", sharedBufferMode); BQ_LOGV("setSharedBufferMode: %d", sharedBufferMode); Loading libs/gui/IGraphicBufferProducer.cpp +0 −19 Original line number Original line Diff line number Diff line Loading @@ -50,7 +50,6 @@ enum { GET_CONSUMER_NAME, GET_CONSUMER_NAME, SET_MAX_DEQUEUED_BUFFER_COUNT, SET_MAX_DEQUEUED_BUFFER_COUNT, SET_ASYNC_MODE, SET_ASYNC_MODE, GET_NEXT_FRAME_NUMBER, SET_SHARED_BUFFER_MODE, SET_SHARED_BUFFER_MODE, SET_AUTO_REFRESH, SET_AUTO_REFRESH, SET_DEQUEUE_TIMEOUT, SET_DEQUEUE_TIMEOUT, Loading Loading @@ -347,18 +346,6 @@ public: return reply.readString8(); return reply.readString8(); } } virtual uint64_t getNextFrameNumber() const { Parcel data, reply; data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor()); status_t result = remote()->transact(GET_NEXT_FRAME_NUMBER, data, &reply); if (result != NO_ERROR) { ALOGE("getNextFrameNumber failed to transact: %d", result); return 0; } uint64_t frameNumber = reply.readUint64(); return frameNumber; } virtual status_t setSharedBufferMode(bool sharedBufferMode) { virtual status_t setSharedBufferMode(bool sharedBufferMode) { Parcel data, reply; Parcel data, reply; data.writeInterfaceToken( data.writeInterfaceToken( Loading Loading @@ -676,12 +663,6 @@ status_t BnGraphicBufferProducer::onTransact( reply->writeString8(getConsumerName()); reply->writeString8(getConsumerName()); return NO_ERROR; return NO_ERROR; } } case GET_NEXT_FRAME_NUMBER: { CHECK_INTERFACE(IGraphicBufferProducer, data, reply); uint64_t frameNumber = getNextFrameNumber(); reply->writeUint64(frameNumber); return NO_ERROR; } case SET_SHARED_BUFFER_MODE: { case SET_SHARED_BUFFER_MODE: { CHECK_INTERFACE(IGraphicBufferProducer, data, reply); CHECK_INTERFACE(IGraphicBufferProducer, data, reply); bool sharedBufferMode = data.readInt32(); bool sharedBufferMode = data.readInt32(); Loading Loading
include/gui/BufferQueueProducer.h +0 −3 Original line number Original line Diff line number Diff line Loading @@ -170,9 +170,6 @@ public: // See IGraphicBufferProducer::getConsumerName // See IGraphicBufferProducer::getConsumerName virtual String8 getConsumerName() const override; virtual String8 getConsumerName() const override; // See IGraphicBufferProducer::getNextFrameNumber virtual uint64_t getNextFrameNumber() const override; // See IGraphicBufferProducer::setSharedBufferMode // See IGraphicBufferProducer::setSharedBufferMode virtual status_t setSharedBufferMode(bool sharedBufferMode) override; virtual status_t setSharedBufferMode(bool sharedBufferMode) override; Loading
include/gui/IGraphicBufferProducer.h +7 −5 Original line number Original line Diff line number Diff line Loading @@ -361,24 +361,29 @@ public: inline void deflate(uint32_t* outWidth, inline void deflate(uint32_t* outWidth, uint32_t* outHeight, uint32_t* outHeight, uint32_t* outTransformHint, uint32_t* outTransformHint, uint32_t* outNumPendingBuffers) const { uint32_t* outNumPendingBuffers, uint64_t* outNextFrameNumber) const { *outWidth = width; *outWidth = width; *outHeight = height; *outHeight = height; *outTransformHint = transformHint; *outTransformHint = transformHint; *outNumPendingBuffers = numPendingBuffers; *outNumPendingBuffers = numPendingBuffers; *outNextFrameNumber = nextFrameNumber; } } inline void inflate(uint32_t inWidth, uint32_t inHeight, inline void inflate(uint32_t inWidth, uint32_t inHeight, uint32_t inTransformHint, uint32_t inNumPendingBuffers) { uint32_t inTransformHint, uint32_t inNumPendingBuffers, uint64_t inNextFrameNumber) { width = inWidth; width = inWidth; height = inHeight; height = inHeight; transformHint = inTransformHint; transformHint = inTransformHint; numPendingBuffers = inNumPendingBuffers; numPendingBuffers = inNumPendingBuffers; nextFrameNumber = inNextFrameNumber; } } private: private: uint32_t width; uint32_t width; uint32_t height; uint32_t height; uint32_t transformHint; uint32_t transformHint; uint32_t numPendingBuffers; uint32_t numPendingBuffers; uint64_t nextFrameNumber{0}; }; }; virtual status_t queueBuffer(int slot, const QueueBufferInput& input, virtual status_t queueBuffer(int slot, const QueueBufferInput& input, Loading Loading @@ -523,9 +528,6 @@ public: // Returns the name of the connected consumer. // Returns the name of the connected consumer. virtual String8 getConsumerName() const = 0; virtual String8 getConsumerName() const = 0; // Returns the number of the next frame which will be dequeued. virtual uint64_t getNextFrameNumber() const = 0; // Used to enable/disable shared buffer mode. // Used to enable/disable shared buffer mode. // // // When shared buffer mode is enabled the first buffer that is queued or // When shared buffer mode is enabled the first buffer that is queued or Loading
include/gui/Surface.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -375,6 +375,8 @@ private: nsecs_t mLastQueueDuration = 0; nsecs_t mLastQueueDuration = 0; Condition mQueueBufferCondition; Condition mQueueBufferCondition; uint64_t mNextFrameNumber; }; }; namespace view { namespace view { Loading
libs/gui/BufferQueueProducer.cpp +4 −10 Original line number Original line Diff line number Diff line Loading @@ -900,7 +900,8 @@ status_t BufferQueueProducer::queueBuffer(int slot, output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, mCore->mTransformHint, mCore->mTransformHint, static_cast<uint32_t>(mCore->mQueue.size())); static_cast<uint32_t>(mCore->mQueue.size()), mCore->mFrameCounter + 1); ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size()); ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size()); mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size()); mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size()); Loading Loading @@ -1107,7 +1108,8 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener, mCore->mConnectedApi = api; mCore->mConnectedApi = api; output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight, mCore->mTransformHint, mCore->mTransformHint, static_cast<uint32_t>(mCore->mQueue.size())); static_cast<uint32_t>(mCore->mQueue.size()), mCore->mFrameCounter + 1); // Set up a death notification so that we can disconnect // Set up a death notification so that we can disconnect // automatically if the remote producer dies // automatically if the remote producer dies Loading Loading @@ -1342,14 +1344,6 @@ String8 BufferQueueProducer::getConsumerName() const { return mConsumerName; return mConsumerName; } } uint64_t BufferQueueProducer::getNextFrameNumber() const { ATRACE_CALL(); Mutex::Autolock lock(mCore->mMutex); uint64_t nextFrameNumber = mCore->mFrameCounter + 1; return nextFrameNumber; } status_t BufferQueueProducer::setSharedBufferMode(bool sharedBufferMode) { status_t BufferQueueProducer::setSharedBufferMode(bool sharedBufferMode) { ATRACE_CALL(); ATRACE_CALL(); BQ_LOGV("setSharedBufferMode: %d", sharedBufferMode); BQ_LOGV("setSharedBufferMode: %d", sharedBufferMode); Loading
libs/gui/IGraphicBufferProducer.cpp +0 −19 Original line number Original line Diff line number Diff line Loading @@ -50,7 +50,6 @@ enum { GET_CONSUMER_NAME, GET_CONSUMER_NAME, SET_MAX_DEQUEUED_BUFFER_COUNT, SET_MAX_DEQUEUED_BUFFER_COUNT, SET_ASYNC_MODE, SET_ASYNC_MODE, GET_NEXT_FRAME_NUMBER, SET_SHARED_BUFFER_MODE, SET_SHARED_BUFFER_MODE, SET_AUTO_REFRESH, SET_AUTO_REFRESH, SET_DEQUEUE_TIMEOUT, SET_DEQUEUE_TIMEOUT, Loading Loading @@ -347,18 +346,6 @@ public: return reply.readString8(); return reply.readString8(); } } virtual uint64_t getNextFrameNumber() const { Parcel data, reply; data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor()); status_t result = remote()->transact(GET_NEXT_FRAME_NUMBER, data, &reply); if (result != NO_ERROR) { ALOGE("getNextFrameNumber failed to transact: %d", result); return 0; } uint64_t frameNumber = reply.readUint64(); return frameNumber; } virtual status_t setSharedBufferMode(bool sharedBufferMode) { virtual status_t setSharedBufferMode(bool sharedBufferMode) { Parcel data, reply; Parcel data, reply; data.writeInterfaceToken( data.writeInterfaceToken( Loading Loading @@ -676,12 +663,6 @@ status_t BnGraphicBufferProducer::onTransact( reply->writeString8(getConsumerName()); reply->writeString8(getConsumerName()); return NO_ERROR; return NO_ERROR; } } case GET_NEXT_FRAME_NUMBER: { CHECK_INTERFACE(IGraphicBufferProducer, data, reply); uint64_t frameNumber = getNextFrameNumber(); reply->writeUint64(frameNumber); return NO_ERROR; } case SET_SHARED_BUFFER_MODE: { case SET_SHARED_BUFFER_MODE: { CHECK_INTERFACE(IGraphicBufferProducer, data, reply); CHECK_INTERFACE(IGraphicBufferProducer, data, reply); bool sharedBufferMode = data.readInt32(); bool sharedBufferMode = data.readInt32(); Loading