diff --git a/ChangeLog b/ChangeLog index c3ac8bf844..46f4f41768 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,37 @@ +2008-07-31 Sebastian Dröge + + * configure.ac: + * docs/gst/gstreamer-sections.txt: + * docs/gst/gstreamer.types: + * docs/gst/gstreamer.types.in: + * gst/Makefile.am: + * gst/gst.c: + * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func): + * gst/gstconfig.h.in: + * gst/gstelement.c: (gst_element_get_index): + * gst/gstregistrybinary.c: (gst_registry_binary_save_feature), + (gst_registry_binary_load_feature), + (gst_registry_binary_read_cache): + * gst/gstregistryxml.c: (load_feature), + (gst_registry_xml_read_cache), (gst_registry_xml_save_feature): + * plugins/Makefile.am: + * tools/gst-indent: + * tools/gst-inspect.c: (print_index_info), (print_element_list), + (print_plugin_features), (print_element_features): + * tools/gst-xmlinspect.c: (print_event_masks), + (print_element_info): + * win32/common/gstconfig.h: + Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere. + + Disabling the indexers and URI handler code will only reduce the + required amount of memory by a very small amount but on the other hand + requires much more maintaince work. Apart from that many places of + code are broken when disabling them. + + Disabling the enum types doesn't reduce the required amount of memory + by more than a few bytes and makes it hard to fix bugs like #539772, + i.e. use the enums as GObject properties. + 2008-07-31 Wim Taymans * docs/design/part-TODO.txt: diff --git a/common b/common index e79879859b..222a503549 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit e79879859bc866545379eb77e1378a906dc30ebf +Subproject commit 222a503549004bbabaecc891edffb9e7dbcf2259 diff --git a/configure.ac b/configure.ac index d4e1b345fb..42e01b1d83 100644 --- a/configure.ac +++ b/configure.ac @@ -109,24 +109,10 @@ else GST_REGISTRY_DOC_TYPES= fi AC_SUBST(GST_REGISTRY_DOC_TYPES) -AG_GST_CHECK_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types]) -AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes") -AG_GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index]) -AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes") -dnl define a substitution to use in docs/gst/gstreamer.types -if test "x$GST_DISABLE_INDEX" = "xyes" -then - GST_INDEX_DOC_TYPES="%" -else - GST_INDEX_DOC_TYPES= -fi -AC_SUBST(GST_INDEX_DOC_TYPES) AG_GST_CHECK_SUBSYSTEM_DISABLE(NET,[network distribution]) AM_CONDITIONAL(GST_DISABLE_NET, test "x$GST_DISABLE_NET" = "xyes") AG_GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin]) AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes") -AG_GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers]) -AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes") AG_GST_ARG_DEBUG AG_GST_ARG_PROFILING @@ -673,7 +659,6 @@ docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile -docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt index 602ba0e7a3..b84fcef588 100644 --- a/docs/gst/gstreamer-sections.txt +++ b/docs/gst/gstreamer-sections.txt @@ -395,10 +395,7 @@ GST_DISABLE_PARSE GST_DISABLE_TRACE GST_DISABLE_ALLOC_TRACE GST_DISABLE_REGISTRY -GST_DISABLE_ENUMTYPES -GST_DISABLE_INDEX GST_DISABLE_PLUGIN -GST_DISABLE_URI GST_DISABLE_XML GST_DISABLE_LOADSAVE_REGISTRY diff --git a/docs/gst/gstreamer.types b/docs/gst/gstreamer.types new file mode 100644 index 0000000000..74ccbe51c6 --- /dev/null +++ b/docs/gst/gstreamer.types @@ -0,0 +1,41 @@ +% add a _get_type for every GObject whose properties and signals you want +% documented +% add the relevant includes to be able to call those _get_type functions + +% adding a get_type here will: +% - change output file name from gstreamer-(whatever).html to (whatever).html +% - document properties and signals + +#include + +gst_bin_get_type +gst_bus_get_type +gst_child_proxy_get_type +gst_clock_get_type +gst_element_factory_get_type +gst_element_get_type +gst_ghost_pad_get_type +gst_implements_interface_get_type +gst_index_factory_get_type +gst_index_get_type +gst_object_get_type +gst_pad_get_type +gst_pad_template_get_type +gst_pipeline_get_type +gst_plugin_feature_get_type +gst_preset_get_type +gst_registry_get_type +gst_system_clock_get_type +gst_tag_setter_get_type +gst_task_get_type +gst_type_find_factory_get_type +gst_uri_handler_get_type +gst_xml_get_type + +% these are not GObject derived types +% this works with gtk-doc 1.10 at least +%gst_buffer_get_type +%gst_mini_object_get_type +%gst_message_get_type +%gst_query_get_type + diff --git a/docs/gst/gstreamer.types.in b/docs/gst/gstreamer.types.in index 1de0bbb9f7..2bcd498cbd 100644 --- a/docs/gst/gstreamer.types.in +++ b/docs/gst/gstreamer.types.in @@ -16,8 +16,8 @@ gst_element_factory_get_type gst_element_get_type gst_ghost_pad_get_type gst_implements_interface_get_type -@GST_INDEX_DOC_TYPES@gst_index_factory_get_type -@GST_INDEX_DOC_TYPES@gst_index_get_type +gst_index_factory_get_type +gst_index_get_type gst_object_get_type gst_pad_get_type gst_pad_template_get_type diff --git a/gst/Makefile.am b/gst/Makefile.am index 7bc271cc03..8c4816b09c 100644 --- a/gst/Makefile.am +++ b/gst/Makefile.am @@ -30,30 +30,12 @@ else GST_TRACE_SRC = gsttrace.c endif -if GST_DISABLE_ENUMTYPES -GST_ENUMTYPES_SRC = -else -GST_ENUMTYPES_SRC = gstenumtypes.c -endif - -if GST_DISABLE_INDEX -GST_INDEX_SRC = -else -GST_INDEX_SRC = gstindex.c gstindexfactory.c -endif - if GST_DISABLE_PLUGIN GST_PLUGIN_SRC = else GST_PLUGIN_SRC = gstplugin.c endif -if GST_DISABLE_URI -GST_URI_SRC = -else -GST_URI_SRC = gsturi.c -endif - SUBDIRS = $(SUBDIRS_PARSE) DIST_SUBDIRS = parse @@ -63,7 +45,7 @@ DIST_SUBDIRS = parse built_header_configure = gstconfig.h gstversion.h built_header_make = gstenumtypes.h gstmarshal.h -built_source_make = $(GST_ENUMTYPES_SRC) gstmarshal.c +built_source_make = gstenumtypes.c gstmarshal.c EXTRA_libgstreamer_@GST_MAJORMINOR@_la_SOURCES = \ gstmarshal.list gsttrace.c gstxml.c \ @@ -90,7 +72,8 @@ libgstreamer_@GST_MAJORMINOR@_la_SOURCES = \ gstfilter.c \ gstformat.c \ gstghostpad.c \ - $(GST_INDEX_SRC) \ + gstindex.c \ + gstindexfactory.c \ gstinfo.c \ gstinterface.c \ gstiterator.c \ @@ -116,7 +99,7 @@ libgstreamer_@GST_MAJORMINOR@_la_SOURCES = \ $(GST_TRACE_SRC) \ gsttypefind.c \ gsttypefindfactory.c \ - $(GST_URI_SRC) \ + gsturi.c \ gstutils.c \ gstvalue.c \ gstparse.c \ diff --git a/gst/gst.c b/gst/gst.c index 41f7711e6b..ec66250343 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -986,14 +986,9 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data, g_type_class_ref (gst_task_get_type ()); g_type_class_ref (gst_clock_get_type ()); -#ifndef GST_DISABLE_INDEX g_type_class_ref (gst_index_factory_get_type ()); -#endif /* GST_DISABLE_INDEX */ -#ifndef GST_DISABLE_URI gst_uri_handler_get_type (); -#endif /* GST_DISABLE_URI */ -#ifndef GST_DISABLE_ENUMTYPES g_type_class_ref (gst_object_flags_get_type ()); g_type_class_ref (gst_bin_flags_get_type ()); g_type_class_ref (gst_buffer_flag_get_type ()); @@ -1051,7 +1046,6 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data, g_type_class_ref (gst_uri_type_get_type ()); g_type_class_ref (gst_parse_error_get_type ()); g_type_class_ref (gst_parse_flags_get_type ()); -#endif gst_structure_get_type (); _gst_value_initialize (); @@ -1330,10 +1324,7 @@ gst_deinit (void) g_type_class_unref (g_type_class_peek (gst_bin_get_type ())); g_type_class_unref (g_type_class_peek (gst_bus_get_type ())); g_type_class_unref (g_type_class_peek (gst_task_get_type ())); -#ifndef GST_DISABLE_INDEX g_type_class_unref (g_type_class_peek (gst_index_factory_get_type ())); -#endif /* GST_DISABLE_INDEX */ -#ifndef GST_DISABLE_ENUMTYPES g_type_class_unref (g_type_class_peek (gst_object_flags_get_type ())); g_type_class_unref (g_type_class_peek (gst_bin_flags_get_type ())); g_type_class_unref (g_type_class_peek (gst_buffer_flag_get_type ())); @@ -1392,7 +1383,6 @@ gst_deinit (void) ())); g_type_class_unref (g_type_class_peek (gst_uri_type_get_type ())); g_type_class_unref (g_type_class_peek (gst_parse_error_get_type ())); -#endif g_type_class_unref (g_type_class_peek (gst_param_spec_fraction_get_type ())); gst_deinitialized = TRUE; diff --git a/gst/gstbin.c b/gst/gstbin.c index f959a69977..722b41825f 100644 --- a/gst/gstbin.c +++ b/gst/gstbin.c @@ -222,9 +222,7 @@ static void bin_push_state_continue (BinContinueData * data); static gboolean gst_bin_add_func (GstBin * bin, GstElement * element); static gboolean gst_bin_remove_func (GstBin * bin, GstElement * element); -#ifndef GST_DISABLE_INDEX static void gst_bin_set_index_func (GstElement * element, GstIndex * index); -#endif static GstClock *gst_bin_provide_clock_func (GstElement * element); static gboolean gst_bin_set_clock_func (GstElement * element, GstClock * clock); @@ -438,9 +436,7 @@ gst_bin_class_init (GstBinClass * klass) gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_bin_change_state_func); gstelement_class->get_state = GST_DEBUG_FUNCPTR (gst_bin_get_state_func); -#ifndef GST_DISABLE_INDEX gstelement_class->set_index = GST_DEBUG_FUNCPTR (gst_bin_set_index_func); -#endif gstelement_class->provide_clock = GST_DEBUG_FUNCPTR (gst_bin_provide_clock_func); gstelement_class->set_clock = GST_DEBUG_FUNCPTR (gst_bin_set_clock_func); @@ -570,7 +566,6 @@ gst_bin_get_property (GObject * object, guint prop_id, * * MT safe */ -#ifndef GST_DISABLE_INDEX static void gst_bin_set_index_func (GstElement * element, GstIndex * index) { @@ -587,7 +582,6 @@ gst_bin_set_index_func (GstElement * element, GstIndex * index) } GST_OBJECT_UNLOCK (bin); } -#endif /* set the clock on all elements in this bin * @@ -2963,6 +2957,7 @@ bin_query_duration_fold (GstElement * item, GValue * ret, QueryFold * fold) gst_object_unref (item); return TRUE; } + static void bin_query_duration_done (GstBin * bin, QueryFold * fold) { @@ -3002,6 +2997,7 @@ bin_query_position_fold (GstElement * item, GValue * ret, QueryFold * fold) gst_object_unref (item); return TRUE; } + static void bin_query_position_done (GstBin * bin, QueryFold * fold) { diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in index e14c1548bd..43725a5556 100644 --- a/gst/gstconfig.h.in +++ b/gst/gstconfig.h.in @@ -59,10 +59,7 @@ #define GST_DISABLE_TRACE 1 #define GST_DISABLE_ALLOC_TRACE 1 #define GST_DISABLE_REGISTRY 1 -#define GST_DISABLE_ENUMTYPES 1 -#define GST_DISABLE_INDEX 1 #define GST_DISABLE_PLUGIN 1 -#define GST_DISABLE_URI 1 #define GST_DISABLE_XML 1 #define GST_DISABLE_LOADSAVE_REGISTRY 1 #define GST_HAVE_GLIB_2_8 1 @@ -133,18 +130,8 @@ @GST_DISABLE_XML_DEFINE@ /* FIXME: test and document these! */ -/* Configure the use of glib enumtypes (useful for introspection) - * see http://bugzilla.gnome.org/show_bug.cgi?id=342564 - */ -@GST_DISABLE_ENUMTYPES_DEFINE@ -/* Configure the use of indizies for seeking - * (not used in plugins right now) - */ -@GST_DISABLE_INDEX_DEFINE@ /* Configures the use of external plugins */ @GST_DISABLE_PLUGIN_DEFINE@ -/* Configures the use of uri-handlers */ -@GST_DISABLE_URI_DEFINE@ /* printf extension format */ /** diff --git a/gst/gstelement.c b/gst/gstelement.c index 446f4e0e86..f67f3435ba 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -528,7 +528,6 @@ gst_element_get_base_time (GstElement * element) return result; } -#ifndef GST_DISABLE_INDEX /** * gst_element_is_indexable: * @element: a #GstElement. @@ -601,7 +600,6 @@ gst_element_get_index (GstElement * element) return result; } -#endif /** * gst_element_add_pad: diff --git a/gst/gstregistrybinary.c b/gst/gstregistrybinary.c index 8635ac651d..77730a7268 100644 --- a/gst/gstregistrybinary.c +++ b/gst/gstregistrybinary.c @@ -481,9 +481,7 @@ gst_registry_binary_save_feature (GList ** list, GstPluginFeature * feature) str = gst_caps_to_string (copy); gst_caps_unref (copy); gst_registry_binary_save_string (list, str); - } -#ifndef GST_DISABLE_INDEX - else if (GST_IS_INDEX_FACTORY (feature)) { + } else if (GST_IS_INDEX_FACTORY (feature)) { GstIndexFactory *factory = GST_INDEX_FACTORY (feature); pf = g_malloc (sizeof (GstBinaryPluginFeature)); @@ -492,9 +490,7 @@ gst_registry_binary_save_feature (GList ** list, GstPluginFeature * feature) /* pack element factory strings */ gst_registry_binary_save_const_string (list, factory->longdesc); - } -#endif - else { + } else { GST_WARNING ("unhandled feature type '%s'", type_name); } @@ -941,9 +937,7 @@ gst_registry_binary_load_feature (GstRegistry * registry, gchar ** in, factory->extensions[i] = str; } } - } -#ifndef GST_DISABLE_INDEX - else if (GST_IS_INDEX_FACTORY (feature)) { + } else if (GST_IS_INDEX_FACTORY (feature)) { GstIndexFactory *factory = GST_INDEX_FACTORY (feature); align (*in); @@ -952,9 +946,7 @@ gst_registry_binary_load_feature (GstRegistry * registry, gchar ** in, /* unpack index factory strings */ unpack_string (*in, factory->longdesc); - } -#endif - else { + } else { GST_WARNING ("unhandled factory type : %s", G_OBJECT_TYPE_NAME (feature)); goto fail; } @@ -1070,9 +1062,7 @@ gst_registry_binary_read_cache (GstRegistry * registry, const char *location) /* make sure these types exist */ GST_TYPE_ELEMENT_FACTORY; GST_TYPE_TYPE_FIND_FACTORY; -#ifndef GST_DISABLE_INDEX GST_TYPE_INDEX_FACTORY; -#endif timer = g_timer_new (); diff --git a/gst/gstregistryxml.c b/gst/gstregistryxml.c index d70fc57d6b..12d27fc9b0 100644 --- a/gst/gstregistryxml.c +++ b/gst/gstregistryxml.c @@ -370,13 +370,11 @@ load_feature (xmlTextReaderPtr reader) g_free (s); } } -#ifndef GST_DISABLE_INDEX } else if (GST_IS_INDEX_FACTORY (feature)) { GstIndexFactory *factory = GST_INDEX_FACTORY (feature); if (g_str_equal (tag, "longdesc")) read_string (reader, &factory->longdesc, TRUE); -#endif } } } @@ -516,9 +514,7 @@ gst_registry_xml_read_cache (GstRegistry * registry, const char *location) /* make sure these types exist */ GST_TYPE_ELEMENT_FACTORY; GST_TYPE_TYPE_FIND_FACTORY; -#ifndef GST_DISABLE_INDEX GST_TYPE_INDEX_FACTORY; -#endif timer = g_timer_new (); @@ -774,12 +770,10 @@ gst_registry_xml_save_feature (GstRegistry * registry, i++; } } -#ifndef GST_DISABLE_INDEX } else if (GST_IS_INDEX_FACTORY (feature)) { if (!gst_registry_save_escaped (registry, " ", "longdesc", GST_INDEX_FACTORY (feature)->longdesc)) return FALSE; -#endif } return TRUE; } diff --git a/plugins/Makefile.am b/plugins/Makefile.am index f6ed61a774..90b6580336 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -1,9 +1,3 @@ -if GST_DISABLE_INDEX -SUBDIRS_INDEX = -else -SUBDIRS_INDEX = indexers -endif - -SUBDIRS = elements $(SUBDIRS_INDEX) +SUBDIRS = elements indexers DIST_SUBDIRS = elements indexers diff --git a/tools/gst-indent b/tools/gst-indent index 4cbbadb2b8..1d088f19c3 100755 --- a/tools/gst-indent +++ b/tools/gst-indent @@ -1,7 +1,6 @@ #!/bin/sh indent \ --braces-on-if-line \ - --blank-lines-after-declarations \ --case-brace-indentation0 \ --case-indentation2 \ --braces-after-struct-decl-line \ diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c index f29eff34f9..477d49a9e8 100644 --- a/tools/gst-inspect.c +++ b/tools/gst-inspect.c @@ -122,7 +122,6 @@ print_query_types (const GstQueryType * types) } } -#ifndef GST_DISABLE_ENUMTYPES #if 0 static void print_event_masks (const GstEventMask * masks) @@ -172,12 +171,6 @@ print_event_masks (const GstEventMask * masks) } } #endif -#else -static void -print_event_masks (const GstEventMask * masks) -{ -} -#endif static char * get_rank_name (gint rank) @@ -704,7 +697,6 @@ print_clocking_info (GstElement * element) } } -#ifndef GST_DISABLE_INDEX static void print_index_info (GstElement * element) { @@ -717,12 +709,6 @@ print_index_info (GstElement * element) n_print ("Element has no indexing capabilities.\n"); } } -#else -static void -print_index_info (GstElement * element) -{ -} -#endif static void print_uri_handler_info (GstElement * element) @@ -982,18 +968,14 @@ print_element_list (gboolean print_all) g_print ("%s: %s: %s\n", plugin->desc.name, GST_PLUGIN_FEATURE_NAME (factory), gst_element_factory_get_longname (factory)); - } -#ifndef GST_DISABLE_INDEX - else if (GST_IS_INDEX_FACTORY (feature)) { + } else if (GST_IS_INDEX_FACTORY (feature)) { GstIndexFactory *factory; factory = GST_INDEX_FACTORY (feature); if (!print_all) g_print ("%s: %s: %s\n", plugin->desc.name, GST_PLUGIN_FEATURE_NAME (factory), factory->longdesc); - } -#endif - else if (GST_IS_TYPE_FIND_FACTORY (feature)) { + } else if (GST_IS_TYPE_FIND_FACTORY (feature)) { GstTypeFindFactory *factory; factory = GST_TYPE_FIND_FACTORY (feature); @@ -1079,17 +1061,13 @@ print_plugin_features (GstPlugin * plugin) n_print (" %s: %s\n", GST_PLUGIN_FEATURE_NAME (factory), gst_element_factory_get_longname (factory)); num_elements++; - } -#ifndef GST_DISABLE_INDEX - else if (GST_IS_INDEX_FACTORY (feature)) { + } else if (GST_IS_INDEX_FACTORY (feature)) { GstIndexFactory *factory; factory = GST_INDEX_FACTORY (feature); n_print (" %s: %s\n", GST_OBJECT_NAME (factory), factory->longdesc); num_indexes++; - } -#endif - else if (GST_IS_TYPE_FIND_FACTORY (feature)) { + } else if (GST_IS_TYPE_FIND_FACTORY (feature)) { GstTypeFindFactory *factory; factory = GST_TYPE_FIND_FACTORY (feature); @@ -1136,14 +1114,12 @@ print_element_features (const gchar * element_name) GstPluginFeature *feature; /* FIXME implement other pretty print function for these */ -#ifndef GST_DISABLE_INDEX feature = gst_default_registry_find_feature (element_name, GST_TYPE_INDEX_FACTORY); if (feature) { n_print ("%s: an index\n", element_name); return 0; } -#endif feature = gst_default_registry_find_feature (element_name, GST_TYPE_TYPE_FIND_FACTORY); if (feature) { diff --git a/tools/gst-xmlinspect.c b/tools/gst-xmlinspect.c index 7e9f26a575..6ee6e31174 100644 --- a/tools/gst-xmlinspect.c +++ b/tools/gst-xmlinspect.c @@ -133,7 +133,6 @@ print_query_types (const GstQueryType * types, gint pfx) static void print_event_masks (const GstEventMask * masks, gint pfx) { -#ifndef GST_DISABLE_ENUMTYPES GType event_type; GEnumClass *klass; GType event_flags; @@ -177,7 +176,6 @@ print_event_masks (const GstEventMask * masks, gint pfx) masks++; } -#endif } #endif @@ -539,11 +537,9 @@ print_element_info (GstElementFactory * factory) } PUT_END_TAG (1, "clocking-interaction"); -#ifndef GST_DISABLE_INDEX if (gst_element_is_indexable (element)) { PUT_STRING (1, ""); } -#endif PUT_START_TAG (1, "pads"); if (element->numpads) { diff --git a/win32/common/gstconfig.h b/win32/common/gstconfig.h index e92bcd54c6..af3b00b3cf 100644 --- a/win32/common/gstconfig.h +++ b/win32/common/gstconfig.h @@ -59,10 +59,7 @@ #define GST_DISABLE_TRACE 1 #define GST_DISABLE_ALLOC_TRACE 1 #define GST_DISABLE_REGISTRY 1 -#define GST_DISABLE_ENUMTYPES 1 -#define GST_DISABLE_INDEX 1 #define GST_DISABLE_PLUGIN 1 -#define GST_DISABLE_URI 1 #define GST_HAVE_GLIB_2_8 1 #endif @@ -94,18 +91,9 @@ /* DOES NOT WORK */ /* #undef GST_DISABLE_REGISTRY */ -/* DOES NOT WORK */ -/* #undef GST_DISABLE_ENUMTYPES */ - -/* DOES NOT WORK */ -/* #undef GST_DISABLE_INDEX */ - /* DOES NOT WORK */ /* #undef GST_DISABLE_PLUGIN */ -/* DOES NOT WORK */ -/* #undef GST_DISABLE_URI */ - /* printf extension format */ /** * GST_PTR_FORMAT: