diff options
Diffstat (limited to 'ext/metadata/metadata.h')
-rw-r--r-- | ext/metadata/metadata.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/ext/metadata/metadata.h b/ext/metadata/metadata.h index a97f1e48..15bdab9d 100644 --- a/ext/metadata/metadata.h +++ b/ext/metadata/metadata.h @@ -48,7 +48,9 @@ #include "metadatatypes.h" #include "metadataparsejpeg.h" +#include "metadatamuxjpeg.h" #include "metadataparsepng.h" +#include "metadatamuxpng.h" G_BEGIN_DECLS @@ -82,8 +84,10 @@ typedef struct _tag_MetaData guint32 offset_orig; /* offset since begining of stream */ union { - JpegData jpeg; - PngData png; + JpegParseData jpeg_parse; + JpegMuxData jpeg_mux; + PngParseData png_parse; + PngMuxData png_mux; } format_data; GstAdapter * exif_adapter; GstAdapter * iptc_adapter; @@ -92,6 +96,8 @@ typedef struct _tag_MetaData MetadataChunkArray strip_chunks; MetadataChunkArray inject_chunks; + gboolean parse; /* true - parsing, false - muxing */ + } MetaData; #define META_DATA_IMG_TYPE(p) (p).img_type @@ -99,7 +105,7 @@ typedef struct _tag_MetaData #define set_meta_option(p, m) do { (p).option = (p).option | (m); } while(FALSE) #define unset_meta_option(p, m) do { (p).option = (p).option & ~(m); } while(FALSE) -extern void metadata_init (MetaData * meta_data); +extern void metadata_init (MetaData * meta_data, gboolean parse); /* * offset: number of bytes that MUST be jumped after current "buf" pointer @@ -112,10 +118,12 @@ extern void metadata_init (MetaData * meta_data); * 1 -> need more data */ extern int -metadata_meta (MetaData * meta_data, const guint8 * buf, +metadata_parse (MetaData * meta_data, const guint8 * buf, guint32 bufsize, guint32 * next_offset, guint32 * next_size); +extern void metadata_lazy_update (MetaData * meta_data); + extern void metadata_dispose (MetaData * meta_data); G_END_DECLS |