SurfaceTexture: remove getAllocator
This change removes the SurfaceTexture::getAllocator method, as it's no longer needed. Proper refcounting of the Gralloc buffers is now handled by the IGraphicBufferAlloc binder marshalling code. Change-Id: I5cffa6ebfc1bc5828fb7ce0e0a5b2f55cd8479da
This commit is contained in:
parent
fbc90c827a
commit
976f494d53
@ -94,12 +94,6 @@ protected:
|
||||
virtual status_t setTransform(uint32_t transform) = 0;
|
||||
virtual status_t setScalingMode(int mode) = 0;
|
||||
|
||||
// getAllocator retrieves the binder object that must be referenced as long
|
||||
// as the GraphicBuffers dequeued from this ISurfaceTexture are referenced.
|
||||
// Holding this binder reference prevents SurfaceFlinger from freeing the
|
||||
// buffers before the client is done with them.
|
||||
virtual sp<IBinder> getAllocator() = 0;
|
||||
|
||||
// query retrieves some information for this surface
|
||||
// 'what' tokens allowed are that of android_natives.h
|
||||
virtual int query(int what, int* value) = 0;
|
||||
|
@ -106,10 +106,6 @@ private:
|
||||
// interactions with the server using this interface.
|
||||
sp<ISurfaceTexture> mSurfaceTexture;
|
||||
|
||||
// mAllocator is the binder object that is referenced to prevent the
|
||||
// dequeued buffers from being freed prematurely.
|
||||
sp<IBinder> mAllocator;
|
||||
|
||||
// mSlots stores the buffers that have been allocated for each buffer slot.
|
||||
// It is initialized to null pointers, and gets filled in with the result of
|
||||
// ISurfaceTexture::requestBuffer when the client dequeues a buffer from a
|
||||
|
@ -38,7 +38,6 @@ enum {
|
||||
CANCEL_BUFFER,
|
||||
SET_CROP,
|
||||
SET_TRANSFORM,
|
||||
GET_ALLOCATOR,
|
||||
QUERY,
|
||||
SET_SYNCHRONOUS_MODE,
|
||||
CONNECT,
|
||||
@ -144,13 +143,6 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
virtual sp<IBinder> getAllocator() {
|
||||
Parcel data, reply;
|
||||
data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor());
|
||||
remote()->transact(GET_ALLOCATOR, data, &reply);
|
||||
return reply.readStrongBinder();
|
||||
}
|
||||
|
||||
virtual int query(int what, int* value) {
|
||||
Parcel data, reply;
|
||||
data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor());
|
||||
@ -270,12 +262,6 @@ status_t BnSurfaceTexture::onTransact(
|
||||
reply->writeInt32(result);
|
||||
return NO_ERROR;
|
||||
} break;
|
||||
case GET_ALLOCATOR: {
|
||||
CHECK_INTERFACE(ISurfaceTexture, data, reply);
|
||||
sp<IBinder> result = getAllocator();
|
||||
reply->writeStrongBinder(result);
|
||||
return NO_ERROR;
|
||||
} break;
|
||||
case QUERY: {
|
||||
CHECK_INTERFACE(ISurfaceTexture, data, reply);
|
||||
int value;
|
||||
|
@ -786,11 +786,6 @@ void SurfaceTexture::setFrameAvailableListener(
|
||||
mFrameAvailableListener = listener;
|
||||
}
|
||||
|
||||
sp<IBinder> SurfaceTexture::getAllocator() {
|
||||
LOGV("SurfaceTexture::getAllocator");
|
||||
return mGraphicBufferAlloc->asBinder();
|
||||
}
|
||||
|
||||
void SurfaceTexture::freeAllBuffers() {
|
||||
for (int i = 0; i < NUM_BUFFER_SLOTS; i++) {
|
||||
mSlots[i].mGraphicBuffer = 0;
|
||||
|
@ -62,9 +62,6 @@ void SurfaceTextureClient::setISurfaceTexture(
|
||||
const sp<ISurfaceTexture>& surfaceTexture)
|
||||
{
|
||||
mSurfaceTexture = surfaceTexture;
|
||||
|
||||
// Get a reference to the allocator.
|
||||
mAllocator = mSurfaceTexture->getAllocator();
|
||||
}
|
||||
|
||||
sp<ISurfaceTexture> SurfaceTextureClient::getISurfaceTexture() const {
|
||||
|
Loading…
Reference in New Issue
Block a user