Camera: Clean up warnings and set -Werror
- Also fix error logging template inconsistency
- Also add a few error handling cases into camera2 NDK
to deal with previously-ignored error codes
Bug: 27149500
Change-Id: I8f1f4c72252dd48d652f24b595b642199f20c327
diff --git a/services/camera/libcameraservice/Android.mk b/services/camera/libcameraservice/Android.mk
index bb3a685..c011613 100644
--- a/services/camera/libcameraservice/Android.mk
+++ b/services/camera/libcameraservice/Android.mk
@@ -76,7 +76,7 @@
LOCAL_EXPORT_C_INCLUDE_DIRS := \
frameworks/av/services/camera/libcameraservice
-LOCAL_CFLAGS += -Wall -Wextra
+LOCAL_CFLAGS += -Wall -Wextra -Werror
LOCAL_MODULE:= libcameraservice
diff --git a/services/camera/libcameraservice/api1/client2/JpegCompressor.h b/services/camera/libcameraservice/api1/client2/JpegCompressor.h
index 945b1de..df5da54 100644
--- a/services/camera/libcameraservice/api1/client2/JpegCompressor.h
+++ b/services/camera/libcameraservice/api1/client2/JpegCompressor.h
@@ -71,7 +71,6 @@
Vector<CpuConsumer::LockedBuffer*> mBuffers;
CpuConsumer::LockedBuffer *mJpegBuffer;
CpuConsumer::LockedBuffer *mAuxBuffer;
- bool mFoundJpeg, mFoundAux;
jpeg_compress_struct mCInfo;
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
index 6f9bc7c..307b412 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
@@ -30,16 +30,13 @@
// Convenience methods for constructing binder::Status objects for error returns
-#define STRINGIZE_IMPL(x) #x
-#define STRINGIZE(x) STRINGIZE_IMPL(x)
-
#define STATUS_ERROR(errorCode, errorString) \
binder::Status::fromServiceSpecificError(errorCode, \
- String8(STRINGIZE(__FUNCTION__) ":" STRINGIZE(__LINE__) ":" # errorString))
+ String8::format("%s:%d: %s", __FUNCTION__, __LINE__, errorString))
#define STATUS_ERROR_FMT(errorCode, errorString, ...) \
binder::Status::fromServiceSpecificError(errorCode, \
- String8::format(STRINGIZE(__FUNCTION__) ":" STRINGIZE(__LINE__) ":" # errorString, \
+ String8::format("%s:%d: " errorString, __FUNCTION__, __LINE__, \
__VA_ARGS__))
namespace android {
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index 0de956b..ee84ff0 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -463,7 +463,7 @@
mDeviceInfo.find(ANDROID_SENSOR_OPAQUE_RAW_SIZE);
size_t count = rawOpaqueSizes.count;
if (count == 0 || (count % PER_CONFIGURATION_SIZE)) {
- ALOGE("%s: Camera %d: bad opaque RAW size static metadata length(%d)!",
+ ALOGE("%s: Camera %d: bad opaque RAW size static metadata length(%zu)!",
__FUNCTION__, mId, count);
return BAD_VALUE;
}
diff --git a/services/camera/libcameraservice/device3/Camera3DummyStream.cpp b/services/camera/libcameraservice/device3/Camera3DummyStream.cpp
index fe04eb1..5bf76bd 100644
--- a/services/camera/libcameraservice/device3/Camera3DummyStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3DummyStream.cpp
@@ -36,26 +36,26 @@
}
-status_t Camera3DummyStream::getBufferLocked(camera3_stream_buffer *buffer) {
+status_t Camera3DummyStream::getBufferLocked(camera3_stream_buffer *) {
ATRACE_CALL();
ALOGE("%s: Stream %d: Dummy stream cannot produce buffers!", __FUNCTION__, mId);
return INVALID_OPERATION;
}
status_t Camera3DummyStream::returnBufferLocked(
- const camera3_stream_buffer &buffer,
- nsecs_t timestamp) {
+ const camera3_stream_buffer &,
+ nsecs_t) {
ATRACE_CALL();
ALOGE("%s: Stream %d: Dummy stream cannot return buffers!", __FUNCTION__, mId);
return INVALID_OPERATION;
}
status_t Camera3DummyStream::returnBufferCheckedLocked(
- const camera3_stream_buffer &buffer,
- nsecs_t timestamp,
- bool output,
+ const camera3_stream_buffer &,
+ nsecs_t,
+ bool,
/*out*/
- sp<Fence> *releaseFenceOut) {
+ sp<Fence>*) {
ATRACE_CALL();
ALOGE("%s: Stream %d: Dummy stream cannot return buffers!", __FUNCTION__, mId);
return INVALID_OPERATION;
@@ -70,7 +70,7 @@
Camera3IOStreamBase::dump(fd, args);
}
-status_t Camera3DummyStream::setTransform(int transform) {
+status_t Camera3DummyStream::setTransform(int) {
ATRACE_CALL();
// Do nothing
return OK;
diff --git a/services/camera/libcameraservice/device3/Camera3Stream.cpp b/services/camera/libcameraservice/device3/Camera3Stream.cpp
index ed3ab97..50f7a91 100644
--- a/services/camera/libcameraservice/device3/Camera3Stream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Stream.cpp
@@ -55,9 +55,9 @@
mMaxSize(maxSize),
mState(STATE_CONSTRUCTED),
mStatusId(StatusTracker::NO_STATUS_ID),
- oldUsage(0),
- oldMaxBuffers(0),
mStreamUnpreparable(false),
+ mOldUsage(0),
+ mOldMaxBuffers(0),
mPrepared(false),
mPreparedBufferIdx(0),
mLastMaxCount(Camera3StreamInterface::ALLOCATE_PIPELINE_MAX) {
@@ -118,7 +118,7 @@
case STATE_IN_CONFIG:
case STATE_IN_RECONFIG:
// Can start config again with no trouble; but don't redo
- // oldUsage/oldMaxBuffers
+ // mOldUsage/mOldMaxBuffers
return this;
case STATE_CONFIGURED:
if (hasOutstandingBuffersLocked()) {
@@ -132,8 +132,8 @@
return NULL;
}
- oldUsage = camera3_stream::usage;
- oldMaxBuffers = camera3_stream::max_buffers;
+ mOldUsage = camera3_stream::usage;
+ mOldMaxBuffers = camera3_stream::max_buffers;
res = getEndpointUsage(&(camera3_stream::usage));
if (res != OK) {
@@ -196,8 +196,8 @@
// Check if the stream configuration is unchanged, and skip reallocation if
// so. As documented in hardware/camera3.h:configure_streams().
if (mState == STATE_IN_RECONFIG &&
- oldUsage == camera3_stream::usage &&
- oldMaxBuffers == camera3_stream::max_buffers) {
+ mOldUsage == camera3_stream::usage &&
+ mOldMaxBuffers == camera3_stream::max_buffers) {
mState = STATE_CONFIGURED;
return OK;
}
@@ -250,8 +250,8 @@
return INVALID_OPERATION;
}
- camera3_stream::usage = oldUsage;
- camera3_stream::max_buffers = oldMaxBuffers;
+ camera3_stream::usage = mOldUsage;
+ camera3_stream::max_buffers = mOldMaxBuffers;
mState = (mState == STATE_IN_RECONFIG) ? STATE_CONFIGURED : STATE_CONSTRUCTED;
return OK;
@@ -268,7 +268,6 @@
ATRACE_CALL();
Mutex::Autolock l(mLock);
- status_t res = OK;
if (maxCount < 0) {
ALOGE("%s: Stream %d: Can't prepare stream if max buffer count (%d) is < 0",
@@ -340,7 +339,7 @@
// Get next buffer - this may allocate, and take a while for large buffers
res = getBufferLocked( &mPreparedBuffers.editItemAt(mPreparedBufferIdx) );
if (res != OK) {
- ALOGE("%s: Stream %d: Unable to allocate buffer %d during preparation",
+ ALOGE("%s: Stream %d: Unable to allocate buffer %zu during preparation",
__FUNCTION__, mId, mPreparedBufferIdx);
return NO_INIT;
}
@@ -719,7 +718,7 @@
ALOGE("%s: This type of stream does not support input", __FUNCTION__);
return INVALID_OPERATION;
}
-status_t Camera3Stream::getInputBufferProducerLocked(sp<IGraphicBufferProducer> *producer) {
+status_t Camera3Stream::getInputBufferProducerLocked(sp<IGraphicBufferProducer>*) {
ALOGE("%s: This type of stream does not support input", __FUNCTION__);
return INVALID_OPERATION;
}
diff --git a/services/camera/libcameraservice/device3/Camera3Stream.h b/services/camera/libcameraservice/device3/Camera3Stream.h
index fe51ab5..c932e253 100644
--- a/services/camera/libcameraservice/device3/Camera3Stream.h
+++ b/services/camera/libcameraservice/device3/Camera3Stream.h
@@ -442,8 +442,8 @@
bool mStreamUnpreparable;
private:
- uint32_t oldUsage;
- uint32_t oldMaxBuffers;
+ uint32_t mOldUsage;
+ uint32_t mOldMaxBuffers;
Condition mOutputBufferReturnedSignal;
Condition mInputBufferReturnedSignal;
static const nsecs_t kWaitForBufferDuration = 3000000000LL; // 3000 ms
@@ -468,7 +468,7 @@
size_t mPreparedBufferIdx;
// Number of buffers allocated on last prepare call.
- int mLastMaxCount;
+ size_t mLastMaxCount;
}; // class Camera3Stream
diff --git a/services/camera/libcameraservice/gui/RingBufferConsumer.cpp b/services/camera/libcameraservice/gui/RingBufferConsumer.cpp
index 65816e0..3d54460 100644
--- a/services/camera/libcameraservice/gui/RingBufferConsumer.cpp
+++ b/services/camera/libcameraservice/gui/RingBufferConsumer.cpp
@@ -256,9 +256,7 @@
BI_LOGV("Buffer timestamp %" PRId64 ", frame %" PRIu64 " evicted",
item.mTimestamp, item.mFrameNumber);
- size_t currentSize = mBufferItemList.size();
mBufferItemList.erase(accIt);
- assert(mBufferItemList.size() == currentSize - 1);
} else {
BI_LOGW("All buffers pinned, could not find any to release");
return NO_BUFFER_AVAILABLE;
diff --git a/services/camera/libcameraservice/utils/CameraTraces.h b/services/camera/libcameraservice/utils/CameraTraces.h
index d10dbc9..13ca16d 100644
--- a/services/camera/libcameraservice/utils/CameraTraces.h
+++ b/services/camera/libcameraservice/utils/CameraTraces.h
@@ -24,7 +24,7 @@
namespace android {
namespace camera3 {
-class CameraTracesImpl;
+struct CameraTracesImpl;
// Collect a list of the process's stack traces
class CameraTraces {