Commit graph

62 commits

Author SHA1 Message Date
Tim-Philipp Müller
94029e9d71 gst/gsttypefind.c: Make gst_type_find_register work for static typefind functions, ie. allow passing plugin == NULL (...
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_register):
Make gst_type_find_register work for static typefind functions,
ie. allow passing plugin == NULL (prerequisite for #498924).
* gst/gstelementfactory.c: (gst_element_register):
Small docs addition.
2007-12-21 20:58:23 +00:00
Tim-Philipp Müller
0ef9a5f5b1 Makefile.am: Add check-exports target and run it as part of 'make check' (see #499140 and #493983).
Original commit message from CVS:
* Makefile.am:
Add check-exports target and run it as part of 'make check'
(see #499140 and #493983).
* gst/gst_private.h:
* gst/gstelementfactory.h:
* gst/gstghostpad.c: (gst_proxy_pad_class_init):
* gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
(_priv_gst_in_valgrind):
* gst/gstinfo.h: (GstLogFunction):
* gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_register):
* gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_factory_get_type):
* libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
(gst_controller_new_valist), (gst_controller_new_list),
(_gst_controller_dispose), (_gst_controller_class_init):
* libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
* libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
(gst_object_get_controller), (gst_object_set_controller),
(gst_object_suggest_next_sync), (gst_object_sync_values),
(gst_object_set_control_source), (gst_object_get_control_source),
(gst_object_get_value_arrays), (gst_object_get_value_array),
(gst_object_get_control_rate), (gst_object_set_control_rate):
* libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
* libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
Make some functions that should be static static; rename some
private symbols so that they don't get exported; add some FIXME
comments so we can move accidentally exported functions into
our private section in 0.11.
* win32/common/libgstreamer.def:
Add gst_utils_get_timestamp().
2007-12-12 23:20:00 +00:00
Tim-Philipp Müller
f134968058 gst/: Use already-interned string for the private GstPluginFeature plugin_name field.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
* gst/gsttypefind.c:
Use already-interned string for the private GstPluginFeature
plugin_name field.
2007-10-13 17:20:09 +00:00
Thomas Vander Stichele
649045a64b doc indent fix
Original commit message from CVS:
doc indent fix
2006-05-24 09:00:47 +00:00
Edward Hervey
d28f3fe4be gst/gsttypefind.*: Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets registered for GstTypeFind p...
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_get_type):
* gst/gsttypefind.h:
Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
registered for GstTypeFind pointers. This allows wrapping the structure
in bindings (i.e. gst-python).
2006-05-18 14:25:00 +00:00
Thomas Vander Stichele
288f61d21f expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:29:15 +00:00
Edward Hervey
0db5df88fc gst/: Fix memory leak in GstTypeFindFactory.
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_register):
* gst/gsttypefind.h:
* gst/gsttypefindfactory.c: (gst_type_find_factory_init),
(gst_type_find_factory_dispose):
* gst/gsttypefindfactory.h:
Fix memory leak in GstTypeFindFactory.
2005-11-29 23:56:20 +00:00
Edward Hervey
04b5f119c6 gst/:
Original commit message from CVS:
* gst/base/gsttypefindhelper.c:
* gst/gsttypefind.c:
* gst/gsttypefind.h:
2005-11-09 16:44:40 +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
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
02bde78085 check/gst/gstplugin.c: More testing
Original commit message from CVS:
* check/gst/gstplugin.c: (register_check_elements),
(GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
More testing
* gst/elements/gsttypefindelement.c: Fix refcounting.
* gst/gsttypefind.c:
* gst/gsttypefindfactory.c:
* gst/gsttypefindfactory.h:
2005-09-16 03:46:14 +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
628f773e65 gst/: splitted gsttypefind into gsttypefind, gsttypefindfactory
Original commit message from CVS:
* gst/Makefile.am:
* gst/elements/gstbufferstore.h:
* gst/elements/gsttypefindelement.c:
* gst/elements/gsttypefindelement.h:
* gst/gst.h:
* gst/gsttypefind.c:
* gst/gsttypefind.h:
* gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
(gst_type_find_factory_class_init), (gst_type_find_factory_init),
(gst_type_find_factory_dispose),
(gst_type_find_factory_unload_thyself),
(gst_type_find_load_plugin), (gst_type_find_factory_get_list),
(gst_type_find_factory_get_caps),
(gst_type_find_factory_get_extensions),
(gst_type_find_factory_call_function):
* gst/gsttypefindfactory.h:
* gst/registries/gstlibxmlregistry.c:
* gst/registries/gstxmlregistry.c:
splitted gsttypefind into gsttypefind, gsttypefindfactory
2005-09-07 12:35:23 +00:00
Stefan Kost
6f89a64207 check/pipelines/simple_launch_lines.c: test for pipe!=NULL
Original commit message from CVS:
* check/pipelines/simple_launch_lines.c: (run_pipeline):
test for pipe!=NULL
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstmemchunk.sgml:
* docs/gst/tmpl/gstparse.sgml:
* docs/gst/tmpl/gsttaglist.sgml:
* docs/gst/tmpl/gsttagsetter.sgml:
* docs/gst/tmpl/gsttypefind.sgml:
* docs/gst/tmpl/gsttypefindfactory.sgml:
* gst/gstmemchunk.c:
* gst/gstparse.c:
* gst/gsttag.c:
* gst/gsttaginterface.c:
* gst/gsttypefind.c:
* gst/gsttypefind.h:
inlined more docs
2005-09-06 22:03:01 +00:00
Wim Taymans
ee13415b38 gst/: Make gst_caps_replace() work like other _replace() functions.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_base_init),
(gst_basesink_pad_getcaps), (gst_basesink_init),
(gst_basesink_chain_unlocked):
* gst/base/gsttypefindhelper.c: (helper_find_suggest),
(gst_type_find_helper):
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init),
(stop_typefinding), (gst_type_find_element_handle_event),
(find_suggest), (gst_type_find_element_chain),
(gst_type_find_element_checkgetrange),
(gst_type_find_element_getrange), (do_typefind),
(gst_type_find_element_activate):
* gst/gstbuffer.c: (_gst_buffer_sub_free),
(gst_buffer_default_free), (gst_buffer_default_copy),
(gst_buffer_set_caps):
* gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
(gst_caps_replace):
* gst/gstmessage.c: (gst_message_new),
(gst_message_new_state_changed):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function),
(gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
(gst_pad_set_caps), (gst_pad_check_pull_range),
(gst_pad_pull_range), (gst_static_pad_template_get_caps):
* gst/gstpad.h:
* gst/gsttypefind.c: (gst_type_find_register):
Make gst_caps_replace() work like other _replace() functions.
Use _caps_replace() where possible.
Make sure _message_new() initialises its field.
Add gst_static_pad_template_get_caps()
2005-04-20 09:10:42 +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
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
Thomas Vander Stichele
f55a8091a6 remove gst_info remove gstlog.h, fold back to gstinfo.h update translations
Original commit message from CVS:
remove gst_info
remove gstlog.h, fold back to gstinfo.h
update translations
2004-05-03 16:03:24 +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
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +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
David Schleef
16fccf325d Allow NULL to be a valid value for factory->extensions.
Original commit message from CVS:
Allow NULL to be a valid value for factory->extensions.
2003-10-29 23:10:49 +00:00
Benjamin Otte
3235f1d4c0 merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- bytestream is out of the core again
- typefind element is now part of gstelements
2003-10-28 20:25:30 +00:00
Ronald S. Bultje
6fbff1c106 New typefind system: bytestream is now part of the core all plugins have been modified to use this new typefind syste...
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
2003-10-01 13:11:45 +00:00
Thomas Vander Stichele
c4c3c998df reverting error patches before making a branch.
Original commit message from CVS:
reverting error patches before making a branch.
2003-09-16 09:57:31 +00:00
Benjamin Otte
be1eaa4de3 implement translatable error messages using gerror.
Original commit message from CVS:
implement translatable error messages using gerror.

Includes bugfixes for:
- crash when unlinking Ghostpads
- make *_PAD_* macros use glib casts
- make spider typefinding merge buffers correctly
2003-09-14 19:49:32 +00:00
David Schleef
a331a7a82e But you can't use G_TYPE_BOXED in a signal. Changing to G_TYPE_POINTER until code is added to register a type for Gs...
Original commit message from CVS:
But you can't use G_TYPE_BOXED in a signal.  Changing to G_TYPE_POINTER
until code is added to register a type for GstCaps.
2003-07-24 08:59:05 +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
Ronald S. Bultje
e46a8e3add GstCaps is not a GObject but a boxed-type
Original commit message from CVS:
GstCaps is not a GObject but a boxed-type
2003-05-29 09:31:51 +00:00
Ronald S. Bultje
12d80b1964 Fix type definition bug plus missing argument for callback
Original commit message from CVS:
Fix type definition bug plus missing argument for callback
2003-05-26 06:15:27 +00:00
Benjamin Otte
f3fad44a00 don't error out on max-buffers = 0
Original commit message from CVS:
don't error out on max-buffers = 0
2003-04-13 00:55:08 +00:00
Wim Taymans
8e19b6a4d4 - Error after configurable number of buffers
Original commit message from CVS:
- Error after configurable number of buffers
2003-01-17 20:41:04 +00:00
Thomas Vander Stichele
de8df7b917 style stuff
Original commit message from CVS:
style stuff
2002-10-29 17:36:41 +00:00
Andy Wingo
c92874adad licenses, ugg
Original commit message from CVS:
licenses, ugg
2002-09-29 18:12:52 +00:00
Ronald S. Bultje
5b5274daf2 This changes an important part of the plugin API, gst_pad_try_set_caps() no longer returns a boolean, it now returns ...
Original commit message from CVS:
This changes an important part of the plugin API, gst_pad_try_set_caps() no longer returns a boolean, it now returns a GstPadConnectReturn, which makes much more sense than a boolean. All plugins have also been changed, so don't worry ;)
2002-09-10 08:52:58 +00:00
Wim Taymans
ae87d97cb2 - Removed unused locking from the cothreads
Original commit message from CVS:
- Removed unused locking from the cothreads
- use G_*_DECLS in .h files
- remove gstlog.h include from gstobject.h, add to .c files
- removed unused refcounting code from gstobject
- small fixes in #includes
- Added Scheduling policy and priority properties to gstthread so that
SCHED_FIFO and SCHED_RR threads can be constructed.
2002-07-08 19:07:30 +00:00
Wim Taymans
086de421dc Totally rewritten registry handling.
Original commit message from CVS:
Totally rewritten registry handling.
- move the registry save/load code into a gstregistry subclass, this
will make it possible to use other registries (flat file, web based,
RDBMS type, etc..)
- a simple GMarkup xml registry is implemented
- use standard statically linked plugins for core elements.
- GstPlugin has a very well defined set of functions now
A little bytestream hack..
Added more info to -inspect.
Some more debugging info for clocking.
Small cleanups

I use ./gst-register --gst-plugin-path=/opt/src/sourceforge/gst-plugins/gst-libs:/opt/src/sourceforge/gst-plugins/
to register core and gst-plugins now.
2002-05-08 20:40:48 +00:00
Andy Wingo
8d198fed21 a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
2002-04-20 21:42:53 +00:00
Benjamin Otte
8cd991a9d6 - make all _get_list functions return a const reference to original lists and no copy
Original commit message from CVS:
- make all _get_list functions return a const reference to original lists and no copy
- redo code accordingly
- fix compile issue in dparam stuff
2002-04-19 19:49:41 +00:00
Andy Wingo
b214d35eed commit to make gstreamer follow the gtk function/macro naming conventions:
Original commit message from CVS:
commit to make gstreamer follow the gtk function/macro naming conventions:

GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

and the same for *factory and typefind.
2002-04-11 20:35:18 +00:00
Andy Wingo
ed9b628168 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:07:09 +00:00
Benjamin Otte
9cc2acfe9b warning: unused variable 'oldstate'
Original commit message from CVS:
warning: unused variable 'oldstate'
2002-03-05 08:28:22 +00:00
Andy Wingo
2cb0dd9d9b many fixes related to dynamic pipelines.
Original commit message from CVS:
* many fixes related to dynamic pipelines.
* addition of gst_element_disconnect_elements(), as per connect_elements()
* don't have a cow if typefind changes state in its signal handlers
* support of request pad -> request pad in connect_elements()
* some fixes in int2float that will eventually need to be ported to float2int and
adder

the gstelement api is getting bloated, expect a rewrite within the next month.
2002-02-18 00:40:56 +00:00
Wim Taymans
b1bcc1875c Delay pad negotiation until the element is in READY or higher. this will gice the element a chance to open its device...
Original commit message from CVS:
Delay pad negotiation until the element is in READY or higher. this will
gice the element a chance to open its devices before we start calling the
connect functions.
Make sure we use the real pad in the negotiation.
Some other small cleanups.
2002-01-20 11:55:35 +00:00
Wim Taymans
b2ee38575d Landed the new improved capsnegotiation system.
Original commit message from CVS:
Landed the new improved capsnegotiation system.
The main idea is to keep track of the possible data types that can
pass through a connection. plugins can at any time inspect, adjust and
refine these caps. plugins also get notified when something changes to
the types so that they can reconfigure themselves.
Look at the updated plugins and the soon to be finished doc.
2002-01-13 22:22:42 +00:00
Wim Taymans
7ec6702121 Better, cleaner state management of the scheduler by adding scheduler state flags.
Original commit message from CVS:
Better, cleaner state management of the scheduler by adding scheduler state
flags.
typefind has to interrupt instead of yield.
Fix a leak in the queue when it's dropping buffers.
2001-12-24 15:14:03 +00:00
Wim Taymans
467035ce70 Never destroy the current cothread.
Original commit message from CVS:
Never destroy the current cothread.
Don't try to signal the scheduler if we don't have one
2001-12-22 23:19:17 +00:00
Wim Taymans
087dee1f62 This is an attempt at not segfaulting on errors but reporting some usefull info instead.
Original commit message from CVS:
This is an attempt at not segfaulting on errors but reporting some
usefull info instead.
- bin changes so errors can propagate.
- changed the _FAST macros to _CAST because that is what they do.
- removed all references to cothreads out of the core, they are
really a scheduler issue, handler with a sched_private gpointer.
- added a live buffer count, for debugging buffer leaks.
- added error checking in gst_scheduler_state_transition this solves the
"out of cothreads" problem.
- GST_ELEMENT_NO_ENTRY == GST_ELEMENT_INFINITE_LOOP
- added 2 private element flasg for use by the scheduler
(_COTHREAD_STOPPING) is now
- added scheduler entry points:
- _yield : to create possible scheduling points.
- _interrupt: to stop execution of an element.
- _error: to signal en error condition to the scheduler.
- improved error messages for pads.
- signal gst_element_error where appropriate.
- added the a new bin to the parent before entering it so one can reference
its children.
- queue memleak fixes on dispose.
- added possible deadlock detection in queue (turned off be default)
- GstBasicScheduler is a real class of its own now, hiding its internal
variables.
- GST_ELEMENT_IS_COTHREAD_STOPPING is gone. either call explicit _yield
operations, or make a sane loop.
- Better state change handling in filesrc. Better error reporting/recovery
too.
- updated core plugins.
- detect non decoupled elements on scheduler boundries and error.
2001-12-22 21:18:17 +00:00