diff options
Diffstat (limited to 'gst/mxf/mxfparse.h')
-rw-r--r-- | gst/mxf/mxfparse.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gst/mxf/mxfparse.h b/gst/mxf/mxfparse.h index 3e68f676..831dabce 100644 --- a/gst/mxf/mxfparse.h +++ b/gst/mxf/mxfparse.h @@ -27,7 +27,12 @@ #include "mxftypes.h" #include "mxfmetadata.h" -typedef GstFlowReturn (*MXFEssenceElementHandler) (const MXFUL *key, GstBuffer *buffer, GstCaps *caps, MXFMetadataGenericPackage *package, MXFMetadataTrack *track, MXFMetadataStructuralComponent *component, gpointer mapping_data, GstBuffer **outbuf); +typedef GstFlowReturn (*MXFEssenceElementHandleFunc) (const MXFUL *key, GstBuffer *buffer, GstCaps *caps, MXFMetadataTimelineTrack *track, MXFMetadataStructuralComponent *component, gpointer mapping_data, GstBuffer **outbuf); + +typedef struct { + gboolean (*handles_track) (const MXFMetadataTimelineTrack *track); + GstCaps * (*create_caps) (MXFMetadataTimelineTrack *track, GstTagList **tags, MXFEssenceElementHandleFunc *handler, gpointer *mapping_data); +} MXFEssenceElementHandler; gchar * mxf_ul_to_string (const MXFUL *ul, gchar str[48]); gboolean mxf_ul_is_equal (const MXFUL *a, const MXFUL *b); @@ -90,5 +95,8 @@ gboolean mxf_local_tag_add_to_hash_table (const MXFPrimerPack *primer, guint16 tag, const guint8 *tag_data, guint16 tag_size, GHashTable **hash_table); +void mxf_essence_element_handler_register (const MXFEssenceElementHandler *handler); +const MXFEssenceElementHandler * mxf_essence_element_handler_find (const MXFMetadataTimelineTrack *track); + #endif /* __MXF_PARSE_H__ */ |