Refactor ConsumerBase and it's derived classes.
Move setDefaultBufferSize, setDefaultBufferFormat, and setDefaultBufferDataSpace into ConsumerBase and remove them from CpuConsumer and BufferItemConsumer. Bug: 19977701 Change-Id: Ic68992464c5da6da7a41c4063a53029a69efcd1b
This commit is contained in:
parent
00699fa641
commit
847f11e215
@ -86,21 +86,6 @@ class BufferItemConsumer: public ConsumerBase
|
||||
status_t releaseBuffer(const BufferItem &item,
|
||||
const sp<Fence>& releaseFence = Fence::NO_FENCE);
|
||||
|
||||
// setDefaultBufferSize is used to set the size of buffers returned by
|
||||
// requestBuffers when a with and height of zero is requested.
|
||||
status_t setDefaultBufferSize(uint32_t w, uint32_t h);
|
||||
|
||||
// setDefaultBufferFormat allows the BufferQueue to create
|
||||
// GraphicBuffers of a defaultFormat if no format is specified
|
||||
// in dequeueBuffer
|
||||
status_t setDefaultBufferFormat(PixelFormat defaultFormat);
|
||||
|
||||
// setDefaultBufferDataSpace allows the BufferQueue to create
|
||||
// GraphicBuffers of a defaultDataSpace if no data space is specified
|
||||
// in queueBuffer.
|
||||
// The initial default is HAL_DATASPACE_UNKNOWN
|
||||
status_t setDefaultBufferDataSpace(android_dataspace defaultDataSpace);
|
||||
|
||||
};
|
||||
|
||||
} // namespace android
|
||||
|
@ -79,6 +79,15 @@ public:
|
||||
// See IGraphicBufferConsumer::detachBuffer
|
||||
status_t detachBuffer(int slot);
|
||||
|
||||
// See IGraphicBufferConsumer::setDefaultBufferSize
|
||||
status_t setDefaultBufferSize(uint32_t width, uint32_t height);
|
||||
|
||||
// See IGraphicBufferConsumer::setDefaultBufferFormat
|
||||
status_t setDefaultBufferFormat(PixelFormat defaultFormat);
|
||||
|
||||
// See IGraphicBufferConsumer::setDefaultBufferDataSpace
|
||||
status_t setDefaultBufferDataSpace(android_dataspace defaultDataSpace);
|
||||
|
||||
private:
|
||||
ConsumerBase(const ConsumerBase&);
|
||||
void operator=(const ConsumerBase&);
|
||||
|
@ -80,23 +80,6 @@ class CpuConsumer : public ConsumerBase
|
||||
// log messages.
|
||||
void setName(const String8& name);
|
||||
|
||||
// setDefaultBufferSize is used to set the size of buffers returned by
|
||||
// requestBuffers when a width and height of zero is requested.
|
||||
// A call to setDefaultBufferSize() may trigger requestBuffers() to
|
||||
// be called from the client. Default size is 1x1.
|
||||
status_t setDefaultBufferSize(uint32_t width, uint32_t height);
|
||||
|
||||
// setDefaultBufferFormat allows CpuConsumer's BufferQueue to create buffers
|
||||
// of a defaultFormat if no format is specified by producer.
|
||||
// The initial default is PIXEL_FORMAT_RGBA_8888.
|
||||
status_t setDefaultBufferFormat(PixelFormat defaultFormat);
|
||||
|
||||
// setDefaultBufferDataSpace allows the BufferQueue to create
|
||||
// GraphicBuffers of a defaultDataSpace if no data space is specified
|
||||
// in queueBuffer.
|
||||
// The initial default is HAL_DATASPACE_UNKNOWN
|
||||
status_t setDefaultBufferDataSpace(android_dataspace defaultDataSpace);
|
||||
|
||||
// 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
|
||||
|
@ -100,20 +100,4 @@ status_t BufferItemConsumer::releaseBuffer(const BufferItem &item,
|
||||
return err;
|
||||
}
|
||||
|
||||
status_t BufferItemConsumer::setDefaultBufferSize(uint32_t w, uint32_t h) {
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferSize(w, h);
|
||||
}
|
||||
|
||||
status_t BufferItemConsumer::setDefaultBufferFormat(PixelFormat defaultFormat) {
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferFormat(defaultFormat);
|
||||
}
|
||||
|
||||
status_t BufferItemConsumer::setDefaultBufferDataSpace(
|
||||
android_dataspace defaultDataSpace) {
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferDataSpace(defaultDataSpace);
|
||||
}
|
||||
|
||||
} // namespace android
|
||||
|
@ -178,6 +178,22 @@ status_t ConsumerBase::detachBuffer(int slot) {
|
||||
return result;
|
||||
}
|
||||
|
||||
status_t ConsumerBase::setDefaultBufferSize(uint32_t width, uint32_t height) {
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferSize(width, height);
|
||||
}
|
||||
|
||||
status_t ConsumerBase::setDefaultBufferFormat(PixelFormat defaultFormat) {
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferFormat(defaultFormat);
|
||||
}
|
||||
|
||||
status_t ConsumerBase::setDefaultBufferDataSpace(
|
||||
android_dataspace defaultDataSpace) {
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferDataSpace(defaultDataSpace);
|
||||
}
|
||||
|
||||
void ConsumerBase::dump(String8& result) const {
|
||||
dump(result, "");
|
||||
}
|
||||
|
@ -56,25 +56,6 @@ void CpuConsumer::setName(const String8& name) {
|
||||
mConsumer->setConsumerName(name);
|
||||
}
|
||||
|
||||
status_t CpuConsumer::setDefaultBufferSize(uint32_t width, uint32_t height)
|
||||
{
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferSize(width, height);
|
||||
}
|
||||
|
||||
status_t CpuConsumer::setDefaultBufferFormat(PixelFormat defaultFormat)
|
||||
{
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferFormat(defaultFormat);
|
||||
}
|
||||
|
||||
status_t CpuConsumer::setDefaultBufferDataSpace(
|
||||
android_dataspace defaultDataSpace)
|
||||
{
|
||||
Mutex::Autolock _l(mMutex);
|
||||
return mConsumer->setDefaultBufferDataSpace(defaultDataSpace);
|
||||
}
|
||||
|
||||
static bool isPossiblyYUV(PixelFormat format) {
|
||||
switch (static_cast<int>(format)) {
|
||||
case HAL_PIXEL_FORMAT_RGBA_8888:
|
||||
|
Loading…
Reference in New Issue
Block a user