mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-06 10:42:22 +00:00
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.
This commit is contained in:
parent
a83b798312
commit
28c11b2762
4 changed files with 37 additions and 0 deletions
|
@ -434,6 +434,7 @@ mxf_metadata_init_types (void)
|
||||||
_add_metadata_type (MXF_TYPE_METADATA_STATIC_TRACK);
|
_add_metadata_type (MXF_TYPE_METADATA_STATIC_TRACK);
|
||||||
_add_metadata_type (MXF_TYPE_METADATA_SEQUENCE);
|
_add_metadata_type (MXF_TYPE_METADATA_SEQUENCE);
|
||||||
_add_metadata_type (MXF_TYPE_METADATA_SOURCE_CLIP);
|
_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_TIMECODE_COMPONENT);
|
||||||
_add_metadata_type (MXF_TYPE_METADATA_DM_SEGMENT);
|
_add_metadata_type (MXF_TYPE_METADATA_DM_SEGMENT);
|
||||||
_add_metadata_type (MXF_TYPE_METADATA_DM_SOURCE_CLIP);
|
_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;
|
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,
|
G_DEFINE_TYPE (MXFMetadataDMSourceClip, mxf_metadata_dm_source_clip,
|
||||||
MXF_TYPE_METADATA_SOURCE_CLIP);
|
MXF_TYPE_METADATA_SOURCE_CLIP);
|
||||||
|
|
||||||
|
|
|
@ -194,6 +194,16 @@ typedef struct _MXFMetadataSourceClip MXFMetadataSourceClip;
|
||||||
typedef MXFMetadataClass MXFMetadataSourceClipClass;
|
typedef MXFMetadataClass MXFMetadataSourceClipClass;
|
||||||
GType mxf_metadata_source_clip_get_type (void);
|
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 \
|
#define MXF_TYPE_METADATA_TIMECODE_COMPONENT \
|
||||||
(mxf_metadata_timecode_component_get_type())
|
(mxf_metadata_timecode_component_get_type())
|
||||||
#define MXF_METADATA_TIMECODE_COMPONENT(obj) \
|
#define MXF_METADATA_TIMECODE_COMPONENT(obj) \
|
||||||
|
@ -582,6 +592,10 @@ struct _MXFMetadataSourceClip {
|
||||||
guint32 source_track_id;
|
guint32 source_track_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _MXFMetadataFiller {
|
||||||
|
MXFMetadataStructuralComponent parent;
|
||||||
|
};
|
||||||
|
|
||||||
struct _MXFMetadataDMSourceClip {
|
struct _MXFMetadataDMSourceClip {
|
||||||
MXFMetadataSourceClip parent;
|
MXFMetadataSourceClip parent;
|
||||||
|
|
||||||
|
|
|
@ -192,6 +192,7 @@ static const gchar *_quark_strings[] = {
|
||||||
"b-picture-count",
|
"b-picture-count",
|
||||||
"bitrate",
|
"bitrate",
|
||||||
"profile-and-level",
|
"profile-and-level",
|
||||||
|
"filler",
|
||||||
};
|
};
|
||||||
|
|
||||||
GQuark _mxf_quark_table[MXF_QUARK_MAX];
|
GQuark _mxf_quark_table[MXF_QUARK_MAX];
|
||||||
|
|
|
@ -191,6 +191,7 @@ typedef enum {
|
||||||
MXF_QUARK_B_PICTURE_COUNT = 165,
|
MXF_QUARK_B_PICTURE_COUNT = 165,
|
||||||
MXF_QUARK_BITRATE = 166,
|
MXF_QUARK_BITRATE = 166,
|
||||||
MXF_QUARK_PROFILE_AND_LEVEL = 167,
|
MXF_QUARK_PROFILE_AND_LEVEL = 167,
|
||||||
|
MXF_QUARK_FILLER = 168,
|
||||||
|
|
||||||
MXF_QUARK_MAX
|
MXF_QUARK_MAX
|
||||||
} MXFQuarkId;
|
} MXFQuarkId;
|
||||||
|
|
Loading…
Reference in a new issue