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,