summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorSasha Levitskiy <sanek@google.com>2014-04-21 17:20:17 -0700
committerSasha Levitskiy <sanek@google.com>2014-04-23 11:54:24 -0700
commita82f456c387cb6ff6c5aab7c930a7a61c36ed8ba (patch)
treeb7a2eeac4ed159ee5f6129d9cbeabc69a1c72148 /modules
parent449ebdd70fa8df58b03a9bd38deed2e53cb512a0 (diff)
downloadhardware_libhardware-a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba.zip
hardware_libhardware-a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba.tar.gz
hardware_libhardware-a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba.tar.bz2
Camera: HAL: 64-bit warning fixit.
Change-Id: Iecc3e1846fbf63c51952d115e1f167cf32135b18 Signed-off-by: Sasha Levitskiy <sanek@google.com>
Diffstat (limited to 'modules')
-rw-r--r--modules/camera/Camera.cpp19
-rw-r--r--modules/camera/CameraHAL.cpp3
-rw-r--r--modules/camera/ExampleCamera.cpp56
-rw-r--r--modules/camera/Metadata.cpp8
-rw-r--r--modules/camera/Stream.cpp13
-rw-r--r--modules/camera/VendorTags.cpp38
-rw-r--r--modules/camera/VendorTags.h35
7 files changed, 98 insertions, 74 deletions
diff --git a/modules/camera/Camera.cpp b/modules/camera/Camera.cpp
index 0ddf001..1f22e00 100644
--- a/modules/camera/Camera.cpp
+++ b/modules/camera/Camera.cpp
@@ -569,17 +569,26 @@ static void dump(const camera3_device_t *dev, int fd)
{
camdev_to_camera(dev)->dump(fd);
}
+
+static int flush(const camera3_device_t*)
+{
+ ALOGE("%s: unimplemented.", __func__);
+ return -1;
+}
+
} // extern "C"
const camera3_device_ops_t Camera::sOps = {
- .initialize = default_camera_hal::initialize,
- .configure_streams = default_camera_hal::configure_streams,
+ .initialize = default_camera_hal::initialize,
+ .configure_streams = default_camera_hal::configure_streams,
.register_stream_buffers = default_camera_hal::register_stream_buffers,
- .construct_default_request_settings =
- default_camera_hal::construct_default_request_settings,
+ .construct_default_request_settings
+ = default_camera_hal::construct_default_request_settings,
.process_capture_request = default_camera_hal::process_capture_request,
.get_metadata_vendor_tag_ops = NULL,
- .dump = default_camera_hal::dump
+ .dump = default_camera_hal::dump,
+ .flush = default_camera_hal::flush,
+ .reserved = {0},
};
} // namespace default_camera_hal
diff --git a/modules/camera/CameraHAL.cpp b/modules/camera/CameraHAL.cpp
index 148f99c..b04cf0c 100644
--- a/modules/camera/CameraHAL.cpp
+++ b/modules/camera/CameraHAL.cpp
@@ -183,7 +183,8 @@ camera_module_t HAL_MODULE_INFO_SYM __attribute__ ((visibility("default"))) = {
get_number_of_cameras : get_number_of_cameras,
get_camera_info : get_camera_info,
set_callbacks : set_callbacks,
- get_vendor_tag_ops : get_vendor_tag_ops
+ get_vendor_tag_ops : get_vendor_tag_ops,
+ reserved : {0},
};
} // extern "C"
diff --git a/modules/camera/ExampleCamera.cpp b/modules/camera/ExampleCamera.cpp
index a275190..ca28b99 100644
--- a/modules/camera/ExampleCamera.cpp
+++ b/modules/camera/ExampleCamera.cpp
@@ -184,25 +184,37 @@ int ExampleCamera::initDevice()
// Create standard settings templates from copies of base metadata
// TODO: use vendor tags in base metadata
- if (res = base.add1UInt8(ANDROID_CONTROL_MODE, ANDROID_CONTROL_MODE_OFF))
+ res = base.add1UInt8(ANDROID_CONTROL_MODE, ANDROID_CONTROL_MODE_OFF);
+ if (res)
return res;
// Use base settings to create all other templates and set them
- if (res = setPreviewTemplate(base)) return res;
- if (res = setStillTemplate(base)) return res;
- if (res = setRecordTemplate(base)) return res;
- if (res = setSnapshotTemplate(base)) return res;
- if (res = setZslTemplate(base)) return res;
+ res = setPreviewTemplate(base);
+ if (res)
+ return res;
+ res = setStillTemplate(base);
+ if (res)
+ return res;
+ res = setRecordTemplate(base);
+ if (res)
+ return res;
+ res = setSnapshotTemplate(base);
+ if (res)
+ return res;
+ res = setZslTemplate(base);
+ if (res)
+ return res;
return 0;
}
int ExampleCamera::setPreviewTemplate(Metadata m)
{
- int res;
// Setup default preview controls
- if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
- ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW))
+ int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
+ ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW);
+
+ if (res)
return res;
// TODO: set fast auto-focus, auto-whitebalance, auto-exposure, auto flash
return setTemplate(CAMERA3_TEMPLATE_PREVIEW, m.get());
@@ -210,10 +222,10 @@ int ExampleCamera::setPreviewTemplate(Metadata m)
int ExampleCamera::setStillTemplate(Metadata m)
{
- int res;
+ int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
+ ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE);
// Setup default still capture controls
- if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
- ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE))
+ if (res)
return res;
// TODO: set fast auto-focus, auto-whitebalance, auto-exposure, auto flash
return setTemplate(CAMERA3_TEMPLATE_STILL_CAPTURE, m.get());
@@ -221,10 +233,10 @@ int ExampleCamera::setStillTemplate(Metadata m)
int ExampleCamera::setRecordTemplate(Metadata m)
{
- int res;
+ int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
+ ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD);
// Setup default video record controls
- if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
- ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD))
+ if (res)
return res;
// TODO: set slow auto-focus, auto-whitebalance, auto-exposure, flash off
return setTemplate(CAMERA3_TEMPLATE_VIDEO_RECORD, m.get());
@@ -232,21 +244,21 @@ int ExampleCamera::setRecordTemplate(Metadata m)
int ExampleCamera::setSnapshotTemplate(Metadata m)
{
- int res;
+ int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
+ ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT);
// Setup default video snapshot controls
- if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
- ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT))
+ if (res)
return res;
- // TODO: set slow auto-focus, auto-whitebalance, auto-exposure, flash off
+ // TODO: set slow auto-focus, auto-whitebalance, auto-exposure, flash off
return setTemplate(CAMERA3_TEMPLATE_VIDEO_SNAPSHOT, m.get());
}
int ExampleCamera::setZslTemplate(Metadata m)
{
- int res;
+ int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
+ ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG);
// Setup default zero shutter lag controls
- if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT,
- ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG))
+ if (res)
return res;
// TODO: set reprocessing parameters for zsl input queue
return setTemplate(CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG, m.get());
diff --git a/modules/camera/Metadata.cpp b/modules/camera/Metadata.cpp
index 72314d5..f195534 100644
--- a/modules/camera/Metadata.cpp
+++ b/modules/camera/Metadata.cpp
@@ -143,18 +143,20 @@ int Metadata::add(uint32_t tag, int count, const void *tag_data)
// Double new dimensions to minimize future reallocations
tmp = allocate_camera_metadata(entry_capacity * 2, data_capacity * 2);
if (tmp == NULL) {
- ALOGE("%s: Failed to allocate new metadata with %d entries, %d data",
+ ALOGE("%s: Failed to allocate new metadata with %zu entries, %zu data",
__func__, entry_capacity, data_capacity);
return -ENOMEM;
}
// Append the current metadata to the new (empty) metadata
- if (res = append_camera_metadata(tmp, mData)) {
+ res = append_camera_metadata(tmp, mData);
+ if (res) {
ALOGE("%s: Failed to append old metadata %p to new %p",
__func__, mData, tmp);
return res;
}
// Add the remaining new item
- if (res = add_camera_metadata_entry(tmp, tag, tag_data, count)) {
+ res = add_camera_metadata_entry(tmp, tag, tag_data, count);
+ if (res) {
ALOGE("%s: Failed to add new entry (%d, %p, %d) to metadata %p",
__func__, tag, tag_data, count, tmp);
return res;
diff --git a/modules/camera/Stream.cpp b/modules/camera/Stream.cpp
index 9b9ab98..b846a71 100644
--- a/modules/camera/Stream.cpp
+++ b/modules/camera/Stream.cpp
@@ -227,15 +227,16 @@ void Stream::dump(int fd)
fdprintf(fd, "Stream ID: %d (%p)\n", mId, mStream);
fdprintf(fd, "Stream Type: %s (%d)\n", typeToString(mType), mType);
- fdprintf(fd, "Width: %u Height: %u\n", mWidth, mHeight);
+ fdprintf(fd, "Width: %"PRIu32" Height: %"PRIu32"\n", mWidth, mHeight);
fdprintf(fd, "Stream Format: %s (%d)", formatToString(mFormat), mFormat);
// ToDo: prettyprint usage mask flags
- fdprintf(fd, "Gralloc Usage Mask: 0x%x\n", mUsage);
- fdprintf(fd, "Max Buffer Count: %d\n", mMaxBuffers);
+ fdprintf(fd, "Gralloc Usage Mask: %#"PRIx32"\n", mUsage);
+ fdprintf(fd, "Max Buffer Count: %"PRIu32"\n", mMaxBuffers);
fdprintf(fd, "Buffers Registered: %s\n", mRegistered ? "true" : "false");
- fdprintf(fd, "Number of Buffers: %d\n", mNumBuffers);
- for (int i = 0; i < mNumBuffers; i++) {
- fdprintf(fd, "Buffer %d/%d: %p\n", i, mNumBuffers, mBuffers[i]);
+ fdprintf(fd, "Number of Buffers: %"PRIu32"\n", mNumBuffers);
+ for (uint32_t i = 0; i < mNumBuffers; i++) {
+ fdprintf(fd, "Buffer %"PRIu32"/%"PRIu32": %p\n", i, mNumBuffers,
+ mBuffers[i]);
}
}
diff --git a/modules/camera/VendorTags.cpp b/modules/camera/VendorTags.cpp
index 58bd606..2c54648 100644
--- a/modules/camera/VendorTags.cpp
+++ b/modules/camera/VendorTags.cpp
@@ -46,53 +46,53 @@ struct Section {
};
// Entry arrays for each section
-const Entry DemoWizardry[DEMO_WIZARDRY_END - DEMO_WIZARDRY_START] = {
- [DEMO_WIZARDRY_DIMENSION_SIZE - DEMO_WIZARDRY_START] =
+const Entry DemoWizardry[demo_wizardry_end - demo_wizardry_start] = {
+ [demo_wizardry_dimension_size - demo_wizardry_start] =
{"dimensionSize", TYPE_INT32},
- [DEMO_WIZARDRY_DIMENSIONS - DEMO_WIZARDRY_START] =
+ [demo_wizardry_dimensions - demo_wizardry_start] =
{"dimensions", TYPE_INT32},
- [DEMO_WIZARDRY_FAMILIAR - DEMO_WIZARDRY_START] =
+ [demo_wizardry_familiar - demo_wizardry_start] =
{"familiar", TYPE_BYTE},
- [DEMO_WIZARDRY_FIRE - DEMO_WIZARDRY_START] =
+ [demo_wizardry_fire - demo_wizardry_start] =
{"fire", TYPE_RATIONAL}
};
-const Entry DemoSorcery[DEMO_SORCERY_END - DEMO_SORCERY_START] = {
- [DEMO_SORCERY_DIFFICULTY - DEMO_SORCERY_START] =
+const Entry DemoSorcery[demo_sorcery_end - demo_sorcery_start] = {
+ [demo_sorcery_difficulty - demo_sorcery_start] =
{"difficulty", TYPE_INT64},
- [DEMO_SORCERY_LIGHT - DEMO_SORCERY_START] =
+ [demo_sorcery_light - demo_sorcery_start] =
{"light", TYPE_BYTE}
};
-const Entry DemoMagic[DEMO_MAGIC_END - DEMO_MAGIC_START] = {
- [DEMO_MAGIC_CARD_TRICK - DEMO_MAGIC_START] =
+const Entry DemoMagic[demo_magic_end - demo_magic_start] = {
+ [demo_magic_card_trick - demo_magic_start] =
{"cardTrick", TYPE_DOUBLE},
- [DEMO_MAGIC_LEVITATION - DEMO_MAGIC_START] =
+ [demo_magic_levitation - demo_magic_start] =
{"levitation", TYPE_FLOAT}
};
// Array of all sections
const Section DemoSections[DEMO_SECTION_COUNT] = {
[DEMO_WIZARDRY] = { "demo.wizardry",
- DEMO_WIZARDRY_START,
- DEMO_WIZARDRY_END,
+ demo_wizardry_start,
+ demo_wizardry_end,
DemoWizardry },
[DEMO_SORCERY] = { "demo.sorcery",
- DEMO_SORCERY_START,
- DEMO_SORCERY_END,
+ demo_sorcery_start,
+ demo_sorcery_end,
DemoSorcery },
[DEMO_MAGIC] = { "demo.magic",
- DEMO_MAGIC_START,
- DEMO_MAGIC_END,
+ demo_magic_start,
+ demo_magic_end,
DemoMagic }
};
// Get a static handle to a specific vendor tag section
const Section* getSection(uint32_t tag)
{
- uint32_t section = (tag - VENDOR_SECTION_START) >> 16;
+ uint32_t section = (tag - vendor_section_start) >> 16;
- if (tag < VENDOR_SECTION_START) {
+ if (tag < vendor_section_start) {
ALOGE("%s: Tag 0x%x before vendor section", __func__, tag);
return NULL;
}
diff --git a/modules/camera/VendorTags.h b/modules/camera/VendorTags.h
index 9af9f7d..ecf777e 100644
--- a/modules/camera/VendorTags.h
+++ b/modules/camera/VendorTags.h
@@ -49,29 +49,28 @@ enum {
DEMO_SECTION_COUNT
};
+const uint32_t vendor_section_start = VENDOR_SECTION_START;
+
// Each section starts at increments of 0x1_0000
-enum {
- DEMO_WIZARDRY_START = (DEMO_WIZARDRY + VENDOR_SECTION) << 16,
- DEMO_SORCERY_START = (DEMO_SORCERY + VENDOR_SECTION) << 16,
- DEMO_MAGIC_START = (DEMO_MAGIC + VENDOR_SECTION) << 16,
-};
+const uint32_t demo_wizardry_start = (DEMO_WIZARDRY + VENDOR_SECTION) << 16;
+const uint32_t demo_sorcery_start = (DEMO_SORCERY + VENDOR_SECTION) << 16;
+const uint32_t demo_magic_start = (DEMO_MAGIC + VENDOR_SECTION) << 16;
// Vendor Tag values, start value begins each section
-enum {
- DEMO_WIZARDRY_DIMENSION_SIZE = DEMO_WIZARDRY_START,
- DEMO_WIZARDRY_DIMENSIONS,
- DEMO_WIZARDRY_FAMILIAR,
- DEMO_WIZARDRY_FIRE,
- DEMO_WIZARDRY_END,
+const uint32_t demo_wizardry_dimension_size = demo_wizardry_start;
+const uint32_t demo_wizardry_dimensions = demo_wizardry_start + 1;
+const uint32_t demo_wizardry_familiar = demo_wizardry_start + 2;
+const uint32_t demo_wizardry_fire = demo_wizardry_start + 3;
+const uint32_t demo_wizardry_end = demo_wizardry_start + 4;
- DEMO_SORCERY_DIFFICULTY = DEMO_SORCERY_START,
- DEMO_SORCERY_LIGHT,
- DEMO_SORCERY_END,
+const uint32_t demo_sorcery_difficulty = demo_sorcery_start;
+const uint32_t demo_sorcery_light = demo_sorcery_start + 1;
+const uint32_t demo_sorcery_end = demo_sorcery_start + 2;
+
+const uint32_t demo_magic_card_trick = demo_magic_start;
+const uint32_t demo_magic_levitation = demo_magic_start + 1;
+const uint32_t demo_magic_end = demo_magic_start + 2;
- DEMO_MAGIC_CARD_TRICK = DEMO_MAGIC_START,
- DEMO_MAGIC_LEVITATION,
- DEMO_MAGIC_END,
-};
} // namespace default_camera_hal
#endif // VENDOR_TAGS_H_