Commit graph

657 commits

Author SHA1 Message Date
Andy Wingo
d94be30f9b fix waymans bug
Original commit message from CVS:
fix waymans bug
2005-02-21 11:56:50 +00:00
Thomas Vander Stichele
325219ea1a threadsafe pad link/unlink
Original commit message from CVS:
threadsafe pad link/unlink
2005-02-16 18:31:45 +00:00
Thomas Vander Stichele
a0845b59e6 add pad tests
Original commit message from CVS:
add pad tests
2005-02-16 17:34:32 +00:00
Thomas Vander Stichele
d2d601e447 sprinkle enters over emacs
Original commit message from CVS:
sprinkle enters over emacs
2005-02-11 16:59:22 +00:00
Thomas Vander Stichele
99d71befbe don't print expected criticals
Original commit message from CVS:
don't print expected criticals
2005-02-11 16:43:18 +00:00
Wim Taymans
484d9a3224 Added more docs.
Original commit message from CVS:
* docs/design/part-clocks.txt:
* docs/design/part-events.txt:
* gst/elements/gstfakesrc.c: (gst_fakesrc_get_event_mask),
(gst_fakesrc_event_handler), (gst_fakesrc_loop),
(gst_fakesrc_activate):
* gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
(gst_clock_id_compare_func), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_init),
(gst_clock_adjust_unlocked), (gst_clock_get_time):
* gst/gstevent.c: (gst_event_new_discontinuous_valist),
(gst_event_discont_get_value), (gst_event_new_segment_seek):
* gst/gstevent.h:
* gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
(pipeline_bus_handler), (gst_pipeline_change_state):
* gst/gstpipeline.h:
* gst/gstsystemclock.c: (gst_system_clock_init),
(gst_system_clock_async_thread),
(gst_system_clock_id_wait_unlocked),
(gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
* testsuite/clock/Makefile.am:
* testsuite/clock/clock4.c: (gst_clock_debug), (ok_callback),
(error_callback), (main):
Added more docs.
Remove more silly events.
Implement periodic clock notifications.
Add async testsuite.
2005-02-11 15:50:53 +00:00
Andy Wingo
98e3377631 tools/gst-inspect.c (print_field): Change prototype for non-mutating caps_foreach.
Original commit message from CVS:
2005-02-11  Andy Wingo  <wingo@pobox.com>

* tools/gst-inspect.c (print_field): Change prototype for
non-mutating caps_foreach.

* check/gst/gstobject.c (test_fail_abstract_new): Expect a warning
from GLib.

* check/gst/gstcaps.c (test_double_append): Renamed from
test_fail_double_append.
(test_mutability): New test, tests that caps and structures are
mutable only with refcount 1, or in the case of structures, also
when unparented.

* check/gstcheck.c (gst_check_init): Handle WARNING in addition to
CRITICAL.
(gst_check_log_critical_func): Print criticals in both the
expected and unexpected cases.
2005-02-11 15:28:20 +00:00
Andy Wingo
ff9b065eaa add cvsignore
Original commit message from CVS:
add cvsignore
2005-02-11 12:57:58 +00:00
Andy Wingo
a3d8e2c9d8 add missing file, cvsignore updates
Original commit message from CVS:
add missing file, cvsignore updates
2005-02-11 12:57:24 +00:00
Andy Wingo
9ffa8aff27 check/gst/gstcaps.c: New test suite. Only one test at the moment
Original commit message from CVS:
2005-02-11  Andy Wingo  <wingo@pobox.com>

* check/gst/gstcaps.c: New test suite. Only one test at the moment
-- this is an infrastructure commit.

* check/gst/gstobject.c (main):
* check/gst/gstdata.c (main):
* check/gst-libs/gdp.c (main): Use gst_check_init() to initialize
gstreamer.

* check/gstcheck.h: Declare all variables as extern so they are
defined once in gstcheck.c.
(ASSERT_CRITICAL): New macro, asserts that the expression passed
as an argument raises one or more critical logs.

* check/gstcheck.c: Define the extern-declared variables here.
(gst_check_log_message_func, gst_check_log_critical_func): The log
function was split in two, one for messages and one for criticals.
The criticals logfunc will fail if a critical was not expected.
The messages logfunc is the same as before.
(gst_check_init): Set up all log handlers, and initialize
gstreamer too.

* check/Makefile.am: Pulled over some pieces from the old
testsuite/ directory. Don't use --gst-fatal-warnings though, we
have some new mechanisms for that.
(TESTS): Added gst/gstcaps.
2005-02-11 12:55:16 +00:00
Andy Wingo
7c0804b15c testsuite/caps/value_serialize.c: merge from HEAD.
Original commit message from CVS:
2005-02-10  Andy Wingo  <wingo@pobox.com>

* testsuite/caps/value_serialize.c: merge from HEAD.

* testsuite/caps/subtract.c:
* testsuite/caps/filtercaps.c:
* testsuite/caps/enumcaps.c:
* testsuite/caps/deserialize.c:
* testsuite/caps/caps.c:
* testsuite/caps/audioscale.c: Unref caps, not free.

* testsuite/caps/caps_strings: Merged from HEAD.

* gst/elements/gstidentity.c (gst_identity_proxy_getcaps): Getcaps
implementation for identity.

* gst/gststructure.h
* gst/gststructure.c
(gst_caps_structure_fixate_field_nearest_double):
(gst_caps_structure_fixate_field_nearest_int): Moved from
gstcaps.c because we need the private IS_MUTABLE macro.
(IS_MUTABLE): New macro, determines if a
structure is mutable or not.
(gst_structure_free): Don't allow free while holding a pointer to
a parent's refcount.
(gst_structure_set_name): Check for writability.
(gst_structure_id_set_value): Same.
(gst_structure_set_value): Same.
(gst_structure_set_valist): Same.
(gst_structure_remove_field): Same.
(gst_structure_remove_all_fields): Same.
(gst_structure_map_in_place): New routine, like _foreach but
allows the function to mutate the value (via a non-const
prototype). Check for writability.
(gst_structure_foreach): Redefine to only take non-mutating
functions.

* gst/gstcaps.c (IS_WRITABLE): New macro, returns TRUE if the caps
are writable.
(gst_caps_copy): Add some docs about mutability, etc.
(_gst_caps_free): Set the parent refcount pointer on structures to
NULL before freeing them.
(gst_caps_ref): Document.
(gst_caps_make_writable): Doc.
(gst_caps_make_writable): Changed to make_writable, get_writable
sounds too much like retrieving a property.
(gst_caps_copy_1): Removed, not very useful.
(gst_caps_ref_by_count): Removed, no need to have something GLib
doesn't.
(gst_caps_copy_conditional): Ref instead of copying.
(gst_static_caps_get): Retain a reference to the returned caps, so
that the static caps will remain immutable.
(gst_caps_remove_and_get_structure): Set the parent refcount to
NULL when removing the structure.
(gst_caps_append): Fix to work with structure parent refcounts.
Check for writability.
(gst_caps_append_structure): Check for writability, work with
parent refcounts.
(gst_caps_remove_structure): Check for writability.
(gst_caps_set_simple): Check for writability.
(gst_caps_set_simple_valist): Check for writability.
(gst_caps_is_fixed_foreach): Update for non-mutating foreach.
(gst_structure_is_equal_foreach): Same.
(gst_caps_structure_intersect_field): Same.
(gst_caps_structure_subtract_field): Same. Make static.
(gst_caps_normalize_foreach): Same.
(gst_caps_structure_figure_out_union): Same.
(gst_caps_switch_structures): New static function, switches out
structures inside a caps, taking care of parent_refcount setting.

* gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
on only src pads, wim von masterhack claims it was bogus.

* testsuite/caps/Makefile.am
* testsuite/caps/app_fixate.c: Removed app_fixate test, things are
done a bit differently in THREADED.
2005-02-10 19:40:23 +00:00
Andy Wingo
d49e5407c3 grr, and the .cvsignore
Original commit message from CVS:
grr, and the .cvsignore
2005-02-10 11:26:49 +00:00
Andy Wingo
4da4fd220b whoops, really remove them
Original commit message from CVS:
whoops, really remove them
2005-02-10 11:25:47 +00:00
Andy Wingo
3279192621 testsuite/bytestream: Removed, getrange replaces bytestream in
Original commit message from CVS:
2005-02-10  Andy Wingo  <wingo@pobox.com>

* testsuite/bytestream: Removed, getrange replaces bytestream in
-THREADED.

* testsuite/Makefile.am:
* configure.ac: Updated.
2005-02-10 11:23:06 +00:00
Wim Taymans
10e648c7d9 Removed schedulers and compat stuff.
Original commit message from CVS:
Removed schedulers and compat stuff.
Use iterators in bin for the various lookup functions.
Optimized the clock a bit.
Added some more docs.
Fixed scheduling in the ()-(l) case.
Fixed and added some testcases.
Removed old code.
2005-01-26 10:56:09 +00:00
Wim Taymans
864a9acf69 More state change fixes.
Original commit message from CVS:
More state change fixes.
Added/fixed some testcases.
Threadsafety fixes.
2005-01-18 10:52:08 +00:00
Wim Taymans
74ca793b0a Clock fixes. Added async callbacks and clock unscheduling.
Original commit message from CVS:
Clock fixes. Added async callbacks and clock unscheduling.
Threading fixes. Fixed race condition in GstTask and possible
deadlock in _pad_get_caps(). Made various subsystems (query,
format,..) threadsafe.
Lots of cleanups and documentation.
2005-01-06 18:17:12 +00:00
Thomas Vander Stichele
1fece171ea adding gstdata tests, cleaning up source files
Original commit message from CVS:
adding gstdata tests, cleaning up source files
2004-12-21 15:51:09 +00:00
Thomas Vander Stichele
8f8da12228 move common code to a lib
Original commit message from CVS:
move common code to a lib
2004-12-21 14:50:57 +00:00
Thomas Vander Stichele
993b529a3c Change dataprotocol test to new check
Original commit message from CVS:
Change dataprotocol test to new check
2004-12-21 12:26:38 +00:00
Thomas Vander Stichele
29177515ff add _get/_set_name_prefix() for debugging. Update docs.
Original commit message from CVS:

* check/gst/gstobject.c:
* docs/design/part-gstelement.txt:
* docs/design/part-gstobject.txt:
* gst/gstobject.c:
* gst/gstobject.h:
add _get/_set_name_prefix() for debugging. Update docs.
Finish unique name unit test
2004-12-14 11:47:44 +00:00
Thomas Vander Stichele
5d24ac1be7 make names only settable when unparented, so we can guarantee uniqueness inside a parent together with the _add checks
Original commit message from CVS:
make names only settable when unparented, so we can guarantee
uniqueness inside a parent together with the _add checks

2
2004-12-13 19:23:04 +00:00
Thomas Vander Stichele
54cf91ba76 unit test for threadsafe naming
Original commit message from CVS:
unit test for threadsafe naming
2004-12-13 17:55:57 +00:00
Thomas Vander Stichele
a192d6d688 adding unit testing
Original commit message from CVS:
* Makefile.am:
* check/Makefile.am:
* check/gst/.cvsignore:
* check/gst/gstobject.c:
* configure.ac:
adding unit testing
* docs/upload.mak:
fixing double vars
* gst/Makefile.am:
disable some unused stuff
* gst/gstbus.h:
* gst/gsttypes.h:
move typedefs for gstbus
* gst/gstelement.c:
* gst/gstelement.h:
add getter/setter for bus and scheduler
add functionality to have (non-fatal) warnings as messages
* gst/gsterror.c:
* gst/gsterror.h:
* gst/gstmessage.c:
* gst/gstmessage.h:
rework API to be more general for warnings as well
* gst/gstobject.c:
fix docs
* tools/gst-launch.c:
fix macros for errors
2004-12-13 14:49:11 +00:00
Thomas Vander Stichele
3ffce00efc commiting wim's preliminary threaded work to a branch
Original commit message from CVS:
commiting wim's preliminary threaded work to a branch
2004-12-08 17:40:37 +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
Benjamin Otte
a9bad8aa6e gst/gstelement.c: simplify
Original commit message from CVS:
* gst/gstelement.c: (gst_element_negotiate_pads):
simplify
* gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
(gst_value_serialize_string), (gst_value_deserialize_string):
add unwrapping of previously wrapped strings. Fix bug in wrapping
while at it.
* testsuite/caps/value_serialize.c: (test1),
(test_string_serialization), (test_string_deserialization), (main):
add tests for string (de)serialization
2004-11-28 18:02:48 +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
Wim Taymans
df7f3e4161 Added testcase for schduler segfault.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (normalize_group), (group_migrate_connected),
(gst_opt_scheduler_iterate):
* testsuite/schedulers/.cvsignore:
* testsuite/schedulers/Makefile.am:
* testsuite/schedulers/queue_link.c: (main):
Added testcase for schduler segfault.
Fix scheduler segfault when removing a decoupled
entry point as the last element from a group.
2004-11-04 11:03:48 +00:00
Wim Taymans
3cf9fdfcb7 Since parse can do 'element name=a:b' make 'a:b.' work as well.
Original commit message from CVS:
* gst/parse/parse.l:
* testsuite/parse/parse1.c: (main):
Since parse can do 'element name=a:b' make 'a:b.' work as
well.
Added testcase to verify fix.
2004-10-19 09:38:20 +00:00
David Schleef
7a054da4e9 examples/manual/Makefile.am: $< isn't portable in Makefile rules.
Original commit message from CVS:
* examples/manual/Makefile.am: $< isn't portable in Makefile
rules.
2004-10-13 23:53:41 +00:00
Thomas Vander Stichele
a608f7e770 ouch, this breaks our test bots heavily :)
Original commit message from CVS:
ouch, this breaks our test bots heavily :)
2004-09-09 21:15:45 +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
Thomas Vander Stichele
bba6ac4b74 docs/: restructure so that common stuff is shown first
Original commit message from CVS:
* docs/Makefile.am:
* docs/manual/elements-api.xml:
restructure so that common stuff is shown first
* docs/manual/init-api.xml:
convert to examples
* docs/manual/manual.xml:
* docs/manuals.mak:
* docs/url.entities:
link to API on the website, possibly override later in build
* examples/manual/.cvsignore:
ignore more
* examples/manual/Makefile.am:
add more examples
* examples/manual/extract.pl:
error out on failure
2004-09-08 23:18:55 +00:00
Thomas Vander Stichele
00ec0495e1 two more examples
Original commit message from CVS:
two more examples
2004-09-08 21:43:59 +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
Benjamin Otte
e1ef5586cd testsuite/: s/gst_pad_new/&_from_template/ prepare deprecation of gst_pad_new
Original commit message from CVS:
* testsuite/bytestream/gstbstest.c: (gst_bstest_init):
* testsuite/dynparams/dparamstest.c: (gst_dptest_init):
* testsuite/refcounting/pad.c: (main):
* testsuite/refcounting/thread.c: (create_thread_ghostpads):
s/gst_pad_new/&_from_template/
prepare deprecation of gst_pad_new
2004-08-17 10:16:35 +00:00
Benjamin Otte
0148ca0f38 tests/mass_elements.c: allow specifying src and sink element explicitly, so I can test videotestsrc instead of fakesrc
Original commit message from CVS:
* tests/mass_elements.c: (main):
allow specifying src and sink element explicitly, so I can test
videotestsrc instead of fakesrc
2004-08-04 12:54:22 +00:00
Thomas Vander Stichele
8f0fda26d0 revert state change changes as agreed so we can rework them gradually
Original commit message from CVS:
revert state change changes as agreed so we can rework them gradually
2004-07-29 20:33:49 +00:00
Wim Taymans
ab1a23ffa2 More pendatic checks removed.
Original commit message from CVS:
More pendatic checks removed.
2004-07-29 16:01:58 +00:00
Wim Taymans
8615072540 testsuite/caps/fraction-convert.c: Make the test less pedantic about float roundoff errors.
Original commit message from CVS:
* testsuite/caps/fraction-convert.c: (check_from_double_convert),
(check_from_fraction_convert), (transform_test), (main):
Make the test less pedantic about float roundoff errors.
2004-07-29 15:40:00 +00:00
Benjamin Otte
3d67acc6cd /me kicks ds
Original commit message from CVS:
/me kicks ds
2004-07-29 15:37:44 +00:00
Benjamin Otte
6788d167d6 gst/elements/gstfilesrc.c: make seek events to before start/after end of file not fail, but seek to start/end instead
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
(gst_filesrc_srcpad_event):
make seek events to before start/after end of file not fail, but
seek to start/end instead
* testsuite/caps/fraction-convert.c: (check_from_double_convert):
add more output
2004-07-29 15:34:25 +00:00
Thomas Vander Stichele
0dc1a2b42f fix distchekc
Original commit message from CVS:
fix distchekc
2004-07-29 15:15:16 +00:00
David Schleef
2c4c302945 testsuite/elements/: A little test to keep distcheck from working if someone changes a structure size accidentally.
Original commit message from CVS:
* testsuite/elements/Makefile.am:
* testsuite/elements/struct_i386.h:
* testsuite/elements/struct_size.c: (main):  A little test
to keep distcheck from working if someone changes a structure
size accidentally.
2004-07-28 19:16:44 +00:00
Thomas Vander Stichele
576559bba9 sigh, remove here too of course
Original commit message from CVS:
sigh, remove here too of course
2004-07-28 12:02:24 +00:00
Thomas Vander Stichele
567bd4a202 more ignore, add enumcaps.c
Original commit message from CVS:
more ignore, add enumcaps.c
2004-07-28 11:58:42 +00:00