summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camera/exynos_camera.c9
-rw-r--r--camera/exynos_exif.c3
2 files changed, 12 insertions, 0 deletions
diff --git a/camera/exynos_camera.c b/camera/exynos_camera.c
index 7b2875b..2a12243 100644
--- a/camera/exynos_camera.c
+++ b/camera/exynos_camera.c
@@ -4237,6 +4237,15 @@ int exynos_camera_set_parameters(struct camera_device *dev,
exynos_camera = (struct exynos_camera *) dev->priv;
+ if (strstr(params, "gps-timestamp=") == NULL) {
+ /* Make sure the GPS data is ignored, it may have
+ * been explicitly erased with removeGpsData()
+ */
+ exynos_param_int_set(exynos_camera, "gps-timestamp", -1);
+ exynos_param_int_set(exynos_camera, "gps-latitude", -1);
+ exynos_param_int_set(exynos_camera, "gps-longitude", -1);
+ }
+
rc = exynos_params_string_set(exynos_camera, (char *) params);
if (rc < 0) {
ALOGE("%s: Unable to set params string", __func__);
diff --git a/camera/exynos_exif.c b/camera/exynos_exif.c
index 2ba4ca1..b0d1656 100644
--- a/camera/exynos_exif.c
+++ b/camera/exynos_exif.c
@@ -195,6 +195,7 @@ int exynos_exif_attributes_create_gps(struct exynos_camera *exynos_camera,
snprintf((char *) attributes->gps_datestamp, sizeof(attributes->gps_datestamp),
"%04d:%02d:%02d", time_info.tm_year + 1900, time_info.tm_mon + 1, time_info.tm_mday);
+ strcpy((char *) attributes->gps_processing_method, gps_processing_method_string);
attributes->enableGps = true;
return 0;
@@ -423,6 +424,8 @@ int exynos_exif_start(struct exynos_camera *exynos_camera, struct exynos_exif *e
return -1;
}
+ memset(&exif->attributes, 0, sizeof(exif_attribute_t));
+
rc = exynos_exif_attributes_create_static(exynos_camera, exif);
if (rc < 0) {
ALOGE("%s: Unable to create exif attributes", __func__);