gexiv2-sys 0.6.0

This library provides Rust FFI declarations for the gexiv2 library, which is a GObject-based wrapper around the Exiv2 library, which provides read and write access to the Exif, XMP, and IPTC metadata in media files. Only FFI declarations are provided here; for a usable Rust library, consider the `rexiv2` crate.
docs.rs failed to build gexiv2-sys-0.6.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: gexiv2-sys-1.4.0

gexiv2-sys

Rust FFI declarations for gexiv2

This library provides Rust FFI declarations for the gexiv2 library, which is a GObject-based wrapper around the Exiv2 library, which provides read and write access to the Exif, XMP, and IPTC metadata in media files.

Only FFI declarations are provided here; for a usable Rust library, consider the rexiv2 crate.

Documentation

gexiv2’s APIs may be a useful reference, along with Exiv2’s API docs.

Dependencies

Given that it links to gexiv2, and transitively to Exiv2, gexiv2-sys obviously depends on them. Only the library (e.g. .so or .dll) files are needed; not the headers or source code. You can download these dependencies from their download pages: Exiv2; gexiv2.

On a Linux system, you can typically install these dependencies through your package manager (look for packages with names like “libgexiv2-dev”). Mac OS X users may also have this option through unofficial package management systems. Note that to build gexiv2-sys from source you may need not just the library packages, but the “dev” versions of them as well.

Optional Features

raw-tag-access: If you need access to the raw byte values of tags, you can enable this feature and gain the gexiv2_metadata_get_tag_raw function. Note that the return value of this call is a GLib GBytes object, which you can convert to a data pointer via GLib’s g_bytes_unref_to_data.

This feature is disabled by default because it introduces a new dependency on glib-sys, and consequently on the GLib system library.

xmp-packet-access: If you need access to the XML-formatted XMP packet, you can enable this feature. It will add the gexiv2_metadata_generate_xmp_packet and gexiv2_metadata_get_xmp_packet calls. Enabling the feature also introduces a new dependency on the the bitflags crate.

Contributing

Contributions are gladly accepted, either through GitHub pull requests or by mailing patches to felixc@felixcrux.com (PGP key 8569B6311EE485F8).

By contributing, you are agreeing to make your contribution available under the same license terms as the rest of the project.

Copyright & License

The Exiv2 and gexiv2 libraries are both released under the terms of the GNU General Public License (GPL), and since gexiv2-sys is linked to them, it too is made available under the terms of the GPL. Specifically:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Please refer to the LICENSE file for a full copy of the license.