Camera3: Remove redundant Buffer tracking structure

Change-Id: I972e0868d08384209fe413fd5398c2e113a3fab0
Signed-off-by: Daniel Jarai <jaraidaniel@gmail.com>
This commit is contained in:
Mansoor Aftab 2014-04-30 17:39:44 -07:00 committed by Artem Borisov
parent 4b9c922f40
commit 189f07281e
4 changed files with 26 additions and 15 deletions

View File

@ -494,7 +494,6 @@ QCamera3RegularChannel::QCamera3RegularChannel(uint32_t cam_handle,
*==========================================================================*/
QCamera3RegularChannel::~QCamera3RegularChannel()
{
mCamera3Buffers.clear();
}
/*===========================================================================
@ -583,7 +582,7 @@ int32_t QCamera3RegularChannel::start()
{
int32_t rc = NO_ERROR;
if (0 < mCamera3Buffers.size()) {
if (0 < mMemory.getCnt()) {
rc = QCamera3Channel::start();
}
@ -673,7 +672,7 @@ int32_t QCamera3RegularChannel::registerBuffer(buffer_handle_t *buffer)
{
int rc = 0;
if (mCamera3Buffers.size() > (mNumBufs - 1)) {
if ((uint32_t)mMemory.getCnt() > (mNumBufs - 1)) {
ALOGE("%s: Trying to register more buffers than initially requested",
__func__);
return BAD_VALUE;
@ -696,8 +695,6 @@ int32_t QCamera3RegularChannel::registerBuffer(buffer_handle_t *buffer)
return rc;
}
mCamera3Buffers.add(buffer);
return rc;
}
@ -736,7 +733,7 @@ void QCamera3RegularChannel::streamCbRoutine(
}
////Use below data to issue framework callback
resultBuffer = mCamera3Buffers[frameIndex];
resultBuffer = (buffer_handle_t *)mMemory.getBufferHandle(frameIndex);
resultFrameNumber = mMemory.getFrameNumber(frameIndex);
result.stream = mCamera3Stream;
@ -936,7 +933,7 @@ void QCamera3PicChannel::jpegEvtHandle(jpeg_job_status_t status,
obj->mMemory.cleanInvalidateCache(obj->mCurrentBufIndex);
////Use below data to issue framework callback
resultBuffer = obj->mCamera3Buffers[obj->mCurrentBufIndex];
resultBuffer = (buffer_handle_t *)obj->mMemory.getBufferHandle(obj->mCurrentBufIndex);
resultFrameNumber = obj->mMemory.getFrameNumber(obj->mCurrentBufIndex);
result.stream = obj->mCamera3Stream;
@ -992,8 +989,6 @@ QCamera3PicChannel::~QCamera3PicChannel()
if (rc != 0) {
ALOGE("De-init Postprocessor failed");
}
mCamera3Buffers.clear();
}
int32_t QCamera3PicChannel::initialize()
@ -1154,7 +1149,7 @@ int32_t QCamera3PicChannel::registerBuffer(buffer_handle_t *buffer)
{
int rc = 0;
if (mCamera3Buffers.size() > (mNumBufs - 1)) {
if ((uint32_t)mMemory.getCnt() > (mNumBufs - 1)) {
ALOGE("%s: Trying to register more buffers than initially requested",
__func__);
return BAD_VALUE;
@ -1177,8 +1172,6 @@ int32_t QCamera3PicChannel::registerBuffer(buffer_handle_t *buffer)
return rc;
}
mCamera3Buffers.add(buffer);
return rc;
}

View File

@ -156,7 +156,6 @@ public:
private:
camera3_stream_t *mCamera3Stream;
uint32_t mNumBufs;
Vector<buffer_handle_t *> mCamera3Buffers;
QCamera3GrallocMemory mMemory;
@ -267,7 +266,6 @@ public:
private:
camera3_stream_t *mCamera3Stream;
uint32_t mNumBufs;
Vector<buffer_handle_t *> mCamera3Buffers;
jpeg_settings_t* mJpegSettings;
int32_t mCurrentBufIndex;
bool m_bWNROn;

View File

@ -831,4 +831,24 @@ void *QCamera3GrallocMemory::getPtr(int index) const
return mPtr[index];
}
/*===========================================================================
* FUNCTION : getBufferHandle
*
* DESCRIPTION: return framework pointer
*
* PARAMETERS :
* @index : index of the buffer
*
* RETURN : buffer ptr if match found
NULL if failed
*==========================================================================*/
void *QCamera3GrallocMemory::getBufferHandle(int index)
{
if (index >= mBufferCount) {
ALOGE("index out of bound");
return NULL;
}
return mBufferHandle[index];
}
}; //namespace qcamera

View File

@ -115,7 +115,7 @@ public:
virtual void *getPtr(int index) const;
int32_t markFrameNumber(int index, uint32_t frameNumber);
int32_t getFrameNumber(int index);
void *getBufferHandle(int index);
private:
buffer_handle_t *mBufferHandle[MM_CAMERA_MAX_NUM_FRAMES];
struct private_handle_t *mPrivateHandle[MM_CAMERA_MAX_NUM_FRAMES];