slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mxf/

[email protected] Mon, 22 Dec 2008 12:37:38 -0800 (PST)
Newsgroups gmane.comp.video.gstreamer.cvs
Message-ID <[email protected]>
CVS Root:       /cvs/gstreamer
Module:         gst-plugins-bad
Changes by:     slomo
Date:           Mon Dec 22 2008  20:37:38 UTC

Log message:
* gst/mxf/mxfmetadata.c: (mxf_metadata_base_resolve):
* gst/mxf/mxfmetadata.h:
If resolving a metadata object failed the first time return
FALSE for a second mxf_metadata_base_resolve() call instead
of TRUE.

Modified files:
    .               : ChangeLog
    gst/mxf         : mxfmetadata.c mxfmetadata.h

Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3827&r2=1.3828
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfmetadata.c.diff?r1=1.4&r2=1.5
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfmetadata.h.diff?r1=1.3&r2=1.4

====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3827
retrieving revision 1.3828
diff -u -d -r1.3827 -r1.3828
--- ChangeLog	22 Dec 2008 10:14:29 -0000	1.3827
+++ ChangeLog	22 Dec 2008 20:37:23 -0000	1.3828
@@ -1,5 +1,13 @@
 2008-12-22  Sebastian Dröge  <[email protected]>
 
+	* gst/mxf/mxfmetadata.c: (mxf_metadata_base_resolve):
+	* gst/mxf/mxfmetadata.h:
+	If resolving a metadata object failed the first time return
+	FALSE for a second mxf_metadata_base_resolve() call instead
+	of TRUE.
+
+2008-12-22  Sebastian Dröge  <[email protected]>
 	* gst/mxf/mxf.c:
 	* gst/mxf/mxfaes-bwf.h:
 	* gst/mxf/mxfd10.c:
Index: mxfmetadata.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfmetadata.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mxfmetadata.c	19 Dec 2008 10:06:23 -0000	1.4
+++ mxfmetadata.c	22 Dec 2008 20:37:24 -0000	1.5
@@ -107,21 +107,28 @@
 mxf_metadata_base_resolve (MXFMetadataBase * self, MXFMetadataBase ** metadata)
 {
   MXFMetadataBaseClass *klass;
+  gboolean ret = TRUE;
   g_return_val_if_fail (MXF_IS_METADATA_BASE (self), FALSE);
   g_return_val_if_fail (metadata != NULL, FALSE);
-  if (self->resolved)
+  if (self->resolved == MXF_METADATA_BASE_RESOLVE_STATE_SUCCESS)
     return TRUE;
+  else if (self->resolved == MXF_METADATA_BASE_RESOLVE_STATE_FAILURE)
+    return FALSE;
   self->resolved = TRUE;
   klass = MXF_METADATA_BASE_GET_CLASS (self);
   if (klass->resolve)
-    return klass->resolve (self, metadata);
+    ret = klass->resolve (self, metadata);
-  return TRUE;
+  self->resolved =
+      (ret) ? MXF_METADATA_BASE_RESOLVE_STATE_SUCCESS :
+      MXF_METADATA_BASE_RESOLVE_STATE_FAILURE;
+  return ret;
 }
 G_DEFINE_TYPE (MXFMetadata, mxf_metadata, MXF_TYPE_METADATA_BASE);
Index: mxfmetadata.h
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfmetadata.h,v
retrieving revision 1.3
diff -u -d -r1.3 -r1.4
--- mxfmetadata.h	19 Dec 2008 10:06:24 -0000	1.3
+++ mxfmetadata.h	22 Dec 2008 20:37:24 -0000	1.4
@@ -333,13 +333,19 @@
 typedef MXFMetadataBaseClass MXFMetadataTextLocatorClass;
 GType mxf_metadata_text_locator_get_type (void);
+typedef enum {
+  MXF_METADATA_BASE_RESOLVE_STATE_NONE = 0,
+  MXF_METADATA_BASE_RESOLVE_STATE_SUCCESS,
+  MXF_METADATA_BASE_RESOLVE_STATE_FAILURE
+} MXFMetadataBaseResolveState;
 struct _MXFMetadataBase {
   GstMiniObject parent;
   MXFUL instance_uid;
   MXFUL generation_uid;
-  gboolean resolved;
+  MXFMetadataBaseResolveState resolved;
   GHashTable *other_tags;
 };

------------------------------------------------------------------------------

_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose