summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2021-06-23 09:08:33 +0200
committerEdward Hervey <bilboed@bilboed.com>2021-07-21 14:33:19 +0000
commit11d9abd2d5fdecff3f531e451cdac52f9e68e729 (patch)
tree59f02d33e9aa14c314e529c942d767de6c3d5b05 /gst
parentdfee771afd10d62c4570580d785cfa09362570ee (diff)
downloadgstreamer-plugins-bad-11d9abd2d5fdecff3f531e451cdac52f9e68e729.tar.gz
mxf: Demote error message when resolving valid empty reference
A Source Clip can have zero'd SourcePackageID and SourceTrackID, this indicates it terminates the source reference chain Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
Diffstat (limited to 'gst')
-rw-r--r--gst/mxf/mxfmetadata.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c
index ca9ed7567..ac147d541 100644
--- a/gst/mxf/mxfmetadata.c
+++ b/gst/mxf/mxfmetadata.c
@@ -3402,6 +3402,16 @@ mxf_metadata_source_clip_resolve (MXFMetadataBase * m, GHashTable * metadata)
gchar str[96];
#endif
+ if (mxf_umid_is_zero (&self->source_package_id)) {
+ /* S377-1:2019 B.10 Source Clip.
+ *
+ * SourcePackageID: The value shall be 32 zero valued bytes to terminate the
+ * source reference chain. */
+ GST_LOG ("Skipping termination source package for source clip %s",
+ mxf_uuid_to_string (&MXF_METADATA_BASE (self)->instance_uid, str));
+ goto chain_up;
+ }
+
g_hash_table_iter_init (&iter, metadata);
while (g_hash_table_iter_next (&iter, NULL, (gpointer) & current)) {
@@ -3420,6 +3430,7 @@ mxf_metadata_source_clip_resolve (MXFMetadataBase * m, GHashTable * metadata)
mxf_umid_to_string (&self->source_package_id, str));
}
+chain_up:
return
MXF_METADATA_BASE_CLASS (mxf_metadata_source_clip_parent_class)->resolve
(m, metadata);