diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-12-05 12:23:29 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-12-05 12:23:29 +0100 |
commit | f9f050878f153fdad242cd20aaca49b8a44fe7f3 (patch) | |
tree | 2669c907f28a19e0cdfbdda6e4908eb9edbdcad9 | |
parent | 448b3c308b677d9f03a9c4252c1b31adab995acb (diff) |
mxf: Add support for parsing filler structural components
This does not add support for actually producing filler data
if there's a filler component in a timeline.
-rw-r--r-- | gst/mxf/mxfmetadata.c | 21 | ||||
-rw-r--r-- | gst/mxf/mxfmetadata.h | 14 | ||||
-rw-r--r-- | gst/mxf/mxfquark.c | 1 | ||||
-rw-r--r-- | gst/mxf/mxfquark.h | 1 |
4 files changed, 37 insertions, 0 deletions
diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c index d1d7f3650..631b6fdbd 100644 --- a/gst/mxf/mxfmetadata.c +++ b/gst/mxf/mxfmetadata.c @@ -428,6 +428,7 @@ mxf_metadata_init_types (void) _add_metadata_type (MXF_TYPE_METADATA_STATIC_TRACK); _add_metadata_type (MXF_TYPE_METADATA_SEQUENCE); _add_metadata_type (MXF_TYPE_METADATA_SOURCE_CLIP); + _add_metadata_type (MXF_TYPE_METADATA_FILLER); _add_metadata_type (MXF_TYPE_METADATA_TIMECODE_COMPONENT); _add_metadata_type (MXF_TYPE_METADATA_DM_SEGMENT); _add_metadata_type (MXF_TYPE_METADATA_DM_SOURCE_CLIP); @@ -3478,6 +3479,26 @@ mxf_metadata_source_clip_class_init (MXFMetadataSourceClipClass * klass) metadata_class->type = 0x0111; } + +G_DEFINE_TYPE (MXFMetadataFiller, mxf_metadata_filler, + MXF_TYPE_METADATA_STRUCTURAL_COMPONENT); + +static void +mxf_metadata_filler_init (MXFMetadataFiller * self) +{ + +} + +static void +mxf_metadata_filler_class_init (MXFMetadataFillerClass * klass) +{ + MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass; + MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass; + + metadata_base_class->name_quark = MXF_QUARK (FILLER); + metadata_class->type = 0x0109; +} + G_DEFINE_TYPE (MXFMetadataDMSourceClip, mxf_metadata_dm_source_clip, MXF_TYPE_METADATA_SOURCE_CLIP); diff --git a/gst/mxf/mxfmetadata.h b/gst/mxf/mxfmetadata.h index b5e45b12b..dbd23a399 100644 --- a/gst/mxf/mxfmetadata.h +++ b/gst/mxf/mxfmetadata.h @@ -193,6 +193,16 @@ typedef struct _MXFMetadataSourceClip MXFMetadataSourceClip; typedef MXFMetadataClass MXFMetadataSourceClipClass; GType mxf_metadata_source_clip_get_type (void); +#define MXF_TYPE_METADATA_FILLER \ + (mxf_metadata_filler_get_type()) +#define MXF_METADATA_FILLER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_METADATA_FILLER, MXFMetadataFiller)) +#define MXF_IS_METADATA_FILLER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_METADATA_FILLER)) +typedef struct _MXFMetadataFiller MXFMetadataFiller; +typedef MXFMetadataClass MXFMetadataFillerClass; +GType mxf_metadata_filler_get_type (void); + #define MXF_TYPE_METADATA_TIMECODE_COMPONENT \ (mxf_metadata_timecode_component_get_type()) #define MXF_METADATA_TIMECODE_COMPONENT(obj) \ @@ -581,6 +591,10 @@ struct _MXFMetadataSourceClip { guint32 source_track_id; }; +struct _MXFMetadataFiller { + MXFMetadataStructuralComponent parent; +}; + struct _MXFMetadataDMSourceClip { MXFMetadataSourceClip parent; diff --git a/gst/mxf/mxfquark.c b/gst/mxf/mxfquark.c index 9f350e7cb..ea9aa199b 100644 --- a/gst/mxf/mxfquark.c +++ b/gst/mxf/mxfquark.c @@ -192,6 +192,7 @@ static const gchar *_quark_strings[] = { "b-picture-count", "bitrate", "profile-and-level", + "filler", }; GQuark _mxf_quark_table[MXF_QUARK_MAX]; diff --git a/gst/mxf/mxfquark.h b/gst/mxf/mxfquark.h index 6b61c69cc..59a39b47d 100644 --- a/gst/mxf/mxfquark.h +++ b/gst/mxf/mxfquark.h @@ -191,6 +191,7 @@ typedef enum { MXF_QUARK_B_PICTURE_COUNT = 165, MXF_QUARK_BITRATE = 166, MXF_QUARK_PROFILE_AND_LEVEL = 167, + MXF_QUARK_FILLER = 168, MXF_QUARK_MAX } MXFQuarkId; |