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 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):
*
@ -150,7 +152,7 @@ struct camera_info {
* otherwise.
*
*/
camera_metadata_t *static_camera_characteristics;
const camera_metadata_t *static_camera_characteristics;
};
typedef struct camera_module {

View file

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