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