Verbosity and increase buffer limit
New MediaSource inline/shared buffer threshold meant we hit max buffers
allowed limit more often -- with verbose diagnostics.
max buffers now aligned with primary consumer NuMediaExtractor (4->8)
Bug: 115848790
Test: poc
diff --git a/media/libmedia/IMediaSource.cpp b/media/libmedia/IMediaSource.cpp
index 4dece96..50826c5 100644
--- a/media/libmedia/IMediaSource.cpp
+++ b/media/libmedia/IMediaSource.cpp
@@ -368,13 +368,13 @@
ALOGV("Use shared memory: %zu", length);
transferBuf = buf;
} else {
- ALOGD("Large buffer %zu without IMemory!", length);
+ ALOGV("Large buffer %zu without IMemory!", length);
ret = mGroup->acquire_buffer(
(MediaBufferBase **)&transferBuf, false /* nonBlocking */, length);
if (ret != OK
|| transferBuf == nullptr
|| transferBuf->mMemory == nullptr) {
- ALOGW("Failed to acquire shared memory, size %zu, ret %d",
+ ALOGV("Failed to acquire shared memory, size %zu, ret %d",
length, ret);
if (transferBuf != nullptr) {
transferBuf->release();
diff --git a/media/libmedia/include/media/IMediaSource.h b/media/libmedia/include/media/IMediaSource.h
index 5ab6e37..381df24 100644
--- a/media/libmedia/include/media/IMediaSource.h
+++ b/media/libmedia/include/media/IMediaSource.h
@@ -124,7 +124,8 @@
return false;
}
- static const size_t kBinderMediaBuffers = 4; // buffers managed by BnMediaSource
+ // align buffer count with video request size in NuMediaExtractor::selectTrack()
+ static const size_t kBinderMediaBuffers = 8; // buffers managed by BnMediaSource
static const size_t kTransferSharedAsSharedThreshold = 4 * 1024; // if >= shared, else inline
static const size_t kTransferInlineAsSharedThreshold = 8 * 1024; // if >= shared, else inline
static const size_t kInlineMaxTransfer = 64 * 1024; // Binder size limited to BINDER_VM_SIZE.