summaryrefslogtreecommitdiffstats
path: root/ext/metadata/gstmetadatamux.h
diff options
context:
space:
mode:
authorEdgard Lima <edgard.lima@indt.org.br>2007-11-28 08:13:52 +0000
committerEdgard Lima <edgard.lima@indt.org.br>2007-11-28 08:13:52 +0000
commitc1e6c76cdb550c564f58e84c66b3e993ea36227d (patch)
tree612c9146a4528e8810887f99d13c459c6be50206 /ext/metadata/gstmetadatamux.h
parent307925e3077da26e33b06a6c53080ebf07328847 (diff)
downloadgst-plugins-bad-c1e6c76cdb550c564f58e84c66b3e993ea36227d.tar.gz
gst-plugins-bad-c1e6c76cdb550c564f58e84c66b3e993ea36227d.tar.bz2
gst-plugins-bad-c1e6c76cdb550c564f58e84c66b3e993ea36227d.zip
Small fixes in get_range and better structure for generic muxer and demuxer.
Original commit message from CVS: Small fixes in get_range and better structure for generic muxer and demuxer.
Diffstat (limited to 'ext/metadata/gstmetadatamux.h')
-rw-r--r--ext/metadata/gstmetadatamux.h49
1 files changed, 41 insertions, 8 deletions
diff --git a/ext/metadata/gstmetadatamux.h b/ext/metadata/gstmetadatamux.h
index 8deb0f5f..5cc689dd 100644
--- a/ext/metadata/gstmetadatamux.h
+++ b/ext/metadata/gstmetadatamux.h
@@ -46,8 +46,9 @@
#include <gst/gst.h>
-G_BEGIN_DECLS
+#include "metadata.h"
+G_BEGIN_DECLS
/* #defines don't like whitespacey bits */
#define GST_TYPE_METADATA_MUX \
(gst_metadata_mux_get_type())
@@ -55,29 +56,61 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_METADATA_MUX,GstMetadataMux))
#define GST_METADATA_MUX_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_METADATA_MUX,GstMetadataMuxClass))
-#define GST_IS_METADATAMUX(obj) \
+#define GST_IS_METADATA_MUX(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_METADATA_MUX))
-#define GST_IS_METADATAMUX_CLASS(klass) \
+#define GST_IS_METADATA_MUX_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_METADATA_MUX))
-
-typedef struct _GstMetadataMux GstMetadataMux;
+typedef struct _GstMetadataMux GstMetadataMux;
typedef struct _GstMetadataMuxClass GstMetadataMuxClass;
+typedef enum _tag_MetadataState
+{
+ MT_STATE_NULL, /* still need to check media type */
+ MT_STATE_MUXED
+} MetadataState;
+
struct _GstMetadataMux
{
GstElement element;
GstPad *sinkpad, *srcpad;
+ gboolean exif;
+ gboolean iptc;
+ gboolean xmp;
+
+ gboolean need_send_tag;
+
+ GstTagList *taglist;
+ MetaData mux_data;
+ GstAdapter *adapter_parsing;
+ GstAdapter *adapter_holding;
+ guint32 next_offset;
+ guint32 next_size;
+ ImageType img_type;
+
+ gint64 offset_orig; /* offset in original stream */
+ gint64 duration_orig; /* durarion of stream */
+ gint64 offset; /* offset in current stream */
+ gint64 duration; /* durarion of modified stream */
+
+ MetadataState state;
+
+ GstBuffer * prepend_buffer;
+ GstBuffer * append_buffer;
+
+ gboolean need_more_data;
+
+
+
};
-struct _GstMetadataMuxClass
+struct _GstMetadataMuxClass
{
GstElementClass parent_class;
};
-GType gst_metadata_mux_get_type (void);
+extern GType gst_metadata_mux_get_type (void);
G_END_DECLS
-
#endif /* __GST_METADATA_MUX_H__ */