summaryrefslogtreecommitdiffstats
path: root/ext/metadata/metadataparse.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/metadata/metadataparse.h')
-rw-r--r--ext/metadata/metadataparse.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/ext/metadata/metadataparse.h b/ext/metadata/metadataparse.h
index 4534f12a..98c1714d 100644
--- a/ext/metadata/metadataparse.h
+++ b/ext/metadata/metadataparse.h
@@ -45,6 +45,7 @@
#define __METADATAPARSE_H__
#include <gst/base/gstadapter.h>
+#include "metadataparsetypes.h"
#include "metadataparsejpeg.h"
#include "metadataparsepng.h"
@@ -78,14 +79,15 @@ typedef struct _tag_ParseData
ParseState state;
ImageType img_type;
ParseOption option;
+ guint32 offset; /* offset since begining of stream */
union
{
JpegData jpeg;
PngData png;
} format_data;
- GstAdapter *adpt_exif;
- GstAdapter *adpt_iptc;
- GstAdapter *adpt_xmp;
+ MetadataChunk exif;
+ MetadataChunk iptc;
+ MetadataChunk xmp;
} ParseData;
#define PARSE_DATA_IMG_TYPE(p) (p).img_type
@@ -96,7 +98,10 @@ typedef struct _tag_ParseData
extern void metadataparse_init (ParseData * parse_data);
/*
- * offset: number of bytes to jump (just a hint to jump a chunk)
+ * offset: number of bytes that MUST be jumped after current "buf" pointer
+ * next_size: number of minimum amount of bytes required on next step.
+ * if less than this is provided, the return will be 1 for sure.
+ * and the offset will be 0 (zero)
* return:
* -1 -> error
* 0 -> done