diff --git a/media/bufferpool/1.0/AccessorImpl.cpp b/media/bufferpool/1.0/AccessorImpl.cpp index 09006ca410..0d7e92f2c3 100644 --- a/media/bufferpool/1.0/AccessorImpl.cpp +++ b/media/bufferpool/1.0/AccessorImpl.cpp @@ -14,10 +14,11 @@ * limitations under the License. */ -#define LOG_TAG "BufferPoolAccessor" +#define LOG_TAG "BufferPoolAccessor1.0" //#define LOG_NDEBUG 0 #include +#include #include #include #include @@ -127,7 +128,6 @@ bool contains(std::map> *mapOfSet, T key, U value) { return false; } -int32_t Accessor::Impl::sPid = getpid(); uint32_t Accessor::Impl::sSeqId = time(nullptr); Accessor::Impl::Impl( @@ -145,14 +145,19 @@ ResultStatus Accessor::Impl::connect( { std::lock_guard lock(mBufferPool.mMutex); if (newConnection) { - ConnectionId id = (int64_t)sPid << 32 | sSeqId; + int32_t pid = getpid(); + ConnectionId id = (int64_t)pid << 32 | sSeqId; status = mBufferPool.mObserver.open(id, fmqDescPtr); if (status == ResultStatus::OK) { newConnection->initialize(accessor, id); *connection = newConnection; *pConnectionId = id; mBufferPool.mConnectionIds.insert(id); - ++sSeqId; + if (sSeqId == UINT32_MAX) { + sSeqId = 0; + } else { + ++sSeqId; + } } } mBufferPool.processStatusMessages(); diff --git a/media/bufferpool/1.0/AccessorImpl.h b/media/bufferpool/1.0/AccessorImpl.h index 84cb6854b0..a09cbe237f 100644 --- a/media/bufferpool/1.0/AccessorImpl.h +++ b/media/bufferpool/1.0/AccessorImpl.h @@ -61,7 +61,6 @@ private: // ConnectionId = pid : (timestamp_created + seqId) // in order to guarantee uniqueness for each connection static uint32_t sSeqId; - static int32_t sPid; const std::shared_ptr mAllocator; diff --git a/media/bufferpool/2.0/AccessorImpl.cpp b/media/bufferpool/2.0/AccessorImpl.cpp index 929a20e2c0..84ce172521 100644 --- a/media/bufferpool/2.0/AccessorImpl.cpp +++ b/media/bufferpool/2.0/AccessorImpl.cpp @@ -14,10 +14,11 @@ * limitations under the License. */ -#define LOG_TAG "BufferPoolAccessor" +#define LOG_TAG "BufferPoolAccessor2.0" //#define LOG_NDEBUG 0 #include +#include #include #include #include @@ -134,7 +135,6 @@ bool contains(std::map> *mapOfSet, T key, U value) { return false; } -int32_t Accessor::Impl::sPid = getpid(); uint32_t Accessor::Impl::sSeqId = time(nullptr); Accessor::Impl::Impl( @@ -156,7 +156,8 @@ ResultStatus Accessor::Impl::connect( { std::lock_guard lock(mBufferPool.mMutex); if (newConnection) { - ConnectionId id = (int64_t)sPid << 32 | sSeqId; + int32_t pid = getpid(); + ConnectionId id = (int64_t)pid << 32 | sSeqId; status = mBufferPool.mObserver.open(id, statusDescPtr); if (status == ResultStatus::OK) { newConnection->initialize(accessor, id); @@ -166,7 +167,11 @@ ResultStatus Accessor::Impl::connect( mBufferPool.mConnectionIds.insert(id); mBufferPool.mInvalidationChannel.getDesc(invDescPtr); mBufferPool.mInvalidation.onConnect(id, observer); - ++sSeqId; + if (sSeqId == UINT32_MAX) { + sSeqId = 0; + } else { + ++sSeqId; + } } } diff --git a/media/bufferpool/2.0/AccessorImpl.h b/media/bufferpool/2.0/AccessorImpl.h index 807e0f1444..9888be5107 100644 --- a/media/bufferpool/2.0/AccessorImpl.h +++ b/media/bufferpool/2.0/AccessorImpl.h @@ -75,7 +75,6 @@ private: // ConnectionId = pid : (timestamp_created + seqId) // in order to guarantee uniqueness for each connection static uint32_t sSeqId; - static int32_t sPid; const std::shared_ptr mAllocator;