Gimp.Image.metadata_save_filter

### Method

# Gimp Imagemetadata_save_filter

since: 3.0

#### Declaration [src]

    GimpMetadata*
    gimp_image_metadata_save_filter (
      GimpImage* image,
      const gchar* mime_type,
      GimpMetadata* metadata,
      GimpMetadataSaveFlags flags,
      GFile* file,
      GError** error
    )

#### Description [src]

Filters the `metadata` retrieved from the image with `gimp_image_metadata_save_prepare()`, taking into account the passed `flags`.

Note: There is normally no need to call this function because it’s already called by `GimpExportProcedure` after the `run()` callback.

Note that the `image` passed to this function might be different from the image passed to `gimp_image_metadata_save_prepare()`, due to whatever file export conversion happened in the meantime

This can be used as an alternative to core metadata handling when you want to save metadata yourself and you need only filtering processing.

Available since: 3.0

#### Parameters

`mime_type`

  Type: `const gchar*`

  The saved file’s mime-type.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`metadata`

  Type: `GimpMetadata`

  The metadata to export.

  The data is owned by the caller of the method.

`flags`

  Type: `GimpMetadataSaveFlags`

  Flags to specify what of the metadata to save.

`file`

  Type: `GFile`

  The file `image` was saved to or NULL if file was not saved yet.

  The data is owned by the caller of the method.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `GimpMetadata`

Filtered metadata or `NULL` in case of failure. Use [GObject.Object.unref] when returned metadata are no longer needed.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.