added missing symbols to api docs disable ref-count hack if we have glib >= 2.8

Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/gstobject.c:
added missing symbols to api docs
disable ref-count hack if we have glib >= 2.8
This commit is contained in:
Stefan Kost 2005-09-20 07:32:48 +00:00
parent 6e96e1bff5
commit a52725ea45
4 changed files with 28 additions and 1 deletions

View file

@ -1,3 +1,11 @@
2005-09-19 Stefan Kost <ensonic@users.sf.net>
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/gstobject.c:
added missing symbols to api docs
disable ref-count hack if we have glib >= 2.8
2005-09-19 David Schleef <ds@schleef.org>
* docs/gst/Makefile.am: Ignore a few more internal headers

View file

@ -235,6 +235,14 @@ GLIB_CFLAGS=$GLIB2_CFLAGS
AC_SUBST(GLIB_LIBS)
AC_SUBST(GLIB_CFLAGS)
AC_MSG_CHECKING([glib version >= 2.8])
if pkg-config --atleast-version=2.8 glib-2.0; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GLIB_2_8, [1], [Define to 1 if we can use API new in glib-2.8])
else
AC_MSG_RESULT(no)
fi
if test "x$HAVE_GLIB2" = "xno"; then
AC_MSG_ERROR([GStreamer requires GLib $GLIB2_REQ to compile.])
fi

View file

@ -84,7 +84,7 @@ GstBus
GstBusFunc
GstBusFlags
GstBusSyncReply
GstBusHandler
GstBusFunc
GstBusSyncHandler
gst_bus_new
gst_bus_post
@ -1569,7 +1569,11 @@ gst_registry_save
gst_registry_rebuild
gst_registry_unload
gst_registry_add_path
gst_registry_get_default
gst_registry_get_feature_list
gst_registry_get_feature_list_by_plugin
gst_registry_get_path_list
gst_registry_get_plugin_list
gst_registry_clear_paths
gst_registry_add_plugin
gst_registry_remove_plugin
@ -1577,6 +1581,7 @@ gst_registry_plugin_filter
gst_registry_feature_filter
gst_registry_find_plugin
gst_registry_find_feature
gst_registry_lookup_feature
gst_registry_load_plugin
gst_registry_unload_plugin
gst_registry_update_plugin

View file

@ -33,7 +33,9 @@
#endif
#define DEBUG_REFCOUNT
#ifndef HAVE_GLIB_2_8
#define REFCOUNT_HACK
#endif
/* Refcount hack: since glib is not threadsafe, the glib refcounter can be
* screwed up and the object can be freed unexpectedly. We use an evil hack
@ -41,6 +43,10 @@
* that glib will never unref the object under realistic circumstances. Then
* we use our own atomic refcounting to do proper MT safe refcounting.
*
* The hack has several side-effect. At first you should use
* gst_object_ref/unref() whenever you can. Next When using g_value_set/get_object();
* you need to manually fix the refcount.
*
* A proper fix is of course to make the glib refcounting threadsafe which is
* planned. Update: atomic refcounting is now in glib >= 2.7.3
*/