summaryrefslogtreecommitdiffstats
path: root/gst/mxf/mxfparse.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-02-07 10:38:26 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-02-07 10:38:26 +0100
commit8dc9f2ea4d01ebefa87b77b879d577b5bed115eb (patch)
tree0b299de8ef4e525d221d5ef8c708ccdc1d5991c7 /gst/mxf/mxfparse.c
parent3c3dff6869a3f3ffdf327e004977fa39594dd2c2 (diff)
downloadgst-plugins-bad-8dc9f2ea4d01ebefa87b77b879d577b5bed115eb.tar.gz
gst-plugins-bad-8dc9f2ea4d01ebefa87b77b879d577b5bed115eb.tar.bz2
gst-plugins-bad-8dc9f2ea4d01ebefa87b77b879d577b5bed115eb.zip
mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
Avid uses a custom essence container UL and custom essence element keys that are fortunately compatible with the generic container essence elements. Partially fixes bug #561922.
Diffstat (limited to 'gst/mxf/mxfparse.c')
-rw-r--r--gst/mxf/mxfparse.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gst/mxf/mxfparse.c b/gst/mxf/mxfparse.c
index 70b98c85..c5c81fdb 100644
--- a/gst/mxf/mxfparse.c
+++ b/gst/mxf/mxfparse.c
@@ -215,6 +215,18 @@ mxf_is_avid_essence_container_label (const MXFUL * key)
return (memcmp (&key->u, avid_essence_container_label, 16) == 0);
}
+/* Essence element key found in files generated by Avid */
+static const guint8 avid_essence_element_ul[] = {
+ 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, 0x0e, 0x04, 0x03, 0x01, 0x00,
+ 0x00, 0x00, 0x00
+};
+
+gboolean
+mxf_is_avid_essence_container_essence_element (const MXFUL * key)
+{
+ return (memcmp (&key->u, avid_essence_element_ul, 12) == 0);
+}
+
gboolean
mxf_ul_is_equal (const MXFUL * a, const MXFUL * b)
{