summaryrefslogtreecommitdiffstats
path: root/gst/mxf/mxfparse.c
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-11-27 10:09:53 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-11-27 10:09:53 +0000
commit9e6654352e1e92664efad60f9a951cc2dd3c2a8a (patch)
treefdb617a0f1521ab025c6af530325929d38b05a01 /gst/mxf/mxfparse.c
parente3337c6868321855331b955d21319ca718e9daa4 (diff)
downloadgst-plugins-bad-9e6654352e1e92664efad60f9a951cc2dd3c2a8a.tar.gz
gst-plugins-bad-9e6654352e1e92664efad60f9a951cc2dd3c2a8a.tar.bz2
gst-plugins-bad-9e6654352e1e92664efad60f9a951cc2dd3c2a8a.zip
gst/mxf/: Add fundamental support for DV-DIF essence streams.
Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_update_streams), (gst_mxf_demux_handle_klv_packet): * gst/mxf/mxfdv-dif.c: (mxf_is_dv_dif_essence_track), (mxf_dv_dif_handle_essence_element), (mxf_dv_dif_create_caps): * gst/mxf/mxfdv-dif.h: * gst/mxf/mxfparse.c: (mxf_is_descriptive_metadata): * gst/mxf/mxfparse.h: Add fundamental support for DV-DIF essence streams. Handle descriptive metadata packets as metadata packets.
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 3d6587ff..90fa6348 100644
--- a/gst/mxf/mxfparse.c
+++ b/gst/mxf/mxfparse.c
@@ -141,6 +141,18 @@ mxf_is_metadata (const MXFUL * key)
return (memcmp (key, metadata_key, 13) == 0 && key->u[15] == 0x00);
}
+/* SMPTE 377M 8.7.3 */
+gboolean
+mxf_is_descriptive_metadata (const MXFUL * key)
+{
+ return (memcmp (key, mxf_key, 4) == 0 &&
+ key->u[4] == 0x02 &&
+ key->u[6] == 0x01 &&
+ key->u[7] == 0x01 &&
+ key->u[8] == 0x0d &&
+ key->u[9] == 0x01 && key->u[10] == 0x04 && key->u[11] == 0x01);
+}
+
gboolean
mxf_is_random_index_pack (const MXFUL * key)
{