merges from 0.8 for 64 bit issues
authorThomas Vander Stichele <thomas@apestaart.org>
Mon, 2 May 2005 15:20:30 +0000 (15:20 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Mon, 2 May 2005 15:20:30 +0000 (15:20 +0000)
Original commit message from CVS:
merges from 0.8 for 64 bit issues

ChangeLog
gst/gstconfig.h.in
tests/old/testsuite/debug/printf_extension.c
tests/old/testsuite/elements/property.h
testsuite/debug/printf_extension.c
testsuite/elements/property.h

index 8849cdd..b34dbcf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * docs/gst/tmpl/gstconfig.sgml:
+       * gst/gstconfig.h.in:
+         move documentation for some symbols.  Add doc for GST_PTR_FORMAT
+       * testsuite/debug/printf_extension.c: (main):
+         Do not use GST_PTR_FORMAT on pointers to types with
+         sizeof < sizeof(gpointer).  Fixes test on 64-bit
+       * testsuite/elements/property.h:
+         use correct printf format
+
 2005-05-02  Wim Taymans  <wim@fluendo.com>
 
        * docs/design/draft-push-pull.txt:
index b6ae066..767cd09 100644 (file)
 @GST_DISABLE_URI_DEFINE@
 
 /* printf extension format */
+/**
+ * GST_PTR_FORMAT:
+ *
+ * printf format type used to debug GStreamer types.
+ * This can only be used on types whose size is >= sizeof(gpointer).
+ */
 @GST_PRINTF_EXTENSION_FORMAT_DEFINE@
 
 /* whether or not the CPU supports unaligned access */
 # define GST_DISABLE_LOADSAVE_REGISTRY
 #endif
 
+/**
+ * GST_EXPORT:
+ *
+ * Export the given variable from the built shared object.
+ *
+ * On Windows, this exports the variable from the DLL.
+ * On other platforms, this gets defined to "extern".
+ */
+/**
+ * GST_PLUGIN_EXPORT:
+ *
+ * Export the plugin's definition.
+ *
+ * On Windows, this exports the plugin definition from the DLL.
+ * On other platforms, this gets defined as a no-op.
+ */
 #ifdef WIN32
 #define GST_PLUGIN_EXPORT __declspec(dllexport) extern
 #ifdef GST_EXPORTS
@@ -75,7 +97,7 @@
 #define GST_EXPORT __declspec(dllimport) extern
 #endif
 #else /* not WIN32 */
-#define GST_PLUGIN_EXPORT 
+#define GST_PLUGIN_EXPORT
 #define GST_EXPORT extern
 #endif
 
index cc02284..393f68a 100644 (file)
@@ -23,7 +23,9 @@ main (gint argc, gchar * argv[])
 {
   GstCaps *caps;
   GstElement *element;
-  G_GNUC_UNUSED int zero = 0;
+  G_GNUC_UNUSED gpointer null = NULL;
+
+  /* G_GNUC_UNUSED int zero = 0; */
 
   gst_init (&argc, &argv);
 
@@ -34,8 +36,13 @@ main (gint argc, gchar * argv[])
   GST_ERROR ("This should print caps: %" GST_PTR_FORMAT, caps);
   GST_ERROR ("This should print an object: %" GST_PTR_FORMAT, element);
   GST_ERROR ("This should print null: %" GST_PTR_FORMAT, NULL);
-  GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &zero);
-  //GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, (void *)1);
+  GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &null);
+  /* 64 bit address to a 32 bit int will cause the GObject interpretation
+   * to segfault; since GST_PTR_FORMAT only works on stuff with 
+   * sizeof(gpointer) */
+  /* GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &zero); */
+
+  /* GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, (void *)1); */
 
   return 0;
 }
index a1756f1..199b812 100644 (file)
@@ -10,7 +10,7 @@ property_change_callback (GObject *object, GstObject *orig, GParamSpec *pspec)
     g_object_get_property (G_OBJECT (orig), pspec->name, &value);
     /* fix current bug with g_strdup_value_contents not working with gint64 */
     if (G_IS_PARAM_SPEC_INT64 (pspec))
-      str = g_strdup_printf ("%lld", g_value_get_int64 (&value));
+      str = g_strdup_printf ("%" G_GINT64_FORMAT, g_value_get_int64 (&value));
     else
       str = g_strdup_value_contents (&value);
     g_print ("%s: %s = %s\n", GST_OBJECT_NAME (orig), pspec->name, str);
index cc02284..393f68a 100644 (file)
@@ -23,7 +23,9 @@ main (gint argc, gchar * argv[])
 {
   GstCaps *caps;
   GstElement *element;
-  G_GNUC_UNUSED int zero = 0;
+  G_GNUC_UNUSED gpointer null = NULL;
+
+  /* G_GNUC_UNUSED int zero = 0; */
 
   gst_init (&argc, &argv);
 
@@ -34,8 +36,13 @@ main (gint argc, gchar * argv[])
   GST_ERROR ("This should print caps: %" GST_PTR_FORMAT, caps);
   GST_ERROR ("This should print an object: %" GST_PTR_FORMAT, element);
   GST_ERROR ("This should print null: %" GST_PTR_FORMAT, NULL);
-  GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &zero);
-  //GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, (void *)1);
+  GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &null);
+  /* 64 bit address to a 32 bit int will cause the GObject interpretation
+   * to segfault; since GST_PTR_FORMAT only works on stuff with 
+   * sizeof(gpointer) */
+  /* GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, &zero); */
+
+  /* GST_ERROR ("This should print a pointer: %" GST_PTR_FORMAT, (void *)1); */
 
   return 0;
 }
index a1756f1..199b812 100644 (file)
@@ -10,7 +10,7 @@ property_change_callback (GObject *object, GstObject *orig, GParamSpec *pspec)
     g_object_get_property (G_OBJECT (orig), pspec->name, &value);
     /* fix current bug with g_strdup_value_contents not working with gint64 */
     if (G_IS_PARAM_SPEC_INT64 (pspec))
-      str = g_strdup_printf ("%lld", g_value_get_int64 (&value));
+      str = g_strdup_printf ("%" G_GINT64_FORMAT, g_value_get_int64 (&value));
     else
       str = g_strdup_value_contents (&value);
     g_print ("%s: %s = %s\n", GST_OBJECT_NAME (orig), pspec->name, str);