Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
(gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_child_state_change_func), (set_kid_state_func),
(gst_bin_set_state), (gst_bin_change_state_norecurse):
make state changes work correctly and reentrant (so removing
elements from bins during state changes of bins doesn't cause
segfaults or even wrong states)
add debugging category and debugging output to print children states
* gst/gstbin.c: (gst_bin_dispose):
add some assertion checks
* gst/gstbin.h:
* gst/gstbin.c: (gst_bin_sync_children_state):
deprecate this function - it just does gst_bin_set_state (bin,
GST_STATE (bin))
* testsuite/threads/queue.c: (main):
don't use gst_bin_sync_children_state anymore
* testsuite/states/Makefile.am:
* testsuite/states/bin.c:
test that the state changes of bins work as expected
* gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
some adjustments to change states correctly, too
* gst/gstthread.c: (gst_thread_change_state):
don't enable/disable "threadsafe" properties, they're unused and
cause random segfaults
* testsuite/threads/Makefile.am:
the queue check randomly passes now, ignore it
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_loop_wrapper),
(gst_entry_scheduler_chain_wrapper),
(gst_entry_scheduler_get_wrapper):
reset the state when the cothread starts, so we don't get assertion
failures on restarting of cothreads
Original commit message from CVS:
put symbols in the sections.txt into the right sections (so that we dont get wrong undocumented symbols)
added TITLE tags where they were missing
fixed section names so that gtk-doc introspection works
fixed typos in api docs and docbook docs
added some thoughts about new interfaces (to personal notes)
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_pads_filtered):
use correct sinkpad, if only sinkpad is specified, but not srcpad
(fixes#147889)
* gst/gstelement.c: (gst_element_set_state_func),
(gst_element_change_state): ref/unref the element, signal handlers
could get rid of the element otherwise
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes:
Make note about renaming fixed-list to array.
* gst/gstvalue.c: (gst_value_intersect_fixed_list),
(_gst_value_initialize):
Add array intersections.
* testsuite/caps/intersect2.c: (main):
Add test for array intersections.
Original commit message from CVS:
* testsuite/schedulers/142183-2.c: (handoff_identity), (main):
* testsuite/schedulers/142183.c: (handoff_identity), (main):
* testsuite/schedulers/Makefile.am:
Added testsuite for bug 142183 in its two incarnations. Refcount
is not increased for scheduled elements and threadsafe properties
mutexes are not properly unlocked.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
(create_chain), (destroy_chain), (create_group), (destroy_group),
(add_to_group), (merge_groups), (group_elements), (group_inc_link),
(group_dec_link), (gst_opt_scheduler_pad_link),
(group_inc_links_for_element), (group_migrate_connected):
Call group_inc_link with the proper src->sink ordering --
break this, and we break sort_chain. patch from wingo for bug
147713.
Partially revert patch 1.89. When adding a loop based element to
the scheduler, the links to other groups are automatically followed
and incremented. This should not happen because the bin will call
pad_link explicitly for those connection, resulting in them counted
twice. Results in assertion failure on pipeline cleanup.
Original commit message from CVS:
* testsuite/schedulers/143777-2.c: (main):
* testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
(main):
* testsuite/schedulers/Makefile.am:
Added cleanup code to testcase 143777-2.
Added testcase to show bug 147713, does not really show the
deadlock as I can't figure out how to trigger it, but it does
demonstrate bad ordering in the scheduler.
Original commit message from CVS:
* gst/gstvalue.c: (gst_greatest_common_divisor):
use ints and return ints, fractions only use ints, too, so this
avoids accidently casting multiplications to unsigned
(gst_value_lcopy_fraction): it's ints, not uint32
(gst_value_set_fraction): disallow minint, multiplying and negation
are broken with it
(gst_value_fraction_multiply): fix to make large numbers work and get
rid of the assumption that the multiplication of two ints fits an
int64 - dunno if that's true for all systems
* testsuite/caps/Makefile.am:
* testsuite/caps/fraction-multiply-and-zero.c:
(check_multiplication), (check_equal), (zero_test), (main):
add tests for all the stuff above
* testsuite/caps/value_compare.c: (test1):
fix comment
* tests/.cvsignore:
* testsuite/caps/.cvsignore:
* testsuite/debug/.cvsignore:
* testsuite/dlopen/.cvsignore:
* testsuite/states/.cvsignore:
get up to date
Original commit message from CVS:
2004-07-16 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* docs/manual/bins-api.xml:
* docs/manual/factories.xml:
* docs/manual/helloworld.xml:
* docs/manual/links-api.xml:
fixes for out of date info, incorrect info and grammar
Original commit message from CVS:
2004-07-15 Zaheer Abbas Merali <zaheerabbas at merali dot>
* docs/manual/pads.xml:
* docs/manual/pads-api.xml: grammar fix
Original commit message from CVS:
2004-07-15 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* docs/manual/states.xml: Fix inconsistent information
Original commit message from CVS:
2004-07-15 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* docs/manual/motivation.xml:
Bonobo is no longer "emerging" and added sentence regarding tcp plugins
Original commit message from CVS:
now the api-index has a title in devhelp
added more docs for the control-library
added personal thoughs/todo to docs/random
Original commit message from CVS:
* gst/gstelement.h:
Don't GST_ERROR_OBJECT smpty strings - Solaris doesn't like NULL
strings.
* gst/gstelement.c (gst_element_class_init):
GError's are boxed, not objects
* gst/gstmarshal.list:
update list for the fixed error signal
Original commit message from CVS:
2004-07-14 Andy Wingo <wingo@pobox.com>
* gst/gsttag.c: Add a tag merge func for pointers. The header was
there all along, but the function wasn't. (guile-gstreamer's build
system uses the address of the function -- I wasn't actually
trying to use this.)
2004-07-13 Andy Wingo <wingo@pobox.com>
* gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
as gst_pad_proxy_pad_link) just link to every other pad when they
are called. In the case where the graph has cycles, this will mean
that a call to try_set_caps will recurse. Allow this recursion
and return OK, while we wait for the first try_set_caps to give a
proper return value.
(gst_pad_link_call_link_functions): Since this function is the
only one to set the NEGOTIATING flag on a pad, if the flag is set
it means that the link functions have indirectly recursed. If this
happens, error out to avoid infinite recursion and an eventual
SEGV.
(gst_real_pad_class_init): Remove a crufty GtkObject comment.
(gst_pad_proxy_getcaps): Intersect the result with the template
caps to ensure that the return value is valid.
2004-07-11 Andy Wingo <wingo@pobox.com>
* gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
one refcount, the calling function is the owner of the buffer.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
(gst_opt_scheduler_pad_link), (group_migrate_connected):
Fix stupid warning when an element is to be migrated but
is already migrated.
Original commit message from CVS:
adding a title to some examples so that they appear in the example index
disabled the global index, as this does not yet fully work