## gsttagexif gsttagexif — tag mappings and support functions for plugins dealing with exif tags |

## Synopsis

    #include <gst/tag/tag.h>

    GstBuffer *         gst_tag_list_to_exif_buffer         (const GstTagList *taglist,
                                                             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       (GstBuffer *buffer,
                                                             gint byte_order,
                                                             guint32 base_offset);
    GstTagList *        gst_tag_list_from_exif_buffer_with_tiff_header
                                                            (GstBuffer *buffer);

## Description

Contains utility function to parse GstTagLists from exif buffers and to create exif buffers from GstTagLists

Note that next IFD fields on the created exif buffers are set to 0.

## Details

### gst_tag_list_to_exif_buffer ()

    GstBuffer *         gst_tag_list_to_exif_buffer         (const GstTagList *taglist,
                                                             gint byte_order,
                                                             guint32 base_offset);

Formats the tags in taglist on exif format. The resulting buffer contains the tags IFD and is followed by the data pointed by the tag entries.

`taglist` : | The taglist
`byte_order` : | byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN)
`base_offset` : | Offset from the tiff header first byte
Returns : | A GstBuffer containing the tag entries followed by the tag data

### gst_tag_list_to_exif_buffer_with_tiff_header ()

    GstBuffer *         gst_tag_list_to_exif_buffer_with_tiff_header
                                                            (const GstTagList *taglist);

Formats the tags in taglist into exif structure, a tiff header is put in the beginning of the buffer.

`taglist` : | The taglist
Returns : | A GstBuffer containing the data

### gst_tag_list_from_exif_buffer ()

    GstTagList *        gst_tag_list_from_exif_buffer       (GstBuffer *buffer,
                                                             gint byte_order,
                                                             guint32 base_offset);

Parses the IFD and IFD tags data contained in the buffer and puts it on a taglist. The base_offset is used to subtract from the offset in the tag entries and be able to get the offset relative to the buffer start

`buffer` : | The exif buffer
`byte_order` : | byte order of the data
`base_offset` : | Offset from the tiff header to this buffer
Returns : | The parsed taglist

### gst_tag_list_from_exif_buffer_with_tiff_header ()

    GstTagList *        gst_tag_list_from_exif_buffer_with_tiff_header
                                                            (GstBuffer *buffer);

Parses the exif tags starting with a tiff header structure.

`buffer` : | The exif buffer
Returns : | The taglist

## See Also

GstTagList