docs/gst/Makefile.am: Ignore a few more internal headers

Original commit message from CVS:
* docs/gst/Makefile.am: Ignore a few more internal headers
* docs/gst/gstreamer-docs.sgml: Remove old sections
* docs/gst/gstreamer-sections.txt: Remove old sections
* docs/gst/tmpl/gstobject.sgml: update
* docs/gst/tmpl/gstplugin.sgml: update
* docs/gst/tmpl/gstpluginfeature.sgml: update
* docs/random/ds/0.9-suggested-changes: update.
* gst/Makefile.am: remove memchunk and trashstack, since they're
not used.
* gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
* gst/gst.h: don't include some headers
* gst/gstchildproxy.c: add gstmarshal.h
* gst/gstclock.c: Don't use memchunks
* gst/gstminiobject.c: Add some docs
* gst/gstobject.c: remove DESTROYED flag, since it's redundant
* gst/gstobject.h: same
* gst/gstplugin.c: include gstmacros.h
* gst/gstplugin.h: don't include gstmacros.h, since it's private
* gst/gstquery.c: don't use memchunks
* gst/gstregistry.c: rename gst_registry_deinit()
* gst/gstregistry.h: same
This commit is contained in:
David Schleef 2005-09-20 06:28:33 +00:00
parent 3ffc7d0913
commit 6e96e1bff5
21 changed files with 174 additions and 117 deletions

View file

@ -1,3 +1,27 @@
2005-09-19 David Schleef <ds@schleef.org>
* docs/gst/Makefile.am: Ignore a few more internal headers
* docs/gst/gstreamer-docs.sgml: Remove old sections
* docs/gst/gstreamer-sections.txt: Remove old sections
* docs/gst/tmpl/gstobject.sgml: update
* docs/gst/tmpl/gstplugin.sgml: update
* docs/gst/tmpl/gstpluginfeature.sgml: update
* docs/random/ds/0.9-suggested-changes: update.
* gst/Makefile.am: remove memchunk and trashstack, since they're
not used.
* gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
* gst/gst.h: don't include some headers
* gst/gstchildproxy.c: add gstmarshal.h
* gst/gstclock.c: Don't use memchunks
* gst/gstminiobject.c: Add some docs
* gst/gstobject.c: remove DESTROYED flag, since it's redundant
* gst/gstobject.h: same
* gst/gstplugin.c: include gstmacros.h
* gst/gstplugin.h: don't include gstmacros.h, since it's private
* gst/gstquery.c: don't use memchunks
* gst/gstregistry.c: rename gst_registry_deinit()
* gst/gstregistry.h: same
2005-09-19 David Schleef <ds@schleef.org> 2005-09-19 David Schleef <ds@schleef.org>
* docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits

View file

@ -71,6 +71,7 @@ IGNORE_HFILES= \
gthread-cothreads.h \ gthread-cothreads.h \
faircothreads.h \ faircothreads.h \
types.h \ types.h \
glib-compat.h \
grammar.tab.h \ grammar.tab.h \
gstmarshal.h \ gstmarshal.h \
gstaggregator.h \ gstaggregator.h \
@ -78,6 +79,7 @@ IGNORE_HFILES= \
gstfdsink.h \ gstfdsink.h \
gstfdsrc.h \ gstfdsrc.h \
gstidentity.h \ gstidentity.h \
gstmacros.h \
gstmd5sink.h \ gstmd5sink.h \
gstmultifilesrc.h \ gstmultifilesrc.h \
gstmultifdsink.h \ gstmultifdsink.h \
@ -85,10 +87,12 @@ IGNORE_HFILES= \
gstshaper.h \ gstshaper.h \
gststatistics.h \ gststatistics.h \
gsttee.h \ gsttee.h \
gsttrashstack.h \
gsttypefindelement.h \ gsttypefindelement.h \
gstspider.h \ gstspider.h \
gstspideridentity.h \ gstspideridentity.h \
gstsearchfuncs.h \ gstsearchfuncs.h \
gsttrashstack.h \
gstxmlregistry.h gstxmlregistry.h
# Images to copy into HTML directory. # Images to copy into HTML directory.

View file

@ -27,8 +27,6 @@
<!ENTITY GstIndexFactory SYSTEM "xml/gstindexfactory.xml"> <!ENTITY GstIndexFactory SYSTEM "xml/gstindexfactory.xml">
<!ENTITY GstInfo SYSTEM "xml/gstinfo.xml"> <!ENTITY GstInfo SYSTEM "xml/gstinfo.xml">
<!ENTITY GstIterator SYSTEM "xml/gstiterator.xml"> <!ENTITY GstIterator SYSTEM "xml/gstiterator.xml">
<!ENTITY GstMacros SYSTEM "xml/gstmacros.xml">
<!ENTITY GstMemChunk SYSTEM "xml/gstmemchunk.xml">
<!ENTITY GstMessage SYSTEM "xml/gstmessage.xml"> <!ENTITY GstMessage SYSTEM "xml/gstmessage.xml">
<!ENTITY GstMiniObject SYSTEM "xml/gstminiobject.xml"> <!ENTITY GstMiniObject SYSTEM "xml/gstminiobject.xml">
<!ENTITY GstObject SYSTEM "xml/gstobject.xml"> <!ENTITY GstObject SYSTEM "xml/gstobject.xml">
@ -42,13 +40,11 @@
<!ENTITY GstQuery SYSTEM "xml/gstquery.xml"> <!ENTITY GstQuery SYSTEM "xml/gstquery.xml">
<!ENTITY GstQueue SYSTEM "xml/gstqueue.xml"> <!ENTITY GstQueue SYSTEM "xml/gstqueue.xml">
<!ENTITY GstRegistry SYSTEM "xml/gstregistry.xml"> <!ENTITY GstRegistry SYSTEM "xml/gstregistry.xml">
<!ENTITY GstRegistryPool SYSTEM "xml/gstregistrypool.xml">
<!ENTITY GstStructure SYSTEM "xml/gststructure.xml"> <!ENTITY GstStructure SYSTEM "xml/gststructure.xml">
<!ENTITY GstSystemClock SYSTEM "xml/gstsystemclock.xml"> <!ENTITY GstSystemClock SYSTEM "xml/gstsystemclock.xml">
<!ENTITY GstTagList SYSTEM "xml/gsttaglist.xml"> <!ENTITY GstTagList SYSTEM "xml/gsttaglist.xml">
<!ENTITY GstTagSetter SYSTEM "xml/gsttagsetter.xml"> <!ENTITY GstTagSetter SYSTEM "xml/gsttagsetter.xml">
<!ENTITY GstTrace SYSTEM "xml/gsttrace.xml"> <!ENTITY GstTrace SYSTEM "xml/gsttrace.xml">
<!ENTITY GstTrashStack SYSTEM "xml/gsttrashstack.xml">
<!ENTITY GstTypeFind SYSTEM "xml/gsttypefind.xml"> <!ENTITY GstTypeFind SYSTEM "xml/gsttypefind.xml">
<!ENTITY GstTypeFindFactory SYSTEM "xml/gsttypefindfactory.xml"> <!ENTITY GstTypeFindFactory SYSTEM "xml/gsttypefindfactory.xml">
<!ENTITY GstTypes SYSTEM "xml/gsttypes.xml"> <!ENTITY GstTypes SYSTEM "xml/gsttypes.xml">
@ -134,7 +130,6 @@
&GstQuery; &GstQuery;
&GstQueue; &GstQueue;
&GstRegistry; &GstRegistry;
&GstRegistryPool;
&GstStructure; &GstStructure;
&GstSystemClock; &GstSystemClock;
&GstTagList; &GstTagList;
@ -160,10 +155,7 @@
&GstCheck; &GstCheck;
&GstInfo; &GstInfo;
&GstMacros;
&GstMemChunk;
&GstTrace; &GstTrace;
&GstTrashStack;
</chapter> </chapter>

View file

@ -81,6 +81,7 @@ gst_bin_flags_get_type
<FILE>gstbus</FILE> <FILE>gstbus</FILE>
<TITLE>GstBus</TITLE> <TITLE>GstBus</TITLE>
GstBus GstBus
GstBusFunc
GstBusFlags GstBusFlags
GstBusSyncReply GstBusSyncReply
GstBusHandler GstBusHandler
@ -929,28 +930,6 @@ gst_iterator_result_get_type
</SECTION> </SECTION>
<SECTION>
<FILE>gstmacros</FILE>
<TITLE>GstMacros</TITLE>
<SUBSECTION Private>
GST_GNUC_CONSTRUCTOR
GST_INLINE_FUNC
GST_CAN_INLINE
</SECTION>
<SECTION>
<FILE>gstmemchunk</FILE>
<TITLE>GstMemChunk</TITLE>
GstMemChunk
gst_mem_chunk_new
gst_mem_chunk_destroy
gst_mem_chunk_alloc
gst_mem_chunk_alloc0
gst_mem_chunk_free
</SECTION>
<SECTION> <SECTION>
<FILE>gstmessage</FILE> <FILE>gstmessage</FILE>
<TITLE>GstMessage</TITLE> <TITLE>GstMessage</TITLE>
@ -1428,14 +1407,24 @@ gst_plugin_load_file
gst_plugin_unload_plugin gst_plugin_unload_plugin
gst_plugin_add_feature gst_plugin_add_feature
gst_plugin_load gst_plugin_load
gst_plugin_load_by_name
gst_plugin_list_free
<SUBSECTION Standard> <SUBSECTION Standard>
GstPluginClass
GST_PLUGIN GST_PLUGIN
GST_PLUGIN_CLASS
GST_PLUGIN_GET_CLASS
GST_TYPE_PLUGIN GST_TYPE_PLUGIN
GST_TYPE_PLUGIN_ERROR GST_TYPE_PLUGIN_ERROR
GST_IS_PLUGIN
GST_IS_PLUGIN_CLASS
GstPluginFlags
GST_TYPE_PLUGIN_FLAGS
<SUBSECTION Private> <SUBSECTION Private>
gst_plugin_get_type gst_plugin_get_type
<SUBSECTION Private> <SUBSECTION Private>
gst_plugin_error_get_type gst_plugin_error_get_type
gst_plugin_flags_get_type
</SECTION> </SECTION>
@ -1453,6 +1442,8 @@ gst_plugin_feature_set_rank
gst_plugin_feature_set_name gst_plugin_feature_set_name
gst_plugin_feature_get_rank gst_plugin_feature_get_rank
gst_plugin_feature_get_name gst_plugin_feature_get_name
gst_plugin_feature_load
gst_plugin_feature_list_free
<SUBSECTION Standard> <SUBSECTION Standard>
GstPluginFeatureClass GstPluginFeatureClass
GST_PLUGIN_FEATURE GST_PLUGIN_FEATURE
@ -1589,6 +1580,27 @@ gst_registry_find_feature
gst_registry_load_plugin gst_registry_load_plugin
gst_registry_unload_plugin gst_registry_unload_plugin
gst_registry_update_plugin gst_registry_update_plugin
gst_registry_scan_path
gst_registry_get_feature_list
gst_registry_xml_read_cache
gst_registry_xml_write_cache
gst_registry_scan_paths
gst_registry_get_default
gst_registry_lookup
gst_registry_remove_feature
gst_registry_get_feature_list_by_plugin
gst_registry_lookup_feature
gst_registry_get_plugin_list
gst_registry_add_feature
<SUBSECTION Default Registry>
gst_default_registry_find_feature
gst_default_registry_get_path_list
gst_default_registry_add_plugin
gst_default_registry_add_path
gst_default_registry_scan_paths
gst_default_registry_find_plugin
gst_default_registry_get_plugin_list
gst_default_registry_feature_filter
<SUBSECTION Standard> <SUBSECTION Standard>
GstRegistryClass GstRegistryClass
GST_REGISTRY GST_REGISTRY
@ -1606,24 +1618,6 @@ gst_registry_return_get_type
</SECTION> </SECTION>
<SECTION>
<FILE>gstregistrypool</FILE>
<TITLE>GstRegistryPool</TITLE>
gst_registry_pool_list
gst_registry_pool_add
gst_registry_pool_remove
gst_registry_pool_add_plugin
gst_registry_pool_load_all
gst_registry_pool_plugin_filter
gst_registry_pool_feature_filter
gst_registry_pool_plugin_list
gst_registry_pool_feature_list
gst_registry_pool_find_plugin
gst_registry_pool_find_feature
gst_registry_pool_get_prefered
</SECTION>
<SECTION> <SECTION>
<FILE>gststructure</FILE> <FILE>gststructure</FILE>
<TITLE>GstStructure</TITLE> <TITLE>GstStructure</TITLE>
@ -1903,17 +1897,6 @@ gst_alloc_trace_flags_get_type
</SECTION> </SECTION>
<SECTION>
<FILE>gsttrashstack</FILE>
<TITLE>GstTrashStack</TITLE>
GstTrashStack
GstTrashStackElement
gst_vgpointer
gst_vgulong
SMP_LOCK
</SECTION>
<SECTION> <SECTION>
<FILE>gsttypefind</FILE> <FILE>gsttypefind</FILE>
<TITLE>GstTypeFind</TITLE> <TITLE>GstTypeFind</TITLE>

View file

@ -129,7 +129,6 @@ Flags for an object
</para> </para>
@GST_OBJECT_DISPOSING: @GST_OBJECT_DISPOSING:
@GST_OBJECT_DESTROYED:
@GST_OBJECT_FLOATING: @GST_OBJECT_FLOATING:
@GST_OBJECT_FLAG_LAST: subclasses can add additional flags starting from this flag @GST_OBJECT_FLAG_LAST: subclasses can add additional flags starting from this flag
@ -218,14 +217,6 @@ Acquire a reference to the mutex of this object.
@obj: Object to get the mutex of. @obj: Object to get the mutex of.
<!-- ##### MACRO GST_OBJECT_IS_DESTROYED ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_OBJECT_IS_DISPOSING ##### --> <!-- ##### MACRO GST_OBJECT_IS_DISPOSING ##### -->
<para> <para>

View file

@ -285,3 +285,20 @@ to get a list of plugins that match certain criteria.
@name: @name:
<!-- ##### FUNCTION gst_plugin_load_by_name ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gst_plugin_list_free ##### -->
<para>
</para>
@list:

View file

@ -96,3 +96,20 @@ to get a list of pluginfeature that match certain criteria.
@Returns: @Returns:
<!-- ##### FUNCTION gst_plugin_feature_load ##### -->
<para>
</para>
@feature:
@Returns:
<!-- ##### FUNCTION gst_plugin_feature_list_free ##### -->
<para>
</para>
@list:

View file

@ -4,13 +4,8 @@ API:
- MAKE A DOCUMENT THAT LISTS ALL API CHANGES AND HOW TO DEAL WITH THEM - MAKE A DOCUMENT THAT LISTS ALL API CHANGES AND HOW TO DEAL WITH THEM
- GstElementState should be a real enum, not something that looks like flags
changing state can be done with ++ and -- instead of >> and <<
- replace object/structure set/get macros with actual functions. - replace object/structure set/get macros with actual functions.
- events should all use GstStructure
- reorganize headers (split app headers vs plugin headers maybe) - reorganize headers (split app headers vs plugin headers maybe)
while at it also make sure to only allow including of the main headers like while at it also make sure to only allow including of the main headers like
glib, so we can freely shuffle stuff around glib, so we can freely shuffle stuff around
@ -37,31 +32,17 @@ API:
(Though the main reason for identities atm is to be able to connect without (Though the main reason for identities atm is to be able to connect without
plugging - Company) plugging - Company)
- remove float support from dparams
- dparams: should be converted into some kind of special pad and
object property combination.
- read/write locks on buffers - read/write locks on buffers
- be able to send events to unlinked pads (bug #114442) - be able to send events to unlinked pads (bug #114442)
- caps should have a flag on fields to indicate that the field is optional - caps should have a flag on fields to indicate that the field is optional
- deprecate gst_buffer_merge() and replace with a function that takes
ownership of the buffers. (bug #136408)
- fakesrc handoff should be changed to return a GstData * or carry a - fakesrc handoff should be changed to return a GstData * or carry a
GstData **, wo the user can provide own buffers and events. GstData **, wo the user can provide own buffers and events.
- remove GST_OBJECT_DESTROYED()
- fix plugin code to load plugins with RTLD_LOCAL
- don't install gstmarshal.h - don't install gstmarshal.h
- remove unnecessary headers from gst.h (gstqueue.h in particular)
- make sure GstClockTime is used wherever it should (e.g. gstplay) - make sure GstClockTime is used wherever it should (e.g. gstplay)
- make gst_bin_get_list virtual so subclasses can override it (e.g. - make gst_bin_get_list virtual so subclasses can override it (e.g.
@ -77,8 +58,6 @@ API:
24 fps pulled down to 60 and straight video, etc) and make sure our 24 fps pulled down to 60 and straight video, etc) and make sure our
video stream descriptions make sense. video stream descriptions make sense.
- remove GstMemChunk
- do an audit to remove GtkObject-isms from gtk-1.2 - do an audit to remove GtkObject-isms from gtk-1.2
caps: caps:

View file

@ -88,7 +88,6 @@ libgstreamer_@GST_MAJORMINOR@_la_SOURCES = \
gstinfo.c \ gstinfo.c \
gstinterface.c \ gstinterface.c \
gstiterator.c \ gstiterator.c \
gstmemchunk.c \
gstmessage.c \ gstmessage.c \
gstminiobject.c \ gstminiobject.c \
gstpad.c \ gstpad.c \
@ -106,7 +105,6 @@ libgstreamer_@GST_MAJORMINOR@_la_SOURCES = \
gsttagsetter.c \ gsttagsetter.c \
gsttask.c \ gsttask.c \
$(GST_TRACE_SRC) \ $(GST_TRACE_SRC) \
gsttrashstack.c \
gsttypefind.c \ gsttypefind.c \
gsttypefindfactory.c \ gsttypefindfactory.c \
$(GST_URI_SRC) \ $(GST_URI_SRC) \
@ -166,7 +164,6 @@ gst_headers = \
gstinterface.h \ gstinterface.h \
gstiterator.h \ gstiterator.h \
gstmacros.h \ gstmacros.h \
gstmemchunk.h \
gstmessage.h \ gstmessage.h \
gstminiobject.h \ gstminiobject.h \
gstpad.h \ gstpad.h \
@ -182,7 +179,6 @@ gst_headers = \
gsttagsetter.h \ gsttagsetter.h \
gsttask.h \ gsttask.h \
gsttrace.h \ gsttrace.h \
gsttrashstack.h \
gsttypefind.h \ gsttypefind.h \
gsttypefindfactory.h \ gsttypefindfactory.h \
gsturi.h \ gsturi.h \

View file

@ -919,7 +919,7 @@ gst_deinit (void)
gst_object_unref (clock); gst_object_unref (clock);
gst_object_unref (clock); gst_object_unref (clock);
gst_registry_deinit (); _gst_registry_cleanup ();
gst_initialized = FALSE; gst_initialized = FALSE;
GST_INFO ("deinitialized GStreamer"); GST_INFO ("deinitialized GStreamer");

View file

@ -42,7 +42,6 @@
#include <gst/gstinfo.h> #include <gst/gstinfo.h>
#include <gst/gstinterface.h> #include <gst/gstinterface.h>
#include <gst/gstiterator.h> #include <gst/gstiterator.h>
#include <gst/gstmarshal.h>
#include <gst/gstmessage.h> #include <gst/gstmessage.h>
#include <gst/gstminiobject.h> #include <gst/gstminiobject.h>
#include <gst/gstobject.h> #include <gst/gstobject.h>
@ -51,6 +50,7 @@
#include <gst/gstplugin.h> #include <gst/gstplugin.h>
#include <gst/gstquery.h> #include <gst/gstquery.h>
#include <gst/gstqueryutils.h> #include <gst/gstqueryutils.h>
#include <gst/gstregistry.h>
#include <gst/gststructure.h> #include <gst/gststructure.h>
#include <gst/gstsystemclock.h> #include <gst/gstsystemclock.h>
#include <gst/gsttaglist.h> #include <gst/gsttaglist.h>
@ -66,7 +66,6 @@
#include <gst/gstxml.h> #include <gst/gstxml.h>
#include <gst/gstparse.h> #include <gst/gstparse.h>
#include <gst/gstregistry.h>
/* API compatibility stuff */ /* API compatibility stuff */
#include <gst/gstcompat.h> #include <gst/gstcompat.h>

View file

@ -39,6 +39,7 @@
#include "gst_private.h" #include "gst_private.h"
#include "gstchildproxy.h" #include "gstchildproxy.h"
#include "gstmarshal.h"
#include <gobject/gvaluecollector.h> #include <gobject/gvaluecollector.h>
/* signals */ /* signals */

View file

@ -40,7 +40,6 @@
#include "gstclock.h" #include "gstclock.h"
#include "gstinfo.h" #include "gstinfo.h"
#include "gstmemchunk.h"
#include "gstutils.h" #include "gstutils.h"
#ifndef GST_DISABLE_TRACE #ifndef GST_DISABLE_TRACE
@ -60,8 +59,6 @@ enum
ARG_EVENT_DIFF ARG_EVENT_DIFF
}; };
static GstMemChunk *_gst_clock_entries_chunk;
static void gst_clock_class_init (GstClockClass * klass); static void gst_clock_class_init (GstClockClass * klass);
static void gst_clock_init (GstClock * clock); static void gst_clock_init (GstClock * clock);
static void gst_clock_finalize (GObject * object); static void gst_clock_finalize (GObject * object);
@ -83,7 +80,7 @@ gst_clock_entry_new (GstClock * clock, GstClockTime time,
{ {
GstClockEntry *entry; GstClockEntry *entry;
entry = gst_mem_chunk_alloc (_gst_clock_entries_chunk); entry = g_malloc0 (sizeof (GstClockEntry));
#ifndef GST_DISABLE_TRACE #ifndef GST_DISABLE_TRACE
gst_alloc_trace_new (_gst_clock_entry_trace, entry); gst_alloc_trace_new (_gst_clock_entry_trace, entry);
#endif #endif
@ -130,7 +127,6 @@ _gst_clock_id_free (GstClockID id)
#ifndef GST_DISABLE_TRACE #ifndef GST_DISABLE_TRACE
gst_alloc_trace_free (_gst_clock_entry_trace, id); gst_alloc_trace_free (_gst_clock_entry_trace, id);
#endif #endif
gst_mem_chunk_free (_gst_clock_entries_chunk, id);
} }
/** /**
@ -462,9 +458,6 @@ gst_clock_class_init (GstClockClass * klass)
if (!g_thread_supported ()) if (!g_thread_supported ())
g_thread_init (NULL); g_thread_init (NULL);
_gst_clock_entries_chunk = gst_mem_chunk_new ("GstClockEntries",
sizeof (GstClockEntry), sizeof (GstClockEntry) * 32, G_ALLOC_AND_FREE);
#ifndef GST_DISABLE_TRACE #ifndef GST_DISABLE_TRACE
_gst_clock_entry_trace = _gst_clock_entry_trace =
gst_alloc_trace_register (GST_CLOCK_ENTRY_TRACE_NAME); gst_alloc_trace_register (GST_CLOCK_ENTRY_TRACE_NAME);

View file

@ -118,6 +118,16 @@ gst_mini_object_init (GTypeInstance * instance, gpointer klass)
mini_object->refcount = 1; mini_object->refcount = 1;
} }
/**
* gst_mini_object_new:
* @type: the GType of the mini-object to create
*
* Creates a new mini-object of the desired type.
*
* MT safe
*
* Returns: the new mini-object.
*/
GstMiniObject * GstMiniObject *
gst_mini_object_new (GType type) gst_mini_object_new (GType type)
{ {
@ -154,6 +164,16 @@ gst_mini_object_new (GType type)
return mini_object; return mini_object;
} }
/**
* gst_mini_object_copy:
* @mini_object: the mini-object to copy
*
* Creates a copy of the mini-object.
*
* MT safe
*
* Returns: the new mini-object.
*/
GstMiniObject * GstMiniObject *
gst_mini_object_copy (const GstMiniObject * mini_object) gst_mini_object_copy (const GstMiniObject * mini_object)
{ {
@ -164,6 +184,19 @@ gst_mini_object_copy (const GstMiniObject * mini_object)
return mo_class->copy (mini_object); return mo_class->copy (mini_object);
} }
/**
* gst_mini_object_is_writable:
* @mini_object: the mini-object to check
*
* Checks if a mini-object is writable. A mini-object is writable
* if the reference count is one and the GST_MINI_OBJECT_FLAG_READONLY
* flag is not set. Modification of a mini-object should only be
* done after verifying that it is writable.
*
* MT safe
*
* Returns: TRUE if the object is writable.
*/
gboolean gboolean
gst_mini_object_is_writable (const GstMiniObject * mini_object) gst_mini_object_is_writable (const GstMiniObject * mini_object)
{ {
@ -171,6 +204,17 @@ gst_mini_object_is_writable (const GstMiniObject * mini_object)
((mini_object->flags & GST_MINI_OBJECT_FLAG_READONLY) == 0); ((mini_object->flags & GST_MINI_OBJECT_FLAG_READONLY) == 0);
} }
/**
* gst_mini_object_make_writable:
* @mini_object: the mini-object to make writable
*
* Checks if a mini-object is writable. If not, a copy is made and
* the copy is returned.
*
* MT safe
*
* Returns: a mini-object (possibly a duplicate) that it writable.
*/
GstMiniObject * GstMiniObject *
gst_mini_object_make_writable (GstMiniObject * mini_object) gst_mini_object_make_writable (GstMiniObject * mini_object)
{ {
@ -186,6 +230,14 @@ gst_mini_object_make_writable (GstMiniObject * mini_object)
return ret; return ret;
} }
/**
* gst_mini_object_ref:
* @mini_object: the mini-object
*
* Increase the reference count of the mini-object.
*
* Returns: the mini-object.
*/
GstMiniObject * GstMiniObject *
gst_mini_object_ref (GstMiniObject * mini_object) gst_mini_object_ref (GstMiniObject * mini_object)
{ {
@ -237,6 +289,13 @@ gst_mini_object_free (GstMiniObject * mini_object)
} }
} }
/**
* gst_mini_object_unref:
* @mini_object: the mini-object
*
* Decreases the reference count of the mini-object, possibly freeing
* the mini-object.
*/
void void
gst_mini_object_unref (GstMiniObject * mini_object) gst_mini_object_unref (GstMiniObject * mini_object)
{ {
@ -255,6 +314,15 @@ gst_mini_object_unref (GstMiniObject * mini_object)
} }
} }
/**
* gst_mini_object_replace:
* @olddata: pointer to a pointer to a mini-object to be replaced
* @newdata: pointer to new mini-object
*
* Modifies a pointer to point to a new mini-object. The modification
* is done atomically, and the reference counts are updated correctly.
* Either @newdata and the value pointed to by @olddata may be NULL.
*/
void void
gst_mini_object_replace (GstMiniObject ** olddata, GstMiniObject * newdata) gst_mini_object_replace (GstMiniObject ** olddata, GstMiniObject * newdata)
{ {

View file

@ -416,7 +416,6 @@ gst_object_dispose (GObject * object)
GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "dispose"); GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "dispose");
GST_LOCK (object); GST_LOCK (object);
GST_FLAG_SET (GST_OBJECT (object), GST_OBJECT_DESTROYED);
GST_OBJECT_PARENT (object) = NULL; GST_OBJECT_PARENT (object) = NULL;
GST_UNLOCK (object); GST_UNLOCK (object);

View file

@ -50,7 +50,6 @@ GST_EXPORT GType _gst_object_type;
typedef enum typedef enum
{ {
GST_OBJECT_DISPOSING = 0, GST_OBJECT_DISPOSING = 0,
GST_OBJECT_DESTROYED = 1,
GST_OBJECT_FLOATING, GST_OBJECT_FLOATING,
GST_OBJECT_FLAG_LAST = 4 GST_OBJECT_FLAG_LAST = 4
@ -76,7 +75,6 @@ typedef enum
#define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(1<<(flag))); }G_STMT_END #define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(1<<(flag))); }G_STMT_END
#define GST_OBJECT_IS_DISPOSING(obj) (GST_FLAG_IS_SET (obj, GST_OBJECT_DISPOSING)) #define GST_OBJECT_IS_DISPOSING(obj) (GST_FLAG_IS_SET (obj, GST_OBJECT_DISPOSING))
#define GST_OBJECT_IS_DESTROYED(obj) (GST_FLAG_IS_SET (obj, GST_OBJECT_DESTROYED))
#define GST_OBJECT_IS_FLOATING(obj) (GST_FLAG_IS_SET (obj, GST_OBJECT_FLOATING)) #define GST_OBJECT_IS_FLOATING(obj) (GST_FLAG_IS_SET (obj, GST_OBJECT_FLOATING))
typedef struct _GstObject GstObject; typedef struct _GstObject GstObject;

View file

@ -41,6 +41,7 @@
#include "gstinfo.h" #include "gstinfo.h"
#include "gstfilter.h" #include "gstfilter.h"
#include "gstregistry.h" #include "gstregistry.h"
#include "gstmacros.h"
#define GST_CAT_DEFAULT GST_CAT_PLUGIN_LOADING #define GST_CAT_DEFAULT GST_CAT_PLUGIN_LOADING

View file

@ -28,8 +28,6 @@
#include <time.h> /* time_t */ #include <time.h> /* time_t */
#include <gmodule.h> #include <gmodule.h>
#include <gst/gstpluginfeature.h>
#include <gst/gstmacros.h>
#include <gst/gstobject.h> #include <gst/gstobject.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -83,6 +81,7 @@ struct _GstPluginDesc {
struct _GstPlugin { struct _GstPlugin {
GstObject object; GstObject object;
/*< private >*/
GstPluginDesc desc; GstPluginDesc desc;
GstPluginDesc *orig_desc; GstPluginDesc *orig_desc;
@ -102,6 +101,7 @@ struct _GstPlugin {
struct _GstPluginClass { struct _GstPluginClass {
GstObjectClass object_class; GstObjectClass object_class;
/*< private >*/
}; };

View file

@ -34,7 +34,6 @@
#include "gst_private.h" #include "gst_private.h"
#include "gstquery.h" #include "gstquery.h"
#include "gstmemchunk.h"
#include "gstenumtypes.h" #include "gstenumtypes.h"
GST_DEBUG_CATEGORY_STATIC (gst_query_debug); GST_DEBUG_CATEGORY_STATIC (gst_query_debug);
@ -52,8 +51,6 @@ static GHashTable *_nick_to_query = NULL;
static GHashTable *_query_type_to_nick = NULL; static GHashTable *_query_type_to_nick = NULL;
static guint32 _n_values = 1; /* we start from 1 because 0 reserved for NONE */ static guint32 _n_values = 1; /* we start from 1 because 0 reserved for NONE */
static GstMemChunk *chunk;
static GstQueryTypeDefinition standard_definitions[] = { static GstQueryTypeDefinition standard_definitions[] = {
{GST_QUERY_POSITION, "position", "Current Position"}, {GST_QUERY_POSITION, "position", "Current Position"},
{GST_QUERY_LATENCY, "latency", "Latency"}, {GST_QUERY_LATENCY, "latency", "Latency"},
@ -92,9 +89,6 @@ _gst_query_initialize (void)
g_static_mutex_unlock (&mutex); g_static_mutex_unlock (&mutex);
gst_query_get_type (); gst_query_get_type ();
chunk = gst_mem_chunk_new ("GstQueryChunk", sizeof (GstQuery),
sizeof (GstQuery) * 20, 0);
} }
GType GType

View file

@ -767,7 +767,7 @@ gst_registry_get_feature_list_by_plugin (GstRegistry * registry,
} }
void void
gst_registry_deinit () _gst_registry_cleanup ()
{ {
if (!_gst_registry_default) if (!_gst_registry_default)
return; return;

View file

@ -25,6 +25,7 @@
#define __GST_REGISTRY_H__ #define __GST_REGISTRY_H__
#include <gst/gstplugin.h> #include <gst/gstplugin.h>
#include <gst/gstpluginfeature.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -101,7 +102,7 @@ gboolean gst_registry_xml_write_cache (GstRegistry * registry, const char *lo
void gst_registry_scan_paths (GstRegistry *registry); void gst_registry_scan_paths (GstRegistry *registry);
void _gst_registry_remove_cache_plugins (GstRegistry *registry); void _gst_registry_remove_cache_plugins (GstRegistry *registry);
void gst_registry_deinit (void); void _gst_registry_cleanup (void);
#define gst_default_registry_add_plugin(plugin) \ #define gst_default_registry_add_plugin(plugin) \
gst_registry_add_plugin (gst_registry_get_default(), plugin) gst_registry_add_plugin (gst_registry_get_default(), plugin)