fallout of getting rid of IGraphicBufferAlloc
Test: compile & run
Bug: cleanup
Change-Id: Ifba0668d798c523c556ca7dae2c172711a256b05
diff --git a/cmds/screenrecord/EglWindow.cpp b/cmds/screenrecord/EglWindow.cpp
index c16f2ad..5ea0706 100644
--- a/cmds/screenrecord/EglWindow.cpp
+++ b/cmds/screenrecord/EglWindow.cpp
@@ -21,7 +21,6 @@
#define EGL_EGLEXT_PROTOTYPES
#include <gui/BufferQueue.h>
-#include <gui/GraphicBufferAlloc.h>
#include <gui/Surface.h>
#include "EglWindow.h"
diff --git a/cmds/screenrecord/Overlay.cpp b/cmds/screenrecord/Overlay.cpp
index be993e0..aa800d8 100644
--- a/cmds/screenrecord/Overlay.cpp
+++ b/cmds/screenrecord/Overlay.cpp
@@ -23,7 +23,6 @@
#include <utils/Log.h>
#include <gui/BufferQueue.h>
-#include <gui/GraphicBufferAlloc.h>
#include <gui/Surface.h>
#include <cutils/properties.h>
#include <utils/misc.h>
diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp
index 4f1ef30..d0d82b3 100644
--- a/media/libstagefright/SurfaceMediaSource.cpp
+++ b/media/libstagefright/SurfaceMediaSource.cpp
@@ -29,7 +29,6 @@
#include <ui/GraphicBuffer.h>
#include <gui/BufferItem.h>
#include <gui/ISurfaceComposer.h>
-#include <gui/IGraphicBufferAlloc.h>
#include <OMX_Component.h>
#include <utils/Log.h>
diff --git a/media/libstagefright/include/SurfaceMediaSource.h b/media/libstagefright/include/SurfaceMediaSource.h
index ca3a3bf..ae19a75 100644
--- a/media/libstagefright/include/SurfaceMediaSource.h
+++ b/media/libstagefright/include/SurfaceMediaSource.h
@@ -32,7 +32,6 @@
namespace android {
// ----------------------------------------------------------------------------
-class IGraphicBufferAlloc;
class String8;
class GraphicBuffer;
diff --git a/services/camera/libcameraservice/device3/Camera3BufferManager.cpp b/services/camera/libcameraservice/device3/Camera3BufferManager.cpp
index d45891f..d93b331 100644
--- a/services/camera/libcameraservice/device3/Camera3BufferManager.cpp
+++ b/services/camera/libcameraservice/device3/Camera3BufferManager.cpp
@@ -19,7 +19,6 @@
#define ATRACE_TAG ATRACE_TAG_CAMERA
#include <gui/ISurfaceComposer.h>
-#include <gui/IGraphicBufferAlloc.h>
#include <private/gui/ComposerService.h>
#include <utils/Log.h>
#include <utils/Trace.h>
@@ -30,15 +29,7 @@
namespace camera3 {
-Camera3BufferManager::Camera3BufferManager(const sp<IGraphicBufferAlloc>& allocator) :
- mAllocator(allocator) {
- if (allocator == NULL) {
- sp<ISurfaceComposer> composer(ComposerService::getComposerService());
- mAllocator = composer->createGraphicBufferAlloc();
- if (mAllocator == NULL) {
- ALOGE("createGraphicBufferAlloc failed");
- }
- }
+Camera3BufferManager::Camera3BufferManager() {
}
Camera3BufferManager::~Camera3BufferManager() {
@@ -79,10 +70,6 @@
}
Mutex::Autolock l(mLock);
- if (mAllocator == NULL) {
- ALOGE("%s: allocator is NULL, buffer manager is bad state.", __FUNCTION__);
- return INVALID_OPERATION;
- }
// Check if this stream was registered with different stream set ID, if so, error out.
for (size_t i = 0; i < mStreamSetMap.size(); i++) {
@@ -132,10 +119,6 @@
Mutex::Autolock l(mLock);
ALOGV("%s: unregister stream %d with stream set %d", __FUNCTION__,
streamId, streamSetId);
- if (mAllocator == NULL) {
- ALOGE("%s: allocator is NULL, buffer manager is bad state.", __FUNCTION__);
- return INVALID_OPERATION;
- }
if (!checkIfStreamRegisteredLocked(streamId, streamSetId)){
ALOGE("%s: stream %d with set id %d wasn't properly registered to this buffer manager!",
@@ -182,10 +165,6 @@
Mutex::Autolock l(mLock);
ALOGV("%s: get buffer for stream %d with stream set %d", __FUNCTION__,
streamId, streamSetId);
- if (mAllocator == NULL) {
- ALOGE("%s: allocator is NULL, buffer manager is bad state.", __FUNCTION__);
- return INVALID_OPERATION;
- }
if (!checkIfStreamRegisteredLocked(streamId, streamSetId)) {
ALOGE("%s: stream %d is not registered with stream set %d yet!!!",
@@ -219,15 +198,18 @@
// Allocate one if there is no free buffer available.
if (buffer.graphicBuffer == nullptr) {
const StreamInfo& info = streamSet.streamInfoMap.valueFor(streamId);
- status_t res = OK;
buffer.fenceFd = -1;
- buffer.graphicBuffer = mAllocator->createGraphicBuffer(
- info.width, info.height, info.format, 1 /* layerCount */,
- info.combinedUsage, &res);
+
+ buffer.graphicBuffer = new GraphicBuffer(
+ info.width, info.height, PixelFormat(info.format), info.combinedUsage,
+ std::string("Camera3BufferManager pid [") +
+ std::to_string(getpid()) + "]");
+ status_t res = buffer.graphicBuffer->initCheck();
+
ALOGV("%s: allocating a new graphic buffer (%dx%d, format 0x%x) %p with handle %p",
__FUNCTION__, info.width, info.height, info.format,
buffer.graphicBuffer.get(), buffer.graphicBuffer->handle);
- if (res != OK) {
+ if (res < 0) {
ALOGE("%s: graphic buffer allocation failed: (error %d %s) ",
__FUNCTION__, res, strerror(-res));
return res;
@@ -331,10 +313,6 @@
Mutex::Autolock l(mLock);
ALOGV("Stream %d set %d: Buffer released", streamId, streamSetId);
- if (mAllocator == NULL) {
- ALOGE("%s: allocator is NULL, buffer manager is bad state.", __FUNCTION__);
- return INVALID_OPERATION;
- }
if (!checkIfStreamRegisteredLocked(streamId, streamSetId)){
ALOGV("%s: signaling buffer release for an already unregistered stream "
@@ -363,10 +341,6 @@
Mutex::Autolock l(mLock);
ALOGV_IF(buffer != 0, "%s: return buffer (%p) with handle (%p) for stream %d and stream set %d",
__FUNCTION__, buffer.get(), buffer->handle, streamId, streamSetId);
- if (mAllocator == NULL) {
- ALOGE("%s: allocator is NULL, buffer manager is bad state.", __FUNCTION__);
- return INVALID_OPERATION;
- }
if (!checkIfStreamRegisteredLocked(streamId, streamSetId)){
ALOGV("%s: returning buffer for an already unregistered stream (stream %d with set id %d),"
diff --git a/services/camera/libcameraservice/device3/Camera3BufferManager.h b/services/camera/libcameraservice/device3/Camera3BufferManager.h
index f44c4a3..d1d7a6f 100644
--- a/services/camera/libcameraservice/device3/Camera3BufferManager.h
+++ b/services/camera/libcameraservice/device3/Camera3BufferManager.h
@@ -26,8 +26,6 @@
namespace android {
-class IGraphicBufferAlloc;
-
namespace camera3 {
struct StreamInfo;
@@ -46,7 +44,7 @@
*/
class Camera3BufferManager: public virtual RefBase {
public:
- explicit Camera3BufferManager(const sp<IGraphicBufferAlloc>& allocator = NULL);
+ explicit Camera3BufferManager();
virtual ~Camera3BufferManager();
@@ -188,12 +186,6 @@
static const size_t kMaxBufferCount = BufferQueueDefs::NUM_BUFFER_SLOTS;
- /**
- * mAllocator is the connection to SurfaceFlinger that is used to allocate new GraphicBuffer
- * objects.
- */
- sp<IGraphicBufferAlloc> mAllocator;
-
struct GraphicBufferEntry {
sp<GraphicBuffer> graphicBuffer;
int fenceFd;