Commit graph

153 commits

Author SHA1 Message Date
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 248dce3e13 gst/gst.c: Remove cpu-opt flag.
Original commit message from CVS:
* gst/gst.c: (gst_init_get_popt_table), (init_post),
(init_popt_callback):
Remove cpu-opt flag.
2005-05-30 15:46:15 +00:00
Thomas Vander Stichele cb9388c96e gst/: Make sure the class is reffed/unreffed once before threads can be used. Fixes #304551.
Original commit message from CVS:

* gst/gst.c:
* gst/gstmessage.c:
Make sure the class is reffed/unreffed once before threads can be
used.  Fixes #304551.
2005-05-17 17:50:41 +00:00
Andy Wingo 8970bda4ba gst/gstquery.h
Original commit message from CVS:
2005-05-06  Andy Wingo  <wingo@pobox.com>

* gst/gstquery.h
* gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
GstData, init a memchunk.
(standard_definitions): Add a few query types, deprecate a few.
(gst_query_get_type): New proc.
(_gst_query_copy, _gst_query_free, gst_query_new): GstData
implementation.
(gst_query_new_application, gst_query_get_structure): New public
procs.

* docs/design/draft-query.txt: Removed LINKS from the query types,
because all the rest can be dispatched to other pads -- seemed
ugly to have a query that couldn't be dispatched. internal_links
is fine as a pad method.

* gst/gstpad.h: Add query2 as a pad method, add the new functions
in gstpad.c, but maintain binary compatibility for the moment.
Will fix before 0.9 is out.

* gst/gstqueryutils.c:
* gst/gstqueryutils.h: New files, implement 3 methods for each
query type: parse_query, parse_response, and set. Probably need an
allocator as well.

* gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.

* gst/elements/gstfilesink.c (gst_filesink_query2):
* gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
query_types, and formats methods.

* gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
(gst_pad_set_query2_function): New functions.
(gst_real_pad_init): Set query2_default as the default query2
function. Basically just dispatches to internally linked pads.

Needs review!

* gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
without using the atomic operations. Only one thread can possibly
be accessing the data at this point. Changed so as to avoid
gst_atomic operations.
2005-05-06 21:41:22 +00:00
David Schleef a7abc22271 gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality is broken and should be implemented in a different li...
Original commit message from CVS:
* gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
is broken and should be implemented in a different library.
* gst/gst.c: (init_post): don't call _gst_cpu_initialize()
* gst/gst.h: remove gstcpu.h
* gst/gstcpu.c: remove
* gst/gstcpu.h: remove
* gst/Makefile.am.future: Remove this file.  It's ancient.
2005-03-26 22:07:53 +00:00
Wim Taymans c2f41a8906 Next big merge.
Original commit message from CVS:
Next big merge.
Added GstBus for mainloop integration.
Added GstMessage for sending notifications on the bus.
Added GstTask as an abstraction for pipeline entry points.
Removed GstThread.
Removed Schedulers.
Simplified GstQueue for multithreaded core.
Made _link threadsafe, removed old capsnego.
Added STREAM_LOCK and PREROLL_LOCK in GstPad.
Added pad blocking functions.
Reworked scheduling functions in GstPad to prepare for
scheduling updates soon.
Moved events out of data stream.
Simplified GstEvent types.
Added return values to push/pull.
Removed clocking from GstElement.
Added prototypes for state change function for next merge.
Removed iterate from bins and state change management.
Fixed some elements, disabled others for now.
Fixed -inspect and -launch.
Added check for GstBus.
2005-03-21 17:34:02 +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
Ronald S. Bultje 01a7744a76 gst/gst.c: Fix typo (#166269).
Original commit message from CVS:
* gst/gst.c: (gst_init_get_popt_table):
Fix typo (#166269).
2005-02-05 23:10:05 +00:00
Stefan Kost ca511598f4 added params for deprecation guards documented some more enums
Original commit message from CVS:
added params for deprecation guards
documented some more enums
2005-01-21 17:52:50 +00:00
Thomas Vander Stichele 3b69e254c4 doh, wrong patch
Original commit message from CVS:
doh, wrong patch
2005-01-13 16:50:49 +00:00
Thomas Vander Stichele 4a2df81cce docs/manual/quotes.xml: add a quote
Original commit message from CVS:
* docs/manual/quotes.xml:
add a quote
* configure.ac:
* gst/gst.c:
* gst/gstinfo.c:
add LIBDIR and move init message higher up so it's at the start
2004-11-11 15:40:00 +00:00
Stefan Kost b78ef6baa1 added better error reporting for plugin loading
Original commit message from CVS:
added better error reporting for plugin loading
2004-09-02 16:39:14 +00:00
Benjamin Otte fb9387cb91 gst/autoplug/gstspider.c: add a template for spider's sink
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_class_init),
(gst_spider_identity_plug):
add a template for spider's sink
* gst/gst.c: (gst_register_core_elements):
queue's rank should be NULL, we don't want spider to add it.
2004-08-22 13:00:46 +00:00
Benjamin Otte afc9c06eb5 gst/gst.c: fix for G_DISABLE_ASSERT
Original commit message from CVS:
* gst/gst.c: (gst_register_core_elements):
fix for G_DISABLE_ASSERT
* gst/gstinfo.c: (__gst_in_valgrind):
add for GST_DISABLE_DEBUG
2004-08-03 12:40:47 +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
Johan Dahlin b748b61e9f gst/gst.c (gst_init_check_with_popt_table): Do not fail on errors, like gtk. It makes it more useful in bindings.
Original commit message from CVS:
* gst/gst.c (gst_init_check_with_popt_table): Do not fail on
errors, like gtk. It makes it more useful in bindings.
2004-06-10 11:23:42 +00:00
Thomas Vander Stichele 7e0eba5ee0 add GST_DEBUG detection
Original commit message from CVS:
add GST_DEBUG detection
2004-06-03 16:50:50 +00:00
Benjamin Otte ab8fc54334 gst/: remove useless _gst_progname stuff
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstinfo.c:
remove useless _gst_progname stuff
* tools/gst-inspect.c: (print_field), (print_caps):
improve caps output
2004-04-29 01:44:13 +00:00
David Schleef 209c82ee06 docs/gst/gstreamer-sections.txt: More doc hacking.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:  More doc hacking.
* docs/gst/tmpl/gstaggregator.sgml:
* docs/gst/tmpl/gstautoplugfactory.sgml:
* docs/gst/tmpl/gstbin.sgml:
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstbufferstore.sgml:
* docs/gst/tmpl/gstfakesink.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* docs/gst/tmpl/gstmd5sink.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstsearchfuncs.sgml:
* docs/gst/tmpl/gstshaper.sgml:
* docs/gst/tmpl/gstspider.sgml:
* docs/gst/tmpl/gsttee.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* docs/gst/tmpl/gstxml.sgml:
* gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
and we don't support it.
* gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
(gst_use_threads), (gst_has_threads): same
* gst/gstthreaddummy.c: same
* gst/autoplug/gstspider.c: Make gst_spider_details static.
* gst/autoplug/gstspider.h: same
* gst/elements/gstaggregator.h: Remove bogus function from header
* gst/elements/gstfakesink.h: same
* gst/elements/gstfakesrc.h: same
* gst/elements/gstmd5sink.h: same
* gst/elements/gstshaper.h: same
* gst/elements/gsttee.h: same
* gst/gstbin.c: doc fixes
* gst/gstbin.h: Remove unused definition.
* gst/gstbuffer.c: doc fixes
* gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
* gst/gstfilter.c: doc fixes
* gst/gsttag.c: doc fixes
* gst/gstvalue.c: doc fixes
2004-03-26 03:46:16 +00:00
David Schleef ee50a6a3c3 gst/gst.c: Fix some gettext strings to make them easier to translate. Required making the strings non-const.
Original commit message from CVS:
* gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
(gst_init_check_with_popt_table):  Fix some gettext strings to
make them easier to translate.  Required making the strings
non-const.
2004-03-17 02:43:55 +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
Johan Dahlin 3798f1c4fa gst/gststructure.c (gst_structure_get_type): Ditto
Original commit message from CVS:
* gst/gststructure.c (gst_structure_get_type): Ditto

* gst/gststructure.h: Ditto
2004-03-12 19:35:40 +00:00
Johan Dahlin 37d2e6d087 gst/gst.c (init_post): call gst_caps_get_type() instead of _gst_caps_initalize()
Original commit message from CVS:
* gst/gst.c (init_post): call gst_caps_get_type() instead of
_gst_caps_initalize()

* gst/gstcaps.c: Style fixes, stay closer to glib and friends
(_gst_caps_initialize): Remove, in favor for gst_caps_get_type()

* gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
* gst/gstcaps.h: Clean up
2004-03-12 19:32:26 +00:00
Thomas Vander Stichele 4e298c0641 attach global instead of local registry to GST_REGISTRY
Original commit message from CVS:
attach global instead of local registry to GST_REGISTRY
2004-03-01 23:38:27 +00:00
Thomas Vander Stichele fdfb2b8232 configure.ac: remove whitespace
Original commit message from CVS:
* configure.ac:
remove whitespace
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstdata.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstxml.sgml:
doc update
* docs/manuals.mak:
add a FIXME
* docs/pwg/intro-preface.xml:
* docs/pwg/pwg.xml:
remove GNOME
* gst/gst.c: (init_post):
try GST_PLUGIN_PATH paths for the _global_registry first
* gst/gstelement.h:
add the error message as well, otherwise (null) debug info doesn't
make much sense
* tools/gst-register.c: (main):
spill paths to next registry if this registry is not writable
* po/fr.po:
* po/nl.po:
translation updates
2004-03-01 17:15:28 +00:00
Thomas Vander Stichele 94783aaebb merging from release branch
Original commit message from CVS:
merging from release branch
2004-02-26 17:02:49 +00:00
Thomas Vander Stichele 11466f9bbe fix name of core elements
Original commit message from CVS:
fix name of core elements
2004-02-10 10:30:24 +00:00
Thomas Vander Stichele 53898dac39 add GstPoptOption to work around evil poptOption struct def make sure popt is i18n'd expand gnome example
Original commit message from CVS:
add GstPoptOption to work around evil poptOption struct def
make sure popt is i18n'd
expand gnome example
2004-02-03 14:59:32 +00:00
Thomas Vander Stichele 21b3158d5d remove textdomain call
Original commit message from CVS:
remove textdomain call
2004-02-02 22:01:23 +00:00
Thomas Vander Stichele c8d60d688f fix translations change --gst-debug format
Original commit message from CVS:
fix translations
change --gst-debug format
2004-01-13 13:03:24 +00:00
Thomas Vander Stichele a4a1b6e958 capitalize popt options
Original commit message from CVS:
capitalize popt options
2004-01-13 12:46:47 +00:00
Thomas Vander Stichele 452268280e distcheck fixes
Original commit message from CVS:
distcheck fixes
2004-01-13 11:46:12 +00:00
Thomas Vander Stichele f5b464fd27 adding i18n tested with nl, seems to work fine
Original commit message from CVS:
adding i18n
tested with nl, seems to work fine
2004-01-13 11:30:00 +00:00
Thomas Vander Stichele dfedf4271f whitespace and doc style fixes
Original commit message from CVS:
whitespace and doc style fixes
2003-12-24 14:36:03 +00:00
David Schleef 8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Thomas Vander Stichele cdfe720faa rename option as suggested to avoid bad jokes :)
Original commit message from CVS:
rename option as suggested to avoid bad jokes :)
2003-12-16 12:20:54 +00:00
Thomas Vander Stichele a4f74f5eb4 implementing segfault handler for plugin loading
Original commit message from CVS:
implementing segfault handler for plugin loading
2003-12-15 12:44:35 +00:00
David Schleef 1cd87b37e5 Change GST_.*_PADDING to _gst_padding[GST_PADDING];
Original commit message from CVS:
Change GST_.*_PADDING to _gst_padding[GST_PADDING];
2003-12-09 02:39:31 +00:00
Andy Wingo 8ca1b1fe7f remove copyright field from plugin structs
Original commit message from CVS:
remove copyright field from plugin structs
2003-12-04 10:02:41 +00:00
David Schleef 57fcf33e5e Remove old autoplug code
Original commit message from CVS:
Remove old autoplug code
2003-11-29 05:29:30 +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
Ronald S. Bultje 858d9bde08 Disable i18n if it's not there - this fixes build issues with older versions of libgnomeui, i18n-tools, etc.
Original commit message from CVS:
Disable i18n if it's not there - this fixes build issues with older versions of libgnomeui, i18n-tools, etc.
2003-11-22 21:46:07 +00:00
Benjamin Otte 30842f709c improve debugging options:
Original commit message from CVS:
improve debugging options:
- don't compile in debug help if compiled with GST_DISABLE_GST_DEBUG
- load all plugins on gst_debug_help so that all debugging categories can be displayed
2003-11-18 15:31:30 +00:00
David Schleef 5539c318e7 Add GstStructure and GstValue
Original commit message from CVS:
Add GstStructure and GstValue
2003-11-03 09:10:07 +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
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
Iain Holmes 0ef614172a Update the --gst-debug help documentation
Original commit message from CVS:
Update the --gst-debug help documentation
2003-09-29 21:54:10 +00:00
David Schleef 4a3c752bca initialize gettext stuff, plus a few string i18ns
Original commit message from CVS:
initialize gettext stuff, plus a few string i18ns
2003-08-17 22:04:55 +00:00