diff options
-rw-r--r-- | camera/exynos_camera.c | 9 | ||||
-rw-r--r-- | camera/exynos_exif.c | 3 |
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__); |