From 1fe82925f5d7419bd073a33cfa85be2c3e19a397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 11 Dec 2008 14:35:08 +0000 Subject: gst/mxf/: Implement parsing of Event Tracks, Static Tracks, DM Segments and DM Source Clips as a preparation for desc... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_metadata_track), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_handle_metadata): * gst/mxf/mxfparse.c: (mxf_metadata_track_parse), (mxf_metadata_structural_component_parse), (mxf_metadata_structural_component_reset): * gst/mxf/mxfparse.h: * gst/mxf/mxftypes.h: Implement parsing of Event Tracks, Static Tracks, DM Segments and DM Source Clips as a preparation for descriptive metadata support. Next step is to implement SMPTE S380M, "Descriptive Metadata Scheme-1". --- gst/mxf/mxftypes.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gst/mxf/mxftypes.h') diff --git a/gst/mxf/mxftypes.h b/gst/mxf/mxftypes.h index fe39174f..241efd41 100644 --- a/gst/mxf/mxftypes.h +++ b/gst/mxf/mxftypes.h @@ -327,6 +327,12 @@ typedef enum { MXF_METADATA_TRACK_PARSED_TEXT = 0x41 } MXFMetadataTrackType; +typedef enum { + MXF_METADATA_TRACK_VARIANT_TIMELINE, + MXF_METADATA_TRACK_VARIANT_EVENT, + MXF_METADATA_TRACK_VARIANT_STATIC +} MXFMetadataTrackVariant; + struct _MXFMetadataTrack { MXFUL instance_uid; MXFUL generation_uid; @@ -335,6 +341,7 @@ struct _MXFMetadataTrack { guint32 track_number; MXFMetadataTrackType type; + MXFMetadataTrackVariant variant; gchar *track_name; @@ -390,6 +397,27 @@ struct _MXFMetadataStructuralComponent { guint32 source_track_id; } source_clip; + + struct { + gint64 event_start_position; + gchar *event_comment; + + guint32 n_track_ids; + guint32 *track_ids; + + MXFUL dm_framework; + } dm_segment; + + struct { + gint64 start_position; + MXFUMID source_package_id; + MXFMetadataGenericPackage *source_package; + + guint32 source_track_id; + + guint32 n_track_ids; + guint32 *track_ids; + } dm_source_clip; }; GHashTable *other_tags; -- cgit v1.2.1