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
gugelfrei
Ray Essick 5 years ago
parent f8e3c419e9
commit 6252c87518

@ -368,13 +368,13 @@ status_t BnMediaSource::onTransact(
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();

@ -124,7 +124,8 @@ public:
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.

Loading…
Cancel
Save