Commit graph

121 commits

Author SHA1 Message Date
Thomas Vander Stichele
3537119465 I'm too lazy to comment this
Original commit message from CVS:
gtk-doc insists on inserting <PARA> at every empty line, sigh
2005-10-15 16:16:04 +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
Thomas Vander Stichele
9ffd425b5d signedness fixes
Original commit message from CVS:
signedness fixes
2005-10-15 00:15:43 +00:00
Stefan Kost
796a232d59 more docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelementfactory.c:
* gst/gstevent.c:
* gst/gsttaglist.c:
more docs
2005-10-08 18:07:20 +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
Andy Wingo
59479d47a3 gst/gstconfig.h.in: Psych out gtk-doc.
Original commit message from CVS:
2005-09-22  Andy Wingo  <wingo@pobox.com>

* gst/gstconfig.h.in: Psych out gtk-doc.

* docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.

* check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.

* tools/gst-inspect.c (print_element_list): Plug some
inconsequential leaks.

* gst/gstregistry.c (gst_registry_get_default): Doc.

* gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
* gst/gstelementfactory.c (gst_element_factory_create):
* gst/gstindexfactory.c (gst_index_factory_create): Update for
refcount changes.

* gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
(gst_plugin_feature_load): Doc, don't eat refs.

* gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
(gst_plugin_list_free): Doc.
(gst_plugin_load_file): Doc updates.
2005-09-22 12:05:05 +00:00
David Schleef
95c71e3b0f gst/gstelementfactory.c: Drink a little beer, fix a little leak.
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_make): Drink a
little beer, fix a little leak.
2005-09-21 07:37:02 +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
Thomas Vander Stichele
91cc8f969e check/Makefile.am: re-enable tests now that leaks are plugged
Original commit message from CVS:
* check/Makefile.am:
re-enable tests now that leaks are plugged
* check/gst/gst.c:
* check/gst/gstbin.c:
* check/gst/gstpipeline.c:
add some more tests while fixing leaks
* common/check.mak:
make sure binaries are uptodate when valgrinding/gdbing
* gst/gst.c:
* gst/gstelementfactory.c:
remove a ref too many, and add a FIXME for when we get
round to disposing of classes
* gst/gstplugin.c:
fix the refcounting when loading a plugin from a file and
the code pretends that the pointer is the same even though
of course it can change
* gst/gstpluginfeature.c:
unref plugins marked cached (a bit confusing as a name)
as the docs state should be done
various doc additions to explain refcounting
* gst/gstregistry.c:
* gst/gstregistryxml.c:
debugging
2005-09-19 14:09:54 +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
David Schleef
cb798ac570 check/Makefile.am: Fix environment variables.
Original commit message from CVS:
* check/Makefile.am: Fix environment variables.
* check/gst/gstplugin.c: Fix for API changes.
* tools/gst-inspect.c: Fix for API changes.
* tools/gst-xmlinspect.c: Fix for API changes.
* gst/gstelementfactory.c:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistry.c:
* gst/gstregistry.h:
* gst/gstregistryxml.c:
* gst/gsttypefind.c:
* gst/gsttypefindfactory.c:
* gst/indexers/gstfileindex.c:
* gst/indexers/gstmemindex.c:
* gst/schedulers/Makefile.am:
Change registry to keep track of both plugins and features,
removing the feature tracking from plugins themselves.
2005-09-18 06:59:25 +00:00
David Schleef
277ab581df Getting tired of debugging. Disabled all the unreffing of plugins and features, which fixes the segfaults, but of co...
Original commit message from CVS:
* check/gst/gstplugin.c:
* gst/gstelementfactory.c:
* gst/gstplugin.c:
* gst/gstpluginfeature.c:
* gst/gstregistry.c:
Getting tired of debugging.  Disabled all the unreffing of
plugins and features, which fixes the segfaults, but of
course leaks like crazy.  At least playbin works.
2005-09-16 04:54:24 +00:00
David Schleef
a3bac0703c remove
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gst_private.h:
* gst/gstelementfactory.c:
* gst/gstindex.c:
* gst/gstinfo.c:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistry.c:
* gst/gstregistry.h:
* gst/gstregistrypool.c: remove
* gst/gstregistrypool.h: remove
* gst/gsttypefind.c:
* gst/gsttypefindfactory.c:
* gst/gsturi.c:
* tools/Makefile.am:
* tools/gst-compprep.c:
* tools/gst-inspect.c:
* tools/gst-register.c: remove
* tools/gst-xmlinspect.c:
Registry rewrite.  Changes registry from being a file created
by a tool into a simple cache file created automatically by
libgstreamer.  Removed gst-register (because it's no longer
needed).  Remove registry pools, because we only have one
registry implementation (XML).  Fix up other subsystems as
necessary.
2005-09-15 00:13:26 +00:00
Stefan Kost
407c5a4116 merged elementdetails docs into elementfactory docs inlined both
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstelementdetails.sgml:
* docs/gst/tmpl/gstelementfactory.sgml:
* gst/gst.c:
* gst/gstbus.c:
* gst/gstelementfactory.c:
* gst/gstelementfactory.h:
merged elementdetails docs into elementfactory docs
inlined both
2005-09-02 17:23:06 +00:00
Thomas Vander Stichele
48464956ca check/gst/gstbin.c: add test for state change message on a bin
Original commit message from CVS:

* check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
add test for state change message on a bin
* check/gst/gstelement.c: (START_TEST), (gst_element_suite):
add another test
* gst/gstbin.c: (gst_bin_init):
* gst/gstbus.c: (gst_bus_init), (gst_bus_post):
* gst/gstelement.c: (gst_element_post_message),
(gst_element_set_state):
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstmessage.c: (gst_message_new):
* gst/gstscheduler.c:
various debugging additions and cleanups
2005-07-09 15:18:53 +00:00
Edward Hervey
6aa149a930 gst/: Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added the definition to the header file.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstutils.h:
* gst/gstutils.c:
Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
the definition to the header file.
2005-06-29 15:17:25 +00:00
Thomas Vander Stichele
41a8de905b add a debug line
Original commit message from CVS:
add a debug line
2005-06-08 13:41:05 +00:00
Ronald S. Bultje
560d0ba1de Use libxml2 for registry parsing, use staticpadtemplates in elementfactories. Makes gst_init() +/- 10x faster.
Original commit message from CVS:
* docs/gst/tmpl/gstelementfactory.sgml:
* gst/gstelement.h:
* gst/gstelementfactory.c: (gst_element_factory_init),
(gst_element_factory_cleanup), (gst_element_register),
(__gst_element_factory_add_static_pad_template),
(gst_element_factory_get_static_pad_templates),
(gst_element_factory_can_src_caps),
(gst_element_factory_can_sink_caps):
* gst/registries/Makefile.am:
* gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
(gst_xml_registry_class_init), (gst_xml_registry_init),
(gst_xml_registry_new), (gst_xml_registry_set_property),
(gst_xml_registry_get_property), (get_time), (make_dir),
(gst_xml_registry_get_perms_func),
(plugin_times_older_than_recurse), (plugin_times_older_than),
(gst_xml_registry_open_func), (gst_xml_registry_load_func),
(gst_xml_registry_save_func), (gst_xml_registry_close_func),
(add_to_char_array), (read_string), (read_uint), (read_enum),
(load_pad_template), (load_feature), (load_plugin), (load_paths),
(gst_xml_registry_load), (gst_xml_registry_load_plugin),
(gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
(gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
(gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
(gst_xml_registry_rebuild):
* gst/registries/gstlibxmlregistry.h:
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_pad_templates_info):
* tools/gst-xmlinspect.c: (print_element_info):
Use libxml2 for registry parsing, use staticpadtemplates in
elementfactories. Makes gst_init() +/- 10x faster.
2005-04-12 15:00:30 +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
Ronald S. Bultje
a5075440e6 gst/gstelementfactory.c: Fix compile failure if compiling without libxml2 support (#149936).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstelementfactory.c: (gst_element_factory_create):
Fix compile failure if compiling without libxml2 support (#149936).
2004-12-16 10:40:05 +00:00
Benjamin Otte
2bd5f3ad46 gst/gstpad.c: check that caps are fixed
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_explicit_caps):
check that caps are fixed
* gst/gstpad.c: (gst_pad_template_new):
don't try to simplify caps, costs too much time on gst_init
* gst/gstplugin.c: (gst_plugin_add_feature):
G_ERROR if features are added twice
* gst/gsttypefind.c: (gst_type_find_register):
* gst/gstelementfactory.c: (gst_element_register):
don't add features twice
* docs/random/ds/0.9-suggested-changes:
add note about possible gst_init optimization
2004-07-29 15:29:37 +00:00
Benjamin Otte
9574c7851f gst/gstelementfactory.c: set the factory in the class struct, so gst_element_get_factory actually works
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
set the factory in the class struct, so gst_element_get_factory
actually works
* gst/parse/grammar.y:
set element to playing when it gets unlocked as we can't rely on the
bin state - all elements in the bin state might still be locked in
NULL)
2004-07-22 16:14:56 +00:00
Thomas Vander Stichele
f8e7ca6ea9 fix for 147929: [PATCH] running gst-register in non-utf8 locale can cause invalid registry
Original commit message from CVS:
fix for 147929: [PATCH] running gst-register in non-utf8 locale can cause invalid registry
2004-07-20 10:18:48 +00:00
Benjamin Otte
3183fa7060 gst/gstelementfactory.c: make the freakin "elementfactory bla has no type" message more useful. So we actually can do...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_create):
make the freakin "elementfactory bla has no type" message more
useful. So we actually can do something when someone shows up
complaining about it.
2004-06-16 21:06:50 +00:00
Benjamin Otte
beb197fd35 gst/autoplug/gstspider.c: don't ref the element, adding already reffed it. And we didn't unref it later anyway... (hu...
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_link_add):
don't ref the element, adding already reffed it. And we didn't unref
it later anyway... (huge memleak when you used many spider elements)
* gst/gstelement.c: (gst_element_base_class_finalize):
* gst/gstelementfactory.c: (gst_element_factory_cleanup),
(gst_element_register):
* gst/gsturi.c: (gst_element_make_from_uri):
use gst_object_(un)ref instead of g_object(un)ref
2004-04-06 19:45:27 +00:00
Thomas Vander Stichele
0a602d04e0 more doc fixes
Original commit message from CVS:
more doc fixes
2004-03-30 09:15:47 +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
Thomas Vander Stichele
a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
Andy Wingo
cded585aa2 gst/: Debugging tweaks.
Original commit message from CVS:
2004-02-20  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c:
* gst/gstbuffer.c:
* gst/gstplugin.c:
* gst/registries/gstxmlregistry.c:
* gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.

* gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
(gst_element_add_pad): DEBUG->INFO, some fixes.
(gst_element_get_compatible_pad_template): Just see if the
templates' caps intersect, not if one is a strict subset of the
other. This conforms more to what gst_pad_link_intersect() does.
(gst_element_class_add_pad_template): Don't memcpy the pad
template, just ref it.
(gst_element_get_compatible_pad_filtered): Clean up debug messages

* gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
(gst_pad_link_filtered): Debug changes.
(gst_pad_link_prepare): New function, consolidated from
can_link_filtered and link_filtered.

* gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
look more like that of the functions in gstelement.c

* gst/gstinfo.c (gst_debug_print_object): Put a space before the
object, and return the empty string if object is NULL.

* gst/parse/parse.l: Remove trailing newlines when calling PRINT.
* gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
LOG, not DEBUG. We still get flex info on debug.

* gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
debug string more verbose.
(plugin_times_older_than): DEBUG->LOG.
2004-02-20 13:18:32 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Benjamin Otte
25f85868d4 implement URI schemes
Original commit message from CVS:
implement URI schemes
Elements can now register as a source or sink for a protocol and applications can use gst_element_make_from_uri () to get an element that handles a given URI.
This patch provides:
- removal of old broken URI handling scheme.
- new URI handling using interfaces.
- updates for registry to save handled URIs.
- interface for URI handlers.
- implementation of that in filesrc and filesink for the file:// URI
- extension to pipeline parsing to allow specifying only a URI instead of element

Does not include:
- tests
- inclusion in docs build
2003-11-24 03:21:54 +00:00
Benjamin Otte
385b9ee5c4 merge in tagging
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1

Does not include:
- including tagging stuff in docs
- extensive tests
2003-11-24 02:09:23 +00:00
Andy Wingo
ad008198e0 fix an old bug traversing pad template lists, and change _padtemplates to _pad_templates in new functions
Original commit message from CVS:
fix an old bug traversing pad template lists, and change _padtemplates to _pad_templates in new functions
2003-11-11 12:34:15 +00:00
Ronald S. Bultje
9abb3e0669 XML, gst-editor, gst-rec and anything that's not based on spider is now broken. This re-fixes it.
Original commit message from CVS:
XML, gst-editor, gst-rec and anything that's not based on spider is now broken. This re-fixes it.
2003-11-02 16:46:12 +00:00
Benjamin Otte
4180066759 implement 'gst_element_factory_find_from_element' to replace gst_element_get_factory
Original commit message from CVS:
implement 'gst_element_factory_find_from_element' to replace gst_element_get_factory
2003-11-02 16:24:22 +00:00
Benjamin Otte
907e3e97d9 update plugin initialization restructuring (see email for details
Original commit message from CVS:
update plugin initialization restructuring (see email for details
2003-10-31 19:32:47 +00:00
Ronald S. Bultje
9d570688de Remove duplicate rank field (fixes #119510)
Original commit message from CVS:
Remove duplicate rank field (fixes #119510)
2003-08-18 21:14:16 +00:00
Andy Wingo
73f2d45295 some formatting and doc fixes, and make gstdebug output line up
Original commit message from CVS:
some formatting and doc fixes, and make gstdebug output line up
2003-07-16 15:49:40 +00:00
Benjamin Otte
76ea441abf make sure we have sane element details - this breaks some plugins, fix them :)
Original commit message from CVS:
make sure we have sane element details - this breaks some plugins, fix them :)
2003-07-08 16:17:33 +00:00
Benjamin Otte
433bea4d7d debugging cleanup
Original commit message from CVS:
debugging cleanup
2003-07-05 15:05:23 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Andy Wingo
4d278e135a set GstElement->elementfactory before creating any instances; doc updates for deep_notify
Original commit message from CVS:
set GstElement->elementfactory before creating any instances; doc updates for deep_notify
2003-06-16 15:08:34 +00:00
Benjamin Otte
33ef3f7d4d make gst-launch --gst-mask=-1 fakesrc ! fakesink work on Solaris
Original commit message from CVS:
make gst-launch --gst-mask=-1 fakesrc ! fakesink work on Solaris
2003-05-02 20:07:45 +00:00
Martin Schulze
df2f947370 gst/gstelementfactory.c: Add "g_free (dp->license)" in gst_element_details_free().
Original commit message from CVS:
2003-03-29  Martin Schulze  <MHL.Schulze@t-online.de>

* gst/gstelementfactory.c: Add "g_free (dp->license)" in
gst_element_details_free().
* gst/gstevent.[ch]: Add function gst_event_get_type() to
support c++ language binding. Make macros gst_event_ref[_by_count]
return a GstEvent* instead of a GstData*.
* gst/gstbuffer.[ch]: Add functions gst_buffer[_pool]_get_type()
to support c++ language binding.
2003-03-29 11:58:15 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Wim Taymans
6ad8197d61 - implement FLOATING flag on caps/props
Original commit message from CVS:
- implement FLOATING flag on caps/props
- use gstmemchunk for caps/props
- implement remove_entry for props
- various refcounting functions
- fix refcounting on caps/props
- use tracing for caps/props/propsentries
- fix memleak in transform functions
- fix refcounting on elementfactory padtemplates
- add dispose for padtemplates
- shortcut pad negotiation early on
2003-02-02 19:58:11 +00:00
Wim Taymans
06fe035ae4 - properly ref/unref scheduler and clock in gstelement
Original commit message from CVS:
- properly ref/unref scheduler and clock in gstelement
- ref/unref clock in scheduler
- better cleanup in element factory
2003-01-17 18:50:07 +00:00
David I. Lehn
86fddd8349 use plugin feature api vs gstobject api
Original commit message from CVS:
use plugin feature api vs gstobject api
2002-11-01 22:05:28 +00:00
Thomas Vander Stichele
731b554fd8 code cleanup and API change (gst_caps_check_compatibility -> gst_caps_is_always_compatible)
Original commit message from CVS:
code cleanup and API change
(gst_caps_check_compatibility -> gst_caps_is_always_compatible)
2002-10-02 07:51:54 +00:00