Loading libs/gui/BufferHubConsumer.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,16 @@ status_t BufferHubConsumer::discardFreeBuffers() { return INVALID_OPERATION; } status_t BufferHubConsumer::setFrameRate(float /*frameRate*/) { ALOGE("BufferHubConsumer::setFrameRate: not implemented."); return INVALID_OPERATION; } status_t BufferHubConsumer::getFrameRate(float* /*frameRate*/) const { ALOGE("BufferHubConsumer::getFrameRate: not implemented."); return INVALID_OPERATION; } status_t BufferHubConsumer::dumpState(const String8& /*prefix*/, String8* /*outResult*/) const { ALOGE("BufferHubConsumer::dumpState: not implemented."); return INVALID_OPERATION; Loading libs/gui/BufferQueueConsumer.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -775,6 +775,18 @@ status_t BufferQueueConsumer::discardFreeBuffers() { return NO_ERROR; } status_t BufferQueueConsumer::setFrameRate(float frameRate) { std::lock_guard<std::mutex> lock(mCore->mMutex); mCore->mFrameRate = frameRate; return NO_ERROR; } status_t BufferQueueConsumer::getFrameRate(float* frameRate) const { std::lock_guard<std::mutex> lock(mCore->mMutex); *frameRate = mCore->mFrameRate; return NO_ERROR; } status_t BufferQueueConsumer::dumpState(const String8& prefix, String8* outResult) const { struct passwd* pwd = getpwnam("shell"); uid_t shellUid = pwd ? pwd->pw_uid : 0; Loading libs/gui/BufferQueueProducer.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -1670,4 +1670,14 @@ status_t BufferQueueProducer::setAutoPrerotation(bool autoPrerotation) { return NO_ERROR; } status_t BufferQueueProducer::setFrameRate(float frameRate) { ATRACE_CALL(); BQ_LOGV("setFrameRate: %.0f", frameRate); std::lock_guard<std::mutex> lock(mCore->mMutex); mCore->mFrameRate = frameRate; return NO_ERROR; } } // namespace android libs/gui/ConsumerBase.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -363,6 +363,24 @@ status_t ConsumerBase::discardFreeBuffers() { return OK; } status_t ConsumerBase::setFrameRate(float frameRate) { Mutex::Autolock _l(mMutex); if (mAbandoned) { CB_LOGE("setFrameRate: ConsumerBase is abandoned!"); return NO_INIT; } return mConsumer->setFrameRate(frameRate); } status_t ConsumerBase::getFrameRate(float* frameRate) { Mutex::Autolock _l(mMutex); if (mAbandoned) { CB_LOGE("getFrameRate: ConsumerBase is abandoned!"); return NO_INIT; } return mConsumer->getFrameRate(frameRate); } void ConsumerBase::dumpState(String8& result) const { dumpState(result, ""); } Loading libs/gui/IGraphicBufferConsumer.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ enum class Tag : uint32_t { GET_SIDEBAND_STREAM, GET_OCCUPANCY_HISTORY, DISCARD_FREE_BUFFERS, SET_FRAME_RATE, GET_FRAME_RATE, DUMP_STATE, LAST = DUMP_STATE, }; Loading Loading @@ -163,6 +165,16 @@ public: Tag::DISCARD_FREE_BUFFERS); } status_t setFrameRate(float frameRate) override { using Signature = decltype(&IGraphicBufferConsumer::setFrameRate); return callRemote<Signature>(Tag::SET_FRAME_RATE, frameRate); } status_t getFrameRate(float* frameRate) const override { using Signature = decltype(&IGraphicBufferConsumer::getFrameRate); return callRemote<Signature>(Tag::GET_FRAME_RATE, frameRate); } status_t dumpState(const String8& prefix, String8* outResult) const override { using Signature = status_t (IGraphicBufferConsumer::*)(const String8&, String8*) const; return callRemote<Signature>(Tag::DUMP_STATE, prefix, outResult); Loading Loading @@ -220,6 +232,10 @@ status_t BnGraphicBufferConsumer::onTransact(uint32_t code, const Parcel& data, return callLocal(data, reply, &IGraphicBufferConsumer::getOccupancyHistory); case Tag::DISCARD_FREE_BUFFERS: return callLocal(data, reply, &IGraphicBufferConsumer::discardFreeBuffers); case Tag::SET_FRAME_RATE: return callLocal(data, reply, &IGraphicBufferConsumer::setFrameRate); case Tag::GET_FRAME_RATE: return callLocal(data, reply, &IGraphicBufferConsumer::getFrameRate); case Tag::DUMP_STATE: { using Signature = status_t (IGraphicBufferConsumer::*)(const String8&, String8*) const; return callLocal<Signature>(data, reply, &IGraphicBufferConsumer::dumpState); Loading Loading
libs/gui/BufferHubConsumer.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,16 @@ status_t BufferHubConsumer::discardFreeBuffers() { return INVALID_OPERATION; } status_t BufferHubConsumer::setFrameRate(float /*frameRate*/) { ALOGE("BufferHubConsumer::setFrameRate: not implemented."); return INVALID_OPERATION; } status_t BufferHubConsumer::getFrameRate(float* /*frameRate*/) const { ALOGE("BufferHubConsumer::getFrameRate: not implemented."); return INVALID_OPERATION; } status_t BufferHubConsumer::dumpState(const String8& /*prefix*/, String8* /*outResult*/) const { ALOGE("BufferHubConsumer::dumpState: not implemented."); return INVALID_OPERATION; Loading
libs/gui/BufferQueueConsumer.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -775,6 +775,18 @@ status_t BufferQueueConsumer::discardFreeBuffers() { return NO_ERROR; } status_t BufferQueueConsumer::setFrameRate(float frameRate) { std::lock_guard<std::mutex> lock(mCore->mMutex); mCore->mFrameRate = frameRate; return NO_ERROR; } status_t BufferQueueConsumer::getFrameRate(float* frameRate) const { std::lock_guard<std::mutex> lock(mCore->mMutex); *frameRate = mCore->mFrameRate; return NO_ERROR; } status_t BufferQueueConsumer::dumpState(const String8& prefix, String8* outResult) const { struct passwd* pwd = getpwnam("shell"); uid_t shellUid = pwd ? pwd->pw_uid : 0; Loading
libs/gui/BufferQueueProducer.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -1670,4 +1670,14 @@ status_t BufferQueueProducer::setAutoPrerotation(bool autoPrerotation) { return NO_ERROR; } status_t BufferQueueProducer::setFrameRate(float frameRate) { ATRACE_CALL(); BQ_LOGV("setFrameRate: %.0f", frameRate); std::lock_guard<std::mutex> lock(mCore->mMutex); mCore->mFrameRate = frameRate; return NO_ERROR; } } // namespace android
libs/gui/ConsumerBase.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -363,6 +363,24 @@ status_t ConsumerBase::discardFreeBuffers() { return OK; } status_t ConsumerBase::setFrameRate(float frameRate) { Mutex::Autolock _l(mMutex); if (mAbandoned) { CB_LOGE("setFrameRate: ConsumerBase is abandoned!"); return NO_INIT; } return mConsumer->setFrameRate(frameRate); } status_t ConsumerBase::getFrameRate(float* frameRate) { Mutex::Autolock _l(mMutex); if (mAbandoned) { CB_LOGE("getFrameRate: ConsumerBase is abandoned!"); return NO_INIT; } return mConsumer->getFrameRate(frameRate); } void ConsumerBase::dumpState(String8& result) const { dumpState(result, ""); } Loading
libs/gui/IGraphicBufferConsumer.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ enum class Tag : uint32_t { GET_SIDEBAND_STREAM, GET_OCCUPANCY_HISTORY, DISCARD_FREE_BUFFERS, SET_FRAME_RATE, GET_FRAME_RATE, DUMP_STATE, LAST = DUMP_STATE, }; Loading Loading @@ -163,6 +165,16 @@ public: Tag::DISCARD_FREE_BUFFERS); } status_t setFrameRate(float frameRate) override { using Signature = decltype(&IGraphicBufferConsumer::setFrameRate); return callRemote<Signature>(Tag::SET_FRAME_RATE, frameRate); } status_t getFrameRate(float* frameRate) const override { using Signature = decltype(&IGraphicBufferConsumer::getFrameRate); return callRemote<Signature>(Tag::GET_FRAME_RATE, frameRate); } status_t dumpState(const String8& prefix, String8* outResult) const override { using Signature = status_t (IGraphicBufferConsumer::*)(const String8&, String8*) const; return callRemote<Signature>(Tag::DUMP_STATE, prefix, outResult); Loading Loading @@ -220,6 +232,10 @@ status_t BnGraphicBufferConsumer::onTransact(uint32_t code, const Parcel& data, return callLocal(data, reply, &IGraphicBufferConsumer::getOccupancyHistory); case Tag::DISCARD_FREE_BUFFERS: return callLocal(data, reply, &IGraphicBufferConsumer::discardFreeBuffers); case Tag::SET_FRAME_RATE: return callLocal(data, reply, &IGraphicBufferConsumer::setFrameRate); case Tag::GET_FRAME_RATE: return callLocal(data, reply, &IGraphicBufferConsumer::getFrameRate); case Tag::DUMP_STATE: { using Signature = status_t (IGraphicBufferConsumer::*)(const String8&, String8*) const; return callLocal<Signature>(data, reply, &IGraphicBufferConsumer::dumpState); Loading