Commit graph

2115 commits

Author SHA1 Message Date
Martin Soto
78640b89c0 gst/gstelement.*: New function for setting element time taking into account a hardware buffering delay.
Original commit message from CVS:
* gst/gstelement.h:
* gst/gstelement.c (gst_element_set_time_delay): New function for
setting element time taking into account a hardware buffering
delay.
(gst_element_set_time): Now just an invocation of
gst_element_set_time_delay.
* gst/gstclock.h:
* gst/gstclock.c (gst_clock_get_event_time_delay): New function
allowing to set event times in the future.
(gst_clock_get_event_time): Now just an invocation of
gst_clock_get_event_time_delay.
2004-03-28 13:15:21 +00:00
Benjamin Otte
b2067f5593 more brown paperbags, i can really start to go shopping soon
Original commit message from CVS:
more brown paperbags, i can really start to go shopping soon
2004-03-28 02:39:59 +00:00
Benjamin Otte
e93d031caa brown paperbag
Original commit message from CVS:
brown paperbag
2004-03-28 02:37:52 +00:00
Benjamin Otte
c29e35436f gst/gstbin.c: don't add decoupled elements to schedulers - otherwise it's impossible to control if a link to a decoup...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_set_element_sched),
(gst_bin_unset_element_sched):
don't add decoupled elements to schedulers - otherwise it's
impossible to control if a link to a decoupled element was already
removed from a scheduler or not.
* gst/schedulers/cothreads_compat.h:
* gst/schedulers/gthread-cothreads.h:
add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
is no "unused" warning.
* gst/schedulers/Makefile.am:
* gst/schedulers/entryscheduler.c:
add new scheduler, based on ideas from talking to David and Martin.
It's supposed to be small and correct. Currently it's also slow (but
it's not noticable)
* examples/retag/retag.c: (main):
* testsuite/bytestream/test1.c: (main):
fix missing NULLs at end of variadic functions
* testsuite/elements/.cvsignore:
update
2004-03-28 02:29:24 +00:00
Jan Schmidt
734bd34a92 Added GST_EVENT_ANY as an event type that passes a GstStructure
Original commit message from CVS:
Added GST_EVENT_ANY as an event type that passes a GstStructure
2004-03-27 15:30:41 +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
Benjamin Otte
7f6e97ebe9 gst/schedulers/: fix GStreamer to not have issues with lvalue casts anymore (fixes some bug, but bugzilla is down)
Original commit message from CVS:
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_src_wrapper):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
(pad_clear_queued), (gst_opt_scheduler_add_element),
(gst_opt_scheduler_remove_element):
fix GStreamer to not have issues with lvalue casts anymore (fixes
some bug, but bugzilla is down)
2004-03-24 14:06:48 +00:00
Benjamin Otte
0c01133df9 gst/gstelement.c: add documentation about a gobject quirk where the object hasn't the correct class pointer set on in...
Original commit message from CVS:
* gst/gstelement.c:
add documentation about a gobject quirk where the object hasn't the
correct class pointer set on initialization
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_src_wrapper):
make sure to not run into an infinite loop
2004-03-24 13:38:17 +00:00
Benjamin Otte
58a5ccec56 gst/gstutils.*: first argument of gst_util_dump_mem should be const
Original commit message from CVS:
* gst/gstutils.c: (gst_util_dump_mem):
* gst/gstutils.h:
first argument of gst_util_dump_mem should be const
2004-03-22 22:23:50 +00:00
Johan Dahlin
f9f0df62e8 gst/gstvalue.h: Clean up a little bit.
Original commit message from CVS:
* gst/gstvalue.h: Clean up a little bit.
2004-03-22 15:35:06 +00:00
Benjamin Otte
c903ce8a27 gst/: clean up used memory in this elements correctly on teardown (closes #137279)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/autoplug/gstspider.c: (gst_spider_dispose):
* gst/elements/gstaggregator.c: (gst_aggregator_finalize),
(gst_aggregator_class_init), (gst_aggregator_init):
* gst/elements/gstfilesrc.c: (gst_filesrc_init),
(gst_filesrc_dispose), (gst_filesrc_set_location):
* gst/elements/gstidentity.c: (gst_identity_finalize),
(gst_identity_class_init), (gst_identity_chain):
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
* gst/elements/gststatistics.c: (gst_statistics_finalize),
(gst_statistics_class_init):
* gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
(gst_tee_get_property):
clean up used memory in this elements correctly on teardown (closes
#137279)
2004-03-21 03:22:55 +00:00
Colin Walters
5dce08af99 gst/registries/gstxmlregistry.c: Make registry saving atomic.
Original commit message from CVS:
2004-03-20  Colin Walters  <walters@verbum.org>

* gst/registries/gstxmlregistry.c:
(gst_xml_registry_open_func, gst_xml_registry_close_func): Make
registry saving atomic.
2004-03-20 20:24:49 +00:00
Colin Walters
59c20484d0 gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func): Just use access() instead of actually creating and...
Original commit message from CVS:
2004-03-20  Colin Walters  <walters@verbum.org>

* gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func): Just use
access() instead of actually creating and deleting files.
2004-03-20 17:59:08 +00:00
Thomas Vander Stichele
0bf7263c12 updated translation return silently when filesink not open
Original commit message from CVS:
updated translation
return silently when filesink not open
2004-03-18 13:01:21 +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
Johan Dahlin
5c403b9abe gst/schedulers/gstoptimalscheduler.c
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c
(gst_opt_scheduler_pad_unlink): Remove double ;, spotted by Scott Wheeler
2004-03-16 09:53:16 +00:00
Thomas Vander Stichele
d50e521601 fix header inclusion
Original commit message from CVS:
fix header inclusion
2004-03-15 23:11:36 +00:00
Thomas Vander Stichele
982e1f69c1 add padding
Original commit message from CVS:
add padding
2004-03-15 22:42:34 +00:00
Benjamin Otte
1cedbe04e1 gst/elements/gstfdsrc.c: set the first parameter for select call correctly.
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
set the first parameter for select call correctly.
(fixes #137230)
2004-03-15 19:49:36 +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
Johan Dahlin
84f49e604d gst/schedulers/gstoptimalscheduler.c
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c
(gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
crash on MPEG playback. My boolean arithmetic is a bit rusty.
2004-03-15 19:24:35 +00:00
Thomas Vander Stichele
98ff5bbb2f add debugging fix comment blocks fix some -libs doc errors
Original commit message from CVS:
add debugging
fix comment blocks
fix some -libs doc errors
2004-03-15 15:16:04 +00:00
Johan Dahlin
ecd88e381d Revert again, this time without post-commit reindent hooks to put back the indentation :-)
Original commit message from CVS:
Revert again, this time without post-commit reindent hooks
to put back the indentation :-)
2004-03-15 14:43:35 +00:00
Johan Dahlin
2143a02a13 Revert again, this time without post-commit reindent hooks to put back the indentation :-)
Original commit message from CVS:
Revert again, this time without post-commit reindent hooks
to put back the indentation :-)
2004-03-15 14:43:34 +00:00
Johan Dahlin
e2b3dc3e47 *.h: Revert indentation changes.
Original commit message from CVS:
* *.h: Revert indentation changes.
2004-03-15 14:31:41 +00:00
Thomas Vander Stichele
c01cd4e835 g_error fix, m/m version fix
Original commit message from CVS:
g_error fix, m/m version fix
2004-03-14 17:54:22 +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
Benjamin Otte
bc98c7bf1d gst/gstelement.c: add documentation note about gst_element_found_tags_for_pad not being usable in getfunctions. (see ...
Original commit message from CVS:
* gst/gstelement.c:
add documentation note about gst_element_found_tags_for_pad not
being usable in getfunctions. (see #137042)
2004-03-13 10:14:05 +00:00
David Schleef
365e091451 gst/gstcaps.h: jdahlin, what are you smoking? We can't just change API right now! Readd gst_caps_is_simple() macro.
Original commit message from CVS:
* gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
change API right now!  Readd gst_caps_is_simple() macro.
* gst/gstelement.c: (gst_element_base_class_finalize): Fix
uninitialized variable.  I'd bet this caused crashes.
* gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
2004-03-13 00:14:46 +00:00
Johan Dahlin
8c7f46ced0 Gtype->GType
Original commit message from CVS:
Gtype->GType
2004-03-12 19:39:19 +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
Johan Dahlin
82d5ac58c4 gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
Original commit message from CVS:
* gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
* gst/gstcaps.h: Clean up
2004-03-12 18:25:07 +00:00
Thomas Vander Stichele
e0c63736c6 comment fix whitespace fixes
Original commit message from CVS:
comment fix
whitespace fixes
2004-03-12 17:59:00 +00:00
Ronald S. Bultje
5d1a30f452 gst/gstqueue.c: Reset default max. values in queues. Reason is simply to avoid braindead use. If you want wider value...
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init):
Reset default max. values in queues. Reason is simply to avoid
braindead use. If you want wider values, use the properties. The
default is supposed to always work. Wider values would make this
beast a memory hog by default (250 full-PAL RGB32 video frames?
That's 440 MB! No thank you).
2004-03-12 01:41:21 +00:00
Johan Dahlin
c2b46e7a8a Shut up gcc 3.2
Original commit message from CVS:
Shut up gcc 3.2
2004-03-10 17:01:57 +00:00
Johan Dahlin
c24e220bfb gst/schedulers/gstoptimalscheduler.c
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c
(gst_opt_scheduler_pad_unlink): Implement unlink for elements with
links to elements within the same group, so we can finally remove
that annoying warning. Refactor the code a little bit
(group_dec_links_for_element): Split out
2004-03-10 16:47:06 +00:00
Thomas Vander Stichele
deb1c93227 add GstGError to help the bindings
Original commit message from CVS:
add GstGError to help the bindings
2004-03-09 14:44:36 +00:00
Jan Schmidt
e36f583bab Free leaked g_timer on early return
Original commit message from CVS:
Free leaked g_timer on early return
2004-03-09 13:33:11 +00:00
Thomas Vander Stichele
27d587b023 better debug info
Original commit message from CVS:
better debug info
2004-03-09 13:23:14 +00:00
Thomas Vander Stichele
083e451238 more debugging
Original commit message from CVS:
more debugging
2004-03-08 17:47:52 +00:00
Thomas Vander Stichele
53bd79574d remove \n
Original commit message from CVS:
remove \n
2004-03-08 17:13:35 +00:00
Andy Wingo
b6a5699ca6 gst/gstbin.c (gst_bin_remove): Debugging fixes.
Original commit message from CVS:
2004-03-07  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_remove): Debugging fixes.

* gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
there are no links to other groups when a group is destroyed.
(gst_opt_scheduler_pad_unlink): If the unlink means an element is
removed from a group, make sure the link count to elements linked
to other pads is appropriately decremented. This really fixes
#135672.

The 1.60->1.61 patch has been reapplied in light of this fix.

* gst/gstelement.c (gst_element_dispose): Really protect against
multiple invocations this time.
2004-03-07 14:33:13 +00:00
Thomas Vander Stichele
558ac743bb remove deprecated functions add two tag prototypes to docs add accessor function
Original commit message from CVS:
remove deprecated functions
add two tag prototypes to docs
add accessor function
2004-03-06 20:19:23 +00:00
Christophe Fergeau
91e0700148 gst/autoplug/gstspider.c: fixed caps leak
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

* gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
leak
2004-03-06 18:25:59 +00:00
Benjamin Otte
e210fe6540 gst/gstelement.c: revert recent recursive state changing commit - messing with other elements' states is evil and sho...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_error_full):
revert recent recursive state changing commit - messing with other
elements' states is evil and should be done by apps only.
2004-03-05 22:01:42 +00:00
Benjamin Otte
a426305315 gst/gstelement.c: check for empty intersection instead of NULL caps remove old workaround that is only a bug nowadays
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_compatible_pad_template):
check for empty intersection instead of NULL caps
(gst_element_get_compatible_pad_filtered):
remove old workaround that is only a bug nowadays
2004-03-05 21:44:36 +00:00
Thomas Vander Stichele
674e6a9a02 gst/gstelement.c: make elements try to recursively change state to PAUSED on all parents after an error to suppress e...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_error_full):
make elements try to recursively change state to PAUSED on all
parents after an error to suppress ensuing warnings
* gst/parse/grammar.y:
make it check if it was able to sync the state, and throw an error
if not, so stuff like
oggdemux ! vorbisdec ! osssink gets caught
2004-03-05 13:07:48 +00:00
David Schleef
5fba054547 gst/gstcpuid_i386.s: Remove unused code
Original commit message from CVS:
* gst/gstcpuid_i386.s:  Remove unused code
* libs/gst/getbits/getbits.c: (gst_getbits_init),
(gst_getbits_newbuf): Remove MMX code
* libs/gst/getbits/getbits.h: Remove MMX code
2004-03-05 08:35:02 +00:00
Thomas Vander Stichele
97f89b5365 make signals use dashes in the names
Original commit message from CVS:
make signals use dashes in the names
2004-03-04 20:06:02 +00:00
Benjamin Otte
29642c4548 gst/schedulers/gstoptimalscheduler.c: revert last commit by Andy Wingo. It causes segfaults on unreffing in Rhythmbox...
Original commit message from CVS:
2004-03-03  Benjamin Otte  <otte@gnome.org>

* gst/schedulers/gstoptimalscheduler.c:
revert last commit by Andy Wingo. It causes segfaults on unreffing
in Rhythmbox. (see bug #135672)
2004-03-02 23:04:50 +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
Johan Dahlin
2db697154b gst/: Use gst_data_copy, instead of ref, since some applications that uses GBoxed routines depends on a function that...
Original commit message from CVS:
* gst/gstbuffer.c (_gst_buffer_initialize):
* gst/gstdata.c (gst_data_get_type):
* gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
instead of ref, since some applications that uses GBoxed
routines depends on a function that actually returns a copy.
2004-03-01 12:10:16 +00:00
Benjamin Otte
88ba7f4999 gst/gstbuffer.h: remove gst_buffer_free, use gst_data_unref
Original commit message from CVS:
2004-02-27  Benjamin Otte  <otte@gnome.org>

* gst/gstbuffer.h:
remove gst_buffer_free, use gst_data_unref
* gst/gstdata.c: (gst_data_get_type):
use refcounting in GstData GBoxed registration
* gst/gstdata.h:
remove gst_data_free, use gst_data_unref
2004-02-27 21:29:04 +00:00
Johan Dahlin
730dd21ce5 gst/gstdata.c (gst_data_get_type): New function, register
Original commit message from CVS:
* gst/gstdata.c (gst_data_get_type): New function, register
GstData as a GBoxed type.

* gst/gstdata.h (GST_TYPE_DATA): New macro
2004-02-27 17:58:24 +00:00
Thomas Vander Stichele
849f5cc3e4 adding back RELEASE clean up disting of built files
Original commit message from CVS:
adding back RELEASE
clean up disting of built files
2004-02-27 12:37:13 +00:00
David Schleef
c5d76e5c98 configure.ac: We don't really need glib-2.3. Also remove some unneeded checks for library functions.
Original commit message from CVS:
* configure.ac:  We don't really need glib-2.3.  Also remove
some unneeded checks for library functions.
* gst/Makefile.am:  Instead, we need to not dist files created
by glib-genmarshal.
2004-02-27 02:00:37 +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
Andy Wingo
bc13ad8a9e gst/gstpad.c (gst_pad_link_prepare): Re-add gst_pad_link_prepare. Please email the list with specific reasons for rev...
Original commit message from CVS:
2004-02-25  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_link_prepare): Re-add
gst_pad_link_prepare. Please email the list with specific reasons
for reverting.

----------------------------------------------------------------------
2004-02-25 14:16:24 +00:00
Andy Wingo
3f5a8814d5 gst/gstelement.c (gst_element_dispose): Protect against multiple invocations.
Original commit message from CVS:
2004-02-24  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_dispose): Protect against multiple
invocations.

* gst/schedulers/gstoptimalscheduler.c
I added a mess of prototypes at the top of the file by way of
documentation. Some of the operations on chains and groups were
re-organized.

(create_group): Added a type argument so if the group is enabled,
the setup_group_scheduler knows what to do.
(group_elements): Added a type argument here, too, to be passed on
to create_group.
(group_element_set_enabled): If an unlinked PLAYING element is
added to a bin, we have to create a new group to hold the element,
and this function will be called before the group is added to the
chain. Thus we have a valid case for group->chain==NULL. Instead
of calling chain_group_set_enabled, just set the flag on the group
(the chain's status will be set when the group is added to it).
(gst_opt_scheduler_state_transition, chain_group_set_enabled):
Setup the group scheduler when the group is enabled, not
specifically when an element goes PAUSED->PLAYING. This means
PLAYING elements can be added, linked, and scheduled into a
PLAYING pipeline, as was intended.
(add_to_group): Don't ref the group twice. I don't know when this
double-ref got in here. Removing it has the potential to cause
segfaults if other parts of the scheduler are buggy. If you find
that the scheduler is segfaulting for you, put in an extra ref
here and see if that hacks over the underlying issue. Of course,
then find out what code is unreffing a group it doesn't own...
(create_group): Make the extra refcount floating, and remove it
after adding the element. This means that...
(unref_group): Destroy when the refcount reaches 0, not 1, like
every other refcounted object in the known universe.
(remove_from_group): When a group becomes empty, set it to be not
active, and remove it from its chain. Don't unref it again,
there's no floating reference any more.
(destroy_group): We have to remove the group from the chain in
remove_from_group (rather than here) to break refcounting cycles
(the chain always has a ref on the group). So assert that
group->chain==NULL.
(ref_group_by_count): Removed, it was commented out anyway.
(merge_chains): Use the remove_from_chain and add_to_chain
primitives to do the reparenting, instead of rolling our own
implementation.
(add_to_chain): The first non-disabled group in the chain's group
list will be the entry point for the chain. Because buffers can
accumulate in loop elements' peer bufpens, we preferentially
schedule loop groups before get groups to avoid unnecessary
execution of get-based groups when the bufpens are already full.
(gst_opt_scheduler_schedule_run_queue): Debug fixes.
(get_group_schedule_function): Ditto.
(loop_group_schedule_function): Ditto.
(gst_opt_scheduler_loop_wrapper): Ditto.
(gst_opt_scheduler_iterate): Ditto.

I understand the opt scheduler now, yippee!

* gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
(gst_pad_get_name, gst_pad_set_chain_function)
(gst_pad_set_get_function, gst_pad_set_event_function)
(gst_pad_set_event_mask_function, gst_pad_get_event_masks)
(gst_pad_get_event_masks_default, gst_pad_set_convert_function)
(gst_pad_set_query_function, gst_pad_get_query_types)
(gst_pad_get_query_types_default)
(gst_pad_set_internal_link_function)
(gst_pad_set_formats_function, gst_pad_set_link_function)
(gst_pad_set_fixate_function, gst_pad_set_getcaps_function)
(gst_pad_set_bufferalloc_function, gst_pad_unlink)
(gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent)
(gst_pad_add_ghost_pad, gst_pad_proxy_getcaps)
(gst_pad_proxy_pad_link, gst_pad_proxy_fixate)
(gst_pad_get_pad_template_caps, gst_pad_check_compatibility)
(gst_pad_get_peer, gst_pad_get_allowed_caps)
(gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull)
(gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps)
(gst_pad_event_default_dispatch, gst_pad_event_default)
(gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default)
(gst_pad_convert, gst_pad_query_default, gst_pad_query)
(gst_pad_get_formats_default, gst_pad_get_formats): Better
argument checks, and some doc fixes.

(gst_pad_custom_new_from_template): Um, does anyone
use these functions? Actually make a custom pad instead of a
normal one.
(gst_pad_try_set_caps): Transpose some checks.
(gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
the pad is in negotiation.
(gst_pad_try_relink_filtered): Use pad_link_prepare.

* gst/gstelement.c: Remove prototypes also defined in gstclock.h.

* gst/gstelement.h:
* gst/gstclock.h: Un-deprecate the old clocking API, as discussed
on the list.
2004-02-25 13:16:12 +00:00
Thomas Vander Stichele
79f5d87041 better debugging
Original commit message from CVS:
better debugging
2004-02-25 10:01:31 +00:00
Thomas Vander Stichele
a8328dde93 adding error to gstbin.c
Original commit message from CVS:
adding error to gstbin.c
2004-02-24 12:41:19 +00:00
Julien Moutte
8e30d59c6c gst/gsttag.c: Registering 2 new tags, audio-codec and video-codec.
Original commit message from CVS:
2004-02-22  Julien MOUTTE <julien@moutte.net>

* gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
audio-codec and video-codec.
2004-02-22 21:56:00 +00:00
Benjamin Otte
5a34cd92ed gst/gstpad.c: revert last patch from Andy, it makes gst_pad_can_link_filtered much too noisy
Original commit message from CVS:
2004-02-22  Benjamin Otte  <otte@gnome.org>

* gst/gstpad.c:
revert last patch from Andy, it makes gst_pad_can_link_filtered much
too noisy
* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
* libs/gst/control/dparam.c: (gst_dparam_attach):
* libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
check that types for attached dparams match
2004-02-22 15:09:20 +00:00
Thomas Vander Stichele
62537fecd4 fix errors
Original commit message from CVS:
fix errors
2004-02-22 14:07:55 +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
Julien Moutte
ee700ccc65 gst/gsttag.h: Adding video-codec and audio-codec for demuxers which will emit found_tag for each stream they demux wi...
Original commit message from CVS:
2004-02-20  Julien MOUTTE <julien@moutte.net>

* gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
will emit found_tag for each stream they demux with the codec.
2004-02-20 11:55:44 +00:00
Benjamin Otte
7155cfae35 gst/gstevent.c: copy navigation event correctly. Check freeing tag lists.
Original commit message from CVS:
2004-02-20  Benjamin Otte  <otte@gnome.org>

* gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
copy navigation event correctly. Check freeing tag lists.
* gst/gstthread.c: (gst_thread_change_state):
don't abort() on state changing mess - it might happen because of
bugs.
* gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
use boxed functions
* gst/gstvalue.h:
fix GST_VALUE_HOLDS_CAPS
2004-02-20 00:38:24 +00:00
David Schleef
fba77bb903 gst/gstinfo.h: Copy G_STRFUNC implementation from glib-2.4 and use it for GST_FUNCTION. (bug #134750)
Original commit message from CVS:
* gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
and use it for GST_FUNCTION.  (bug #134750)
2004-02-19 20:08:45 +00:00
David Schleef
67455089a4 gst/elements/gstmultifilesrc.c: Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
Original commit message from CVS:
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
* gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
Use GST_TYPE_CAPS in signal prototype.
* gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
Convert GST_TYPE_CAPS to boxed.
* gst/gstelement.c: (gst_element_class_init):
Use GST_TYPE_TAG_LIST in signal prototype.
* gst/gstindex.c: (gst_index_class_init):
* gst/gstindex.h:
Add GST_TYPE_INDEX_ENTRY type.
* gst/gstmarshal.list:
Add necessary marshal types.
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
(gst_pad_recover_caps_error):
Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
* gst/gststructure.c: (_gst_structure_initialize),
(gst_structure_copy), (_gst_structure_copy_conditional):
* gst/gststructure.h:
Convert GST_TYPE_STRUCTURE to boxed.
* gst/gsttag.c: (gst_tag_list_get_type):
* gst/gsttag.h:
Add GST_TYPE_TAG_LIST type.
2004-02-18 05:26:59 +00:00
Julien Moutte
6aeaab9643 gst/gstpad.c: Reverting my change according to what we agreed with david.
Original commit message from CVS:
2004-02-17  Julien MOUTTE  <julien@moutte.net>

* gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
to what we agreed with david.
* gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
2004-02-17 22:55:26 +00:00
Thomas Vander Stichele
28c8621ee8 throw an error for mime types spider can't handle
Original commit message from CVS:
throw an error for mime types spider can't handle
2004-02-17 17:59:32 +00:00
Julien Moutte
47a11ddf79 gst/gstpad.c: We are nice people. Return silently when the pad is negotiating.
Original commit message from CVS:
2004-02-17  Julien MOUTTE  <julien@moutte.net>

* gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return
silently when the pad is negotiating.
2004-02-16 23:40:32 +00:00
Johan Dahlin
4eedbdb4ef Spelling fix
Original commit message from CVS:
Spelling fix
2004-02-16 18:13:21 +00:00
Thomas Vander Stichele
05057d9245 patch for s390 from fedora test 2 rpms
Original commit message from CVS:
patch for s390 from fedora test 2 rpms
2004-02-16 12:28:36 +00:00
Julien Moutte
0f21f59260 gst/gstbin.c: Fix a big bug that was breaking pipelines like sinesrc ! { queue ! osssink } when an error was thrown b...
Original commit message from CVS:
2004-02-15  Julien MOUTTE  <julien@moutte.net>

* gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
an error was thrown by osssink. Basically a state change failure for
an element in a different scheduling group was considered as successfull        , which means that caps nego was going on and weird stuff happened. Like        i wrote in the comment there, if someone want to revert that please
drop me a mail explaining why because i really see no point in keeping
that broken behaviour there.
* gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
be empty, we then return NULL which will trigger a nice error when
pulling from the pad.
2004-02-15 19:05:59 +00:00
David Schleef
5e7335abe3 gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
* gst/gstclock.h: Avoid using 64-bit % operator (slow!)
2004-02-13 23:56:11 +00:00
David Schleef
5432f712bb gst/elements/gstfdsrc.*: Adds timeout property to fdsrc, and sends an EOS event if file descriptor reading times out.
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_init), (gst_fdsrc_set_property),
(gst_fdsrc_get_property), (gst_fdsrc_get):
* gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
and sends an EOS event if file descriptor reading times out.
2004-02-13 20:16:42 +00:00
Thomas Vander Stichele
509fa3874c fixes for --disable-loadsave --disable-registry
Original commit message from CVS:
fixes for --disable-loadsave --disable-registry
2004-02-12 16:49:16 +00:00
David Schleef
7e6017aac1 docs/gst/tmpl/gstcaps.sgml: Fix stuff that mentions GstProps
Original commit message from CVS:
* docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
* docs/gst/tmpl/gstpadtemplate.sgml: same
* docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
* gst/gstobject.c: (gst_object_set_name_default): Do the memleak
fixing dance.
* gst/gstutils.c: Remove disabled code that uses GstProps.
* gst/registries/gstxmlregistry.h: same
* docs/random/ds/0.9-suggested-changes: random notes
2004-02-11 20:16:33 +00:00
David Schleef
5fe57b5dc4 gst/gstclock.c: fixes structure initialisation of clock (bug #134128)
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* gst/gstclock.c: (gst_clock_entry_new): fixes structure
initialisation of clock (bug #134128)
2004-02-11 19:02:00 +00:00
Thomas Vander Stichele
6545411956 removing old files
Original commit message from CVS:
removing old files
2004-02-11 18:50:16 +00:00
Thomas Vander Stichele
5d9481bfb6 rename multidisksrc to multifilesrc
Original commit message from CVS:
rename multidisksrc to multifilesrc
2004-02-11 18:49:26 +00:00
David Schleef
de74af0114 docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
Original commit message from CVS:
* docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
* gst/gstatomic_impl.h: Disable sparc implementation.
2004-02-11 17:45:02 +00:00
Andy Wingo
d0c8e3a921 gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky way to do inheritance.
Original commit message from CVS:
2004-02-10  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
way to do inheritance.
(gst_pad_get_event_masks, gst_pad_get_event_masks_default)
(gst_pad_get_query_types, gst_pad_get_query_types_default):
Routine docs.
(gst_pad_set_link_function, gst_pad_set_fixate_function)
(gst_pad_set_getcaps_function): Doc from Dave's negotation random
doc.
(gst_pad_unlink, gst_pad_is_linked): Docs.
(gst_pad_renegotiate): A brief description of capsnego.
(gst_pad_try_set_caps): Document.
(gst_pad_try_set_caps_nonfixed): Document.
(gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
(gst_pad_set_parent): Deprecated (although not out of the API).
(gst_pad_get_parent): Deprecated, although many plugins use this.
(gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
are private and will go away in 0.9.
(gst_pad_perform_negotiate): Doc.
(gst_pad_link_unnegotiate): I think this is meant to be static.
(gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps)
(gst_pad_template_get_caps_by_name, gst_pad_check_compatibility)
(gst_pad_get_peer): Doc updates.
(gst_pad_caps_change_notify): Doc.
(gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get)
(gst_ghost_pad_new): Doc fixes.

* gst/gstobject.c (gst_object_get_parent, gst_object_unparent)
(gst_object_check_uniqueness):

* gst/gstelement.c (gst_element_add_pad)
(gst_element_add_ghost_pad, gst_element_remove_pad)
(gst_element_remove_ghost_pad, gst_element_get_pad)
(gst_element_get_static_pad, gst_element_get_pad_list)
(gst_element_class_get_pad_template_list)
(gst_element_class_get_pad_template): Work on the docs.
(gst_element_get_pad_template_list): Uses the class method.
(gst_element_get_compatible_pad_template): Docs, and consolidate
some test conditions.
(gst_element_get_pad_from_template): New static function.
(gst_element_request_compatible_pad): Docs, and work with
non-request compatible templates.
(gst_element_get_compatible_pad_filtered): Docs and remove
redundant checks.
(gst_element_get_compatible_pad, gst_element_link_pads_filtered)
(gst_element_link_filtered, gst_element_link_many)
(gst_element_link, gst_element_link_pads)
(gst_element_unlink_many): Docs.

2004-02-05  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (_gst_real_pad_fixate_accumulator):
s/pointer/boxed/.

* gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.

* gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
with the type=GST_TYPE_CAPS. This allows language bindings to know
what kind of data they're dealing with.

* gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
to NULL when g_value_init is called. GstCaps, which rolls its own
type implementation, now does the same instead of allocating empty
caps.
(_gst_caps_initialize, _gst_caps_collect_value,
_gst_caps_lcopy_value): Provide collect_value and lcopy_value type
table methods. This allows G_VALUE_COLLECT to work.

2004-02-05  Andy Wingo  <wingo@pobox.com>

* configure.ac:
* testsuite/Makefile.am (SUBDIRS):
* testsuite/ghostpads/Makefile.am:
* testsuite/ghostpads/ghostpads.c: A new test for ghost pads.

* gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
These two routines are the only ones that set
GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
pad template. They should be made static, depending on ABI needs.
(gst_real_pad_dispose): Handle the case of ghost pads without a
parent. Assert after dealing with ghost pads that the ghost pad
list is empty.
(gst_ghost_pad_class_init): New property added, ::real-pad. Can be
set after creation.
(gst_ghost_pad_dispose): Set ::real-pad to NULL.
(gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
functions. set_property will call add_ghost_pad/remove_ghost_pad
as appropriate.
(gst_ghost_pad_new): All the work is offloaded to g_object_new.

* gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
(gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
(gst_element_remove_pad): Handle ghost pads as well.
(gst_element_remove_ghost_pad): Deprecated (could be removed,
depending on API-stability needs).

2004-02-05  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
of course they're const
2004-02-11 13:26:04 +00:00
David Schleef
4d762b1504 gst/gstpad.c: Fix format strings for GST_PTR_FORMAT.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
(gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
2004-02-11 08:28:54 +00:00
Julien Moutte
c168ad6b4e gst/gstevent.c: Sometimes a tag event arrives but the structure does not contain a valid tag list. Adding a safety ch...
Original commit message from CVS:
2004-02-10  Julien MOUTTE <julien@moutte.net>

* gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
the structure does not contain a valid tag list. Adding a safety check
to remove a noisy warning in that case.
2004-02-10 11:57:27 +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
Julien Moutte
df6a979243 gst/gstdata.c: Adding a categorized debug on data_ref because data_unref has one and i prefer the debug to be symetric.
Original commit message from CVS:
2004-02-09  Julien MOUTTE  <julien@moutte.net>

* gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
because data_unref has one and i prefer the debug to be symetric.
* gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
were refed when added to the queue and unrefed only once when the queue
was flushed. Now the flush handler unref the buffers two times : first
unref for the ref added when pushing in the queue's tail and second
unref to destroy the flushed buffer.
2004-02-09 09:11:50 +00:00
Ramon Garcia Fernandez
4c4ff33d1f Trying to fix the mess that I made with the two previous commits.
Original commit message from CVS:


Trying to fix the mess that I made with the two previous commits.

First commit, doing something wrong (fixing comparisons of signed and unsigned).
Second commit, trying to revert the previous, but changing other things and
reverting unrelated work of other people.
And this third, hopefully fixes it.
2004-02-07 15:51:39 +00:00
Ramon Garcia Fernandez
1f920b1def Reverted changes made to fix unsigned-signed warnings after hearing comments on IRC. Thans to teus
Original commit message from CVS:
Reverted changes made to fix unsigned-signed warnings after hearing comments on IRC. Thans to teus
2004-02-07 15:37:21 +00:00
Ramon Garcia Fernandez
4d5e52a00f fixed compilation warnings of comparison between signed and unsigned
Original commit message from CVS:
fixed compilation warnings of comparison between signed and unsigned
2004-02-07 13:34:27 +00:00
David Schleef
d19ae033fd docs/random/ds/0.9-suggested-changes: Random ramblings
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes: Random ramblings
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
to int before printing.
* gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
* gst/parse/parse.l: same.  See bug #129600
2004-02-07 01:23:13 +00:00
David Schleef
168eaa4f68 gst/gstindex.c: (gst_index_add_association): Add gst_index_add_associationv() and clean up gst_index_add_association(...
Original commit message from CVS:
* gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
(gst_index_add_entry), (gst_index_add_associationv),
(gst_index_add_association): Add gst_index_add_associationv()
and clean up gst_index_add_association(). #127133
2004-02-06 18:17:56 +00:00
Benjamin Otte
350d4a897c compile before checkin
Original commit message from CVS:
compile before checkin
2004-02-05 23:51:34 +00:00
Benjamin Otte
f3c9c3493d gst/: put reverted patch back in
Original commit message from CVS:
2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstcaps.h:
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_set_details), (gst_element_clear_pad_caps):
* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
(gst_pad_try_set_caps), (gst_pad_can_link_filtered),
(gst_real_pad_dispose):
* gst/gststructure.c: (gst_structure_free),
(gst_structure_from_string):
put reverted patch back in
* gst/gstelement.c: (gst_element_remove_pad):
free explicit caps if they're set
* gst/gstpad.c: (_gst_pad_default_fixate_func):
copy the structure when fixating
2004-02-05 23:46:13 +00:00
David Schleef
ec7cb937da gst/: Revert POINTER->BOXED change in signal marshaller.
Original commit message from CVS:
* gst/gstmarshal.list:
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator):
Revert POINTER->BOXED change in signal marshaller.
2004-02-05 18:59:42 +00:00
Andy Wingo
a8b84d8a57 gst/gstpad.c (_gst_real_pad_fixate_accumulator): s/pointer/boxed/.
Original commit message from CVS:
2004-02-05  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (_gst_real_pad_fixate_accumulator):
s/pointer/boxed/.

* gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.

* gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
with the type=GST_TYPE_CAPS. This allows language bindings to know
what kind of data they're dealing with.

* gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
to NULL when g_value_init is called. GstCaps, which rolls its own
type implementation, now does the same instead of allocating empty
caps.
(_gst_caps_initialize, _gst_caps_collect_value,
_gst_caps_lcopy_value): Provide collect_value and lcopy_value type
table methods. This allows G_VALUE_COLLECT to work.

2004-02-05  Andy Wingo  <wingo@pobox.com>

* configure.ac:
* testsuite/Makefile.am (SUBDIRS):
* testsuite/ghostpads/Makefile.am:
* testsuite/ghostpads/ghostpads.c: A new test for ghost pads.

* gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
These two routines are the only ones that set
GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
pad template. They should be made static, depending on ABI needs.
(gst_real_pad_dispose): Handle the case of ghost pads without a
parent. Assert after dealing with ghost pads that the ghost pad
list is empty.
(gst_ghost_pad_class_init): New property added, ::real-pad. Can be
set after creation.
(gst_ghost_pad_dispose): Set ::real-pad to NULL.
(gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
functions. set_property will call add_ghost_pad/remove_ghost_pad
as appropriate.
(gst_ghost_pad_new): All the work is offloaded to g_object_new.

* gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
(gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
(gst_element_remove_pad): Handle ghost pads as well.
(gst_element_remove_ghost_pad): Deprecated (could be removed,
depending on API-stability needs).

2004-02-05  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
of course they're const
2004-02-05 13:51:26 +00:00
Thomas Vander Stichele
6fb4c764af revert patch that breaks applications revert this patch after release so everything can be fixed properly
Original commit message from CVS:
revert patch that breaks applications
revert this patch after release so everything can be fixed properly
2004-02-05 13:32:09 +00:00
Benjamin Otte
630fc2e5e7 gst/gsttag.*: remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
Original commit message from CVS:
2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
2004-02-05 02:58:48 +00:00
David Schleef
149b17079e Fix some memleaks:
Original commit message from CVS:
Fix some memleaks:
* gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
(gst_spider_plug_from_srcpad):
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
2004-02-05 02:44:34 +00:00
David Schleef
0f357a0852 gst/gstelement.c: Make sure we have a GstRealPad before accessing its structure members.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
a GstRealPad before accessing its structure members.
2004-02-05 02:30:53 +00:00
Benjamin Otte
642685bbbc gst/gstclock.*: reset padding, remove unused fields
Original commit message from CVS:
2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
(gst_clock_get_speed):
* gst/gstclock.h:
reset padding, remove unused fields
2004-02-04 22:35:12 +00:00
Benjamin Otte
5554f286bd gst/autoplug/gstspideridentity.c: use get_allowed_caps, not get_caps (fixes #132519)
Original commit message from CVS:
2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
use get_allowed_caps, not get_caps (fixes #132519)
* gst/elements/gsttypefind.c: (stop_typefinding):
use correct order when sending buffers and seeking
2004-02-04 22:16:30 +00:00
Thomas Vander Stichele
2c8574e0aa reset padding
Original commit message from CVS:
reset padding
2004-02-04 21:59:27 +00:00
Thomas Vander Stichele
4290fca331 increment current, reset padding
Original commit message from CVS:
increment current, reset padding
2004-02-04 21:35:39 +00:00
David Schleef
ad3863ac5e docs/random/ds/0.9-suggested-changes: random notes
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes: random notes
* gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
(gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
expansion.
* gst/elements/gstfilesink.c: (gst_filesink_get_formats),
(gst_filesink_get_query_types): same
* gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
(gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
* gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
to use new GST_PTR_FORMAT.
* gst/gstelement.h: deprecate function factory macros
GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
These are our last variadic macros that can't be replaced with
inlines.  Celebrate!  Also fix a typo in an #ifdef that was
attempting to deprecate gst_element_clock_wait().
* gst/gstevent.h: same
* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
(gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
* gst/gstpad.h: deprecate function factory macros similar to above.
2004-02-04 19:38:33 +00:00
Benjamin Otte
92e2c686c4 gst/gstevent.c: actually break; inside the switch statement
Original commit message from CVS:
2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstevent.c: (_gst_event_free):
actually break; inside the switch statement
* gst/parse/grammar.y:
fix memleak where GValues weren't unset
2004-02-04 17:24:23 +00:00
Benjamin Otte
3945b0600b gst/gststructure.c: fix huge memleak
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gststructure.c: (gst_structure_from_string):
fix huge memleak
* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
(new_entry), (gst_type_find_element_chain):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_set_details):
* gst/gstpad.c: (gst_pad_can_link_filtered):
fix smaller memleaks
* gst/gstpad.c: (gst_real_pad_dispose):
check that explicit caps are gone
* gst/gststructure.c: (gst_structure_free):
actually free the structure
* gst/gstelement.c: (gst_element_clear_pad_caps):
unset explicit caps
2004-02-03 22:13:13 +00:00
Thomas Vander Stichele
6d6a96c4a3 fix debug message
Original commit message from CVS:
fix debug message
2004-02-03 15:01:46 +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
b5186020ab add error symbol start translating gst-inspect
Original commit message from CVS:
add error symbol
start translating gst-inspect
2004-02-03 11:23:59 +00:00
Thomas Vander Stichele
b68e4b9d00 fixing docs errors
Original commit message from CVS:
fixing docs errors
2004-02-03 10:47:26 +00:00
Benjamin Otte
4749c7a4f1 gst/: get rid of gstmarshal.h dependency. It's not needed.
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/parse/Makefile.am:
* gst/gstobject.h:
get rid of gstmarshal.h dependency. It's not needed.
* gst/gst.h:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstidentity.c:
* gst/gstbin.c:
* gst/gstelement.c:
* gst/gstindex.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstthread.c:
* gst/gstxml.c:
* libs/gst/control/dparam.c:
* libs/gst/control/dparammanager.c:
include gstmarshal.h.
Fixes #132045
2004-02-03 03:31:26 +00:00
Benjamin Otte
893c74478f gst/elements/gstfilesrc.*: don't ref the filesrc when creating mmaped buffers. Don't keep a list of not-yet-destroyed...
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstfilesrc.c: (gst_filesrc_init),
(gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
(gst_filesrc_map_region), (gst_filesrc_get_mmap):
* gst/elements/gstfilesrc.h:
don't ref the filesrc when creating mmaped buffers. Don't keep a
list of not-yet-destroyed buffers.
* gst/gstbuffer.h:
Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
2004-02-03 00:27:09 +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
Benjamin Otte
9ec5287a36 gst/elements/gstfilesrc.c: set all the values on buffers that we can
Original commit message from CVS:
2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
(gst_filesrc_get_read):
set all the values on buffers that we can
2004-02-02 21:18:54 +00:00
David Schleef
38029f4295 Change usage of isblah() to g_ascii_isblah() to be more locale independent. (#133076)
Original commit message from CVS:
Change usage of isblah() to g_ascii_isblah() to be more locale
independent.  (#133076)
* gst/gsturi.c: (gst_uri_protocol_check_internal):
* gst/gstutils.c:
* gst/parse/parse.l:
2004-02-02 21:08:52 +00:00
David Schleef
30bec331af Fix memory leaks:
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
Fix memory leaks:
* gst/gstcaps.c: (gst_caps_to_string):
* gst/registries/gstxmlregistry.c:
(gst_xml_registry_add_path_list_func),
(gst_xml_registry_parse_padtemplate):
2004-02-02 20:25:02 +00:00
Thomas Vander Stichele
031bcfd561 suffix error with period
Original commit message from CVS:
suffix error with period
2004-02-02 17:29:30 +00:00
Benjamin Otte
6c3d92e603 reinclude accidentally deleted line
Original commit message from CVS:
reinclude accidentally deleted line
2004-02-02 17:25:45 +00:00
Thomas Vander Stichele
b21a435c67 suffix errors with .
Original commit message from CVS:
suffix errors with .
update translation
2004-01-31 22:40:27 +00:00
Thomas Vander Stichele
5f91e9ad66 suffix errors with period.
Original commit message from CVS:
suffix errors with period.
use (NULL) over NULL
2004-01-31 19:30:31 +00:00
Thomas Vander Stichele
4fb17846d4 add path for element throwing error
Original commit message from CVS:
add path for element throwing error
2004-01-31 19:09:38 +00:00
Benjamin Otte
5d0b5a209f docs/random/mimetypes: update raw int/float info
Original commit message from CVS:
2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* docs/random/mimetypes:
update raw int/float info
* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
add GST_TAG_ENCODER
2004-01-31 11:17:43 +00:00
David Schleef
1f24aab8be gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is missing (#132991)
Original commit message from CVS:
* gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
missing (#132991)
2004-01-30 21:26:15 +00:00
Benjamin Otte
192330d37a parts of the patch submitted in bug #113913
Original commit message from CVS:
2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>

reviewed by Benjamin Otte
parts of the patch submitted in bug #113913

* configure.ac:
use AC_C_INLINE. Use = instead of == with test
* examples/plugins/example.c:
* gst/autoplug/gstspideridentity.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gststatistics.c:
* gst/gstelement.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstpipeline.c:
* gst/gstthread.c:
don't end enums with a comma
* gst/gstindex.c: (gst_index_compare_func):
do explicit casting to gint
* gst/gsttrace.c: (gst_trace_text_flush):
#define strsize as a macro
2004-01-30 20:48:13 +00:00
Thomas Vander Stichele
cae2948963 fixing up double symbols
Original commit message from CVS:
fixing up double symbols
2004-01-30 19:11:50 +00:00
Thomas Vander Stichele
cdda2aa934 make sure all API gets built sync .c with .h
Original commit message from CVS:
make sure all API gets built
sync .c with .h
2004-01-30 19:06:13 +00:00
Thomas Vander Stichele
0fc84c1471 seriously, using cvs over slow lines just sucks.
Original commit message from CVS:
seriously, using cvs over slow lines just sucks.
*sigh*, finishing commit
2004-01-30 07:58:54 +00:00
Benjamin Otte
140c4dd060 docs/random/mimetypes: correct Theora information
Original commit message from CVS:
2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* docs/random/mimetypes:
correct Theora information
* gst/gstelement.h:
make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
2004-01-30 03:54:08 +00:00
Thomas Vander Stichele
c5b612edef GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:17:58 +00:00
Julien Moutte
ef6bdb01be gst/elements/gstfilesrc.c: Fixing seeking by making FLUSH happen again and even before DISCONT.
Original commit message from CVS:
2004-01-29  Julien MOUTTE  <julien@moutte.net>

* gst/elements/gstfilesrc.c: (gst_filesrc_get),
(gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
again and even before DISCONT.
* gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
* libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
bytestream so that it's not stopping to fill the bytestream if events
different than EOS or DISCONT are received. Instead it process them so
that they go downstream.
2004-01-29 22:43:41 +00:00
Ronald S. Bultje
7d41ae65f4 docs/pwg/advanced-tagging.xml: Add a part about tag reading and application signalling... Tag writing still needs to ...
Original commit message from CVS:
2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced-tagging.xml:
Add a part about tag reading and application signalling... Tag
writing still needs to be documented.
* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
We can set file locations in READY, too.
2004-01-29 10:56:53 +00:00
Benjamin Otte
807937481e docs/random/mimetypes: update docs for audio/x-raw-float. Add "buffer-frames=0 means undefined"
Original commit message from CVS:
2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* docs/random/mimetypes:
update docs for audio/x-raw-float. Add "buffer-frames=0 means
undefined"
* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
make it only work in NULL.
* gst/gstcaps.c:
don't posion NULL caps
* gst/gstelement.c: (gst_element_set_time):
add debugging statement
* gst/gstelement.c: (gst_element_emit_found_tag),
(gst_element_found_tag_func), (gst_element_found_tags):
* gst/gstelement.h:
These functions take const taglists
* gst/gstpad.c: (gst_pad_proxy_getcaps):
fix memleak
* gst/gstpad.c: (gst_pad_event_default):
make more effort on handling discont and clocks, g_warn if everything
fails
* gst/gststructure.c: (gst_structure_remove_fields),
(gst_structure_remove_fields_valist):
* gst/gststructure.h:
add gst_structure_remove_fields(_valist)
* gst/gsttag.c:
fix doc glitch
2004-01-29 02:24:52 +00:00
David Schleef
a842daf05e docs/random/ds/element-checklist: Notes about gst_caps_to_string()
Original commit message from CVS:
* docs/random/ds/element-checklist: Notes about gst_caps_to_string()
* gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
Fix memory leakage of gst_caps_to_string().
Use GST_PTR_FORMAT instead of gst_caps_to_string():
* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
* gst/autoplug/gstspideridentity.c: (spider_find_suggest),
(gst_spider_identity_sink_loop_type_finding):
* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
(find_suggest):
* gst/gstpad.c: (gst_pad_try_relink_filtered),
(gst_pad_set_explicit_caps):
* gst/parse/grammar.y:
2004-01-29 01:44:08 +00:00
David Schleef
6a096813d4 configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
Original commit message from CVS:
* configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
GST_PRINTF_EXTENSION_FORMAT_DEFINE.
* docs/random/ds/0.9-suggested-changes: Notes from Company.
* gst/gstcaps.c: (gst_caps_to_string): Add comment.
* gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
(gst_debug_log_default), (_gst_info_printf_extension),
(_gst_info_printf_extension_arginfo):  Add printf extension.
* gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
* gst/gststructure.c: (gst_structure_to_string),
(_gst_structure_parse_value): Use gst_value_deserialize() and
remove old code.
* gst/gstvalue.c: (gst_value_deserialize_fourcc),
(gst_value_deserialize_boolean), (gst_strtoi),
(gst_value_deserialize_int), (gst_value_deserialize_double),
(gst_value_deserialize_string), (gst_value_deserialize): Implement
a bunch of deserialize functions and gst_value_deserialize.
* gst/gstvalue.h: er, _de_serialize, not unserialize
* testsuite/caps/string-conversions.c: (main): We don't currently
handle (float) in caps, so convert these to (double).
* testsuite/debug/Makefile.am: Add new test for the printf extension
* testsuite/debug/printf_extension.c: (main): same
2004-01-29 01:20:23 +00:00
David Schleef
3607f4f024 gst/gstpad.*: Add new function to allow element to (somewhat) specify non-fixed caps on a pad.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
* gst/gstpad.h: Add new function to allow element to (somewhat)
specify non-fixed caps on a pad.
* gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
that I added a few weeks ago.
2004-01-27 02:06:02 +00:00
David Schleef
e02c8aae61 gst/gstpad.c: Revert last change making try_set_caps() work with non-fixed caps.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
making try_set_caps() work with non-fixed caps.
2004-01-26 23:25:24 +00:00
David Schleef
aeca198dda Revert accidental checkin and start over
Original commit message from CVS:
Revert accidental checkin and start over
2004-01-26 23:16:21 +00:00
David Schleef
13a292781e Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstxml.sgml:
* gst/gstelement.h:
* gst/gstpad.c: (gst_pad_try_set_caps):
* gst/gstqueue.c: (gst_queue_chain):
* testsuite/caps/Makefile.am:
2004-01-26 23:13:24 +00:00
Thomas Vander Stichele
92be9ac6e8 reinstate LIBRARY_ENCODE
Original commit message from CVS:
reinstate LIBRARY_ENCODE
2004-01-26 09:45:55 +00:00
Benjamin Otte
074ecb2227 gst/gstelement.h: remove gst_element_factory_get_version. It doesn't exist anymore.
Original commit message from CVS:
2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstelement.h:
remove gst_element_factory_get_version. It doesn't exist anymore.
* gst/gstplugin.c:
* gst/gstplugin.h:
remove gst_plugin_set_name and change gst_plugin_get_longname to
gst_plugin_get_description to match code.
* gst/gsterror.h:
remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
* gst/gstpad.c: (gst_pad_try_set_caps):
make it work with nonfixed caps.
Note that even in the nonfixed case the link function of the pad
that tries to set caps isn't called.
2004-01-26 03:44:14 +00:00
Benjamin Otte
8a1bb576b2 gst/elements/gstbufferstore.c: fix bug where buffer was not assembled correctly
Original commit message from CVS:
2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
fix bug where buffer was not assembled correctly
* gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
silence by default
* gst/elements/gsttypefind.c: (gst_type_find_element_chain):
only seek if there's no more buffers that could work without seeking
2004-01-25 02:50:09 +00:00
Ronald S. Bultje
f21808c6a8 gst/gsttag.*: Add application tag (for encoding/muxing app).
Original commit message from CVS:
2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
Add application tag (for encoding/muxing app).
2004-01-23 13:18:46 +00:00
Thomas Vander Stichele
38d4e551fa adding GstTagFlag
Original commit message from CVS:
adding GstTagFlag
2004-01-22 13:59:57 +00:00
Thomas Vander Stichele
603c990009 fix rename
Original commit message from CVS:
fix rename
2004-01-20 15:05:42 +00:00
Thomas Vander Stichele
68f5c775c5 fix output of typefind add GPL headers fix doc snippet
Original commit message from CVS:
fix output of typefind
add GPL headers
fix doc snippet
2004-01-20 14:09:42 +00:00
Thomas Vander Stichele
1c7f15e0cc renamine typefindelement to typefind
Original commit message from CVS:
renamine typefindelement to typefind
2004-01-20 13:48:51 +00:00