Commit graph

5054 commits

Author SHA1 Message Date
Thomas Vander Stichele ccb77fc69f optimize
Original commit message from CVS:
optimize
2004-12-14 11:49:02 +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 91f1225038 up requirement
Original commit message from CVS:
up requirement
2004-12-13 18:11:01 +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
Wim Taymans 767d9e4681 More MT fixes, added design document describing refcounting policies used in GStreamer and locking involved.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-conventions.txt:
* gst/gstbin.c: (gst_bin_set_index), (gst_bin_set_clock),
(gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_iterate_elements), (gst_bin_change_state),
(gst_bin_dispose), (gst_bin_get_by_name_recurse_up):
* gst/gstcaps.c:
* gst/gstelement.c: (gst_element_add_pad),
(gst_element_remove_pad), (pad_compare_name),
(gst_element_get_static_pad), (gst_element_get_request_pad),
(gst_element_get_pad), (gst_element_iterate_pads),
(gst_element_class_get_pad_template_list),
(gst_element_class_get_pad_template), (gst_element_get_random_pad),
(gst_element_get_event_masks), (gst_element_send_event),
(gst_element_seek), (gst_element_get_query_types),
(gst_element_query), (gst_element_get_formats),
(gst_element_convert), (gst_element_post_message),
(gst_element_set_locked_state), (gst_element_get_state),
(gst_element_set_state), (gst_element_pads_activate),
(gst_element_dispose), (gst_element_set_manager_func),
(gst_element_get_manager):
* gst/gstelement.h:
* gst/gstiterator.c: (gst_iterator_new), (gst_list_iterator_next),
(gst_list_iterator_resync), (gst_list_iterator_free),
(gst_iterator_new_list):
* gst/gstiterator.h:
* gst/gstmessage.c: (_gst_message_copy):
* gst/gstobject.c: (gst_object_class_init), (gst_object_init),
(gst_object_ref), (gst_object_unref), (gst_object_sink),
(gst_object_replace), (gst_object_dispose),
(gst_object_dispatch_properties_changed), (gst_object_set_name),
(gst_object_set_parent), (gst_object_get_parent),
(gst_object_unparent), (gst_object_check_uniqueness),
(gst_object_get_path_string):
* gst/gstobject.h:
* gst/gstpad.c: (gst_pad_dispose), (gst_pad_set_active),
(gst_pad_is_active), (gst_pad_set_blocked_async),
(gst_pad_is_blocked), (gst_pad_unlink), (gst_pad_is_linked),
(gst_pad_link_prepare_filtered), (gst_pad_link_filtered),
(gst_pad_get_real_parent), (gst_pad_relink_filtered),
(gst_pad_get_peer), (gst_pad_realize), (gst_pad_get_allowed_caps),
(gst_pad_alloc_buffer), (gst_pad_push), (gst_pad_pull),
(gst_pad_pull_range), (gst_pad_push_event):
* gst/gstpad.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(is_eos), (pipeline_bus_handler):
* gst/gstutils.c: (gst_element_get_compatible_pad_filtered),
(gst_element_link_pads_filtered), (gst_element_unlink):
* gst/parse/grammar.y:
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_pad_info):
* tools/gst-launch.c: (main):
* tools/gst-xmlinspect.c: (print_element_info):
More MT fixes, added design document describing refcounting
policies used in GStreamer and locking involved.
Fixed unsafe ghostpad dereffing.
Removed old unsafe methods.
2004-12-13 11:33:55 +00:00
Wim Taymans 5b1065d625 More MT fixes. Header cleanups, design doc update.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* gst/gstbin.c: (gst_bin_set_index), (gst_bin_set_clock),
(gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
(gst_bin_remove), (gst_bin_iterate_elements),
(bin_element_is_sink), (gst_bin_get_state), (gst_bin_change_state),
(gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
(gst_bin_get_by_interface), (gst_bin_get_all_by_interface):
* gst/gstbin.h:
* gst/gstbuffer.h:
* gst/gstbus.h:
* gst/gstcaps.h:
* gst/gstclock.h:
* gst/gstdata.h:
* gst/gstelement.h:
* gst/gstevent.h:
* gst/gstmessage.h:
* gst/gststructure.h:
More MT fixes. Header cleanups, design doc update.
2004-12-09 23:28:31 +00:00
Wim Taymans aed37ff5c3 gst/gstpad.*: More MT fixes.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_custom_new), (gst_pad_get_direction),
(gst_pad_set_active), (gst_pad_is_active),
(gst_pad_set_blocked_async), (gst_pad_unlink),
(gst_pad_get_real_parent), (gst_pad_relink_filtered),
(gst_pad_alloc_buffer), (handle_pad_block), (gst_pad_push),
(gst_pad_pull), (gst_pad_pull_range), (gst_pad_push_event):
* gst/gstpad.h:
More MT fixes.
2004-12-09 22:03:28 +00:00
Wim Taymans 15b0278251 gst/: More MT safety fixes following the desing doc.
Original commit message from CVS:
* gst/gst_private.h:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index),
(gst_bin_set_clock), (gst_bin_get_clock),
(gst_bin_iterate_elements), (gst_bin_get_by_name),
(gst_bin_get_by_name_recurse_up), (gst_bin_get_by_interface),
(gst_bin_get_all_by_interface):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_add_pad),
(gst_element_remove_pad), (gst_element_request_pad),
(gst_element_post_message), (gst_element_error_full),
(gst_element_is_locked_state), (gst_element_set_locked_state),
(gst_element_create_task):
* gst/gstelement.h:
* gst/gstinfo.h:
* gst/gstiterator.h:
* gst/gstobject.c: (gst_object_init), (gst_object_ref),
(gst_object_unref), (gst_object_sink), (gst_object_dispose),
(gst_object_finalize), (gst_object_dispatch_properties_changed),
(gst_object_set_name), (gst_object_get_name),
(gst_object_set_parent), (gst_object_get_parent),
(gst_object_unparent), (gst_object_check_uniqueness),
(gst_object_save_thyself), (gst_object_restore_thyself),
(gst_object_real_restore_thyself), (gst_object_set_property),
(gst_object_get_property), (gst_object_get_path_string):
* gst/gstobject.h:
* gst/gstpad.c: (gst_pad_get_direction), (gst_pad_unlink),
(gst_pad_is_linked), (gst_pad_link_filtered),
(gst_pad_relink_filtered), (gst_pad_get_peer), (gst_pad_push),
(gst_pad_pull), (gst_pad_pull_range):
* gst/gstpad.h:
More MT safety fixes following the desing doc.
2004-12-09 21:08:13 +00:00
Wim Taymans 56ac821b40 docs/design/: Added design doc for MT-safe API implementation guidelines in GST.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-conventions.txt:
Added design doc for MT-safe API implementation
guidelines in GST.
2004-12-09 17:25:00 +00:00
Thomas Vander Stichele 65285e1acf newly added files
Original commit message from CVS:
newly added files
2004-12-08 18:05:14 +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
Thomas Vander Stichele 047c0a3e9b remove patch if autopoint fails
Original commit message from CVS:
remove patch if autopoint fails
2004-12-08 09:18:38 +00:00
Ronald S. Bultje 1fd4bed69f docs/gst/gstreamer-sections.txt: Document Thomas' addition, fix build, make Luis the sheriff happy.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Document Thomas' addition, fix build, make Luis the sheriff happy.
2004-12-07 23:21:32 +00:00
Thomas Vander Stichele 6688e2fd48 add accessor for version field
Original commit message from CVS:
add accessor for version field
2004-12-07 18:50:39 +00:00
Thomas Vander Stichele 23a4951efd yay for the TP, italian added
Original commit message from CVS:
yay for the TP, italian added
2004-12-06 09:15:46 +00:00
Ronald S. Bultje 8291c44aa1 gst/gstpad.c: GST_RPAD_* will only operate on a RealPad (it casts the pointer, it doesn't actually check the contents...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_is_negotiated),
(gst_pad_get_negotiated_caps):
GST_RPAD_* will only operate on a RealPad (it casts the pointer,
it doesn't actually check the contents), so be sure to hand it
a RealPad else we'll crash.
2004-12-03 13:24:15 +00:00
Wim Taymans d6e66eee73 gst/gstqueue.c: Reverted to 1.110 until this makes the testsuite and various apps work.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link), (gst_queue_handle_src_query):
Reverted to 1.110 until this makes the testsuite and various
apps work.
2004-12-03 11:24:01 +00:00
Thomas Vander Stichele bcacdad2df usecases
Original commit message from CVS:
usecases
2004-12-02 14:21:30 +00:00
Christian Schaller 2aed185cc1 fix cvs conflict strings mistakenly included
Original commit message from CVS:
fix cvs conflict strings mistakenly included
2004-12-01 17:58:05 +00:00
Ronald S. Bultje 6af3cb71c8 gst/gstelement.c: Use g_error_new_literal because error text may have percentage signs in it. Fixes #160019.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstelement.c: (gst_element_error_full):
Use g_error_new_literal because error text may have
percentage signs in it. Fixes #160019.
2004-12-01 09:44:22 +00:00
Benjamin Otte 802e18724d gst/elements/gstbufferstore.c: don't try to make subbuffers bigger than they can be. (fixes #159970)
Original commit message from CVS:
* gst/elements/gstbufferstore.c:
(gst_buffer_store_add_buffer_func):
don't try to make subbuffers bigger than they can be. (fixes
#159970)
2004-11-30 23:45:36 +00:00
Ronald S. Bultje 88b88555a4 docs/gst/: Add new function to docs to fix build.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstvalue.sgml:
Add new function to docs to fix build.
2004-11-29 18:29:05 +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
Ronald S. Bultje 8d61d9045d gst/: Deprecate _type_is_fixed, use _value_is_fixed instead, since the fixedness depends on the content.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
* gst/gstpad.c: (_gst_pad_default_fixate_value),
(_gst_pad_default_fixate_foreach):
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
* gst/gstvalue.h:
Deprecate _type_is_fixed, use _value_is_fixed instead, since
in some cases (arrays), the fixedness depends on the content.
* gst/gstqueue.c: (gst_queue_handle_src_query):
Check for availability before doing something.
2004-11-29 17:02:09 +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
Stefan Kost ab472f9a48 Added a first batch of gst-launch examples, as provided by ronald and other from the devel-mlist
Original commit message from CVS:
Added a first batch of gst-launch examples, as provided by ronald and other from the devel-mlist
2004-11-29 14:16:22 +00:00
Wim Taymans 1d4aeab404 Added docs with proposals for major rewrite for 0.9.
Original commit message from CVS:
Added docs with proposals for major rewrite for 0.9.
2004-11-29 11:27:26 +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
Thomas Vander Stichele 9364ba1c31 updated release practice
Original commit message from CVS:
updated release practice
2004-11-25 19:07:59 +00:00
Thomas Vander Stichele afe15de1f9 fix some typos
Original commit message from CVS:
fix some typos
2004-11-25 15:45:36 +00:00
Wim Taymans 12a0211728 gst/gstthread.c: Ref the thread object in the GThread mainloop. Break out of the thread mainloop if it holds the last...
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
(gst_thread_child_state_change), (gst_thread_main_loop):
Ref the thread object in the GThread mainloop. Break out of the
thread mainloop if it holds the last ref. This properly exits
the threads when disposing the thread from its own context. It
also avoids possible deadlocks in the dispose function.
2004-11-25 12:46:50 +00:00
Martin Soto 6c376ecbf5 gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when it is necessary to wait.
Original commit message from CVS:
2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
it is necessary to wait.
2004-11-24 18:54:35 +00:00
Ronald S. Bultje eea114a84d docs/pwg/building-boiler.xml: Make description somewhat clearer.
Original commit message from CVS:
* docs/pwg/building-boiler.xml:
Make description somewhat clearer.
2004-11-23 23:03:10 +00:00
Ronald S. Bultje 7a8e5e65aa docs/upload.mak: Apparently docs changed location on FDO's server.
Original commit message from CVS:
* docs/upload.mak:
Apparently docs changed location on FDO's server.
2004-11-23 22:50:15 +00:00
Ronald S. Bultje a6647422c9 docs/pwg/appendix-checklist.xml: Add some random notes on thinks to check when writing an element.
Original commit message from CVS:
* docs/pwg/appendix-checklist.xml:
Add some random notes on thinks to check when writing an element.
This list can be extended as people see fit.
2004-11-23 22:36:21 +00:00
Martin Soto 709bfe8a23 gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
Original commit message from CVS:
2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
(gst_queue_link_src): Allow for renegotiating the caps of the sink
pad. The queue will now wait until it is empty and forward the new
caps to the source.
* gst/gstbin.c (gst_bin_set_element_sched)
(gst_bin_unset_element_sched): Make sure that all elements and
links are registered and unregistered with the scheduler exactly
once. This elaborates on a fix by Benjamin Otte, but
guarantees that decoupled elements are also registered.
2004-11-22 23:50:37 +00:00
Thomas Vander Stichele 4a2df81cce docs/manual/quotes.xml: add a quote
Original commit message from CVS:
* docs/manual/quotes.xml:
add a quote
* configure.ac:
* gst/gst.c:
* gst/gstinfo.c:
add LIBDIR and move init message higher up so it's at the start
2004-11-11 15:40:00 +00:00
Christian Schaller 4f8aa88b14 fix build after commit of fair :)
Original commit message from CVS:
fix build after commit of fair :)
2004-11-08 18:51:12 +00:00
Christophe Fergeau 93f541efef gst/elements/: Subtract size of internally stored data from position queries.
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
* gst/elements/gstidentity.c: (gst_identity_class_init):
Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
<teuf@gnome.org> (#157263).
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(gst_type_find_handle_src_query):
Subtract size of internally stored data from position queries.
2004-11-08 15:45:31 +00:00
Martin Soto 7bf7d80452 gst/gstpad.c (gst_pad_collectv): Fix the return line.
Original commit message from CVS:
2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstpad.c (gst_pad_collectv): Fix the return line.
(gst_pad_collect_valist): Fix gst_pad_collect_array
invocation. Apparently this functions were never tested.
2004-11-07 20:10:18 +00:00
Martin Soto 727725d959 gst/schedulers/: New cothread based scheduler: Fair scheduler.
Original commit message from CVS:
2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/schedulers/fairscheduler.c:
* gst/schedulers/faircothreads.c:
* gst/schedulers/faircothreads.h:
New cothread based scheduler: Fair scheduler.
* gst/schedulers/gthread-cothreads.h:
Add the standard #if around the whole file.
Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
compilation of the functions defined in this file. This is
necessary to be able to use this file as a normal header.
* gst/schedulers/Makefile.am: Add compiling support for fair
scheduler.
* docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
scheduler cothreads layer from documentation generation.
2004-11-07 19:31:39 +00:00
Ronald S. Bultje a358d1c135 gst/autoplug/gstspideridentity.c: Don't crash if that function is not implemented.
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
Don't crash if that function is not implemented.
2004-11-07 17:16:31 +00:00
Ronald S. Bultje eb87b3f6bf docs/pwg/advanced-types.xml: Another typo.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Another typo.
2004-11-06 12:39:08 +00:00
Ronald S. Bultje 1dc833e156 docs/pwg/intro-preface.xml: Hm, ok, so the brackets weren't really useful...
Original commit message from CVS:
* docs/pwg/intro-preface.xml:
Hm, ok, so the brackets weren't really useful...
* docs/pwg/other-ntoone.xml:
Fix embarassing typo.
2004-11-06 11:25:35 +00:00
Stéphane Loeuillet c7f059097c typo
Original commit message from CVS:
typo
2004-11-06 11:21:53 +00:00
Ronald S. Bultje f634aba4d6 docs/pwg/intro-preface.xml: Rewrite preface.
Original commit message from CVS:
* docs/pwg/intro-preface.xml:
Rewrite preface.
2004-11-06 11:12:56 +00:00
Ronald S. Bultje 79b77446d8 docs/pwg/: Typo fixes.
Original commit message from CVS:
* docs/pwg/advanced-scheduling.xml:
* docs/pwg/advanced-tagging.xml:
* docs/pwg/advanced-types.xml:
* docs/pwg/building-boiler.xml:
* docs/pwg/building-chainfn.xml:
* docs/pwg/building-signals.xml:
* docs/pwg/building-state.xml:
* docs/pwg/building-testapp.xml:
* docs/pwg/intro-basics.xml:
* docs/pwg/other-manager.xml:
* docs/pwg/other-source.xml:
Typo fixes.
* docs/pwg/other-manager.xml:
Add some first content. No example code yet.
* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
Remove double newlines.
2004-11-06 10:28:07 +00:00