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.
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
Original commit message from CVS:
* testsuite/threads/159566.c: (object_deep_notify), (main):
* testsuite/threads/Makefile.am:
Added testsuite to show bug #159566
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
Original commit message from CVS:
2004-11-03 Christophe Fergeau <teuf@gnome.org>
* docs/random/signal: added notes about using BOXED for GstBuffer
signal marshallers, not POINTER
Original commit message from CVS:
2004-11-03 Christophe Fergeau <teuf@gnome.org>
* gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is
a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(gst_opt_scheduler_iterate):
Aplied patch #154061. Running a pipeline in which an element
calls GST_ELEMENT_ERROR in the chain function, the opt
scheduler doesn't unref the chain so it never gets freed.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_get_abbrs),
(gst_structure_from_abbr), (gst_structure_to_abbr):
Remove that ugly if-then thing in the code that converts
between strings and types.
Original commit message from CVS:
* gst/gstscheduler.c: (gst_scheduler_add_element),
(gst_scheduler_remove_element), (gst_scheduler_state_transition):
Aplied clock distribution patch, this should fix bug
#148787.
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.
Original commit message from CVS:
* tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
Use the realpad when printing the direction.
Add extra \n when printing extensions of typefind factories.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
Subtract current queue contents from position queries.
Original commit message from CVS:
2004-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/elements/gstfakesrc.c: (gst_fakesrc_get):
Set element to EOS before sending EOS event
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Handle EOS events when doing the transition from
typefind to data passing. This should fix the
infinite loops in short files.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_change_state),
(gst_thread_child_state_change):
Make sure no iteration happens while performing
the state change as it could mess up the internal
consistency of the thread state.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
(gst_thread_change_state), (gst_thread_child_state_change):
Do not try to grab the iterate lock in the state change method
when we are in the same thread as the iterate or else we
could deadlock. Some other cleanups.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c: (stop_typefinding):
Push the buffer store instead of clearing it in case that
the stream is not seekable.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
(gst_thread_main_loop):
Lock the iteration and the state change so that automatic
negotiation and fixation does not happen at the same time
as the in stream negotiation.