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:24:30 +0100 |
commit | 28c11b2762ddd24b79a2542ca0f3d333e7cb9560 (patch) | |
tree | 6da6cd9afe4643c69afa796d7bfb65af06af0113 | |
parent | a83b7983127d0bbd7a6ba003e43e61bcd5e0f73b (diff) | |
download | gstreamer-plugins-bad-28c11b2762ddd24b79a2542ca0f3d333e7cb9560.tar.gz |
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 b2be578b6..6604926a9 100644 --- a/gst/mxf/mxfmetadata.c +++ b/gst/mxf/mxfmetadata.c @@ -434,6 +434,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); @@ -3481,6 +3482,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 22cc3ff8d..80efa7595 100644 --- a/gst/mxf/mxfmetadata.h +++ b/gst/mxf/mxfmetadata.h @@ -194,6 +194,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) \ @@ -582,6 +592,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 be12d2931..f086b3f93 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 bce7207bd..5dc9a90ca 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; |