diff --git a/media/bufferpool/2.0/AccessorImpl.cpp b/media/bufferpool/2.0/AccessorImpl.cpp index 84ce172521..194765637c 100644 --- a/media/bufferpool/2.0/AccessorImpl.cpp +++ b/media/bufferpool/2.0/AccessorImpl.cpp @@ -38,7 +38,7 @@ namespace { static constexpr int64_t kLogDurationUs = 5000000; // 5 secs static constexpr size_t kMinAllocBytesForEviction = 1024*1024*15; - static constexpr size_t kMinBufferCountForEviction = 40; + static constexpr size_t kMinBufferCountForEviction = 25; } // Buffer structure in bufferpool process @@ -723,8 +723,8 @@ void Accessor::Impl::BufferPool::cleanUp(bool clearCache) { mStats.mTotalFetches, mStats.mTotalTransfers); } for (auto freeIt = mFreeBuffers.begin(); freeIt != mFreeBuffers.end();) { - if (!clearCache && mStats.mSizeCached < kMinAllocBytesForEviction - && mBuffers.size() < kMinBufferCountForEviction) { + if (!clearCache && (mStats.mSizeCached < kMinAllocBytesForEviction + || mBuffers.size() < kMinBufferCountForEviction)) { break; } auto it = mBuffers.find(*freeIt);