diff options
author | Edgard Lima <edgard.lima@indt.org.br> | 2007-11-28 08:13:52 +0000 |
---|---|---|
committer | Edgard Lima <edgard.lima@indt.org.br> | 2007-11-28 08:13:52 +0000 |
commit | c1e6c76cdb550c564f58e84c66b3e993ea36227d (patch) | |
tree | 612c9146a4528e8810887f99d13c459c6be50206 /ext/metadata/gstmetadatamux.h | |
parent | 307925e3077da26e33b06a6c53080ebf07328847 (diff) | |
download | gst-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.h | 49 |
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__ */ |