Loading include/gui/BufferQueueProducer.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -178,6 +178,9 @@ public: // See IGraphicBufferProducer::setGenerationNumber // See IGraphicBufferProducer::setGenerationNumber virtual status_t setGenerationNumber(uint32_t generationNumber); virtual status_t setGenerationNumber(uint32_t generationNumber); // See IGraphicBufferProducer::getConsumerName virtual String8 getConsumerName() const override; private: private: // This is required by the IBinder::DeathRecipient interface // This is required by the IBinder::DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); virtual void binderDied(const wp<IBinder>& who); Loading include/gui/IGraphicBufferProducer.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -480,6 +480,9 @@ public: // affected and will retain their current generation number. The generation // affected and will retain their current generation number. The generation // number defaults to 0. // number defaults to 0. virtual status_t setGenerationNumber(uint32_t generationNumber) = 0; virtual status_t setGenerationNumber(uint32_t generationNumber) = 0; // Returns the name of the connected consumer. virtual String8 getConsumerName() const = 0; }; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- Loading include/gui/Surface.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -106,6 +106,9 @@ public: * See IGBP::setGenerationNumber for more information. */ * See IGBP::setGenerationNumber for more information. */ status_t setGenerationNumber(uint32_t generationNumber); status_t setGenerationNumber(uint32_t generationNumber); // See IGraphicBufferProducer::getConsumerName String8 getConsumerName() const; protected: protected: virtual ~Surface(); virtual ~Surface(); Loading libs/gui/BufferQueueProducer.cpp +6 −0 Original line number Original line Diff line number Diff line Loading @@ -1089,6 +1089,12 @@ status_t BufferQueueProducer::setGenerationNumber(uint32_t generationNumber) { return NO_ERROR; return NO_ERROR; } } String8 BufferQueueProducer::getConsumerName() const { ATRACE_CALL(); BQ_LOGV("getConsumerName: %s", mConsumerName.string()); return mConsumerName; } void BufferQueueProducer::binderDied(const wp<android::IBinder>& /* who */) { void BufferQueueProducer::binderDied(const wp<android::IBinder>& /* who */) { // If we're here, it means that a producer we were connected to died. // If we're here, it means that a producer we were connected to died. // We're guaranteed that we are still connected to it because we remove // We're guaranteed that we are still connected to it because we remove Loading libs/gui/IGraphicBufferProducer.cpp +17 −0 Original line number Original line Diff line number Diff line Loading @@ -48,6 +48,7 @@ enum { ALLOCATE_BUFFERS, ALLOCATE_BUFFERS, ALLOW_ALLOCATION, ALLOW_ALLOCATION, SET_GENERATION_NUMBER, SET_GENERATION_NUMBER, GET_CONSUMER_NAME, }; }; class BpGraphicBufferProducer : public BpInterface<IGraphicBufferProducer> class BpGraphicBufferProducer : public BpInterface<IGraphicBufferProducer> Loading Loading @@ -296,6 +297,17 @@ public: } } return result; return result; } } virtual String8 getConsumerName() const { Parcel data, reply; data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor()); status_t result = remote()->transact(GET_CONSUMER_NAME, data, &reply); if (result != NO_ERROR) { ALOGE("getConsumerName failed to transact: %d", result); return String8("TransactFailed"); } return reply.readString8(); } }; }; // Out-of-line virtual method definition to trigger vtable emission in this // Out-of-line virtual method definition to trigger vtable emission in this Loading Loading @@ -467,6 +479,11 @@ status_t BnGraphicBufferProducer::onTransact( reply->writeInt32(result); reply->writeInt32(result); return NO_ERROR; return NO_ERROR; } } case GET_CONSUMER_NAME: { CHECK_INTERFACE(IGraphicBufferProducer, data, reply); reply->writeString8(getConsumerName()); return NO_ERROR; } } } return BBinder::onTransact(code, data, reply, flags); return BBinder::onTransact(code, data, reply, flags); } } Loading Loading
include/gui/BufferQueueProducer.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -178,6 +178,9 @@ public: // See IGraphicBufferProducer::setGenerationNumber // See IGraphicBufferProducer::setGenerationNumber virtual status_t setGenerationNumber(uint32_t generationNumber); virtual status_t setGenerationNumber(uint32_t generationNumber); // See IGraphicBufferProducer::getConsumerName virtual String8 getConsumerName() const override; private: private: // This is required by the IBinder::DeathRecipient interface // This is required by the IBinder::DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); virtual void binderDied(const wp<IBinder>& who); Loading
include/gui/IGraphicBufferProducer.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -480,6 +480,9 @@ public: // affected and will retain their current generation number. The generation // affected and will retain their current generation number. The generation // number defaults to 0. // number defaults to 0. virtual status_t setGenerationNumber(uint32_t generationNumber) = 0; virtual status_t setGenerationNumber(uint32_t generationNumber) = 0; // Returns the name of the connected consumer. virtual String8 getConsumerName() const = 0; }; }; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- Loading
include/gui/Surface.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -106,6 +106,9 @@ public: * See IGBP::setGenerationNumber for more information. */ * See IGBP::setGenerationNumber for more information. */ status_t setGenerationNumber(uint32_t generationNumber); status_t setGenerationNumber(uint32_t generationNumber); // See IGraphicBufferProducer::getConsumerName String8 getConsumerName() const; protected: protected: virtual ~Surface(); virtual ~Surface(); Loading
libs/gui/BufferQueueProducer.cpp +6 −0 Original line number Original line Diff line number Diff line Loading @@ -1089,6 +1089,12 @@ status_t BufferQueueProducer::setGenerationNumber(uint32_t generationNumber) { return NO_ERROR; return NO_ERROR; } } String8 BufferQueueProducer::getConsumerName() const { ATRACE_CALL(); BQ_LOGV("getConsumerName: %s", mConsumerName.string()); return mConsumerName; } void BufferQueueProducer::binderDied(const wp<android::IBinder>& /* who */) { void BufferQueueProducer::binderDied(const wp<android::IBinder>& /* who */) { // If we're here, it means that a producer we were connected to died. // If we're here, it means that a producer we were connected to died. // We're guaranteed that we are still connected to it because we remove // We're guaranteed that we are still connected to it because we remove Loading
libs/gui/IGraphicBufferProducer.cpp +17 −0 Original line number Original line Diff line number Diff line Loading @@ -48,6 +48,7 @@ enum { ALLOCATE_BUFFERS, ALLOCATE_BUFFERS, ALLOW_ALLOCATION, ALLOW_ALLOCATION, SET_GENERATION_NUMBER, SET_GENERATION_NUMBER, GET_CONSUMER_NAME, }; }; class BpGraphicBufferProducer : public BpInterface<IGraphicBufferProducer> class BpGraphicBufferProducer : public BpInterface<IGraphicBufferProducer> Loading Loading @@ -296,6 +297,17 @@ public: } } return result; return result; } } virtual String8 getConsumerName() const { Parcel data, reply; data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor()); status_t result = remote()->transact(GET_CONSUMER_NAME, data, &reply); if (result != NO_ERROR) { ALOGE("getConsumerName failed to transact: %d", result); return String8("TransactFailed"); } return reply.readString8(); } }; }; // Out-of-line virtual method definition to trigger vtable emission in this // Out-of-line virtual method definition to trigger vtable emission in this Loading Loading @@ -467,6 +479,11 @@ status_t BnGraphicBufferProducer::onTransact( reply->writeInt32(result); reply->writeInt32(result); return NO_ERROR; return NO_ERROR; } } case GET_CONSUMER_NAME: { CHECK_INTERFACE(IGraphicBufferProducer, data, reply); reply->writeString8(getConsumerName()); return NO_ERROR; } } } return BBinder::onTransact(code, data, reply, flags); return BBinder::onTransact(code, data, reply, flags); } } Loading