tag: Adds basic exif tags support

Adds exif helper lib functions to parse exif buffers from/to
taglists. Exif is tipically used in jpeg images, but it can
also be embedded into TIFF, AVI and WAV formats.

Adds a couple function to handle exif in tiff header structures, that is how
exif is embedded in jpeg and (obviously) in tiff.

API: gst_tag_list_to_exif_buffer
API: gst_tag_list_to_exif_buffer_with_tiff_header
API: gst_tag_list_from_exif_buffer
API: gst_tag_list_from_exif_buffer_with_tiff_header

Fixes #614872
This commit is contained in:
Thiago Santos 2010-04-03 23:02:57 -03:00
parent 4caee01a06
commit 6b6a4e85ad
5 changed files with 1066 additions and 1 deletions

View file

@ -1681,6 +1681,16 @@ gst_tag_list_to_xmp_buffer
<SUBSECTION Standard>
</SECTION>
<SECTION>
<FILE>gsttagexif</FILE>
<INCLUDE>gst/tag/tag.h</INCLUDE>
gst_tag_list_to_exif_buffer
gst_tag_list_to_exif_buffer_with_tiff_header
gst_tag_list_from_exif_buffer
gst_tag_list_from_exif_buffer_with_tiff_header
<SUBSECTION Standard>
</SECTION>
<SECTION>
<FILE>gsttagdemux</FILE>
<INCLUDE>gst/tag/gsttagdemux.h</INCLUDE>

View file

@ -7,7 +7,7 @@ libgsttaginclude_HEADERS = \
lib_LTLIBRARIES = libgsttag-@GST_MAJORMINOR@.la
libgsttag_@GST_MAJORMINOR@_la_SOURCES = \
gstvorbistag.c gstid3tag.c gstxmptag.c \
gstvorbistag.c gstid3tag.c gstxmptag.c gstexiftag.c \
lang.c tags.c gsttagdemux.c
libgsttag_@GST_MAJORMINOR@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
libgsttag_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)

File diff suppressed because it is too large Load diff

View file

@ -224,6 +224,20 @@ GstTagList * gst_tag_list_from_xmp_buffer (const GstBuffer * buffer
GstBuffer * gst_tag_list_to_xmp_buffer (const GstTagList * list,
gboolean read_only);
/* functions related to exif */
GstBuffer * gst_tag_list_to_exif_buffer (const GstTagList * list,
gint byte_order,
guint32 base_offset);
GstBuffer * gst_tag_list_to_exif_buffer_with_tiff_header (const GstTagList * taglist);
GstTagList * gst_tag_list_from_exif_buffer (const GstBuffer * buffer,
gint byte_order,
guint32 base_offset);
GstTagList * gst_tag_list_from_exif_buffer_with_tiff_header (
const GstBuffer * buffer);
/* other tag-related functions */
gboolean gst_tag_parse_extended_comment (const gchar * ext_comment,

View file

@ -15,6 +15,8 @@ EXPORTS
gst_tag_image_data_to_image_buffer
gst_tag_image_type_get_type
gst_tag_list_add_id3_image
gst_tag_list_from_exif_buffer
gst_tag_list_from_exif_buffer_with_tiff_header
gst_tag_list_from_vorbiscomment_buffer
gst_tag_list_from_xmp_buffer
gst_tag_list_new_from_id3v1
@ -22,6 +24,8 @@ EXPORTS
gst_tag_list_to_xmp_buffer
gst_tag_parse_extended_comment
gst_tag_register_musicbrainz_tags
gst_tag_list_to_exif_buffer
gst_tag_list_to_exif_buffer_with_tiff_header
gst_tag_to_id3_tag
gst_tag_to_vorbis_comments
gst_tag_to_vorbis_tag