gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired
- Return NOT_ENOUGH_DATA instead of INVALID_OPERATION when too many buffers have already been locked. - INVALID_OPERATION is nominally used when something irrecoverable happens, but in this case the client just needs to call unlockBuffer to go back into a good state. Bug: 10333400 Change-Id: I3a034d77de85741429f832a90eedd670afa1dc94
This commit is contained in:
parent
c6bae007e6
commit
a5b7513711
@ -90,7 +90,7 @@ class CpuConsumer : public ConsumerBase
|
||||
// Gets the next graphics buffer from the producer and locks it for CPU use,
|
||||
// filling out the passed-in locked buffer structure with the native pointer
|
||||
// and metadata. Returns BAD_VALUE if no new buffer is available, and
|
||||
// INVALID_OPERATION if the maximum number of buffers is already locked.
|
||||
// NOT_ENOUGH_DATA if the maximum number of buffers is already locked.
|
||||
//
|
||||
// Only a fixed number of buffers can be locked at a time, determined by the
|
||||
// construction-time maxLockedBuffers parameter. If INVALID_OPERATION is
|
||||
|
@ -72,7 +72,9 @@ status_t CpuConsumer::lockNextBuffer(LockedBuffer *nativeBuffer) {
|
||||
|
||||
if (!nativeBuffer) return BAD_VALUE;
|
||||
if (mCurrentLockedBuffers == mMaxLockedBuffers) {
|
||||
return INVALID_OPERATION;
|
||||
CC_LOGW("Max buffers have been locked (%d), cannot lock anymore.",
|
||||
mMaxLockedBuffers);
|
||||
return NOT_ENOUGH_DATA;
|
||||
}
|
||||
|
||||
BufferQueue::BufferItem b;
|
||||
|
Loading…
Reference in New Issue
Block a user