[gimp] Disable automatic metadata handling for HEIF plug-in
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Disable automatic metadata handling for HEIF plug-in
- Date: Wed, 7 Apr 2021 16:26:28 +0000 (UTC)
commit 6488a5e480685fa435bf20501f0325abb7a1eaeb
Author: Daniel Novomesky <dnovomesky gmail com>
Date: Fri Mar 12 14:53:59 2021 +0100
Disable automatic metadata handling for HEIF plug-in
The plug-in saves metadata together with exported image.
We ensure that GIMP won’t try to save metadata to
already exported file second time.
plug-ins/common/file-heif.c | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
---
diff --git a/plug-ins/common/file-heif.c b/plug-ins/common/file-heif.c
index 546c09f948..4f569c50ed 100644
--- a/plug-ins/common/file-heif.c
+++ b/plug-ins/common/file-heif.c
@@ -458,8 +458,7 @@ heif_save (GimpProcedure *procedure,
gegl_init (NULL, NULL);
config = gimp_procedure_create_config (procedure);
- metadata = gimp_procedure_config_begin_export (config, image, run_mode,
- args, "image/heif");
+ gimp_procedure_config_begin_run (config, image, run_mode, args);
switch (run_mode)
{
@@ -499,14 +498,23 @@ heif_save (GimpProcedure *procedure,
if (status == GIMP_PDB_SUCCESS)
{
+ GimpMetadataSaveFlags metadata_flags;
+
+ metadata = gimp_image_metadata_save_prepare (image, "image/heif", &metadata_flags);
+
if (! save_image (file, image, drawables[0], G_OBJECT (config),
&error, heif_compression_HEVC, metadata))
{
status = GIMP_PDB_EXECUTION_ERROR;
}
+
+ if (metadata)
+ {
+ g_object_unref (metadata);
+ }
}
- gimp_procedure_config_end_export (config, image, file, status);
+ gimp_procedure_config_end_run (config, status);
g_object_unref (config);
if (export == GIMP_EXPORT_EXPORT)
@@ -539,8 +547,7 @@ heif_av1_save (GimpProcedure *procedure,
gegl_init (NULL, NULL);
config = gimp_procedure_create_config (procedure);
- metadata = gimp_procedure_config_begin_export (config, image, run_mode,
- args, "image/avif");
+ gimp_procedure_config_begin_run (config, image, run_mode, args);
switch (run_mode)
{
@@ -580,14 +587,23 @@ heif_av1_save (GimpProcedure *procedure,
if (status == GIMP_PDB_SUCCESS)
{
+ GimpMetadataSaveFlags metadata_flags;
+
+ metadata = gimp_image_metadata_save_prepare (image, "image/avif", &metadata_flags);
+
if (! save_image (file, image, drawables[0], G_OBJECT (config),
&error, heif_compression_AV1, metadata))
{
status = GIMP_PDB_EXECUTION_ERROR;
}
+
+ if (metadata)
+ {
+ g_object_unref (metadata);
+ }
}
- gimp_procedure_config_end_export (config, image, file, status);
+ gimp_procedure_config_end_run (config, status);
g_object_unref (config);
if (export == GIMP_EXPORT_EXPORT)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]