From 3df615a503d1f00cb4e498ac05b95d8a1d2320dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 28 Jan 2016 15:38:45 +0100 Subject: [PATCH] mxfmux: Write This Generation UID into the Identification metadata It's required according to the standard and we forgot to actually write it to the file although we stored it in the data structures. --- gst/mxf/mxfmetadata.c | 11 +++++++++++ gst/mxf/mxful.c | 3 +++ gst/mxf/mxful.h | 1 + 3 files changed, 15 insertions(+) diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c index 786a6769fc..f114ff633d 100644 --- a/gst/mxf/mxfmetadata.c +++ b/gst/mxf/mxfmetadata.c @@ -1236,6 +1236,17 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); } + if (!mxf_uuid_is_zero (&self->this_generation_uid)) { + t = g_slice_new0 (MXFLocalTag); + memcpy (&t->ul, MXF_UL (THIS_GENERATION_UID), 16); + t->size = 16; + t->data = g_slice_alloc (t->size); + t->g_slice = TRUE; + memcpy (t->data, &self->this_generation_uid, 16); + mxf_primer_pack_add_mapping (primer, 0x3c09, &t->ul); + ret = g_list_prepend (ret, t); + } + return ret; } diff --git a/gst/mxf/mxful.c b/gst/mxf/mxful.c index b5389f6f03..c5d1934f2e 100644 --- a/gst/mxf/mxful.c +++ b/gst/mxf/mxful.c @@ -130,6 +130,9 @@ const MXFUL _mxf_ul_table[] = { {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, 0x01, 0x02, 0x02, 0x10, 0x02, 0x02, 0x00, 0x00}}, /* Identification */ + /* THIS_GENERATION_UID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00}}, /* COMPANY_NAME */ {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, 0x05, 0x20, 0x07, 0x01, 0x02, 0x01, 0x00, 0x00}}, diff --git a/gst/mxf/mxful.h b/gst/mxf/mxful.h index 7b76f436e9..76e3ba67ab 100644 --- a/gst/mxf/mxful.h +++ b/gst/mxf/mxful.h @@ -63,6 +63,7 @@ typedef enum { MXF_UL_OPERATIONAL_PATTERN, MXF_UL_ESSENCE_CONTAINERS, MXF_UL_DM_SCHEMES, + MXF_UL_THIS_GENERATION_UID, MXF_UL_COMPANY_NAME, MXF_UL_PRODUCT_NAME, MXF_UL_PRODUCT_VERSION,