Camera2: Make static_camera_characteristics const.

Disallow modification to static characteristics structure, and clarify
ownership and lifetime of the structure.

Also update test code accordingly.

Bug: 6243944
Change-Id: I6921d6889937212867efb99aa3881ab3ffc4f6f9
This commit is contained in:
Eino-Ville Talvala
2012-08-24 12:32:17 -07:00
parent 43a2bbb9de
commit b8b6439598
2 changed files with 15 additions and 13 deletions

View File

@@ -135,7 +135,9 @@ struct camera_info {
/** /**
* The camera's fixed characteristics, which include all camera metadata in * The camera's fixed characteristics, which include all camera metadata in
* the android.*.info.* sections. * the android.*.info.* sections. This should be a sorted metadata buffer,
* and may not be modified or freed by the caller. The pointer should remain
* valid for the lifetime of the camera module.
* *
* Version information (based on camera_module_t.common.module_api_version): * Version information (based on camera_module_t.common.module_api_version):
* *
@@ -150,7 +152,7 @@ struct camera_info {
* otherwise. * otherwise.
* *
*/ */
camera_metadata_t *static_camera_characteristics; const camera_metadata_t *static_camera_characteristics;
}; };
typedef struct camera_module { typedef struct camera_module {

View File

@@ -236,13 +236,13 @@ class Camera2Test: public testing::Test {
} }
void getResolutionList(int32_t format, void getResolutionList(int32_t format,
int32_t **list, const int32_t **list,
size_t *count) { size_t *count) {
ALOGV("Getting resolutions for format %x", format); ALOGV("Getting resolutions for format %x", format);
status_t res; status_t res;
if (format != CAMERA2_HAL_PIXEL_FORMAT_OPAQUE) { if (format != CAMERA2_HAL_PIXEL_FORMAT_OPAQUE) {
camera_metadata_entry_t availableFormats; camera_metadata_ro_entry_t availableFormats;
res = find_camera_metadata_entry(mStaticInfo, res = find_camera_metadata_ro_entry(mStaticInfo,
ANDROID_SCALER_AVAILABLE_FORMATS, ANDROID_SCALER_AVAILABLE_FORMATS,
&availableFormats); &availableFormats);
ASSERT_EQ(OK, res); ASSERT_EQ(OK, res);
@@ -255,17 +255,17 @@ class Camera2Test: public testing::Test {
<< "No support found for format 0x" << std::hex << format; << "No support found for format 0x" << std::hex << format;
} }
camera_metadata_entry_t availableSizes; camera_metadata_ro_entry_t availableSizes;
if (format == HAL_PIXEL_FORMAT_RAW_SENSOR) { if (format == HAL_PIXEL_FORMAT_RAW_SENSOR) {
res = find_camera_metadata_entry(mStaticInfo, res = find_camera_metadata_ro_entry(mStaticInfo,
ANDROID_SCALER_AVAILABLE_RAW_SIZES, ANDROID_SCALER_AVAILABLE_RAW_SIZES,
&availableSizes); &availableSizes);
} else if (format == HAL_PIXEL_FORMAT_BLOB) { } else if (format == HAL_PIXEL_FORMAT_BLOB) {
res = find_camera_metadata_entry(mStaticInfo, res = find_camera_metadata_ro_entry(mStaticInfo,
ANDROID_SCALER_AVAILABLE_JPEG_SIZES, ANDROID_SCALER_AVAILABLE_JPEG_SIZES,
&availableSizes); &availableSizes);
} else { } else {
res = find_camera_metadata_entry(mStaticInfo, res = find_camera_metadata_ro_entry(mStaticInfo,
ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES, ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES,
&availableSizes); &availableSizes);
} }
@@ -293,7 +293,7 @@ class Camera2Test: public testing::Test {
} }
camera2_device *mDevice; camera2_device *mDevice;
camera_metadata_t *mStaticInfo; const camera_metadata_t *mStaticInfo;
MetadataQueue mRequests; MetadataQueue mRequests;
MetadataQueue mFrames; MetadataQueue mFrames;
@@ -342,7 +342,7 @@ TEST_F(Camera2Test, Capture1Raw) {
sp<FrameWaiter> rawWaiter = new FrameWaiter(); sp<FrameWaiter> rawWaiter = new FrameWaiter();
rawConsumer->setFrameAvailableListener(rawWaiter); rawConsumer->setFrameAvailableListener(rawWaiter);
int32_t *rawResolutions; const int32_t *rawResolutions;
size_t rawResolutionsCount; size_t rawResolutionsCount;
int format = HAL_PIXEL_FORMAT_RAW_SENSOR; int format = HAL_PIXEL_FORMAT_RAW_SENSOR;
@@ -456,7 +456,7 @@ TEST_F(Camera2Test, CaptureBurstRaw) {
sp<FrameWaiter> rawWaiter = new FrameWaiter(); sp<FrameWaiter> rawWaiter = new FrameWaiter();
rawConsumer->setFrameAvailableListener(rawWaiter); rawConsumer->setFrameAvailableListener(rawWaiter);
int32_t *rawResolutions; const int32_t *rawResolutions;
size_t rawResolutionsCount; size_t rawResolutionsCount;
int format = HAL_PIXEL_FORMAT_RAW_SENSOR; int format = HAL_PIXEL_FORMAT_RAW_SENSOR;
@@ -618,7 +618,7 @@ TEST_F(Camera2Test, Capture1Jpeg) {
sp<FrameWaiter> jpegWaiter = new FrameWaiter(); sp<FrameWaiter> jpegWaiter = new FrameWaiter();
jpegConsumer->setFrameAvailableListener(jpegWaiter); jpegConsumer->setFrameAvailableListener(jpegWaiter);
int32_t *jpegResolutions; const int32_t *jpegResolutions;
size_t jpegResolutionsCount; size_t jpegResolutionsCount;
int format = HAL_PIXEL_FORMAT_BLOB; int format = HAL_PIXEL_FORMAT_BLOB;