Commit graph

61 commits

Author SHA1 Message Date
Andy Wingo e040bb2dbe gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().

* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.

* All files updated for the new API.
2005-09-02 15:42:00 +00:00
Andy Wingo f8e79bdf86 *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!!
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
source-munging commit!!!
2005-06-28 09:59:01 +00:00
Ronald S. Bultje 4bdd55b8d1 testsuite/threads/threadi.c: Fix buglet in test.
Original commit message from CVS:
* testsuite/threads/threadi.c: (cb_data):
Fix buglet in test.
2005-02-01 20:32:50 +00:00
Ronald S. Bultje edc6803ed1 testsuite/threads/: On Wim's request, split the test in three separately-compiled tests that each test a very specifi...
Original commit message from CVS:
* testsuite/threads/Makefile.am:
* testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
On Wim's request, split the test in three separately-compiled
tests that each test a very specific bug. Two of them still fail,
will create bugs for those. threadi.c indicates why they fail.
2005-02-01 13:20:42 +00:00
Ronald S. Bultje d8d03b6b98 docs/pwg/advanced-types.xml: Fix description for buffer-frames=0.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Fix description for buffer-frames=0.
* docs/gst/tmpl/gstbin.sgml:
* gst/gstbin.c: (gst_bin_child_state_change_func),
(gst_bin_change_state), (gst_bin_change_state_norecurse):
* gst/gstbin.h:
* testsuite/threads/Makefile.am:
* testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
(cb_state), (cb_play), (main):
Fix non-recursive state changes to *really* change the state
of the object, and not just call parent_class->state_change.
Fix a lot of lockups caused by this. Fixes #132775. Add test
for the problem. Also enable test to show #142588 (fixed).
* gst/gstthread.c: (gst_thread_change_state),
(gst_thread_child_state_change):
Don't exit the thread if we go to NULL and are inside thread
context. Instead, return control to the main thread context
and exit from there.
* gst/gstelement.c: (gst_element_disable_threadsafe_properties):
Don't unset virtual functions, since those may still be used.
That's not necessarily correct, but suffices for now.
* configure.ac:
* testsuite/Makefile.am:
* testsuite/pad/Makefile.am:
* testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
(gst_test_sink_base_init), (gst_test_sink_chain),
(gst_test_sink_init), (main):
* testsuite/pad/getnopush.c: (gst_test_src_class_init),
(gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
(main):
* testsuite/pad/link.c: (gst_test_element_class_init),
(gst_test_element_base_init), (gst_test_src_get),
(gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
(gst_test_filter_loop), (gst_test_filter_init),
(gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
(cb_error), (main):
Add tests to show #150546. Pass, but should fail (currently
disabled from the testsuite).
* gst/gstscheduler.c: (gst_scheduler_dispose):
Dereference child schedulers on dispose (#94464).
* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
Fix typo.
* testsuite/threads/thread.c: (main):
Add more debug.
2005-01-31 15:51:19 +00:00
Thomas Vander Stichele c16b2dd49c ... and this test also passes now
Original commit message from CVS:
... and this test also passes now
2004-12-21 12:25:44 +00:00
Thomas Vander Stichele 6e094b166d make test actually stop
Original commit message from CVS:
make test actually stop
2004-12-21 12:00:18 +00:00
Thomas Vander Stichele 5dbc1e3916 ignore more
Original commit message from CVS:
ignore more
2004-12-17 11:17:01 +00:00
Thomas Vander Stichele 305e424cdc make the test slightly less expensive
Original commit message from CVS:
make the test slightly less expensive
2004-12-17 11:09:34 +00:00
Wim Taymans 522f5f7231 Added testcase for failing bin iterate function due to glib thread-unsafeness.
Original commit message from CVS:
Added testcase for failing bin iterate function due to glib thread-unsafeness.
2004-11-29 17:29:37 +00:00
Wim Taymans 4c20dfd33d testsuite/threads/: Added a bunch of testcases that show threadsafety bugs in glib.
Original commit message from CVS:
* testsuite/threads/Makefile.am:
* testsuite/threads/signals.c: (gst_test_get_type),
(gst_test_class_init), (gst_test_init), (gst_test_dispose),
(gst_test_set_property), (gst_test_get_property),
(gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
(gst_test_do_prop), (run_thread), (main):
Added a bunch of testcases that show threadsafety bugs in glib.
2004-11-29 14:27:04 +00:00
Wim Taymans 7d5e71663c testsuite/threads/: Added testsuite to show bug #159566
Original commit message from CVS:
* testsuite/threads/159566.c: (object_deep_notify), (main):
* testsuite/threads/Makefile.am:
Added testsuite to show bug #159566
2004-11-26 18:29:06 +00:00
Thomas Vander Stichele bb22738d21 disable the tests that still fail on SMP
Original commit message from CVS:
disable the tests that still fail on SMP
2004-09-09 19:09:49 +00:00
Wim Taymans 8448b21439 Added missing tests
Original commit message from CVS:
Added missing tests
2004-09-09 08:56:51 +00:00
Thomas Vander Stichele ecb3dc6865 unbreak testsuite
Original commit message from CVS:
unbreak testsuite
2004-09-08 23:37:07 +00:00
Wim Taymans 5905655ead Reworked the GstThread implementation, make more operations threadsafe and more reliable.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
(gst_thread_change_state), (gst_thread_child_state_change),
(gst_thread_main_loop):
* gst/gstthread.h:
* testsuite/threads/Makefile.am:
* testsuite/threads/queue.c:
* testsuite/threads/thread.c: (construct_pipeline), (change_state),
(main):
* testsuite/threads/threadc.c: (construct_pipeline):
* testsuite/threads/threadd.c: (main):
* testsuite/threads/threade.c: (main):
* testsuite/threads/threadf.c:
Reworked the GstThread implementation, make more operations
threadsafe and more reliable.
Moved testcases from the failing to the working list.
2004-09-06 15:57:11 +00:00
Thomas Vander Stichele cc62cef6fa fold enumcaps into caps/; clean up Makefile.am files
Original commit message from CVS:
fold enumcaps into caps/; clean up Makefile.am files
2004-07-28 11:43:04 +00:00
Benjamin Otte 228cef489a keep this up to date, since I seem to be the only one who cares about not missing files on commits
Original commit message from CVS:
* gst/.cvsignore:
* gst/autoplug/.cvsignore:
* gst/elements/.cvsignore:
* gst/indexers/.cvsignore:
* libs/gst/bytestream/.cvsignore:
* libs/gst/control/.cvsignore:
* libs/gst/getbits/.cvsignore:
* testsuite/states/.cvsignore:
* testsuite/threads/.cvsignore:
keep this up to date, since I seem to be the only one who cares
about not missing files on commits
2004-07-21 21:37:31 +00:00
Benjamin Otte 28bf20507e gst/gstbin.c: make state changes work correctly and reentrant (so removing elements from bins during state changes of...
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
2004-07-21 21:28:58 +00:00
Zaheer Abbas Merali becad99a95 testsuite/threads/: added test to check if problem when removing all elements from a
Original commit message from CVS:
2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* testsuite/threads/Makefile.am:
* testsuite/threads/threadg.c:
added test to check if problem when removing all elements from a
GstThread before setting GstThread state to NULL
2004-07-09 14:18:35 +00:00
David Schleef 3547072600 testsuite/Makefile.am: define tests_ignore
Original commit message from CVS:
* testsuite/Makefile.am: define tests_ignore
* testsuite/Rules: Added new tests_ignore, which get compiled,
but not run (generally because they're inconsistent or have
heisenbugs).  Now we can ensure all the .c files compile in
testsuite/.
* testsuite/bins/Makefile.am: define tests_ignore
* testsuite/bytestream/Makefile.am:
* testsuite/caps/Makefile.am:
* testsuite/clock/Makefile.am:
* testsuite/debug/Makefile.am:
* testsuite/debug/global.c: (gst_debug_log_one),
(gst_debug_log_two): Fix compilation problem.
* testsuite/dynparams/Makefile.am:
* testsuite/elements/Makefile.am:
* testsuite/ghostpads/Makefile.am:
* testsuite/indexers/Makefile.am:
* testsuite/parse/Makefile.am:
* testsuite/plugin/Makefile.am:
* testsuite/refcounting/Makefile.am:
* testsuite/refcounting/element_pad.c: (main): Don't return leak
results, because it's not calculated correctly.
* testsuite/refcounting/pad.c: (main): same
* testsuite/states/Makefile.am:
* testsuite/tags/Makefile.am:
* testsuite/threads/Makefile.am:
2004-04-15 04:54:53 +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 563d272840 ignore some more
Original commit message from CVS:
ignore some more
2004-03-15 17:26:30 +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 1e82f617e4 gst/gstclock.*: deprecate old interface and disable functions that aren't in use anymore.
Original commit message from CVS:
2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
(gst_clock_set_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_handle_discont):
* gst/gstclock.h:
deprecate old interface and disable functions that aren't in use
anymore.
* gst/gstelement.h:
* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
(gst_element_set_time), (gst_element_adjust_time):
add concept of "element time" and functions to get/set this time.
* gst/gstelement.c: (gst_element_change_state):
update element time correctly.
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
This is a debug message, not a g_critical.
* gst/gstpad.c: (gst_pad_event_default):
handle discontinuous events right with element time.
* gst/gstscheduler.c: (gst_scheduler_state_transition):
update to clocking fixes.
set clocks on elements in READY=>PAUSED. The old behaviour caused
a wrong element time on the first element that started playing.
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove code that just implements the default behaviour.
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
update to use new clocking functions
* testsuite/clock/clock1.c: (gst_clock_debug), (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (main):
update to test new element time.
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
use _get_allowed_caps instead of _get_caps. This catches filtered
caps correctly.
* testsuite/debug/commandline.c:
update for new GST_DEBUG syntax.
* testsuite/threads/Makefile.am:
disable a test that only works sometimes.
2004-01-14 00:46:48 +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
Iain Holmes 0676d630e7 threadb and threadc are unexpectedly passing on my system (glibc2.3.1 and linux-2.6.0-test9). Commenting them out bec...
Original commit message from CVS:
threadb and threadc are unexpectedly passing on my system (glibc2.3.1 and linux-2.6.0-test9). Commenting them out because they are expectedly failing on other systems.
2003-11-05 12:45:18 +00:00
David Schleef 9c87c528e7 Massive patch to make 'make check' work properly. Many compilation fixes -- everything should compile now. Some tes...
Original commit message from CVS:
Massive patch to make 'make check' work properly.  Many compilation
fixes -- everything should compile now.  Some tests pass, some
fail; the expected sucess/failure is coded in the Makefile.am's.
gst-register is properly run for both 'make check' and 'make distcheck'.
Much of the common infrastructure is coded in testsuite/Rules.
2003-10-15 01:25:41 +00:00
David Schleef d4ee10bd79 distcheck fixes. Some tests have been disabled.
Original commit message from CVS:
distcheck fixes.  Some tests have been disabled.
2003-10-09 01:13:21 +00:00
Thomas Vander Stichele 230f5397aa adding simple queue test
Original commit message from CVS:
adding simple queue test
2003-10-03 15:21:49 +00:00
Thomas Vander Stichele 2b881623ff ignore these test code
Original commit message from CVS:
ignore these
test code
2003-09-11 12:19:22 +00:00
Andy Wingo 5c2d6b2f43 cache return values of _gst_debug_nameof_funcptr
Original commit message from CVS:
kill some memleaks, add ::signal-handoffs property to fakesrc/sink (default FALSE), cache return values of _gst_debug_nameof_funcptr
2003-08-07 12:45:31 +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
Thomas Vander Stichele 6cf83f6d8b applying http://bugzilla.gnome.org/show_bug.cgi?id=110707 patch, should fix testsuite issues
Original commit message from CVS:
applying
http://bugzilla.gnome.org/show_bug.cgi?id=110707
patch, should fix testsuite issues
2003-05-18 22:59:51 +00:00
Benjamin Otte e0cb191ed4 destroyed gst_*_destroy in the examples - use gst_object_unref instead - includes some tries to bufixes, most of the ...
Original commit message from CVS:
destroyed gst_*_destroy in the examples - use gst_object_unref instead - includes some tries to bufixes, most of the tests still fail
2003-04-15 18:17:24 +00:00
Thomas Vander Stichele cc25be4804 various test fixes :)
Original commit message from CVS:
various test fixes :)
2003-01-21 22:11:21 +00:00
David I. Lehn 6877e9592f connect -> link
Original commit message from CVS:
connect -> link
2003-01-10 04:54:20 +00:00
Thomas Vander Stichele f1af3cca60 code cleanups and further deprecation fixes
Original commit message from CVS:
code cleanups and further deprecation fixes
2003-01-09 20:02:34 +00:00
Thomas Vander Stichele bc5a5b19a1 set up thread test environment
Original commit message from CVS:
set up thread test environment
2003-01-05 18:57:26 +00:00
David I. Lehn 14a0a70505 format properly
Original commit message from CVS:
format properly
2002-12-31 18:50:17 +00:00
David I. Lehn dccb4d33ef ignore some more cruft
Original commit message from CVS:
ignore some more cruft
2002-12-31 18:45:54 +00:00
Thomas Vander Stichele 8b9fcbd5df variety is spicy
Original commit message from CVS:
variety is spicy
2002-12-07 14:16:52 +00:00
Leif Johnson e98a2b5ddb + fixing compile warnings about uninitialized variable
Original commit message from CVS:
+ fixing compile warnings about uninitialized variable
2002-12-05 23:43:49 +00:00
Wim Taymans 61a64d7910 Check state changes before going into enless loops
Original commit message from CVS:
Check state changes before going into enless loops
2002-12-03 23:46:16 +00:00
David I. Lehn c5ee2d3051 use AM_CFLAGS dummy NULL init for vars to deal with warnings
Original commit message from CVS:
use AM_CFLAGS
dummy NULL init for vars to deal with warnings
2002-12-03 21:55:39 +00:00
Wim Taymans cb3a70b7f7 Do some error checking to make this test succeed
Original commit message from CVS:
Do some error checking to make this test succeed
2002-12-03 21:40:49 +00:00
Wim Taymans 2c7ed823e5 Make sure the thread goes back to NULL before leaving the thread context
Original commit message from CVS:
Make sure the thread goes back to NULL before leaving the thread context
2002-12-03 21:34:18 +00:00
Thomas Vander Stichele 35387bca47 random cleanups and paranoia checks
Original commit message from CVS:
random cleanups and paranoia checks
2002-11-29 13:59:30 +00:00
Wim Taymans 08b7de807c I suppose this is where done=FALSE should be done..
Original commit message from CVS:
I suppose this is where done=FALSE should be done..
2002-11-19 23:21:28 +00:00
Thomas Vander Stichele 926f38ba31 adding tests
Original commit message from CVS:
adding tests
2002-11-18 22:54:06 +00:00