From f50d7408b5407052b1a0f743a17a360d64626ccc Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Tue, 14 Apr 2015 23:29:29 +0200 Subject: [PATCH] BBufferGroup::GetBufferList: avoid dynamic allocation --- src/apps/codycam/VideoConsumer.cpp | 4 ++-- src/kits/media/BufferGroup.cpp | 19 ++++++------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/apps/codycam/VideoConsumer.cpp b/src/apps/codycam/VideoConsumer.cpp index 4411d60098..7705c3de8e 100644 --- a/src/apps/codycam/VideoConsumer.cpp +++ b/src/apps/codycam/VideoConsumer.cpp @@ -316,9 +316,9 @@ VideoConsumer::CreateBuffers(const media_format& withFormat) } } - BBuffer** buffList = new BBuffer * [3]; + BBuffer* buffList[3]; for (int j = 0; j < 3; j++) - buffList[j] = 0; + buffList[j] = NULL; if ((status = fBuffers->GetBufferList(3, buffList)) == B_OK) for (int j = 0; j < 3; j++) diff --git a/src/kits/media/BufferGroup.cpp b/src/kits/media/BufferGroup.cpp index c6d02caa41..3e95b5e985 100644 --- a/src/kits/media/BufferGroup.cpp +++ b/src/kits/media/BufferGroup.cpp @@ -344,25 +344,18 @@ BBufferGroup::AddBuffersTo(BMessage* message, const char* name, bool needLock) if (name == NULL || strlen(name) == 0) return B_BAD_VALUE; - BBuffer** buffers; - int32 count; - - count = fBufferCount; - buffers = new BBuffer * [count]; - - status_t status = GetBufferList(count, buffers); + BBuffer* buffers[fBufferCount]; + status_t status = GetBufferList(fBufferCount, buffers); if (status != B_OK) - goto end; + return status; - for (int32 i = 0; i < count; i++) { + for (int32 i = 0; i < fBufferCount; i++) { status = message->AddInt32(name, int32(buffers[i]->ID())); if (status != B_OK) - goto end; + return status; } -end: - delete [] buffers; - return status; + return B_OK; }