Commit graph

121 commits

Author SHA1 Message Date
Stefan Kost
92cd1de49e 2nd attempt to have a xml-less build as a joined effort of #413123 and #421480.
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstconfig.h.in:
* gst/gstobject.c: (gst_object_class_init),
(gst_signal_object_class_init):
* gst/gstobject.h:
2nd attempt to have a xml-less build as a joined effort of #413123
and #421480.
2007-04-20 08:39:35 +00:00
Stefan Kost
08afeb6120 docs/: Do some Architect work.
Original commit message from CVS:
* docs/design/draft-tagreading.txt:
* docs/random/ensonic/audiobaseclasses.txt:
Do some Architect work.
* gst/gstobject.c: (gst_object_set_name):
Add a WARNING.
* gst/gstpad.c:
Add docs that point from gst_pad_get_range to gst_pad_pull_range
2007-03-13 14:53:21 +00:00
Wim Taymans
acf6165c5e gst/gstelement.*: Improve docs a little. Added Since: for new macro.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_message_full),
(gst_element_get_state_func):
* gst/gstelement.h:
Improve docs a little. Added Since: for new macro.
* gst/gstobject.c: (gst_object_sink):
* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_new_stream_time):
* gst/gstpipeline.h:
Improve debugging and docs.
* gst/gstutils.c: (gst_element_state_change_return_get_name):
Improve debugging.
2007-02-28 16:43:43 +00:00
Stefan Kost
ea55e1357e configure.ac: comment about refining the xml deps
Original commit message from CVS:
* configure.ac:
comment about refining the xml deps
* docs/manuals.mak:
comments about moving away from jade for docs
* gst/gst.c:
recommit the ifdefs to use the binary registry
* gst/gstbin.c: (gst_bin_change_state_func):
this break is obsolete
* gst/gstelementfactory.h:
better GST_ELEMENT_DETAILS docs, add comment about translation
* gst/gstinfo.h:
remove eol slash
* gst/gstobject.c: (gst_signal_object_get_type):
add G_UNLIKELY as usual
* gst/gstpad.c: (gst_pad_event_default):
add fall trhu comment
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
comment typo and formatting
* gst/gstutils.c: (gst_element_state_get_name),
(gst_element_state_change_return_get_name):
remove obsolete breaks
* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
add FIXME 0.11 and remove cpp comment
2007-01-29 15:54:09 +00:00
Josep Torre Valles
fcb5023fa4 gst/gst.c: Fix empty declaration and type mismatch.
Original commit message from CVS:
2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* gst/gst.c: (gst_init_get_option_group):
Fix empty declaration and type mismatch.
* gst/gstbin.c: (gst_bin_change_state_func):
Fix type mismatch.
* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func), (gst_element_change_state),
(gst_element_change_state_func):
Fix type mismatches.
* gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
(gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
Cast as appropriate.
* gst/gstobject.c: (gst_class_signal_connect):
Cast as appropriate.  The function pointer parameter really
has the wrong type but would break API if we change it.
* gst/gstquery.c:
Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
order of including string.h.
* gst/gstutils.c: (gst_element_state_get_name):
Remove unreachable line.
* gst/gstxml.c: (gst_xml_parse_doc):
Fix type mismatch.
All these caught by Forte.
2006-10-06 14:46:04 +00:00
Wim Taymans
bb634398b7 gst/: Small cleanups in docs and code.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_set_parent):
* gst/gstpipeline.c: (do_pipeline_seek):
Small cleanups in docs and code.
* gst/gstsegment.c: (gst_segment_clip):
* tests/check/gst/gstsegment.c: (GST_START_TEST):
if stop == start and start is in the segment, no clipping should be
done. Also add a test for this.
2006-09-15 08:43:44 +00:00
Tim-Philipp Müller
ea60952f06 gst/gstobject.c: Random micro-optimisation: don't use a hash table with strings as keys and the usual strdup/strcmp i...
Original commit message from CVS:
* gst/gstobject.c: (gst_object_set_name_default),
(gst_object_set_name):
Random micro-optimisation: don't use a hash table
with strings as keys and the usual strdup/strcmp
involved, but rather just use the GQuark of the
type name as key, since it needs to be looked up
anyway to get the type name string.
* tests/check/gst/gstobject.c: (GST_START_TEST):
Fix various leaks.
2006-07-07 17:16:26 +00:00
Wim Taymans
8b87693a69 gst/gstobject.c: Add G_UNLIKELY in type registration.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
(gst_object_unref):
Add G_UNLIKELY in type registration.
Avoid type check in _ref/_unref since that is also
done in glib.
2006-06-12 09:06:01 +00:00
Stefan Kost
dc3d1df8ec G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstobject.c: (gst_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpipeline.c: (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_class_init):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gsttee.c: (gst_tee_class_init):
* tests/old/examples/plugins/example.c: (gst_example_class_init):
* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2006-05-11 18:10:34 +00:00
Wim Taymans
ef7f163300 gst/: Remove pre glib2.8 compatibility, fixes #340508
Original commit message from CVS:
* gst/glib-compat.c:
* gst/gst.c: (init_pre):
* gst/gstobject.c: (gst_object_init), (gst_object_ref),
(gst_object_unref), (gst_object_replace), (gst_object_dispose),
(gst_object_dispatch_properties_changed):
* gst/gstobject.h:
* gst/gstregistryxml.c: (gst_registry_xml_read_cache):
* gst/gststructure.c: (gst_structure_set_valist):
* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
Remove pre glib2.8 compatibility, fixes #340508
2006-05-05 08:17:22 +00:00
Stefan Kost
77a5695718 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* gst/gstbuffer.c: (gst_subbuffer_class_init):
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstelement.c: (gst_element_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstindexfactory.c: (gst_index_factory_class_init):
* gst/gstobject.c: (gst_object_class_init),
(gst_signal_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpadtemplate.c: (gst_pad_template_class_init):
* gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
* gst/gstregistry.c: (gst_registry_class_init):
* gst/gstsystemclock.c: (gst_system_clock_class_init):
* gst/gsttask.c: (gst_task_class_init):
* gst/gstxml.c: (gst_xml_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_loop):
* libs/gst/controller/gstcontroller.c:
(_gst_controller_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
* tests/old/examples/plugins/example.c: (gst_example_class_init):
* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-08 20:57:31 +00:00
Wim Taymans
0e984d3026 gst/gstelement.c: Cleanup the error case.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_locked_state),
(gst_element_dispose):
Cleanup the error case.
* gst/gstobject.c: (gst_object_dispose):
print a critical when some object was disposed with
a parent, also revive the object since it might
crash the parent.
2006-03-22 13:10:16 +00:00
Andy Wingo
44c548b205 *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.

* gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
(GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
GST_GET_LOCK, etc.

* scripts/update-macros: New script. Run it on your files to
change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
well.
2005-11-21 16:34:26 +00:00
Wim Taymans
8eb4781bdd gst/gstobject.*: Documentation fixes.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_class_init):
* gst/gstobject.h:
Documentation fixes.
2005-11-09 17:32:10 +00:00
Wim Taymans
5bb924622f gst/: Avoid excessive typechecking in macros.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_do_sync), (gst_base_sink_handle_event),
(gst_base_sink_chain), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.h:
* gst/gstelement.h:
* gst/gstevent.h:
Avoid excessive typechecking in macros.

* gst/gstminiobject.c: (gst_mini_object_get_type),
(gst_mini_object_init), (gst_mini_object_new),
(gst_mini_object_free):
* gst/gstobject.c: (gst_object_class_init), (gst_object_init),
(gst_object_finalize):
Remove cruft code, optimize alloc_trace.
2005-11-08 11:13:07 +00:00
Andy Wingo
4a9df820e3 Boo!
Original commit message from CVS:
2005-10-31  Andy Wingo  <wingo@pobox.com>

* Boo!

* gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.

* gst/gstobject.c (gst_object_dispatch_properties_changed): No
need to serialize property notifications on GLib 2.8. GLib 2.6 has
the possibility of deadlocks here if code calling notify() or
set() has a lock that can be taken in another notify handler (ABBA
with class lock and e.g. python GIL state lock).
2005-10-31 09:52:13 +00:00
Thomas Vander Stichele
d81f2a6d5b gst/gstcaps.c: fix signedness issues in a (hopefully) correct way
Original commit message from CVS:

* gst/gstcaps.c: (gst_caps_intersect):
fix signedness issues in a (hopefully) correct way
* gst/gstelement.c: (gst_element_pads_activate):
some debugging
* gst/gstobject.c: (gst_object_set_parent):
some debugging
2005-10-17 14:37:06 +00:00
Thomas Vander Stichele
2ca1c89aac gst/gst.*: remove _gst_registry_auto_load, not used anymore
Original commit message from CVS:

* gst/gst.c:
* gst/gst.h:
remove _gst_registry_auto_load, not used anymore
* gst/gstbin.c: (gst_bin_get_type):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_get_type):
* gst/gstelement.h:
* gst/gstobject.c: (gst_object_get_type):
* gst/gstobject.h:
* gst/gstpad.c: (gst_pad_get_type):
* gst/gstpad.h:
make _get_type functions similar, fixes data export from library
2005-10-15 16:33:09 +00:00
Thomas Vander Stichele
bef56ce78d various style fixes
Original commit message from CVS:
various style fixes
2005-10-15 16:01:57 +00:00
Thomas Vander Stichele
2dd1598c56 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-10-15 15:30:24 +00:00
Stefan Kost
a98aef82db renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* docs/gst/gstreamer-sections.txt:
* gst/base/gstbasesink.c: (gst_base_sink_init):
* gst/base/gstbasesrc.c: (gst_base_src_init),
(gst_base_src_get_range), (gst_base_src_check_get_range),
(gst_base_src_start), (gst_base_src_stop):
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
(bin_bus_handler):
* gst/gstbin.h:
* gst/gstbuffer.h:
* gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
* gst/gstbus.h:
* gst/gstelement.c: (gst_element_is_locked_state),
(gst_element_set_locked_state), (gst_element_commit_state),
(gst_element_set_state):
* gst/gstelement.h:
* gst/gstindex.c: (gst_index_init):
* gst/gstindex.h:
* gst/gstminiobject.h:
* gst/gstobject.c: (gst_object_init), (gst_object_sink),
(gst_object_set_parent):
* gst/gstobject.h:
* gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
(gst_pad_get_caps_unlocked), (gst_pad_set_caps):
* gst/gstpad.h:
* gst/gstpadtemplate.h:
* gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
(gst_pipeline_use_clock), (gst_pipeline_auto_clock):
* gst/gstpipeline.h:
* gst/indexers/gstfileindex.c: (gst_file_index_load),
(gst_file_index_commit):
* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
* testsuite/pad/link.c: (gst_test_src_init),
(gst_test_filter_init), (gst_test_sink_init):
* testsuite/states/locked.c: (main):
renamed GST_FLAGS macros to GST_OBJECT_FLAGS
moved bitshift from macro to enum definition
2005-10-12 14:28:39 +00:00
Thomas Vander Stichele
593cdc30dd indent ifdefs
Original commit message from CVS:
indent ifdefs
2005-10-05 11:50:49 +00:00
Thomas Vander Stichele
91e8b0bb91 gst/gstobject.c: for 2.6 refcounting, make debug log more correct by printing the actual refcounts at the time of swa...
Original commit message from CVS:

* gst/gstobject.c:
for 2.6 refcounting, make debug log more correct by printing
the actual refcounts at the time of swap (Wim)
2005-09-29 18:35:38 +00:00
Wim Taymans
cacb844d6f gst/gstbin.c: Some documentation updates.
Original commit message from CVS:
* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state), (gst_bin_dispose):
Some documentation updates.
Clean up dispose handlers.

* gst/gstobject.c: (gst_object_ref), (gst_object_unref):
* gst/gstpad.c: (gst_pad_dispose):
Clean up dispose handler.

* gst/gstpipeline.c: (gst_pipeline_change_state):
Removed spurious UNLOCK.
2005-09-28 11:03:58 +00:00
Thomas Vander Stichele
daadaad81b gst/: remove now useless and leaky resurrection code in dispose
Original commit message from CVS:

* gst/gstbin.c: (gst_bin_dispose):
* gst/gstelement.c: (gst_element_dispose):
remove now useless and leaky resurrection code in dispose
* gst/base/gstbasesrc.c: (gst_base_src_init):
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstobject.c: (gst_object_set_parent):
add some debugging
2005-09-27 18:33:48 +00:00
Wim Taymans
01085fa26a gst/gstbin.c: use gst_object_has_ancestor().
Original commit message from CVS:
* gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
use gst_object_has_ancestor().

* gst/gstobject.c: (gst_object_has_ancestor):
* gst/gstobject.h:
gst_object_has_ancestor() copied from gstbin.c as it is a
usefull function.

* tests/instantiate/create.c: (create_all_elements):
* tests/lat.c: (handoff_src), (handoff_sink):
* tests/sched/runxml.c: (main):
* tests/seeking/seeking1.c: (main):
* tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
(main):
Fix compilation of some tests.
2005-09-27 09:57:20 +00:00
Stefan Kost
5afb6e6809 inlined 3 more biiiig doc files and added some missing docs on the fly
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstinfo.sgml:
* docs/gst/tmpl/gstobject.sgml:
* gst/gstelement.c:
* gst/gstelement.h:
* gst/gstinfo.c:
* gst/gstinfo.h:
* gst/gstobject.c: (gst_object_class_init):
* gst/gstobject.h:
inlined 3 more biiiig doc files and added some missing docs on the fly
2005-09-23 14:31:21 +00:00
Andy Wingo
b12471008b gst/gstelementfactory.c (gst_element_factory_create): Avoid eating the caller's refcount.
Original commit message from CVS:
2005-09-20  Andy Wingo  <wingo@pobox.com>

* gst/gstelementfactory.c (gst_element_factory_create): Avoid
eating the caller's refcount.

* gst/gstobject.h (GST_OBJECT_REFCOUNT)
(GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
refcount.

* gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
* configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
of GLib 2.8 public, so we can know which refcount to check in
tests.

* gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
(gst_object_init): Only set the gst refcount if we're going ahead
with the refcount hack.
2005-09-20 11:09:50 +00:00
Stefan Kost
a52725ea45 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
2005-09-20 07:32:48 +00:00
David Schleef
6e96e1bff5 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
2005-09-20 06:28:33 +00:00
Thomas Vander Stichele
87ec30aa38 various cleanups and memleak plugging. make valgrind is happy now.
Original commit message from CVS:
various cleanups and memleak plugging.  make valgrind is happy now.
2005-09-18 21:24:55 +00:00
Wim Taymans
e1aeec6d77 Removed plugable schedulers.
Original commit message from CVS:
Removed plugable schedulers.
Removed Scheduler/Manager from elements.
Removed gsttypes.h, rearranged includes.
Removed dependency pad<->element, element<>pipeline, and
various others,  fix includes.
implement gst_pad_get_parent() with gst_object_get_parent()
Make GstTask sefcontained.
Fix _get_state() on GstBin, it did not return ASYNC with a 0
timeout.
Fix endless loop in iterator_fold_with_resync.
2005-07-18 12:49:53 +00:00
Andy Wingo
5016035bc6 gst/gstobject.c (gst_object_unref, gst_object_ref)
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.c (gst_object_unref, gst_object_ref)
(gst_object_sink): Take gpointer arguments, not GstObject --
avoids casts. Like GLib.
2005-06-28 09:17:14 +00:00
Andy Wingo
cc2d216e88 gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
(GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
* gst/gstobject.c (gst_object_class_init): Make the class lock
recursive. Wim won't let me drop deep_notify. Decodebin works
again, whoopdy doo.
2005-06-23 15:04:48 +00:00
Andy Wingo
4b908e33e0 gst/gstutils.c: RPAD fixes all around.
Original commit message from CVS:
2005-06-08  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c: RPAD fixes all around.
(gst_element_link_pads): Refcounting fixes.

* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
* parse/grammar.y:
* gst/base/gsttypefindhelper.c:
* gst/base/gstbasesink.c:
* gst/gstqueue.c: RPAD fixes.

* gst/gstghostpad.h:
* gst/gstghostpad.c: New ghost pad implementation as full proxy
pads. The tricky thing is they provide both source and sink
interfaces, since they proxy the internal pad for the external
pad, and vice versa. Implement with lower-level ProxyPad objects,
with the interior proxy pad as a child of the exterior ghost pad.
Should write a doc on this.

* gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
(gst_pad_set_name, gst_pad_set_parent): Macros removed, use
gst_object API.

* gst/gstpad.c: Big changes. No more stub base GstPad, now all
pads are real pads. No ghost pads in this file. Not documenting
the myriad s/RPAD/PAD/ and REALIZE fixes.
(gst_pad_class_init): Add properties for "direction" and
"template". Both are construct-only, so they can't change during
the life of the pad. Fixes properly deriving from GstPad.
(gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
derived objects, just set properties when creating the objects via
g_object_new.
(gst_pad_get_parent): Implement as a function, return NULL if the
parent is not an element.
(gst_pad_get_real_parent, gst_pad_add_ghost_pad)
(gst_pad_remove_ghost_pad, gst_pad_realize): Removed.

* gst/gstobject.c (gst_object_class_init): Make name a construct
property. Don't set it in the object init.

* gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
with UNKNOWN direction.
(gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
(gst_element_remove_pad): Remove ghost-pad special cases.
(gst_element_pads_activate): Remove rpad cruft.

* gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
catch the pad's-parent-not-an-element case.

* gst/gst.h: Include gstghostpad.h.

* gst/gst.c (init_post): No more real, ghost pads.

* gst/Makefile.am: Add gstghostpad.[ch].

* check/Makefile.am:
* check/gst/gstbin.c:
* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
into a bin creates ghost pads, and that the refcounts are right.
Partly moved from gstbin.c.
2005-06-08 22:16:27 +00:00
Wim Taymans
d2bf92842c gst/: Fix name lookup in GstBin.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_send_event), (compare_name),
(gst_bin_get_by_name):
* gst/gstbuffer.h:
* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
(gst_clock_finalize):
* gst/gstdata.c: (gst_data_replace):
* gst/gstdata.h:
* gst/gstelement.c: (gst_element_request_pad),
(gst_element_pads_activate):
* gst/gstobject.c: (gst_object_init), (gst_object_ref),
(gst_object_unref):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function),
(gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
(gst_pad_check_pull_range), (gst_pad_pull_range),
(gst_static_pad_template_get_caps), (gst_pad_start_task),
(gst_pad_pause_task), (gst_pad_stop_task):
* gst/gstutils.c: (gst_element_get_compatible_pad_template),
(gst_element_request_pad), (gst_pad_proxy_getcaps):
Fix name lookup in GstBin.
Added _data_replace() function and _buffer_replace()
Use finalize method to clean up clock.
Fix refcounting on request pads.
Fix pad schedule mode error.
Some more object refcounting debug info,
2005-05-05 09:28:01 +00:00
David Schleef
46e13eb5e2 Convert everything from GstAtomicInt to g_atomic_int_*, and remove gstatomic.
Original commit message from CVS:
Convert everything from GstAtomicInt to g_atomic_int_*, and
remove gstatomic.
* gst/Makefile.am:
* gst/gstatomic.c:
* gst/gstatomic.h:
* gst/gstatomic_impl.h:
* gst/gstbuffer.c:
* gst/gstcaps.c:
* gst/gstcaps.h:
* gst/gstclock.c:
* gst/gstclock.h:
* gst/gstdata.c:
* gst/gstdata.h:
* gst/gstdata_private.h:
* gst/gstevent.c:
* gst/gstinfo.c:
* gst/gstinfo.h:
* gst/gstmessage.c:
* gst/gstobject.c:
* gst/gstobject.h:
* gst/gststructure.c:
* gst/gststructure.h:
* gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
* gst/gstutils.h:
2005-04-24 22:49:45 +00:00
Thomas Vander Stichele
c6957f0e92 work with debug disabled
Original commit message from CVS:
work with debug disabled
2005-04-10 20:29:44 +00:00
Wim Taymans
b338085a29 Docs updates, clean up some headers.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-conventions.txt:
* docs/design/part-gstobject.txt:
* docs/design/part-relations.txt:
* docs/design/part-standards.txt:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
(gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
(gst_bin_get_by_name), (gst_bin_get_by_interface),
(gst_bin_iterate_all_by_interface):
* gst/gstbuffer.h:
* gst/gstclock.h:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_change_state), (gst_element_set_loop_function):
* gst/gstelement.h:
* gst/gstiterator.c:
* gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
(gst_object_unref), (gst_object_sink), (gst_object_dispose),
(gst_object_dispatch_properties_changed), (gst_object_set_name),
(gst_object_set_parent), (gst_object_unparent),
(gst_object_check_uniqueness):
* gst/gstobject.h:
Docs updates, clean up some headers.
Free iterators in GstBin.
GstObject is now looking good.
2005-03-08 14:38:06 +00:00
Wim Taymans
c47dc4d853 First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
2005-03-07 18:27:42 +00:00
Benjamin Otte
232f295af3 gst/: name objects by default, not in gst_element_factory_create. Allows using elements created with g_object_new. (f...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstobject.c: (gst_object_init),
(gst_object_set_name_default), (gst_object_set_name):
name objects by default, not in gst_element_factory_create. Allows
using elements created with g_object_new. (fixes #167283)
2005-02-19 13:02:45 +00:00
Thomas Vander Stichele
b848c8be0a docs/random/release: updates
Original commit message from CVS:
* docs/random/release:
updates
* gst/gst_private.h:
* gst/gstinfo.c:
* gst/gstobject.c:
move deep_notify logging to a new category
* gst/gstprobe.c:
* gst/gstprobe.h:
add stuff so bindings can wrap probes
2005-01-10 17:23:42 +00:00
Wim Taymans
6d42edd550 gst/: Aplied part of patch #157127: Cleanup of issues reported by sparse.
Original commit message from CVS:
reviewed by: Wim Taymans, Ronald Bultje.

* gst/cothreads.c: (cothread_create):
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_child_state_change_func):
* gst/gstbuffer.c: (gst_buffer_span):
* gst/gstelement.c: (gst_element_get_index),
(gst_element_get_event_masks), (gst_element_get_query_types),
(gst_element_get_formats):
* gst/gsterror.c: (_gst_core_errors_init),
(_gst_library_errors_init), (_gst_resource_errors_init),
(_gst_stream_errors_init):
* gst/gstobject.c: (gst_object_default_deep_notify):
* gst/gstpad.c: (gst_pad_get_event_masks),
(gst_pad_get_internal_links_default):
* gst/gstplugin.c: (gst_plugin_register_func),
(gst_plugin_get_module):
* gst/gststructure.c: (gst_structure_get_string),
(gst_structure_get_abbrs), (gst_structure_from_abbr),
(gst_structure_to_abbr):
* gst/gstutils.c: (gst_print_element_args):
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(setup_group_scheduler), (gst_opt_scheduler_iterate):
Aplied part of patch #157127: Cleanup of issues reported by
sparse.
Also do not try to use cothreads when there is no cothread
context yet.
2004-11-02 15:02:12 +00:00
Brian Cameron
c0aa2ff498 Correcting some debug messages so that they don't core dump on Solaris by passing in NULL values as strings.
Original commit message from CVS:
Correcting some debug messages so that they don't core dump on Solaris
by passing in NULL values as strings.
2004-07-28 20:12:49 +00:00
Thomas Vander Stichele
b3331d4771 clean up clock lifecycle. fixes #109831
Original commit message from CVS:
clean up clock lifecycle.  fixes #109831
2004-07-06 11:21:34 +00:00
Steve Lhomme
30128f9b16 Somehow a clean fix to the semi-private export
Original commit message from CVS:
Somehow a clean fix to the semi-private export
2004-06-12 13:45:17 +00:00
Steve Lhomme
f50188b8a0 Fix a bug to enable/disable DEBUG under MSVC
Original commit message from CVS:
Fix a bug to enable/disable DEBUG under MSVC
2004-06-12 10:51:35 +00:00
Thomas Vander Stichele
0d4983a512 add debug
Original commit message from CVS:
add debug
2004-04-13 10:44:12 +00:00
Benjamin Otte
3147797afb gst/: don't use memchunks for these objects, use malloc instead
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type):
* gst/gstclock.c: (gst_clock_get_type):
* gst/gstindex.c: (gst_index_get_type):
* gst/gstobject.c: (gst_object_get_type),
(gst_signal_object_get_type):
* gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
(gst_pad_template_get_type), (gst_ghost_pad_get_type):
* gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
* gst/gstqueue.c: (gst_queue_get_type):
* gst/gstregistry.c: (gst_registry_get_type):
* gst/gstsystemclock.c: (gst_system_clock_get_type):
* gst/gstthread.c: (gst_thread_get_type):
don't use memchunks for these objects, use malloc instead
2004-04-09 19:05:03 +00:00
Thomas Vander Stichele
7baa6c18e7 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:27:17 +00:00