]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - ChangeLog
rename filter-caps to caps property
[glsdk/gstreamer0-10.git] / ChangeLog
1 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3         * docs/libs/tmpl/gstdataprotocol.sgml:
4         * docs/manual/advanced-dataaccess.xml:
5         * gst/elements/gstcapsfilter.c:
6         * gst/gstutils.c:
7           rename filter-caps to caps property
9 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12           More robust fraction string parsing.
14         * docs/pwg/appendix-porting.xml:
15           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
17 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19         * gst/gstcaps.c: (gst_caps_do_simplify):
20           Thou shalt not free a structure and then continue using it
21           in the next loop iteration.
23         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24         (gst_caps_suite):
25           Add test case for caps simplification.
27 2005-09-29  Wim Taymans  <wim@fluendo.com>
29         * check/gst/gstbin.c: (GST_START_TEST):
30         Oops.
32 2005-09-29  Wim Taymans  <wim@fluendo.com>
34         * check/gst/gstbin.c: (GST_START_TEST):
35         Add bus to bin.
37         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
38         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
39         (find_element), (gst_bin_sort_iterator_next),
40         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
41         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
42         (gst_bin_change_state), (gst_bin_dispose):
43         A bin does not have a bus, it gets the bus from the parent.
45         * gst/gstelement.c: (gst_element_requires_clock),
46         (gst_element_provides_clock), (gst_element_is_indexable),
47         (gst_element_is_locked_state), (gst_element_change_state),
48         (gst_element_set_bus_func):
49         Small cleanups.
51         * gst/gstpipeline.c: (gst_pipeline_class_init),
52         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
53         The pipeline provides a bus.
55 2005-09-28  Johan Dahlin  <johan@gnome.org>
57         * gst/gstmessage.c (gst_message_parse_state_changed): Use
58         gst_structure_get_enum instead of gst_structure_get_int
60         * gst/gststructure.c (gst_structure_get_enum): Impl.
62         * gst/gststructure.h (gst_structure_get_enum): Add
64         * docs/gst/gstreamer-sections.txt: Ditto
66         * gst/gstmessage.c (gst_message_new_state_changed): Use
67         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
68         which does introspection.
69         Reviewed by Christian Schaller
71 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
73         * gst/gstinfo.c: (gst_debug_log_default):
74           don't do dummy g_strdup()s
75         * libs/gst/controller/gstcontroller.c:
76         (on_object_controlled_property_changed),
77         (gst_controlled_property_new), (gst_controller_new_valist),
78         (gst_controller_new_list),
79         (gst_controller_remove_properties_valist), (gst_controller_set),
80         (gst_controller_get), (gst_controller_sync_values),
81         (gst_controller_get_value_array), (_gst_controller_class_init),
82         (gst_controller_get_type):
83         * libs/gst/controller/gstcontroller.h:
84         * libs/gst/controller/gstinterpolation.c:
85         (gst_controlled_property_find_timed_value_node):
86           convert // to /**/ comments
88 2005-09-28  Wim Taymans  <wim@fluendo.com>
90         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
91         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
92         (gst_bus_sync_signal_handler):
93         * gst/gstbus.h:
94         Added async-message and sync-message signals to the bus.
95         Added helper BusFunc to emit signals for all posted messages.
97         * gst/gstmessage.c: (gst_message_type_get_name),
98         (gst_message_type_to_quark), (gst_message_get_type):
99         * gst/gstmessage.h:
100         Register quarks for message names.
102 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
104         * docs/libs/gstreamer-libs-sections.txt:
105         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
106         (gst_controller_new_list):
107         * libs/gst/controller/gstcontroller.h:
108           added another constructor for language bindings
110 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
112         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
113           add another check
114         * gst/gstbus.c:
115           add some doc
116         * gst/gstinfo.c: (_gst_debug_init):
117           slightly more readable color for refcount debugging
119 2005-09-28  Wim Taymans  <wim@fluendo.com>
121         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
122         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
123         (find_element), (gst_bin_sort_iterator_next),
124         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
125         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
126         (gst_bin_change_state), (gst_bin_dispose):
127         Small doc fixes. get_clock -> provide_clock.
129         * gst/gstelement.c: (gst_element_class_init),
130         (gst_element_provides_clock), (gst_element_provide_clock),
131         (gst_element_get_clock), (gst_element_commit_state),
132         (gst_element_lost_state):
133         * gst/gstelement.h:
134         Make get/set_clock() symetric. Add provide_clock vmethod since
135         that is actually what this function does.
137         * gst/gstpipeline.c: (gst_pipeline_class_init),
138         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
139         (gst_pipeline_get_clock):
140         get_clock -> provide_clock.
142 2005-09-28  Andy Wingo  <wingo@pobox.com>
144         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
145         lieu of real docs...
147         * gst/elements/gstfdsrc.c: Cleaned up a bit.
149 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
151         * gst/elements/gstcapsfilter.c:
152         * gst/elements/gstfakesink.c:
153         * gst/elements/gstfakesrc.c:
154         * gst/elements/gstfdsink.c:
155         * gst/elements/gstfdsrc.c:
156         * gst/elements/gstfilesink.c:
157         * gst/elements/gstfilesrc.c:
158         * gst/elements/gstidentity.c:
159         * gst/elements/gsttee.c:
160         * gst/elements/gsttypefindelement.c:
161           Make element details static.
163 2005-09-28  Wim Taymans  <wim@fluendo.com>
165         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
166         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
167         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
168         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
169         (gst_bin_change_state), (gst_bin_dispose):
170         Some documentation updates.
171         Clean up dispose handlers.
173         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
174         * gst/gstpad.c: (gst_pad_dispose):
175         Clean up dispose handler.
177         * gst/gstpipeline.c: (gst_pipeline_change_state):
178         Removed spurious UNLOCK.
180 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
182         * docs/gst/gstreamer-sections.txt:
183         * gst/base/gstbasesrc.h:
184         * gst/gstelement.h:
185         * gst/gstevent.h:
186         * gst/gstobject.h:
187         * gst/gstpad.h:
188         * gst/gstpipeline.c:
189         * gst/gstpipeline.h:
190         * gst/gstutils.h:
191         * gst/gstxml.h:
192           added two new functions to the docs
193                 documents all undocumented GstXXXFlags
194                 completed some incomplete docs 
196 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
198         * gst/gstbin.c: (gst_bin_dispose):
199         * gst/gstelement.c: (gst_element_dispose):
200           remove now useless and leaky resurrection code in dispose
201         * gst/base/gstbasesrc.c: (gst_base_src_init):
202         * gst/gstelementfactory.c: (gst_element_factory_create):
203         * gst/gstobject.c: (gst_object_set_parent):
204           add some debugging
206 2005-09-27  Wim Taymans  <wim@fluendo.com>
208         * docs/design/part-TODO.txt:
209         Update TODO.
211         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
212         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
213         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
214         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
215         (gst_bin_change_state):
216         * gst/gstelement.h:
217         Remove element variable, we keep element info in the iterator now.
219 2005-09-27  Andy Wingo  <wingo@pobox.com>
221         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
222         values.
224 2005-09-27  Wim Taymans  <wim@fluendo.com>
226         * check/gst/gstbin.c: (GST_START_TEST):
227         Enable check that works now.
229         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
230         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
231         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
232         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
233         (gst_bin_change_state):
234         * gst/gstbin.h:
235         Redid the state change algorithm using a topological sort algo.
236         Handles all cases correctly.
237         Exposed iterator for state change order.
239         * gst/gstelement.h:
240         Temp storage for state changes. Need to get rid of this soon.
242 2005-09-27  Wim Taymans  <wim@fluendo.com>
244         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
245         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
246         (link_fold_func), (gst_pad_proxy_setcaps):
247         Leak fixes, the fold functions need to unref the passed object and
248         _get_parent_*() returns ref to parent.
250 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
252         * check/gst/gstbuffer.c: (test_make_writable):
253           Plug leak in test case and fix 'make check-valgrind'
255 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
257         * gst/gstbuffer.c: (gst_subbuffer_init):
258           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
259           works correctly in all circumstances (we could have just copied
260           the parent buffer's readonly flag, but conceptually it seems
261           cleaner to mark all subbuffers as read-only). (based on patch
262           by Alessandro Decina, #314710).
263         
264         * check/gst/gstbuffer.c: (create_read_only_buffer),
265         (test_make_writable), (test_subbuffer_make_writable),
266         (gst_test_suite):
267           Add some tests for gst_buffer_make_writable().
269 2005-09-27  Wim Taymans  <wim@fluendo.com>
271         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
272         use gst_object_has_ancestor().
274         * gst/gstobject.c: (gst_object_has_ancestor):
275         * gst/gstobject.h:
276         gst_object_has_ancestor() copied from gstbin.c as it is a
277         usefull function.
279         * tests/instantiate/create.c: (create_all_elements):
280         * tests/lat.c: (handoff_src), (handoff_sink):
281         * tests/sched/runxml.c: (main):
282         * tests/seeking/seeking1.c: (main):
283         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
284         (main):
285         Fix compilation of some tests.
287 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
289         * gst/gsterror.h:
290           Remove comment. GST_TYPE_G_ERROR is here to stay,
291           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
292           (#316961, #300610).
294 2005-09-26  Wim Taymans  <wim@fluendo.com>
296         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
297         Added check that shows error in state change order.
299 2005-09-26  Wim Taymans  <wim@fluendo.com>
301         * gst/gstbin.c: (gst_bin_change_state):
302         Make state change function use 3 queues again, we were
303         adding elements in the wrong order.
305         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
306         Some debug info,
308         * gst/gstpad.c: (gst_pad_dispose):
309         Added some debug info first.
311 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
313         * docs/design/draft-push-pull.txt:
314         * docs/design/part-events.txt:
315         * docs/design/part-overview.txt:
316         * docs/design/part-scheduling.txt:
317           Replace all _pull_region() with _pull_range()
318           
319 2005-09-26  Andy Wingo  <wingo@pobox.com>
321         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
323         * check/gst-libs/controller.c: Update for controller api change.
325         * configure.ac: 
326         * tests/Makefile.am:
327         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
328         over by GLib bug 118439.
329         
330         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
331         routines to a function.
333         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
335         * libs/gst/controller/gsthelper.c:
336         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
337         (gst_object_sync_values): Renamed from sink_values. Ugh.
339         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
341         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
342         Renamed from controller_key, as it is exported.
344         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
346 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
348         * gst/Makefile.am:
349         * gst/gst.h:
350         * gst/gstpad.h:
351         * gst/gstpadtemplate.h:
352         * gst/gstquery.c:
353         * gst/gstquery.h:
354         * gst/gstqueryutils.c:
355         * gst/gstqueryutils.h:
356           remove queryutils headers after moving the two used functions
357           to gstquery.  also fixes build problem for gstsiddec
359 2005-09-26  Michael Smith <msmith@fluendo.com>
361         * tools/gst-launch.1.in:
362         Correct documentation in manpage of debug syntax
364 2005-09-26  Wim Taymans  <wim@fluendo.com>
366         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
367         (gst_base_src_is_seekable), (gst_base_src_change_state):
368         Some more debugging info.
370 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
372         * docs/gst/gstreamer-sections.txt:
373         * gst/base/gstbasetransform.h:
374         * gst/gstindex.h:
375           added more docs
377 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
379         * docs/gst/.cvsignore:
380         * docs/gst/tmpl/.cvsignore:
381         * docs/gst/tmpl/gstpipeline.sgml:
382         * docs/gst/tmpl/gstplugin.sgml:
383         * gst/gstpipeline.c:
384         * gst/gstplugin.c:
385         * gst/gstplugin.h:
386           inlined the last two docs files
387           removed the tmpl directory from cvs (no more conflicts here!)
389 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
391         * docs/gst/gstreamer-sections.txt:
392         * docs/gst/tmpl/.cvsignore:
393         * docs/gst/tmpl/gstpad.sgml:
394         * docs/gst/tmpl/gstpadtemplate.sgml:
395         * gst/Makefile.am:
396         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
397         (gst_pad_finalize), (gst_pad_set_pad_template):
398         * gst/gstpad.h:
399         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
400         (gst_pad_template_class_init), (gst_pad_template_init),
401         (gst_pad_template_dispose), (name_is_valid),
402         (gst_static_pad_template_get), (gst_pad_template_new),
403         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
404         (gst_pad_template_pad_created):
405         * gst/gstpadtemplate.h:
406           inlined two more docs
407           factored gstpadtemplate out of gstpad
409 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
411         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
412         (test_children_state_change_order_semi_sink):
413           Fix test case: we can't rely on a fixed state change order when
414           going from READY => PAUSED because the sink might commit its 
415           new state first when the first buffer created by the source 
416           reaches the sink before the source has finished its change state.
417           (Test case still fails at times, see #316856, comment 5 onwards)
419 2005-09-24  Wim Taymans  <wim@fluendo.com>
421         * docs/design/part-events.txt:
422         * docs/design/part-gstbus.txt:
423         * docs/design/part-gstpipeline.txt:
424         * docs/design/part-messages.txt:
425         * docs/design/part-overview.txt:
426         * docs/design/part-segments.txt:
427         * gst/gstbin.c:
428         * gst/gstbuffer.c:
429         * gst/gstclock.c:
430         * gst/gstelement.c:
431         * gst/gstevent.c:
432         * gst/gstfilter.c:
433         * gst/gstiterator.c:
434         Various documentation updates.
436 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
438         * gst/gstclock.h:
439           Well, that's embarassing.  Luckily we weren't using
440           GST_CLOCK_DIFF anywhere.
442 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
444         * common/gtk-doc.mak:
445           don't fail on building XML, FC4 slave shows a bunch of doc
446           missing bits that I don't get
447         * gst/gstpad.c:
448         * gst/gstpipeline.c:
449         * gst/gststructure.c:
450           some doc updates
452 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
454         * docs/design/part-gstbin.txt:
455         * docs/design/part-gstbus.txt:
456         * gst/gstbus.c:
457           Add blurb about how the bus goes into flushing mode and
458           drops all messages when its bin goes from READY into NULL 
459           state.
461 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
463         * docs/gst/gstreamer-sections.txt:
464         * gst/gststructure.c: (gst_structure_get_clock_time):
465         * gst/gststructure.h:
466           add a method to get a GstClockTime out of a structure
468 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
470         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
471         (test_children_state_change_order_semi_sink), (gst_bin_suite):
472           Added test to check state change order in bins (can still be made
473           to fail here under heavy disk load; bails out with 'Push on pad
474           fakesink:sink0, but it was not activated in push mode').
476         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
477           Fix state change order when there is only a semi sink (#316856)
479         * gst/gstbus.c: (gst_bus_class_init):
480           Use _class_peek_parent(), not _class_ref(); fix docs to say
481           'default main context' instead of 'mainloop' where that is
482           what's meant.
484         * gst/gstelement.c: (gst_element_commit_state),
485         (gst_element_set_state):
486           Fix typos in debug messages
488 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
490         * docs/README:
491         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
492         * gst/gstpluginfeature.c:
493         * gst/gstutils.c:
494           various doc updates
495         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
496           change an assert into an error until it gets fixed properly
498 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
500         * docs/gst/gstreamer-sections.txt:
501         * docs/gst/tmpl/.cvsignore:
502         * docs/gst/tmpl/gstelement.sgml:
503         * docs/gst/tmpl/gstinfo.sgml:
504         * docs/gst/tmpl/gstobject.sgml:
505         * gst/gstelement.c:
506         * gst/gstelement.h:
507         * gst/gstinfo.c:
508         * gst/gstinfo.h:
509         * gst/gstobject.c: (gst_object_class_init):
510         * gst/gstobject.h:
511           inlined 3 more biiiig doc files and added some missing docs on the fly
513 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
515         * check/gst/.cvsignore:
516         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
517         * gst/gstregistryxml.c: (load_plugin),
518         (gst_registry_xml_save_plugin):
519           put back source in registry.  add checks for find_plugin.
520         * testsuite/states/bin.c: (assert_state), (empty_bin),
521         (test_adding_one_element), (main):
522         * testsuite/states/locked.c: (main):
523           some compile/run fixes
525 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
527         * check/gst/gstvalue.c: (GST_START_TEST):
528           fix leaks in the test itself
530 2005-09-22  Wim Taymans  <wim@fluendo.com>
532         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
533         (gst_base_sink_send_event), (gst_base_sink_peer_query),
534         (gst_base_sink_query):
535         Prepare for more accurate position reporting and query
536         handling.
538         * gst/gstelement.c: (gst_element_send_event),
539         (gst_element_set_state):
540         Add some comment.
542 2005-09-22  Wim Taymans  <wim@fluendo.com>
544         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
545         (gst_query_parse_segment):
546         * gst/gstquery.h:
547         More documentation.
548         Add segment query for future use.
550 2005-09-22  Wim Taymans  <wim@fluendo.com>
552         * gst/gstbin.c: (gst_bin_add_func):
553         Some more debug info.
555         * gst/gstelement.c: (gst_element_send_event):
556         Simplify send_event
558         * gst/gstelement.h:
559         Don't know how flags got broken.
561         * gst/gstquery.h:
562         Added new query.
564 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
566         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
567           Add simplistic test suite for GST_TYPE_DATE serialisation and
568           deserialisation.
570 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
572         * docs/gst/gstreamer-sections.txt:
573         * gst/gststructure.c: (gst_structure_set_valist),
574         (gst_structure_get_date):
575         * gst/gststructure.h:
576         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
577         (gst_date_copy), (gst_value_compare_date),
578         (gst_value_serialize_date), (gst_value_deserialize_date),
579         (gst_value_transform_date_string),
580         (gst_value_transform_string_date), (_gst_value_initialize):
581         * gst/gstvalue.h:
582           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
583           bunch of utility functions along with a hack that checks that
584           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
585           is required. Part of the grand scheme in #170777.
587 2005-09-22  Andy Wingo  <wingo@pobox.com>
589         * gst/gstconfig.h.in: Psych out gtk-doc.
591         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
593         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
595         * tools/gst-inspect.c (print_element_list): Plug some
596         inconsequential leaks.
598         * gst/gstregistry.c (gst_registry_get_default): Doc.
600         * check/gst/gstplugin.c: 
601         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
602         * gst/gstelementfactory.c (gst_element_factory_create): 
603         * gst/gstindexfactory.c (gst_index_factory_create): Update for
604         refcount changes.
606         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
607         (gst_plugin_feature_load): Doc, don't eat refs.
609         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
610         (gst_plugin_list_free): Doc.
611         (gst_plugin_load_file): Doc updates.
613         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
614         accessors returning refcounted objects, return a ref.
616         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
617         accessor for caps. IDEMPOTENCE. Oh yes.
619 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
621         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
623         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
624         (_gst_debug_register_funcptr):
625           Add mutex to serialise access to the hash table with
626           the function pointer => function name string mapping;
627           make that hash table static scope (#316809).
629         * gst/registries/.cvsignore:
630           Remove left-over file.
632 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
634         * docs/pwg/appendix-porting.xml:
635           And something about newsegment events and caps-on-buffers to
636           the porting guide (feel free to improve).
638 2005-09-21  Andy Wingo  <wingo@pobox.com>
640         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
641         data and event probes on the same pad.
642         (test_buffer_probe_once): Test that removing probes from within
643         the probe functions works.
645 2005-09-21  Andy Wingo  <wingo@pobox.com>
647         * check/gst/gstutils.c: New file.
648         (test_buffer_probe_n_times): A simple buffer probe test. More to
649         come, foolios.
651         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
652         have-data::buffer, not have-data.
653         (gst_pad_add_event_probe): Likewise for have-data::event.
654         (gst_pad_add_data_probe): More docs. The part about 'resolving the
655         peer' isn't quite right yet though.
656         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
657         (gst_pad_remove_data_probe): Change to take the guint handler_id
658         as their arg, not the function+data, which is more glib-like.
660         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
661         the signal emission to indicate if the data is a buffer or an
662         event.
663         (gst_pad_get_type): Initialize buffer and event quarks.
664         (gst_pad_class_init): have-data is now a detailed signal, yes it
665         is.
667 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
669         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
670         * gst/gstutils.c: (gst_util_set_value_from_string),
671         (gst_util_set_object_arg):
672           Don't put functional code in g_return_if_fail() or
673           g_return_val_if_fail() statements, otherwise things will 
674           break when G_DISABLE_CHECKS is defined during compilation.
676 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
678         * docs/gst/tmpl/.cvsignore:
679         * docs/gst/tmpl/gstvalue.sgml:
680         * gst/gstvalue.c:
681         * gst/gstvalue.h:
682           inlied another one and added  some obvious docs
684 2005-09-21  Wim Taymans  <wim@fluendo.com>
686         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
687         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
688         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
689         (gst_fdsrc_get_property), (gst_fdsrc_create):
690         * gst/elements/gstfdsrc.h:
691         Properly implement fdsrc. Removed signal and timeout,
692         better implemented somewhere else.
694 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
696         * docs/gst/tmpl/.cvsignore:
697         * docs/gst/tmpl/gstimplementsinterface.sgml:
698         * gst/gstinterface.c:
699           inlined more docs
701 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
703         * docs/gst/gstreamer-sections.txt:
704         * docs/gst/tmpl/.cvsignore:
705         * docs/gst/tmpl/gstenumtypes.sgml:
706           remove obsolete doc file
708 2005-09-21  David Schleef  <ds@schleef.org>
710         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
711         little beer, fix a little leak.
713 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
715         * docs/gst/gstreamer-docs.sgml:
716         * docs/gst/gstreamer-sections.txt:
717         * docs/gst/tmpl/.cvsignore:
718         * gst/Makefile.am:
719         * gst/gst.h:
720         * gst/gstbin.c:
721         * gst/gstelement.h:
722         * gst/gstindex.c: (gst_index_class_init):
723         * gst/gstindex.h:
724         * gst/gstindexfactory.c: (gst_index_factory_get_type),
725         (gst_index_factory_class_init), (gst_index_factory_init),
726         (gst_index_factory_finalize), (gst_index_factory_new),
727         (gst_index_factory_destroy), (gst_index_factory_find),
728         (gst_index_factory_create), (gst_index_factory_make):
729         * gst/gstindexfactory.h:
730         * gst/gstpluginfeature.c:
731         * gst/gstpluginfeature.h:
732         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
733           more docs inlined, splitted gstindex.{c,h}
735 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
737         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
738           fix a leak
740 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
742         * gst/elements/gstfilesink.c: (gst_file_sink_init):
743           Set sync to FALSE by default.
745 2005-09-20  Wim Taymans  <wim@fluendo.com>
747         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
748         (gst_base_sink_init):
749         Make sync property settable from subclass.
751         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
752         (gst_fake_sink_change_state):
753         Set sync to FALSE by default.
755 2005-09-20  Wim Taymans  <wim@fluendo.com>
757         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
758         * tools/gst-launch.c: (main):
759         The timeout handler should have lower priority than the source
760         so we don't timeout before popping a message with 0 timeout.
761         Dump error messages after failed state change.
763 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
765         * tools/gst-inspect.c: (print_element_properties_info):
766           Fix two typos.
768 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
770         * check/gst/gstevent.c:
771         * gst/elements/gstfakesink.c:
772         * gst/elements/gstfakesink.h:
773           remove the sync property from fakesink.
774           has the side effect of setting sync TRUE
775           for fakesink, which is a change.  Anyone who knows how
776           to fix this nicely in a GObject-y way, feel free.
778 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
780         * docs/gst/gstreamer-docs.sgml:
781           remove probe refsection
783 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
785         * check/Makefile.am:
786           disable valgrinding the controller test again
787         * docs/gst/gstreamer-sections.txt:
788           update for api-changes
790 2005-09-20  Wim Taymans  <wim@fluendo.com>
792         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
793         (gst_base_sink_set_property), (gst_base_sink_get_property),
794         (gst_base_sink_do_sync):
795         * gst/base/gstbasesink.h:
796         Added sync property to basesink to disable clock sync.
798 2005-09-20  Andy Wingo  <wingo@pobox.com>
800         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
801         eating the caller's refcount.
803         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
804         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
805         refcount.
807         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
808         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
809         of GLib 2.8 public, so we can know which refcount to check in
810         tests.
812         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
813         (gst_object_init): Only set the gst refcount if we're going ahead
814         with the refcount hack.
816 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
818         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
819         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
820           more leaks plumbed, added more debug-logging
821         * gst/gstmacros.h:
822           whitespace fix
824 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
826         * gst/gstmessage.c:
827           remove include of gstmemchunk.h
829 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
831         * gst/gstclock.c: (_gst_clock_id_free):
832           Commit from the Political Party For More Atomic CVS Commits,
833           so that people don't waste too much of their day fishing
834           out obvious leaks out of massive commits.
835           Oh, and fix a pretty damn obvious leak in the memchunk
836           removal code.
838 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
840         * check/Makefile.am:
841         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
842           plug mem-leak, re-add to valgrindable tests
844 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
846         * gst/gstplugin.h:
847           unbreak the build for those who have chronic arthritis
848           and typing "make check" is just too taxing on the hands
850 2005-09-20  Andy Wingo  <wingo@pobox.com>
852         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
853         really want it out, you should fix plugins at the same time.
855 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
857         * configure.ac:
858         * docs/gst/gstreamer-sections.txt:
859         * gst/gstobject.c:
860           added missing symbols to api docs
861           disable ref-count hack if we have glib >= 2.8
863 2005-09-19  David Schleef  <ds@schleef.org>
865         * docs/gst/Makefile.am: Ignore a few more internal headers
866         * docs/gst/gstreamer-docs.sgml: Remove old sections
867         * docs/gst/gstreamer-sections.txt: Remove old sections
868         * docs/gst/tmpl/gstobject.sgml: update
869         * docs/gst/tmpl/gstplugin.sgml: update
870         * docs/gst/tmpl/gstpluginfeature.sgml: update
871         * docs/random/ds/0.9-suggested-changes: update.
872         * gst/Makefile.am: remove memchunk and trashstack, since they're
873           not used.
874         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
875         * gst/gst.h: don't include some headers
876         * gst/gstchildproxy.c: add gstmarshal.h
877         * gst/gstclock.c: Don't use memchunks
878         * gst/gstminiobject.c: Add some docs
879         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
880         * gst/gstobject.h: same
881         * gst/gstplugin.c: include gstmacros.h
882         * gst/gstplugin.h: don't include gstmacros.h, since it's private
883         * gst/gstquery.c: don't use memchunks
884         * gst/gstregistry.c: rename gst_registry_deinit()
885         * gst/gstregistry.h: same
887 2005-09-19  David Schleef  <ds@schleef.org>
889         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
890         * docs/libs/gstreamer-libs-sections.txt:
891         * docs/libs/tmpl/gstgetbits.sgml:
892         * docs/libs/tmpl/gstputbits.sgml:
894 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
896         * win32/gstenumtypes.c:
897         * win32/gstenumtypes.h:
898           Update.
900 2005-09-19  Wim Taymans  <wim@fluendo.com>
902         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
903         Automatically PAUSE and RESUME a pipeline when a flushing seek
904         is performed.
906 2005-09-19  Andy Wingo  <wingo@pobox.com>
908         * gst/gstregistry.h: Spacing fixen.
910 2005-09-19  Wim Taymans  <wim@fluendo.com>
912         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
913         Handle state change failure more correctly.
915 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
917         * check/Makefile.am:
918         * check/pipelines/cleanup.c: (run_pipeline):
919         * check/pipelines/simple_launch_lines.c: (run_pipeline),
920         (GST_START_TEST):
921           enable cleanup again after fixing the leak
922         * docs/README:
923           some more info on docs
925 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
927         * check/Makefile.am:
928           re-enable tests now that leaks are plugged
929         * check/gst/gst.c:
930         * check/gst/gstbin.c:
931         * check/gst/gstpipeline.c:
932           add some more tests while fixing leaks
933         * common/check.mak:
934           make sure binaries are uptodate when valgrinding/gdbing
935         * gst/gst.c:
936         * gst/gstelementfactory.c:
937           remove a ref too many, and add a FIXME for when we get
938           round to disposing of classes
939         * gst/gstplugin.c:
940           fix the refcounting when loading a plugin from a file and
941           the code pretends that the pointer is the same even though
942           of course it can change
943         * gst/gstpluginfeature.c:
944           unref plugins marked cached (a bit confusing as a name)
945           as the docs state should be done
946           various doc additions to explain refcounting
947         * gst/gstregistry.c:
948         * gst/gstregistryxml.c:
949           debugging
951 2005-09-19  Wim Taymans  <wim@fluendo.com>
953         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
954         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
955         (send_messages), (GST_START_TEST), (gstbus_suite):
956         * check/gst/gstpipeline.c: (GST_START_TEST):
957         * check/pipelines/cleanup.c: (run_pipeline):
958         * check/pipelines/simple_launch_lines.c: (run_pipeline),
959         (GST_START_TEST):
960         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
961         (gst_bus_source_check), (gst_bus_source_dispatch),
962         (gst_bus_create_watch), (gst_bus_add_watch_full),
963         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
964         * gst/gstbus.h:
965         * tools/gst-launch.c: (event_loop):
966         * tools/gst-md5sum.c: (event_loop):
967         GstBusHandler -> GstBusFunc, return value has the same meaning as
968         any other GSource (FALSE == remove source).
969         _add_watch() and _add_watch_full() now take a MessageType mask to
970         only handle specific types of messages.
971         _poll() returns the GstMessage instead of the message type to avoid
972         race conditions.
973         _have_pending() takes a MessageType mask now too.
974         Added testsuite for multiple bus watches.
975         Fix testsuites and applications for new bus API.
977 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
979         * check/Makefile.am:
980           mark a bunch of the tests as to fix until we fix them
982 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
984         * common/check.mak:
985           use GST_PLUGIN settings for valgrind tests as well, so we're
986           valgrinding the correct thing
987         * gst/gst.c: (init_post):
988           plug another leak
990 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
992         * gst/gst.c: (init_post), (gst_deinit):
993         * gst/gstelementfactory.c: (gst_element_factory_class_init),
994         (gst_element_factory_finalize), (gst_element_factory_cleanup):
995         * gst/gstindex.c: (gst_index_factory_class_init),
996         (gst_index_factory_finalize):
997         * gst/gstobject.c: (gst_object_dispose):
998         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
999         (gst_plugin_load_file), (gst_plugin_desc_free):
1000         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
1001         (gst_plugin_feature_finalize):
1002         * gst/gstregistry.c: (gst_registry_class_init),
1003         (gst_registry_init), (gst_registry_finalize),
1004         (gst_registry_get_default), (gst_registry_deinit):
1005         * gst/gstregistry.h:
1006         * gst/gstregistryxml.c: (load_feature), (load_plugin):
1007           various cleanups and memleak plugging.  make valgrind is happy now.
1009 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1011         * common/check.mak:
1012           add a check-valgrind target
1014 2005-09-18  David Schleef  <ds@schleef.org>
1016         * tools/gst-inspect.c: Revert the GOption code.
1018 2005-09-17  David Schleef  <ds@schleef.org>
1020         * check/Makefile.am: Fix environment variables.
1021         * check/gst/gstplugin.c: Fix for API changes.
1022         * tools/gst-inspect.c: Fix for API changes.
1023         * tools/gst-xmlinspect.c: Fix for API changes.
1024         * gst/gstelementfactory.c:
1025         * gst/gstplugin.c:
1026         * gst/gstplugin.h:
1027         * gst/gstpluginfeature.c:
1028         * gst/gstpluginfeature.h:
1029         * gst/gstregistry.c:
1030         * gst/gstregistry.h:
1031         * gst/gstregistryxml.c:
1032         * gst/gsttypefind.c:
1033         * gst/gsttypefindfactory.c:
1034         * gst/indexers/gstfileindex.c:
1035         * gst/indexers/gstmemindex.c:
1036         * gst/schedulers/Makefile.am:
1037           Change registry to keep track of both plugins and features,
1038           removing the feature tracking from plugins themselves.
1040 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1042         * check/Makefile.am:
1043         * tools/gst-register.1.in:
1044           remove gst-register
1046 2005-09-15  David Schleef  <ds@schleef.org>
1048         * check/gst/gstplugin.c:
1049         * gst/gstelementfactory.c:
1050         * gst/gstplugin.c:
1051         * gst/gstpluginfeature.c:
1052         * gst/gstregistry.c:
1053           Getting tired of debugging.  Disabled all the unreffing of
1054           plugins and features, which fixes the segfaults, but of
1055           course leaks like crazy.  At least playbin works.
1057 2005-09-15  David Schleef  <ds@schleef.org>
1059         * check/gst/gstplugin.c: (register_check_elements),
1060         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
1061         More testing
1062         * gst/elements/gsttypefindelement.c: Fix refcounting.
1063         * gst/gsttypefind.c:
1064         * gst/gsttypefindfactory.c:
1065         * gst/gsttypefindfactory.h:
1067 2005-09-15  David Schleef  <ds@schleef.org>
1069         * gst/gstindex.c: get refcounting correct.
1070         * gst/gstregistry.c: Handle the case where a feature/plugin is
1071           not found.
1073 2005-09-15  David Schleef  <ds@schleef.org>
1075         * check/Makefile.am:
1076         * check/gst/gstplugin.c: Add test
1077         * gst/gstplugin.c: Fix problems noticed by testsuite
1078         * gst/gstplugin.h:
1079         * gst/gstregistry.c: 
1080         * gst/gstregistry.h:
1082 2005-09-15  David Schleef  <ds@schleef.org>
1084         * gst/gstplugin.c: Implement semi-decent recounting and locking
1085           in plugins and plugin features.
1086         * gst/gstplugin.h:
1087         * gst/gstpluginfeature.c:
1088         * gst/gstpluginfeature.h:
1089         * gst/gstregistry.c:
1091 2005-09-15  Michael Smith <msmith@fluendo.com>
1093         * gst/gstregistry.c: (gst_registry_get_feature_list):
1094           Implement this. Makes oggdemux work; decodebin still broken.
1096 2005-09-14  David Schleef  <ds@schleef.org>
1098         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
1099           #316076)
1100         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
1101         * gst/check/Makefile.am:
1102         * libs/gst/controller/Makefile.am:
1103         * libs/gst/dataprotocol/Makefile.am:
1105 2005-09-14  David Schleef  <ds@schleef.org>
1107         * configure.ac: Remove getbits library.  Nothing uses it, and
1108           it should be in something like liboil if someone did want
1109           to use it.
1110         * libs/gst/Makefile.am:
1111         * libs/gst/getbits/Makefile.am:
1112         * libs/gst/getbits/gbtest.c:
1113         * libs/gst/getbits/getbits.c:
1114         * libs/gst/getbits/getbits.h:
1115         * libs/gst/getbits/gstgetbits_generic.c:
1116         * libs/gst/getbits/gstgetbits_i386.s:
1117         * libs/gst/getbits/gstgetbits_inl.h:
1119 2005-09-14  David Schleef  <ds@schleef.org>
1121         * gst/Makefile.am: Dist glib-compat.h
1123 2005-09-14  David Schleef  <ds@schleef.org>
1125         * configure.ac: Remove gst/registries, since it's no longer used.
1126         * gst/registries/Makefile.am:
1127         * gst/registries/gstlibxmlregistry.c:
1128         * gst/registries/gstlibxmlregistry.h:
1129         * gst/registries/gstxmlregistry.c:
1130         * gst/registries/gstxmlregistry.h:
1131         * gst/registries/registrytest.c:
1133 2005-09-14  David Schleef  <ds@schleef.org>
1135         * gst/glib-compat.h:
1136         * gst/gstregistryxml.c:
1137           Convergence is near.  Seriously.
1139 2005-09-14  David Schleef  <ds@schleef.org>
1141         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1142         * gst/glib-compat.h:
1143           Attempt #4 to appease the buildbots.
1145 2005-09-14  David Schleef  <ds@schleef.org>
1147         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1148           Attempt #3.
1150 2005-09-14  David Schleef  <ds@schleef.org>
1152         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1153         Attempt #2.
1155 2005-09-14  David Schleef  <ds@schleef.org>
1157         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
1158           the new functions.
1160 2005-09-14  David Schleef  <ds@schleef.org>
1162         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1163         * gst/glib-compat.h: Add some functions that are in newer versions
1164           of glib than we care to require.
1165         * gst/gstregistryxml.c: Use them.
1167 2005-09-14  David Schleef  <ds@schleef.org>
1169         * po/POTFILES.in: remove gst-register.c
1171 2005-09-14  David Schleef  <ds@schleef.org>
1173         * docs/gst/gstreamer-docs.sgml:
1174         * docs/gst/gstreamer-sections.txt:
1175         * docs/gst/gstreamer.types:
1176         * docs/gst/tmpl/gstelement.sgml:
1177         * docs/gst/tmpl/gstplugin.sgml:
1178         * docs/gst/tmpl/gstpluginfeature.sgml:
1179           Documentation updates for registry changes.
1181 2005-09-14  David Schleef  <ds@schleef.org>
1183         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
1184           because we don't require glib-2.8.
1186 2005-09-14  David Schleef  <ds@schleef.org>
1188         * gst/gstregistryxml.c: Added.  Essentially moved out of the
1189           registries directory.
1191 2005-09-14  David Schleef  <ds@schleef.org>
1193         * check/Makefile.am:
1194         * check/generic/states.c:
1195         * gst/Makefile.am:
1196         * gst/gst.c:
1197         * gst/gst.h:
1198         * gst/gst_private.h:
1199         * gst/gstelementfactory.c:
1200         * gst/gstindex.c:
1201         * gst/gstinfo.c:
1202         * gst/gstplugin.c:
1203         * gst/gstplugin.h:
1204         * gst/gstpluginfeature.c:
1205         * gst/gstpluginfeature.h:
1206         * gst/gstregistry.c:
1207         * gst/gstregistry.h:
1208         * gst/gstregistrypool.c: remove
1209         * gst/gstregistrypool.h: remove
1210         * gst/gsttypefind.c:
1211         * gst/gsttypefindfactory.c:
1212         * gst/gsturi.c:
1213         * tools/Makefile.am:
1214         * tools/gst-compprep.c:
1215         * tools/gst-inspect.c:
1216         * tools/gst-register.c: remove
1217         * tools/gst-xmlinspect.c:
1218           Registry rewrite.  Changes registry from being a file created
1219           by a tool into a simple cache file created automatically by 
1220           libgstreamer.  Removed gst-register (because it's no longer
1221           needed).  Remove registry pools, because we only have one
1222           registry implementation (XML).  Fix up other subsystems as
1223           necessary.
1225 2005-09-13  Michael Smith <msmith@fluendo.com>
1227         * gst/gstconfig.h.in:
1228           Don't Use windows linking attributes for MinGW. Fixes #316157
1230 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1232         * gst/gstutils.c: (set_state_async_thread_func),
1233         (gst_element_set_state_async):
1234           Apparently people think it's better if this function doesn't
1235           try to set the state to whatever state was asked for on the first
1236           call to this function for any object.  Seriously.
1238 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1240         * check/gst/gstpipeline.c: (GST_START_TEST):
1241         * docs/gst/gstreamer-sections.txt:
1242         * gst/gstutils.c: (set_state_async_thread_func),
1243         (gst_element_set_state_async):
1244         * gst/gstutils.h:
1245           add a "gst_element_set_state_async" method that
1246           sets the state and starts a thread to make sure the state
1247           change completes as best as it can
1249 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1251         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1252           codify design+behaviour in testsuite after discussion
1254 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1256         * docs/gst/tmpl/gstelement.sgml:
1257         * docs/manual/appendix-quotes.xml:
1258           add a quote
1259         * gst/gstelement.c: (gst_element_set_state):
1260           add some debug
1262 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
1264         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1265         (gst_base_transform_prepare_output_buf),
1266         (gst_base_transform_handle_buffer):
1267         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
1268         (gst_capsfilter_prepare_buf):
1269           Remove the requirement for sub-classes to call the parent
1270           implementation of prepare_output_buffer with a wrapper function.
1271           
1272         * gst/gsttaglist.h:
1273         * gst/gsttagsetter.h:
1274           Fix #define wrapper
1276 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
1278         * docs/gst/gstreamer-sections.txt:
1279           more doc cleanups
1281 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1283         * docs/gst/gstreamer-sections.txt:
1284         * docs/gst/tmpl/gstelement.sgml:
1285         * docs/gst/tmpl/gstplugin.sgml:
1286         * gst/gstminiobject.c:
1287         * gst/gstvalue.h:
1288           docs now stop throwing warnings
1290 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1292         * docs/gst/gstreamer-sections.txt:
1293         * docs/gst/gstreamer.types:
1294         * docs/gst/tmpl/gstpad.sgml:
1295         * docs/gst/tmpl/gsttypes.sgml:
1296         * gst/base/gstadapter.h:
1297         * gst/base/gstbasesink.h:
1298         * gst/base/gstbasesrc.h:
1299         * gst/gstbin.h:
1300         * gst/gstbuffer.h:
1301         * gst/gstbus.h:
1302         * gst/gstcaps.h:
1303         * gst/gstclock.h:
1304         * gst/gstelement.h:
1305         * gst/gstevent.h:
1306         * gst/gstmessage.h:
1307         * gst/gstpad.h:
1308         * gst/gststructure.c:
1309         * gst/registries/gstlibxmlregistry.h:
1310           various documentation fixes
1312 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1314         * docs/gst/gstreamer-sections.txt:
1315         * docs/gst/tmpl/gstvalue.sgml:
1316           rearrange gstvalue section
1317         * gst/gstutils.c: (gst_element_state_get_name):
1318           NONE -> VOID
1319         * gst/gstvalue.c: (_gst_value_initialize):
1320         * gst/gstvalue.h:
1321           doc updates
1323 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
1325         * check/gst-libs/controller.c:
1326           Header include fix.
1327         * gst/base/gstbasetransform.c:
1328         (gst_base_transform_default_prepare_buf),
1329         (gst_base_transform_handle_buffer):
1330         * gst/base/gstbasetransform.h:
1331           Some more basetransform changes and fixes to enable sub-classes
1332           that modify buffer metadata only.
1333         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1334         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
1335         (gst_capsfilter_prepare_buf):
1336           If the output pad has fixed allowed caps and input buffers 
1337           don't have any, set the fixed caps on outgoing buffers.
1339 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
1340         * check/elements/identity.c: (GST_START_TEST):
1341           Make the error a little clearer when the test fails because
1342           identity made a copy of the buffer.
1343         * docs/gst/gstreamer-sections.txt:
1344           New symbols in gstbasetransform.h
1345         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1346         (gst_base_transform_init), (gst_base_transform_transform_size),
1347         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1348         (gst_base_transform_default_prepare_buf),
1349         (gst_base_transform_get_unit_size),
1350         (gst_base_transform_buffer_alloc),
1351         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1352         (gst_base_transform_change_state),
1353         (gst_base_transform_set_passthrough),
1354         (gst_base_transform_set_in_place),
1355         (gst_base_transform_is_in_place):
1356         * gst/base/gstbasetransform.h:
1357           Change BaseTransform to separate in_place operate from same_caps
1358           output. in_place implies that the element can perform the transform
1359           on incoming buffers in-place, even if the caps on the output are
1360           different.
1361           Sub-class elements can now implement special buffer allocation
1362           methods for outgoing buffers if they wish to.
1363           Big documentation addition.
1364         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
1365         * gst/elements/gstelements.c:
1366           Changes for basetransform modifications.
1367         * gst/elements/Makefile.am:
1368         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
1369           Compile fix. Extra debug output.
1371 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1373         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
1374         (gst_pad_suite):
1375           add tests for valid pad naming
1376         * gst/check/gstcheck.c: (gst_check_log_message_func),
1377         (gst_check_log_critical_func):
1378           add ASSERT_WARNING
1379           remove printing of code, it is fragile when the code contains
1380           % and the line number is enough info
1381         * gst/check/gstcheck.h:
1382         * gst/gstpad.c: (gst_pad_template_new):
1383           fix memleaks
1385 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1387         * configure.ac:
1388           say what CHECK flags we use
1389         * docs/libs/gstreamer-libs.types:
1390         * libs/gst/controller/Makefile.am:
1391         * libs/gst/controller/gst-controller.c:
1392         * libs/gst/controller/gst-controller.h:
1393         * libs/gst/controller/gst-helper.c:
1394         * libs/gst/controller/gst-interpolation.c:
1395         * libs/gst/controller/gstcontroller.c:
1396         * libs/gst/controller/gsthelper.c:
1397         * libs/gst/controller/gstinterpolation.c:
1398         * tools/gst-inspect.c: (print_plugin_info):
1399           we don't use dashes in header names
1401 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1403         * check/Makefile.am:
1404         * check/gst/.cvsignore:
1405         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
1406         (gst_pipeline_suite), (main):
1407           adding a test for pipelines and state changes
1408         * gst/gstutils.c: (get_state_func):
1409           add some debugging
1410         * gstreamer.spec.in:
1411           fix up spec file
1413 2005-09-08  Michael Smith <msmith@fluendo.com>
1415         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
1416         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
1417         (gst_file_src_is_seekable), (gst_file_src_get_size),
1418         (gst_file_src_start):
1419         * gst/elements/gstfilesrc.h:
1420           Various fixes for unseekable, unmmapable, and non-normal files, so
1421           that fallback to read() rather than mmap() works.
1422         * gst/gstevent.c: (gst_event_new_newsegment):
1423           Allow newsegment events with segment_start == segment_end, as will
1424           correctly happen if you use filesrc on a zero-size file, for
1425           example.
1427 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
1429         * gst/gstplugin.c: (gst_plugin_load_file):
1430           Call g_module_close when we don't load the module
1432         * gst/registries/gstlibxmlregistry.c:
1433         (gst_xml_registry_get_property):
1434           Port leak fix from 0.8
1436 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
1438         * docs/gst/gstreamer-docs.sgml:
1439         * docs/gst/tmpl/.cvsignore:
1440         * docs/gst/tmpl/gsttrace.sgml:
1441         * docs/gst/tmpl/gsttrashstack.sgml:
1442         * gst/Makefile.am:
1443         * gst/gst.h:
1444         * gst/gstelement.h:
1445         * gst/gstevent.h:
1446         * gst/gstmessage.c:
1447         * gst/gstmessage.h:
1448         * gst/gsttag.c:
1449         * gst/gsttag.h:
1450         * gst/gsttaginterface.c:
1451         * gst/gsttaginterface.h:
1452         * gst/gsttaglist.c:
1453         * gst/gsttaglist.h:
1454         * gst/gsttagsetter.c:
1455         * gst/gsttagsetter.h:
1456         * gst/gsttrace.c:
1457         * gst/gsttrace.h:
1458         * gst/gsttrashstack.c:
1459           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
1460           inlined docs for gsttrace, gsttrashstack
1462 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
1464         * gst/Makefile.am:
1465         * gst/elements/gstbufferstore.h:
1466         * gst/elements/gsttypefindelement.c:
1467         * gst/elements/gsttypefindelement.h:
1468         * gst/gst.h:
1469         * gst/gsttypefind.c:
1470         * gst/gsttypefind.h:
1471         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
1472         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
1473         (gst_type_find_factory_dispose),
1474         (gst_type_find_factory_unload_thyself),
1475         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
1476         (gst_type_find_factory_get_caps),
1477         (gst_type_find_factory_get_extensions),
1478         (gst_type_find_factory_call_function):
1479         * gst/gsttypefindfactory.h:
1480         * gst/registries/gstlibxmlregistry.c:
1481         * gst/registries/gstxmlregistry.c:
1482           splitted gsttypefind into gsttypefind, gsttypefindfactory
1484 2005-09-07  Andy Wingo  <wingo@pobox.com>
1486         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
1487         condition whereby the pad's task function is entered before the
1488         pad_mode variable was set.
1490 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
1492         * gst/gstpad.c: (gst_pad_alloc_buffer):
1493           Catch misbehaving pad_alloc functions that don't
1494           set up caps and do it for them.
1496 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
1498         * check/pipelines/simple_launch_lines.c: (run_pipeline):
1499           test for pipe!=NULL
1500         * docs/gst/tmpl/.cvsignore:
1501         * docs/gst/tmpl/gstmemchunk.sgml:
1502         * docs/gst/tmpl/gstparse.sgml:
1503         * docs/gst/tmpl/gsttaglist.sgml:
1504         * docs/gst/tmpl/gsttagsetter.sgml:
1505         * docs/gst/tmpl/gsttypefind.sgml:
1506         * docs/gst/tmpl/gsttypefindfactory.sgml:
1507         * gst/gstmemchunk.c:
1508         * gst/gstparse.c:
1509         * gst/gsttag.c:
1510         * gst/gsttaginterface.c:
1511         * gst/gsttypefind.c:
1512         * gst/gsttypefind.h:
1513           inlined more docs
1515 === release 0.9.2 ===
1517 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1519         * NEWS:
1520         * RELEASE:
1521         * configure.ac:
1522           releasing 0.9.2, "South"
1524 2005-09-05  Andy Wingo  <wingo@pobox.com>
1526         * gst/registries/gstxmlregistry.h:
1527         * gst/registries/gstxmlregistry.c: Um... resurrect...
1528         
1529         * gst/registries/gstxmlregistry.h:
1530         * gst/registries/gstxmlregistry.c: and update to newer API.
1531         Incidentally they should be a bit faster now that they don't have
1532         to parse the caps.
1533         
1534 2005-09-05  Andy Wingo  <wingo@pobox.com>
1536         * gst/registries/gstxmlregistry.h:
1537         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
1538         replaced by the libxml registry a while back
1540 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1542         * docs/gst/tmpl/gstplugin.sgml:
1543         * gst/elements/gstelements.c:
1544         * gst/gst.c:
1545         * gst/gstplugin.c: (gst_plugin_register_func),
1546         (gst_plugin_desc_copy), (gst_plugin_desc_free),
1547         (gst_plugin_get_source):
1548         * gst/gstplugin.h:
1549         * gst/registries/gstlibxmlregistry.c: (load_plugin),
1550         (gst_xml_registry_save_plugin):
1551         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
1552         (gst_xml_registry_save_plugin):
1553         * tools/gst-inspect.c: (print_plugin_info):
1554           add a "source" plugin description field, to represent the source
1555           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
1556           will set it to PACKAGE, which is automake's idea of the name of
1557           the source project.
1559 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1561         * Makefile.am:
1562         * autogen.sh:
1563         * configure.ac:
1564         * docs/Makefile.am:
1565         * docs/faq/Makefile.am:
1566         * docs/gst/tmpl/gstelement.sgml:
1567         * docs/gst/tmpl/gsttypes.sgml:
1568         * docs/htmlinstall.mak:
1569         * docs/manual/Makefile.am:
1570         * docs/pwg/Makefile.am:
1571           reorganize doc build a little
1572           split out docbook and gtk-doc stuff
1573           have two separate --enable's and enable them through autogen
1574           but disable by default in configure (to be similar to other
1575           projects)
1576         * gstreamer.spec.in:
1577           clean up docs install
1578         * po/af.po:
1579         * po/az.po:
1580         * po/ca.po:
1581         * po/cs.po:
1582         * po/de.po:
1583         * po/en_GB.po:
1584         * po/fr.po:
1585         * po/it.po:
1586         * po/nb.po:
1587         * po/nl.po:
1588         * po/ru.po:
1589         * po/sq.po:
1590         * po/sr.po:
1591         * po/sv.po:
1592         * po/tr.po:
1593         * po/uk.po:
1594         * po/vi.po:
1595           translation updates
1597 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
1599         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
1600           Add comment.
1601           
1602         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
1603         (gst_fake_sink_change_state):
1604           Make state change function thread-safe.
1605           
1606         * gst/gstpad.c: (gst_pad_alloc_buffer):
1607           Set offset on generic buffer allocated by fallback.
1609 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
1611         * docs/gst/gstreamer-sections.txt:
1612         * docs/gst/tmpl/gstelement.sgml:
1613         * gst/gstpad.c:
1614         * libs/gst/controller/gst-controller.c:
1615         (gst_controlled_property_set_interpolation_mode),
1616         (gst_controlled_property_new),
1617         (gst_controller_find_controlled_property):
1618          run the wingo-magic script against the docs
1620 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
1622         * docs/gst/gstreamer-docs.sgml:
1623         * docs/gst/gstreamer-sections.txt:
1624         * docs/gst/tmpl/.cvsignore:
1625         * docs/gst/tmpl/gstelementdetails.sgml:
1626         * docs/gst/tmpl/gstelementfactory.sgml:
1627         * gst/gst.c:
1628         * gst/gstbus.c:
1629         * gst/gstelementfactory.c:
1630         * gst/gstelementfactory.h:
1631           merged elementdetails docs into elementfactory docs
1632           inlined both
1634 2005-09-02  Andy Wingo  <wingo@pobox.com>
1636         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
1637         consider this enum an enum and not a flags.
1639 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
1641         * docs/gst/gstreamer-docs.sgml:
1642         * docs/gst/tmpl/.cvsignore:
1643         * docs/gst/tmpl/gstghostpad.sgml:
1644         * docs/gst/tmpl/gstiterator.sgml:
1645         * docs/gst/tmpl/gstmacros.sgml:
1646         * docs/gst/tmpl/gstrealpad.sgml:
1647         * docs/gst/tmpl/gstregistry.sgml:
1648         * docs/gst/tmpl/gstregistrypool.sgml:
1649         * docs/gst/tmpl/gststructure.sgml:
1650         * docs/gst/tmpl/gstsystemclock.sgml:
1651         * docs/gst/tmpl/gsttrace.sgml:
1652         * gst/gstghostpad.c:
1653         * gst/gstmacros.h:
1654         * gst/gstmemchunk.c:
1655         * gst/gstmemchunk.h:
1656         * gst/gstqueue.c:
1657         * gst/gstregistry.c:
1658         * gst/gstregistrypool.c:
1659         * gst/gststructure.c:
1660         * gst/gstsystemclock.c:
1661           more docs inlined
1663 2005-09-02  Andy Wingo  <wingo@pobox.com>
1665         * gst/gstelement.h (GstState): Renamed from GstElementState,
1666         changed to be a normal enum instead of flags.
1667         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
1668         munged to be GST_STATE_CHANGE_*.
1669         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
1670         work with the new state representation.
1671         (GstStateChange): New enumeration of possible state transitions.
1672         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
1673         (GstElementClass::change_state): Pass the GstStateChange along as
1674         an argument. Helps language bindings, so they don't have to use
1675         tricky lock-needing macros like GST_STATE_CHANGE ().
1677         * scripts/update-states (file): New script. Run it on a file to
1678         update it for state naming and API changes. Updates files in
1679         place.
1681         * All files updated for the new API.
1683 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1685         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
1686         * gst/gstutils.c: (gst_util_set_value_from_string),
1687         (gst_util_set_object_arg):
1688           fix a bunch of unchecked return values
1689         * tools/gst-complete.c: (main):
1690         * gstreamer.spec.in:
1691           clean up a little
1693 2005-09-01  Wim Taymans  <wim@fluendo.com>
1695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1696         (gst_base_sink_event), (gst_base_sink_do_sync),
1697         (gst_base_sink_handle_event):
1698         * gst/base/gstbasesink.h:
1699         Handle newsegments more correctly.
1701         * gst/gstbus.c:
1702         Fix docs.
1704         * gst/gstevent.c: (gst_event_new_newsegment):
1705         A newsegment cannot have a start_time of -1
1707 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
1709         * win32/gstenumtypes.c:
1710         * win32/gstenumtypes.h:
1711           Update
1713 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
1715         * libs/gst/controller/gst-controller.c:
1716         (gst_controlled_property_set_interpolation_mode),
1717         (gst_controlled_property_new):
1718          fixed boolean again
1720 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
1722         * docs/faq/gst-uninstalled:
1723           add -good
1724         * gst/gstevent.c:
1725         * gst/gstevent.h:
1726           remove wrong docs
1727         * gst/gstutils.c: (gst_element_link_filtered):
1728         * gst/gstutils.h:
1729           add gst_element_link_filtered
1731 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
1733         * docs/gst/gstreamer-docs.sgml:
1734         * docs/gst/gstreamer-sections.txt:
1735         * docs/gst/tmpl/.cvsignore:
1736         * docs/gst/tmpl/gsterror.sgml:
1737         * docs/gst/tmpl/gstfilter.sgml:
1738         * docs/gst/tmpl/gsturihandler.sgml:
1739         * docs/gst/tmpl/gsturitype.sgml:
1740         * docs/gst/tmpl/gstutils.sgml:
1741         * docs/gst/tmpl/gstxml.sgml:
1742         * gst/gsterror.c:
1743         * gst/gsterror.h:
1744         * gst/gstfilter.c:
1745         * gst/gsturi.c:
1746         * gst/gsturitype.c:
1747         * gst/gstutils.c:
1748         * gst/gstxml.c:
1749           inlined more docs, fixed double id-ref
1751 2005-08-31  Wim Taymans  <wim@fluendo.com>
1753         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1754         (gst_base_transform_handle_buffer):
1755         Passthrough elements don't need the caps as they don't care.
1757 2005-08-31  Wim Taymans  <wim@fluendo.com>
1759         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1760         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
1761         Don't leak refcounts on buffers.
1763 2005-08-31  Wim Taymans  <wim@fluendo.com>
1765         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
1766         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
1767         (gst_base_transform_chain), (gst_base_transform_change_state):
1768         * gst/base/gstbasetransform.h:
1769         Handle the case where we are not negotiated more gracefully.
1771 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
1773         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
1774         (gst_file_src_map_region):
1775           Set READONLY flag on mmap'ed buffers, otherwise
1776           gst_buffer_make_writable() won't work properly (#314708).
1778 2005-08-31  Wim Taymans  <wim@fluendo.com>
1780         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
1781         passthrough elements can even do inplace on non writable
1782         buffers (as they don't touch them).
1784 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
1786         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
1787         (gst_test_mono_source_set_property),
1788         (gst_test_mono_source_class_init), (GST_START_TEST),
1789         (gst_controller_suite):
1790           more tests (hehe I have the most)
1791         * gst/gstbus.c:
1792           describe popping messages whenusing mulltiple sources
1793         * libs/gst/controller/gst-controller.c:
1794         (gst_controlled_property_set_interpolation_mode),
1795         (gst_controlled_property_new):
1796         * libs/gst/controller/gst-controller.h:
1797         * libs/gst/controller/gst-interpolation.c:
1798           implement boolean properties
1800 2005-08-31  Wim Taymans  <wim@fluendo.com>
1802         * gst/gstminiobject.c: (gst_mini_object_ref):
1803         Cannot assert that the refcount has to be positive
1804         since a disposed object can be resurrected.
1806 2005-08-31  Wim Taymans  <wim@fluendo.com>
1808         * gst/gstpad.c: (gst_pad_init):
1809         Revert change, need to first fix badly behaving 
1810         apps.
1812 2005-08-30  Wim Taymans  <wim@fluendo.com>
1814         * check/elements/fakesrc.c: (setup_fakesrc):
1815         * check/elements/identity.c: (setup_identity):
1816         Activate pads before using them.
1818 2005-08-30  Wim Taymans  <wim@fluendo.com>
1820         * gst/base/gstadapter.c: (gst_adapter_flush):
1821         Flushing out 0 bytes is ok for this function.
1823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1824         no newsegment gives a warning and sets the start/stop to 
1825         invalid.
1827         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
1828         (gst_base_transform_set_passthrough):
1829         Some debug info.
1831         * gst/gstminiobject.c: (gst_mini_object_ref):
1832         Check refcount here too.
1834         * gst/gstpad.c: (gst_pad_init):
1835         Pads are initially flushing and refusing data.
1837         * gst/gstutils.c: (gst_element_link_pads_filtered):
1838         When adding a capsfilter element make sure it has the
1839         same state as the parent bin.
1841 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1843         * docs/gst/tmpl/.cvsignore:
1844         * docs/gst/tmpl/gstformat.sgml:
1845         * docs/gst/tmpl/gstversion.sgml:
1846         * gst/gstbus.h:
1847         * gst/gstformat.c:
1848         * gst/gstformat.h:
1849         * gst/gstversion.h.in:
1850           more docs and two more inlined
1852 2005-08-30  Wim Taymans  <wim@fluendo.com>
1854         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
1855         Don't sync to clock.
1857 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1859         * docs/gst/gstreamer-sections.txt:
1860           ultral33t func10ns deserve to appear in the docs actually
1861         * docs/gst/tmpl/.cvsignore:
1862         * docs/gst/tmpl/gstcompat.sgml:
1863         * docs/gst/tmpl/gstconfig.sgml:
1864         * gst/check/gstcheck.c:
1865         * gst/gstcompat.h:
1866         * gst/gstconfig.h.in:
1867           inlined more docs
1869 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1871         * docs/gst/tmpl/.cvsignore:
1872         * docs/gst/tmpl/gstquery.sgml:
1873         * docs/gst/tmpl/gstutils.sgml:
1874         * gst/gstquery.c:
1875         * gst/gstquery.h:
1876           inlined and extended docs
1878 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
1880         * check/gst-libs/controller.c: (GST_START_TEST),
1881         (gst_controller_suite):
1882           more tests
1883         * docs/gst/tmpl/gstutils.sgml:
1884         * docs/libs/gstreamer-libs-sections.txt:
1885         * docs/libs/tmpl/gstdataprotocol.sgml:
1886           include path fixes
1887         * examples/controller/audio-example.c: (main):
1888           controller example works now
1889         * gst/gstclock.h:
1890           doc fixes
1891         * tools/gst-inspect.c: (print_element_properties_info):
1892           show param spec flags
1894 2005-08-29  Andy Wingo  <wingo@pobox.com>
1896         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
1898 2005-08-28  Andy Wingo  <wingo@pobox.com>
1900         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
1901         as having two arguments instead of just one. Allows superclasses
1902         to access information on subclasses -- see the terrible for() loop
1903         in gtype.c:g_type_create_instance for the reason why. All callers
1904         changed.
1906 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
1908         * docs/design/part-messages.txt:
1909           update info
1910         * docs/gst/tmpl/.cvsignore:
1911         * docs/gst/tmpl/gstcaps.sgml:
1912         * docs/gst/tmpl/gstclock.sgml:
1913         * gst/gstbus.c:
1914         * gst/gstcaps.c:
1915         * gst/gstcaps.h:
1916         * gst/gstclock.c:
1917         * gst/gstclock.h:
1918         * gst/gstmessage.c:
1919           added descriptions for bus and message
1920           inline caps and clock docs
1922 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
1924         * gst/gstmessage.c:
1925         * gst/gstmessage.h:
1926           doc fixes
1928 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
1930         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
1931           fix div-by-zero
1933 2005-08-26  Andy Wingo  <wingo@pobox.com>
1935         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
1936         element_set_state's return val.
1937         (test_2_elements): Add test that's been disabled for months.
1939         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
1940         can-activate-pull properties.
1942         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
1943         can-activate-pull properties. Implement is_seekable so fakesrc can
1944         operate in pull mode.
1946         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
1947         properties.
1948         (gst_base_sink_activate, gst_base_sink_activate_pull)
1949         (gst_base_sink_activate_push): Make activation mode choosing work.
1950         Cleanups.
1951         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
1952         is right. Make pull mode work. Post an eos before pausing in pull
1953         mode.
1954         (gst_base_sink_change_state): Pay attention to the core's
1955         change_state() return val.
1956         
1957         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
1958         has-getrange properties. Cleanups.
1959         
1960         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
1961         has_getrange and replace with can_activate_pull and
1962         can_activate_push.
1964         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
1965         locking comments. Remove has_loop, has_chain and replace with
1966         can_activate_pull and can_activate_push.
1968 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
1970         * configure.ac:
1971         * examples/Makefile.am:
1972         * examples/metadata/Makefile.am:
1973         * examples/metadata/read-metadata.c: (message_loop),
1974         (have_pad_handler), (make_pipeline), (print_tag), (main):
1975           Add metadata reading example that loops over a list of filenames,
1976           dumping any tags found.
1978         * gst/gstbus.c: (gst_bus_dispose):
1979         * gst/gstelement.c: (gst_element_dispose):
1980           Release a few potentially-held references in dispose.
1982 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
1984         * docs/gst/tmpl/gstminiobject.sgml:
1985           do *not* add tmpl/*.sgml files to CVS!
1987 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
1989         * libs/gst/bytestream/.cvsignore:
1990         * libs/gst/bytestream/Makefile.am:
1991         * libs/gst/bytestream/adapter.c:
1992         * libs/gst/bytestream/adapter.h:
1993         * libs/gst/bytestream/bytestream.c:
1994         * libs/gst/bytestream/bytestream.h:
1995         * libs/gst/bytestream/filepad.c:
1996         * libs/gst/bytestream/filepad.h:
1997           removing obsolete files
1999 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2001         * docs/gst/gstreamer-docs.sgml:
2002         * docs/libs/gstreamer-libs-docs.sgml:
2003           disabed additional index entries again, as this makes docs-gen just
2004           slow and they aren't useful yet
2005         * docs/libs/gstreamer-libs-sections.txt:
2006           little -section.txt cleanup for libs
2008 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
2010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2011         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
2012           fix up some debugging
2013         (gst_base_transform_get_unit_size),
2014         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
2015         (gst_base_transform_handle_buffer):
2016         * gst/base/gstbasetransform.h:
2017           handle and store timed NEWSEGMENT events so that subclasses that
2018           calculate time by counting samples have a segment_start time they
2019           need to add to their timestamps - see audioresample
2021 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2023         * gst/gstbin.h:
2024           removed ';' from the end of macro defs
2025         * docs/gst/gstreamer-docs.sgml:
2026         * docs/gst/gstreamer-sections.txt:
2027         * docs/gst/tmpl/.cvsignore:
2028         * gst/gstbus.h:
2029         * gst/gstelement.c: (gst_element_class_init),
2030         (gst_element_set_state), (activate_pads),
2031         (gst_element_save_thyself):
2032         * gst/gstevent.c: (gst_event_new_newsegment):
2033         * gst/gstevent.h:
2034         * gst/gstiterator.c:
2035         * gst/gstiterator.h:
2036         * gst/gstpad.c:
2037         * gst/gstprobe.h:
2038         * gst/gstutils.c: (gst_pad_query_convert):
2039         * gst/gstutils.h:
2040           fixed parameter name mismatches between source, header and docs
2041           added some more docs, resolved the last batch of unused elements in
2042           docs (now someone needs to doc them)
2044 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2046         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
2047         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
2048           don't walk through the plugins backwards.  Where is all this
2049           reversed logic coming from ?
2051 2005-08-25  Wim Taymans  <wim@fluendo.com>
2053         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2054         (gst_base_transform_transform_size),
2055         (gst_base_transform_configure_caps),
2056         (gst_base_transform_get_unit_size),
2057         (gst_base_transform_buffer_alloc),
2058         (gst_base_transform_change_state):
2059         * gst/base/gstbasetransform.h:
2060         Cache caps unit_size.
2061         Make sure we cannot negotiate up and downstream at the
2062         same time.
2064 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2066         * gst/gst.c: (init_pre), (init_post):
2067           register the installed plugin path after the env var
2068         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
2069         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
2070           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
2071           directories, so the tests can prefer uninstalled over installed
2073 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2075         * gst/base/gstbasetransform.h:
2076           comment
2077         * gst/gstpad.c:
2078           add to docs
2080 2005-08-25  Wim Taymans  <wim@fluendo.com>
2082         * gst/gstbin.c: (bin_bus_handler):
2083         Be a bit more conservative about the posted message.
2084         
2085         * gst/gstbus.c: (gst_bus_post):
2086         Some cleanups, warn wrong return values.
2088 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
2090         * check/gst/gstbin.c: (GST_START_TEST):
2091         * gst/gstbin.c: (bin_bus_handler):
2092         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
2093         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
2094         (gst_message_new_warning), (gst_message_new_tag),
2095         (gst_message_new_state_changed), (gst_message_new_segment_start),
2096         (gst_message_new_segment_done), (gst_message_new_custom):
2097         * gst/gstmessage.h:
2098         * tools/gst-launch.c: (event_loop):
2099         * tools/gst-md5sum.c: (event_loop):
2100           Revert unpopular change for GST_MESSAGE_SRC to GObject.
2102 2005-08-25  Wim Taymans  <wim@fluendo.com>
2104         * check/generic/states.c: (GST_START_TEST):
2105         Cleanup can be done at the end.
2107         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
2108         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
2109         (gst_task_get_state), (gst_task_start), (gst_task_pause):
2110         Oh boy.. Thanks for finding this, Thomas. 
2112 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2114         * docs/gst/gstreamer.types:
2115           added missing types
2117 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2119         * docs/gst/gstreamer-docs.sgml:
2120         * docs/gst/gstreamer-sections.txt:
2121         * docs/gst/tmpl/.cvsignore:
2122         * gst/gstbin.c:
2123         * gst/gstiterator.c:
2124         * gst/gstutils.c:
2125         * gst/registries/gstxmlregistry.h:
2126           added missing classes and symbols (123 more to go)
2127           removed removed symbols from section file
2128           fixed many doc-comments
2130 2005-08-24  Wim Taymans  <wim@fluendo.com>
2132         * check/generic/states.c: (GST_START_TEST):
2133         Make sure all tasks are stopped.
2135         * check/gst/gstbin.c: (GST_START_TEST):
2136         Unref after usage for proper valgrinding.
2138         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
2139         Really wait for the task to stop before destroying the
2140         mutex.
2142         * gst/gstqueue.c: (gst_queue_sink_activate_push),
2143         (gst_queue_src_activate_push):
2144         Small cleanups. Don't stop the task when we did not start
2145         it.
2147         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
2148         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
2149         (gst_task_get_state), (gst_task_start), (gst_task_pause),
2150         (gst_task_join):
2151         * gst/gsttask.h:
2152         Protect the stream lock with the object lock.
2153         Disallow setting the stream lock when running.
2154         Add cleanup_all to wait for the threadpool to finish.
2155         Remove code to autoallocate a mutex if none was provided.
2156         Add _join() to wait for a task to stop.
2157         Protect the thread pool with a global lock.
2159 2005-08-24  Wim Taymans  <wim@fluendo.com>
2161         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2162         (gst_base_sink_get_times), (gst_base_sink_do_sync),
2163         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
2164         * gst/base/gstbasesink.h:
2165         Handle newsegment events correctly.
2166         Drop buffers out of the segment range.
2168 2005-08-22  Andy Wingo  <wingo@pobox.com>
2170         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
2171         macro, implements an interface and gstimplementsinterface for a
2172         new type.
2174 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2176         * check/Makefile.am:
2177         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
2178           add a test that does a bunch of state changes on elements
2179           needs some fixing for valgrind
2180         * check/states/sinks.c: (gst_object_suite):
2181           whitespace
2182         * gst/gstcaps.h:
2183           add prototype for gst_caps_is_equal_fixed
2184         * gst/gstplugin.c:
2185         * gst/gstregistrypool.c:
2186           doc fixes
2188 2005-08-24  Andy Wingo  <wingo@pobox.com>
2190         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
2191         convert a negative value. Doesn't make much sense. Mostly this is
2192         here to force callers to ensure -1 maps to -1.
2194 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2196         * docs/pwg/advanced-types.xml:
2197           Well done to Michael for catching my deliberate introduction
2198           of this spelling mistake. 
2199         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
2200         * gst/gstelement.h:
2201           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
2202           unlink pads before removing the element from the bin.
2204 2005-08-24  Andy Wingo  <wingo@pobox.com>
2206         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
2207         the same thing as GST_DEBUG=*:4.
2208         (parse_debug_level, parse_debug_category): New helper parsers.
2210 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2212         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2213         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
2214         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
2215         (gst_base_transform_buffer_alloc),
2216         (gst_base_transform_handle_buffer):
2217           use gboolean return values and pointers to size so we can use the
2218           full GST_BUFFER_SIZE range (guint) for buffer sizes
2219           use GstPadDirection for transform_caps
2220         * gst/base/gstbasetransform.h:
2221           rename get_size to get_unit_size since that's what it is
2222         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
2223           use GstPadDirection for transform_caps
2224         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2225         * gst/gstutils.h:
2226           cleanup and debugging
2228 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2230         * gst/gstelement.c: (gst_element_class_init),
2231         (gst_element_set_state), (activate_pads),
2232         (gst_element_save_thyself):
2233         * tools/gst-compprep.c: (main):
2234         * tools/gst-inspect.c: (print_element_properties_info):
2235         * tools/gst-xmlinspect.c: (print_element_properties):
2236           Fixed long standing mem-leak
2238 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2240         * check/gst/gstbin.c: (GST_START_TEST):
2241         * gst/gstbin.c: (bin_bus_handler):
2242         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
2243         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
2244         (gst_message_new_warning), (gst_message_new_tag),
2245         (gst_message_new_state_changed), (gst_message_new_segment_start),
2246         (gst_message_new_segment_done), (gst_message_new_custom):
2247         * gst/gstmessage.h:
2248         * tools/gst-launch.c: (event_loop):
2249         * tools/gst-md5sum.c: (event_loop):
2250           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
2251           that applications can sensibly post custom messages with references
2252           to their own objects.
2254 2005-08-24  Andy Wingo  <wingo@pobox.com>
2256         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
2257         already.
2259 2005-08-24  Wim Taymans  <wim@fluendo.com>
2261         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2262         (gst_base_transform_transform_caps),
2263         (gst_base_transform_transform_size),
2264         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2265         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2266         (gst_base_transform_handle_buffer):
2267         * gst/base/gstbasetransform.h:
2268         Many fixes and new features added by Thomas. Can now also do
2269         transforms with variable sizes and a custom fixate_caps function.
2271 2005-08-24  Wim Taymans  <wim@fluendo.com>
2273         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2274         Some debugging.
2276         * gst/gstclock.h:
2277         Cast to ClockTime before formatting to time.
2279         * gst/gstutils.h:
2280         Cleanups.
2282 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2284         * check/gst-libs/controller.c: (GST_START_TEST),
2285         (gst_controller_suite):
2286         * docs/gst/tmpl/gstcaps.sgml:
2287         * docs/gst/tmpl/gstghostpad.sgml:
2288         * docs/gst/tmpl/gstquery.sgml:
2289         * docs/gst/tmpl/gstutils.sgml:
2290         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
2291         (gst_object_sink_values), (gst_object_get_value_arrays),
2292         (gst_object_get_value_array):
2293           gracefully handle helper method calls to objects that are not beeing
2294           controlled, added test case for that          
2296 2005-08-23  Wim Taymans  <wim@fluendo.com>
2298         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
2299         (gst_event_new_newsegment), (gst_event_parse_newsegment),
2300         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
2301         (gst_event_parse_qos), (gst_event_new_seek),
2302         (gst_event_parse_seek):
2303         * gst/gstevent.h:
2304         Some more debugging output and doc cleanups.
2306         * gst/gstqueue.c: (gst_queue_handle_sink_event):
2307         Fix possible deadlock.
2309 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2311         * docs/gst/gstreamer-docs.sgml:
2312         * docs/gst/gstreamer-sections.txt:
2313         * docs/gst/gstreamer.types:
2314         * docs/gst/tmpl/.cvsignore:
2315         * gst/gstbin.h:
2316         * gst/gstbus.c:
2317         * gst/gstelement.c:
2318         * gst/gstevent.h:
2319           added 100 symbols from gstreamer-unused.txt to the right sections
2320           fixed more broken comments
2321           added GstBus to docs
2323 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2325         * docs/gst/gstreamer-sections.txt:
2326         * docs/gst/tmpl/.cvsignore:
2327         * docs/gst/tmpl/gstbin.sgml:
2328         * docs/gst/tmpl/gstbuffer.sgml:
2329         * gst/base/gstbasesrc.c:
2330         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2331         * gst/gstbuffer.c:
2332         * gst/gstbuffer.h:
2333         * tools/gst-launch.1.in:
2334           inlined more doc comments, added missing comments and fixed comments
2335           fixed typos
2337 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2339         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2340           some debugging
2341         * gst/gstcaps.h:
2342           whitespace fixes
2343         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
2344           more debugging
2345         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
2346         * gst/gststructure.h:
2347           add a fixate function for booleans; add a FIXME that these func
2348           names should probably be gst_structure_fixate_*
2350 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2352         * docs/gst/gstreamer-docs.sgml:
2353         * docs/gst/gstreamer-sections.txt:
2354         * gst/Makefile.am:
2355         * gst/gstbin.c: (gst_bin_get_type),
2356         (gst_bin_child_proxy_get_child_by_index),
2357         (gst_bin_child_proxy_get_children_count),
2358         (gst_bin_child_proxy_init):
2359         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
2360         (gst_child_proxy_get_child_by_index),
2361         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
2362         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
2363         (gst_child_proxy_get), (gst_child_proxy_set_property),
2364         (gst_child_proxy_set_valist), (gst_child_proxy_set),
2365         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
2366         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
2367         * gst/gstchildproxy.h:
2368         * gst/parse/grammar.y:
2369         * tools/gst-inspect.c: (print_interfaces),
2370         (print_element_properties_info), (print_element_info):
2371           ported gstchildproxy over from 0.8
2372           ported gst-inspect fixes and enhancements over from 0.8
2374 2005-08-22  Wim Taymans  <wim@fluendo.com>
2376         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2377         (gst_base_transform_handle_buffer):
2378         Also call the transform function if we have ANY caps.
2380         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
2381         Fix debug info.
2383 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
2385         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
2386           Don't pretend to handle seek events if the source is not seekable
2388 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
2390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2391           Remove extra parameter to debug output
2393         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
2394         (gst_base_src_do_seek), (gst_base_src_activate_push):
2395           Fix seek event handling.
2397         * gst/gstpipeline.c: (gst_pipeline_change_state):
2398         * gst/gstqueue.c: (gst_queue_handle_sink_event),
2399         (gst_queue_src_activate_push):
2400           Don't start the src pad task on FLUSH_STOP if the pad
2401           isn't linked.
2402           Debug changes.
2404 2005-08-22  Wim Taymans  <wim@fluendo.com>
2406         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2407         Added check for gst_static_caps_get() refcounting.
2409 2005-08-22  Wim Taymans  <wim@fluendo.com>
2411         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
2412         Make _static_caps_get() refcounting sane.
2413         
2414         * gst/gstelement.c: (gst_element_set_state):
2415         Add g_return_val_if_fail() to protect against segfaults.
2417 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
2419         * docs/gst/tmpl/gstevent.sgml:
2420         * gst/gstevent.c:
2421         * gst/gstevent.h:
2422           inlined remaining docs, added missing doc comments
2424 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2426         * check/gst/gstbin.c: (GST_START_TEST):
2427           since we don't know when preroll is done, use refcount range
2428           check for the sink
2429         * gst/check/gstcheck.h:
2430           add macro for checking refcount range
2432 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2434         * check/Makefile.am:
2435           clean up environment for when registry gets built versus
2436           when actual tests are run; valgrind seems to not report
2437           leaks if GST_PLUGIN_PATH is set to some specific values
2438         * check/gst/gstbin.c: (GST_START_TEST):
2439           add more refcounting checks; maybe this exposes a
2440           preroll lock bug ?
2441         * common/check.mak:
2442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2443         * gst/check/gstcheck.h:
2444         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
2445         (gst_bin_change_state):
2446         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
2447           add/fix debugging/whitespace
2449 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
2451         * check/gst/gstevent.c: (event_probe), (test_event),
2452         (GST_START_TEST):
2453          Er, don't call gst_bin_watch_for_state_change you idiot.
2455 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
2457         * check/Makefile.am:
2458           Use CHECK_CFLAGS and CHECK_LIBS
2459         * check/gst/gstevent.c: (event_probe), (test_event),
2460         (GST_START_TEST):
2461           Don't leak events.
2462         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
2463         (gst_base_src_start), (gst_base_src_stop),
2464         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2465         (gst_base_src_change_state):
2466           Sprinkle gst_base_src_stop liberally around error paths to fix
2467           problems reusing a source after failed state changes.
2468         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2469         (helper_find_suggest), (gst_type_find_helper):
2470           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
2471         * gst/gstevent.h:
2472         * docs/gst/tmpl/gstevent.sgml:
2473           Migrate part of the docs from the SGML file. Wait for ensonic to
2474           tell me how I did it wrong ;)
2475         * tools/gst-typefind.c: (main):
2476           Extra robustness to state changes between files.
2478 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2480         * check/Makefile.am:
2481           don't valgrind the controller test - it's leaking - Stefan, HELP
2482         * gst/check/gstcheck.c: (gst_check_message_error),
2483         (gst_check_chain_func), (gst_check_setup_element),
2484         (gst_check_teardown_element), (gst_check_setup_src_pad),
2485         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2486         (gst_check_teardown_sink_pad):
2487         * gst/check/gstcheck.h:
2488           add a bunch of methods to set up elements, and src and sink pads
2489         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
2490         * check/elements/identity.c: (setup_identity), (cleanup_identity),
2491         (GST_START_TEST):
2492           use them
2493         * gst/gstmessage.c:
2494         * gst/gsttag.h:
2495           whitespace/doc fixes
2497 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2499         * gst/gstelement.h:
2500           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
2501           be handled by the application and not always printed as well
2503 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2505         * check/Makefile.am:
2506           set GST_TOOLS_DIR
2507         * gst/check/gstcheck.c: (gst_check_message_error):
2508         * gst/check/gstcheck.h:
2509           add a fail_unless_equals_int
2510           add fail_unless for error messages
2512 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2514         * check/Makefile.am:
2515         * check/gst.supp:
2516         * common/Makefile.am:
2517         * common/check.mak:
2518         * common/gst.supp:
2519           factor out some of the common stuff so we can use it
2521 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2523         * check/Makefile.am:
2524         * check/gst/gstiterator.c: (GST_START_TEST):
2525         * check/gst/gstsystemclock.c: (GST_START_TEST),
2526         (gst_systemclock_suite):
2527         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2528         * gst/gstclock.c:
2529           valgrind more tests
2531 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2533         * check/elements/.cvsignore:
2534         * check/elements/gstfakesrc.c:
2535           rename to name of element
2536         * check/elements/identity.c: (chain_func), (event_func),
2537         (setup_identity), (cleanup_identity), (GST_START_TEST),
2538         (identity_suite), (main):
2539           add a test for identity
2540         * check/Makefile.am:
2541         * pkgconfig/Makefile.am:
2542         * pkgconfig/gstreamer-check.pc.in:
2543         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2544         * gst/check:
2545         * gst/Makefile.am:
2546         * configure.ac:
2547           move the check stuff to a library that gets installed
2548         * check/gst-libs/controller.c: (GST_START_TEST):
2549         * check/gst-libs/gdp.c:
2550         * check/gst/gst.c: (GST_START_TEST):
2551         * check/gst/gstbin.c:
2552         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2553         * check/gst/gstbus.c:
2554         * check/gst/gstcaps.c: (GST_START_TEST):
2555         * check/gst/gstelement.c:
2556         * check/gst/gstghostpad.c:
2557         * check/gst/gstiterator.c:
2558         * check/gst/gstmessage.c:
2559         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
2560         * check/gst/gstobject.c:
2561         * check/gst/gstpad.c: (GST_START_TEST):
2562         * check/gst/gststructure.c: (GST_START_TEST):
2563         * check/gst/gstsystemclock.c: (GST_START_TEST),
2564         (gst_systemclock_suite):
2565         * check/gst/gsttag.c: (gst_tag_suite):
2566         * check/gst/gstvalue.c:
2567         * check/pipelines/cleanup.c:
2568         * check/pipelines/simple_launch_lines.c:
2569         * check/states/sinks.c:
2570           change include statement
2572         * docs/gst/gstreamer-sections.txt:
2573         * docs/gst/tmpl/gstpad.sgml:
2574           document more pad stuff
2575         * gst/gstminiobject.c: (gst_mini_object_ref),
2576         (gst_mini_object_unref):
2577           debug refcounting
2579 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
2581         * docs/gst/tmpl/gst.sgml:
2582         * gst/gst.c:
2583           eliminate another tmpl file, fix spelling in the long-description
2585 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
2587         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
2588         (test_event), (timediff), (gstevents_suite):
2589           Should fix build on 64-bit arch's
2591 2005-08-18  Andy Wingo  <wingo@pobox.com>
2593         Make sure that when a pipeline goes to PLAYING, that data has
2594         actually hit the sink.
2596         * check/states/sinks.c (test_sink): A sink that doesn't get any
2597         data shouldn't return SUCCESS for going to either PLAYING or
2598         PAUSED. Test also the return values on the way back down.
2600         * gst/gstelement.c (gst_element_set_state): When changing the
2601         state of an element currently changing state asynchronously, go to
2602         lost-state after commiting the pending state. Makes future calls
2603         to get_state continue to return ASYNC.
2605         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
2606         ASYNC when going to PLAYING if we still don't have preroll, as can
2607         happen with live sources.
2609 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
2611         * docs/pwg/advanced-types.xml:
2612           Hack long paragraph into 2 chunks as a workaround for buggy
2613           jadetex version in sid and breezy that loops infinitely and
2614           eats all RAM.
2616 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
2618         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
2619         (test_event), (timediff), (gstevents_suite):
2620           Provide more error margin in clock measurements to allow for 
2621           g_get_current_time inaccuracies.
2623 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
2625         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
2626         (test_event), (timediff), (gstevents_suite):
2627            Fix error message output so I might be able to tell why the
2628            test works here but fails on the build farm.
2630 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
2632         * check/Makefile.am:
2633         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
2634         (test_event), (timediff), (gstevents_suite), (main):
2635           I wrote a test!
2637         * docs/design/part-seeking.txt:
2638           Spelling correction
2640         * docs/gst/tmpl/gstevent.sgml:
2641         * docs/gst/tmpl/gstfakesrc.sgml:
2642           Docs updates.
2644         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2645           Treat a buffer-without-newsegment the same as a receiving 
2646           a newsegment not in time format, and disable syncing to the clock
2647           with a warning.
2649         * gst/gstbus.c: (gst_bus_set_sync_handler):
2650           Assert if anyone tries to replace the existing sync_handler for bus, 
2651           as only the owner should be setting it.
2653         * gst/gstevent.h:
2654           Have a fixed set of custom event enums with events identified by
2655           their structure name (as in 0.8), rather than a free-for-all
2656           allowing collisions between enum values from different plugins.
2658         * gst/gstpad.c: (gst_pad_class_init):
2659           Docs change.
2660           
2661         * gst/gstqueue.c: (gst_queue_handle_sink_event):
2662           Handle out-of-band downstream events from the sending thread.
2664 2005-08-17  Andy Wingo  <wingo@pobox.com>
2666         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
2667         play-timeout==0 to mean no timeout at all. In that case, don't
2668         bother with a get_state or a warning, just return directly, even
2669         if it's ASYNC.
2671         * gst/base/gstbasetransform.c: Debug changes.
2673         * gst/gstutils.h:
2674         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
2675         ensure bins post state change messages. A bit of a hack but I can't
2676         think of a way to avoid it.
2678         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
2680 2005-08-16  Andy Wingo  <wingo@pobox.com>
2682         * gst/base/gstadapter.h:
2683         * gst/base/gstadapter.c (gst_adapter_take): New function, like
2684         peek() but you own the data. Not terribly efficient atm.
2686 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2688         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
2689         (gst_element_found_tags):
2690         * gst/gstutils.h:
2691           Add two utility functions for tag handling.
2693 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2695         * docs/manual/advanced-dataaccess.xml:
2696         * docs/manual/basics-helloworld.xml:
2697           Fix docs to use _bin_add() before _link(), which fixes the examples
2698           with recent core versions (reported by Madhan Raj M
2699           <raj_madan@rediffmail.com>, #313199).
2701 2005-08-16  Wim Taymans  <wim@fluendo.com>
2703         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2704         Added subtract checks.
2706         * docs/design/part-events.txt:
2707         Some more docs about newsegment
2709         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2710         Fix FIXME
2712         * gst/gstcaps.c: (gst_caps_to_string):
2713         Add comments, cleanups.
2714         
2715         * gst/gstelement.c: (gst_element_save_thyself):
2716         cleanups
2717         
2718         * gst/gstvalue.c: (gst_value_collect_int_range),
2719         (gst_string_unwrap), (gst_value_union_int_int_range),
2720         (gst_value_union_int_range_int_range),
2721         (gst_value_intersect_int_int_range),
2722         (gst_value_intersect_int_range_int_range),
2723         (gst_value_intersect_double_double_range),
2724         (gst_value_intersect_double_range_double_range),
2725         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
2726         (gst_value_subtract_int_range_int),
2727         (gst_value_subtract_double_range_double),
2728         (gst_value_subtract_double_range_double_range),
2729         (gst_value_subtract_from_list), (gst_value_subtract_list),
2730         (gst_value_can_compare), (gst_value_compare_fraction):
2731         Cleanups, add comments, remove unneeded asserts.
2733 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2735         * tools/gst-launch.c: (event_loop):
2736           don't convert NULL structures to strings
2738 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
2740         * docs/gst/gstreamer-sections.txt:
2741           made some defines private
2742         * docs/gst/tmpl/gstconfig.sgml:
2743         * docs/gst/tmpl/gstqueue.sgml:
2744         * docs/gst/tmpl/gsttaglist.sgml:
2745         * docs/gst/tmpl/gsttypes.sgml:
2746         * docs/gst/tmpl/gstutils.sgml:
2747         * docs/pwg/appendix-porting.xml:
2748         * gst/base/gstbasesink.h:
2749         * gst/base/gstbasesrc.c:
2750         * gst/base/gstbasesrc.h:
2751         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
2752         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
2753         * gst/gstelement.c: (gst_element_class_init):
2754         * gst/gstpad.c: (gst_pad_class_init):
2755         * gst/gstqueue.c: (gst_queue_class_init):
2756         * gst/gstxml.c: (gst_xml_class_init):
2757           documented all undocumented signal inline
2758         * libs/gst/controller/gst-controller.h:
2759           added padding
2761 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2763         * docs/pwg/appendix-porting.xml:
2764           Document _set_link_function -> _set_setcaps_function.
2766 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2768         * check/Makefile.am:
2769           add a .check target for running the check
2770         * check/gst-libs/controller.c: (GST_START_TEST):
2771           cosmetic fixups
2772         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2773           complete checks for gstbuffer; would be nice if I could get the
2774           gcov stuff to work so I can see if I actually completed gstbuffer.c
2775         * check/gstcheck.h:
2776           add ASSERT_BUFFER_REFCOUNT
2778 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
2780         * docs/gst/gstreamer-sections.txt:
2781         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
2782         * gst/gsttag.h:
2783           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
2784           spew out a warning if a tag that is already registered
2785           is re-registered, unless it is re-registered with a 
2786           different type (#308438).
2788 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
2790         * docs/pwg/appendix-porting.xml:
2791         * docs/pwg/building-state.xml:
2792           Add some paragraphs about state changes in 0.9 to the PWG
2793           and the porting guide, in particular about the new meaning
2794           of GST_STATE_PAUSED and how to write state change functions
2795           with concurrent access by multiple threads in mind.
2797 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
2799         * docs/gst/gstreamer-docs.sgml:
2800         * docs/libs/gstreamer-libs-docs.sgml:
2801           added deprecation and since indexes
2802         * libs/gst/controller/gst-controller.c:
2803         * libs/gst/controller/gst-helper.c:
2804           added since tags
2807 2005-08-11  Wim Taymans  <wim@fluendo.com>
2809         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
2810         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
2811         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
2812         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
2813         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
2814         (gst_ghost_pad_set_target):
2815         Actually implement (re)setting the target on a ghostpad
2816         as described in the docs.
2818 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
2820         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
2821           Check whether GST_DEBUG_NO_COLOR environment variable is
2822           set and disable coloured debug output if that is the case.
2824 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
2826         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2827         (gst_type_find_helper):
2828           The memory returned by gst_type_find_peek() needs to
2829           stay valid until the end of a typefind function, and
2830           typefind functions may keep results from different 
2831           offsets around, so we can't just unref the buffer from
2832           the previous _peek(), but have to save all buffers 
2833           returned by _peek() until typefinding is done and only
2834           free them then.
2836 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
2838         * docs/gst/gstreamer-sections.txt:
2839         * gst/gstutils.h:
2840           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
2842 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2844         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2845           Fix a pretty good memleak.
2847 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
2849         * gst/gstiterator.h:
2850           Fix wrong include and 'make distcheck'.
2852 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2854         * gst/gstbin.c: (bin_bus_handler):
2855           Use gst_element_post_message() instead.
2857 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
2859         * gst/base/gstadapter.h:
2860         * gst/base/gstbasesink.h:
2861         * gst/base/gstbasesrc.h:
2862         * gst/base/gstbasetransform.h:
2863         * gst/base/gstcollectpads.h:
2864         * gst/base/gstpushsrc.h:
2865         * gst/gstiterator.h:
2866           Add padding to our base elements' class and instance structs and
2867           to GstIterator (you will need to rebuild all plugins and apps!)
2869 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2871         * gst/gstbin.c: (bin_bus_handler):
2872           Make default message forwarding from child->bus to bin->bus
2873           threadsafe and make it not emit warnings if the parent has no bus.
2875 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2877         * gst/gstelement.c: (activate_pads):
2878           On paused->ready, set pad->caps to NULL, as is the documented
2879           behaviour in this state change. Fixes playback of series of
2880           media files when visualization is enabled in Totem.
2882 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2884         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2885           Allow NULL as filter-caps (which means "any").
2887 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2889         * docs/libs/gstreamer-libs-sections.txt:
2890         * libs/gst/controller/gst-controller.c:
2891         * libs/gst/controller/gst-controller.h:
2892         * libs/gst/controller/gst-helper.c:
2893           adding more entries to the docs and fix small doc-bugs
2895 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2897         * docs/gst/gstreamer-docs.sgml:
2898         * docs/gst/gstreamer-sections.txt:
2899         * docs/gst/gstreamer.types:
2900         * docs/gst/tmpl/gstbasesink.sgml:
2901         * docs/gst/tmpl/gstbasesrc.sgml:
2902         * docs/gst/tmpl/gstbasetransform.sgml:
2903         * docs/gst/tmpl/gstfakesrc.sgml:
2904         * gst/base/gstcollectpads.c:
2905         * gst/base/gstcollectpads.h:
2906         * libs/gst/controller/gst-controller.c:
2907         * libs/gst/controller/gst-controller.h:
2908         * libs/gst/controller/gst-helper.c:
2909         * libs/gst/controller/gst-interpolation.c:
2910         * libs/gst/controller/lib.c:
2911           added long/short desc for controller docs
2912           added collectpads base class docs
2913           added correct includes to base-class docs
2915 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2917         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
2918         (gst_test_mono_source_set_property),
2919         (gst_test_mono_source_class_init), (GST_START_TEST),
2920         (gst_controller_suite):
2921         * docs/gst/gstreamer-docs.sgml:
2922         * docs/gst/gstreamer-sections.txt:
2923         * docs/gst/gstreamer.types:
2924         * docs/libs/gstreamer-libs-docs.sgml:
2925         * docs/libs/gstreamer-libs-sections.txt:
2926         * gst/base/gstadapter.c:
2927         * libs/gst/controller/gst-controller.c:
2928         (gst_controlled_property_new), (gst_controlled_property_free),
2929         (gst_controller_new_valist),
2930         (gst_controller_remove_properties_valist),
2931         (gst_controller_sink_values), (_gst_controller_finalize):
2932         * libs/gst/controller/gst-controller.h:
2933         * libs/gst/controller/gst-helper.c:
2934         (gst_object_control_properties), (gst_object_uncontrol_properties),
2935         (gst_object_get_controller), (gst_object_set_controller),
2936         (gst_object_sink_values), (gst_object_get_value_arrays),
2937         (gst_object_get_value_array):
2938           more tests (and fixes) for the controller
2939           more docs for the controller
2940           integrated companies docs for the adapter 
2942 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2944         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
2945         (GST_START_TEST), (fakesrc_suite):
2946           add tests for sizetype
2948 2005-08-04  Andy Wingo  <wingo@pobox.com>
2950         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
2951         fixes buffer_alloc proxying among other things.
2953         * gst/base/gstbasetransform.c:
2954         * gst/base/gstbasetransform.h:
2955         Revert patch to gstbasetransform from 7-28 removing
2956         delay_configure.
2958         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
2959         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
2960         Semantics changed, should return not the size of the output buffer
2961         but the byte size of a buffer with a given caps.
2963         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
2964         debug object.
2965         (gst_base_transform_configure_caps): Don't set out_size here: (in,
2966         out) are not the pad caps until setcaps finishes.
2967         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
2968         not-in-place case as well. Deal with changing from in-place to
2969         not-in-place within calling pad_alloc_buffer. Still a bit
2970         concerned about the overhead here...
2972 2005-08-03  Andy Wingo  <wingo@pobox.com>
2974         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
2975         fixating is an error.
2977 2005-08-04  Edward Hervey  <edward@fluendo.com>
2979         * gst/base/gstadapter.h: 
2980         Added gst_adapter_get_type() to the header
2982 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2984         * check/Makefile.am:
2985         * check/gst-libs/controller.c:
2986         * libs/gst/controller/gst-controller.c:
2987         (gst_controller_new_valist):
2988           added check test suite for the controller
2989         * gst/base/gstpushsrc.c:
2990           fixed a doc typo
2992 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2994         * docs/gst/Makefile.am:
2995         * docs/gst/gstreamer-docs.sgml:
2996         * docs/gst/gstreamer-sections.txt:
2997         * docs/gst/gstreamer.types:
2998         * docs/gst/tmpl/gstfakesrc.sgml:
2999         * gst/base/README:
3000         * gst/base/gstbasesink.c:
3001         * gst/base/gstbasesink.h:
3002         * gst/base/gstbasesrc.c:
3003         * gst/base/gstbasesrc.h:
3004         * gst/base/gstbasetransform.c:
3005         * gst/base/gstpushsrc.c:
3006         * gst/base/gstpushsrc.h:
3007           add short/long description docs to base classes
3008           add pushsrc to the docs
3009           remove consolidated doc fragments
3011 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3013         * configure.ac:
3014         * docs/libs/Makefile.am:
3015         * docs/libs/gstreamer-libs-docs.sgml:
3016         * docs/libs/gstreamer-libs-sections.txt:
3017         * docs/libs/gstreamer-libs.types:
3018         * examples/Makefile.am:
3019         * examples/controller/.cvsignore:
3020         * examples/controller/Makefile.am:
3021         * examples/controller/audio-example.c: (main):
3022         * libs/gst/Makefile.am:
3023         * libs/gst/controller/.cvsignore:
3024         * libs/gst/controller/Makefile.am:
3025         * libs/gst/controller/gst-controller.c:
3026         (on_object_controlled_property_changed), (gst_timed_value_compare),
3027         (gst_timed_value_find),
3028         (gst_controlled_property_set_interpolation_mode),
3029         (gst_controlled_property_new), (gst_controlled_property_free),
3030         (gst_controller_find_controlled_property),
3031         (gst_controller_new_valist), (gst_controller_new),
3032         (gst_controller_remove_properties_valist),
3033         (gst_controller_remove_properties), (gst_controller_set),
3034         (gst_controller_set_from_list), (gst_controller_unset),
3035         (gst_controller_get), (gst_controller_get_all),
3036         (gst_controller_sink_values), (gst_controller_get_value_arrays),
3037         (gst_controller_get_value_array),
3038         (gst_controller_set_interpolation_mode),
3039         (_gst_controller_finalize), (_gst_controller_init),
3040         (_gst_controller_class_init), (gst_controller_get_type):
3041         * libs/gst/controller/gst-controller.h:
3042         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
3043         (g_object_uncontrol_properties), (g_object_get_controller),
3044         (g_object_set_controller), (g_object_sink_values),
3045         (g_object_get_value_arrays), (g_object_get_value_array):
3046         * libs/gst/controller/gst-interpolation.c:
3047         (gst_controlled_property_find_timed_value_node),
3048         (interpolate_none_get), (interpolate_trigger_get),
3049         (interpolate_trigger_get_value_array):
3050         * libs/gst/controller/lib.c: (gst_controller_init):
3051         * pkgconfig/Makefile.am:
3052         * pkgconfig/gstreamer-control-uninstalled.pc.in:
3053         * pkgconfig/gstreamer-control.pc.in:
3054         * testsuite/Makefile.am:
3055         * testsuite/controller/.cvsignore:
3056         * testsuite/controller/Makefile.am:
3057         * testsuite/controller/interpolator.c: (main):
3058           added controller code
3059           removed dparam pc files
3061 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
3062         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
3063         (gst_collectpads_stop):
3064           Broadcast the condition when shutting down, to make sure we wake all
3065           threads up. Shut down pads on finalize, for safety.
3067 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
3068         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3069         (gst_base_transform_handle_buffer),
3070         (gst_base_transform_change_state):
3071           Handle PAUSED->READY->PAUSED transition after negotiation
3072           occurred already.
3073         * gst/gstmessage.c: (gst_message_init):
3074           Extra piece of debug for new messages.
3076 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
3078         * configure.ac:
3079         * docs/gst/tmpl/gstbasesrc.sgml:
3080         * docs/gst/tmpl/gstelement.sgml:
3081         * docs/gst/tmpl/gstevent.sgml:
3082         * docs/gst/tmpl/gstfakesrc.sgml:
3083         * docs/gst/tmpl/gstformat.sgml:
3084         * docs/gst/tmpl/gstghostpad.sgml:
3085         * docs/gst/tmpl/gstpad.sgml:
3086         * docs/gst/tmpl/gstquery.sgml:
3087         * docs/gst/tmpl/gststructure.sgml:
3088         * docs/gst/tmpl/gsttaglist.sgml:
3089         * docs/gst/tmpl/gstvalue.sgml:
3090         * docs/libs/gstreamer-libs-docs.sgml:
3091         * docs/libs/gstreamer-libs-sections.txt:
3092         * docs/libs/gstreamer-libs.types:
3093         * libs/gst/Makefile.am:
3094         * libs/gst/control/.cvsignore:
3095         * libs/gst/control/Makefile.am:
3096         * libs/gst/control/control.c:
3097         * libs/gst/control/control.h:
3098         * libs/gst/control/dparam.c:
3099         * libs/gst/control/dparam.h:
3100         * libs/gst/control/dparam_smooth.c:
3101         * libs/gst/control/dparam_smooth.h:
3102         * libs/gst/control/dparamcommon.h:
3103         * libs/gst/control/dparammanager.c:
3104         * libs/gst/control/dparammanager.h:
3105         * libs/gst/control/dplinearinterp.c:
3106         * libs/gst/control/dplinearinterp.h:
3107         * libs/gst/control/unitconvert.c:
3108         * libs/gst/control/unitconvert.h:
3109         * testsuite/Makefile.am:
3110         * testsuite/dynparams/.cvsignore:
3111         * testsuite/dynparams/Makefile.am:
3112         * testsuite/dynparams/dparamstest.c:
3113         * tools/Makefile.am:
3114         * tools/gst-inspect.c: (print_element_info), (main):
3115         * tools/gst-xmlinspect.c: (print_element_info), (main):
3116           deactivate and remove dparams (libgstcontrol)
3118 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3120         * gst/elements/gsttypefindelement.c:
3121         (gst_type_find_element_have_type), (gst_type_find_element_init),
3122         (stop_typefinding), (gst_type_find_element_handle_event),
3123         (gst_type_find_element_chain), (gst_type_find_element_getrange):
3124         * gst/elements/gsttypefindelement.h:
3125           Set caps on all outgoing buffers, not just the first one.
3127 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3129         * gst/elements/gsttypefindelement.c:
3130         (gst_type_find_element_have_type),
3131         (gst_type_find_element_check_set_buffer_caps),
3132         (gst_type_find_element_init), (stop_typefinding),
3133         (gst_type_find_element_handle_event),
3134         (gst_type_find_element_chain), (gst_type_find_element_getrange):
3135         * gst/elements/gsttypefindelement.h:
3136           Set caps on first outgoing buffer when we've found the type.
3138 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3140         * docs/gst/gstreamer-docs.sgml:
3141         * docs/gst/gstreamer-sections.txt:
3142         * docs/gst/tmpl/gstscheduler.sgml:
3143         * docs/gst/tmpl/gstschedulerfactory.sgml:
3144           Remove some old cruft from docs.
3146 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
3148         * gst/gstpad.h:
3149           Fix inline docs for GstPadLinkReturn.
3150           
3151         * gst/gststructure.c: (gst_structure_has_name):
3152         * gst/gststructure.h:
3153         * docs/gst/gstreamer-sections.txt:
3154           New API: gst_structure_has_name().
3156 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
3158         * configure.ac:
3159           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
3160           and _LARGEFILE_SOURCE in config.h as required. Do not 
3161           export those flags in our .pc files any longer (#142209).
3163           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
3165         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
3166         (gst_file_sink_do_seek), (gst_file_sink_event),
3167         (gst_file_sink_get_current_offset), (gst_file_sink_render):
3168           Redo seek/tell calls with large file support in mind; add some
3169           debugging messages; add log message that tells us when large
3170           file support is unavailable or not enabled for some reason.
3172         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
3173           Add log message that tells us when large file support 
3174           is unavailable or not enabled for some reason.
3176 2005-07-29  Wim Taymans  <wim@fluendo.com>
3178         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3179         Added test for removing an element with ghostpad from a bin.
3180         Fixed test as current implementation does the right thing.
3182         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
3183         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
3184         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
3185         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
3186         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
3187         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
3188         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
3189         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
3190         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
3191         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
3192         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
3193         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
3194         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3195         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
3196         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
3197         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3198         * gst/gstghostpad.h:
3199         Clean up ghostpads, remove properties for internal stuff.
3200         Make threadsafe.
3201         Fix refcounting.
3202         Prepare for switching targets, not all use cases work yet.
3204 2005-07-29  Wim Taymans  <wim@fluendo.com>
3206         * docs/design/part-gstghostpad.txt:
3207         Small update.
3209         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
3210         (gst_bin_remove_func):
3211         Unlinking pads while holding the bin LOCK is not a good
3212         idea.
3214         * gst/gstpad.c: (gst_pad_class_init),
3215         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
3216         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
3217         No prob setting template after creating the pad.
3219 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
3221         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
3222         (gst_bus_peek), (gst_bus_source_dispatch),
3223         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
3224         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
3225           gst_bus_poll may be called from other threads. Handle
3226           this nicely by not making poll_data disappear off the
3227           stack once gst_bus_poll returns.
3228           gst_bus_peek now increments the refcount on the returned
3229           message.
3231 2005-07-29  Wim Taymans  <wim@fluendo.com>
3233         * docs/design/part-gstghostpad.txt:
3234         Overview of current GhostPad datastructures and use
3235         cases for changing the target.
3237 2005-07-28  Wim Taymans  <wim@fluendo.com>
3239         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3240         Added checks for hierarchy consistency whan adding linked
3241         elements to bins.
3243         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3244         Added check to test element scheduling without bin/pipeline.
3246         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3247         First add elements to bin, then link.
3248         
3249         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
3250         (gst_bin_remove_func):
3251         Unlink pads from elements added/removed from bin to maintain
3252         hierarchy consistency.
3254 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3256         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3257         (gst_base_transform_handle_buffer):
3258         * gst/base/gstbasetransform.h:
3259           Remove broken delay_configure (fixes renegotiation of software
3260           scaling pipelines); remove some leftover printf()s.
3262 2005-07-28  Wim Taymans  <wim@fluendo.com>
3264         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3265         Added some more tests for wrong hierarchy
3267         * docs/design/part-overview.txt:
3268         Some updates.
3270         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
3271         Cleanups.
3273         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
3274         (gst_element_dispose):
3275         Some more cleanups.
3277         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3278         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
3279         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3280         (gst_pad_set_caps), (gst_pad_send_event):
3281         Check for correct hierarchy when linking pads. Moving to
3282         strict requirement for ghostpads when linking elements in
3283         different bins.
3285         * gst/gstpad.h:
3286         Clean ups. Added WRONG_HIERARCHY return value.
3288 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3290         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
3291           Better debug if no transform is possible.
3293 2005-07-27  Wim Taymans  <wim@fluendo.com>
3295         * docs/random/wtay/network-transp:
3296         Some old doc I had.
3298 2005-07-27  Wim Taymans  <wim@fluendo.com>
3300         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3301         (gst_dp_event_from_packet):
3302         Fix serialization of seek events.
3304 2005-07-27  Wim Taymans  <wim@fluendo.com>
3306         * check/gst-libs/gdp.c: (GST_START_TEST):
3307         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3308         Fix compilation and fix event serialization.
3310 2005-07-27  Wim Taymans  <wim@fluendo.com>
3312         * CHANGES-0.9:
3313         * docs/design/part-TODO.txt:
3314         * docs/design/part-events.txt:
3315         Some docs updates
3317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3318         (gst_base_sink_event), (gst_base_sink_do_sync),
3319         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
3320         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3321         (gst_base_src_do_seek), (gst_base_src_event_handler),
3322         (gst_base_src_loop):
3323         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3324         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3325         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3326         (gst_base_transform_event), (gst_base_transform_handle_buffer),
3327         (gst_base_transform_set_passthrough),
3328         (gst_base_transform_is_passthrough):
3329         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3330         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3331         Event updates.
3333         * gst/gstbuffer.h:
3334         Use faster casts.
3336         * gst/gstelement.c: (gst_element_seek):
3337         * gst/gstelement.h:
3338         Update gst_element_seek.
3340         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
3341         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
3342         (gst_event_new_flush_start), (gst_event_new_flush_stop),
3343         (gst_event_new_eos), (gst_event_new_newsegment),
3344         (gst_event_parse_newsegment), (gst_event_new_tag),
3345         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
3346         (gst_event_parse_qos), (gst_event_new_seek),
3347         (gst_event_parse_seek), (gst_event_new_navigation):
3348         * gst/gstevent.h:
3349         Make GstEvent use GstStructure. Add parsing code, make sure the
3350         API is sufficiently generic.
3351         Mark possible directions of events and serialization.
3353         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
3354         (_gst_message_copy), (gst_message_new_segment_start),
3355         (gst_message_new_segment_done), (gst_message_new_custom),
3356         (gst_message_parse_segment_start),
3357         (gst_message_parse_segment_done):
3358         Small cleanups.
3360         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3361         (gst_pad_set_caps), (gst_pad_send_event):
3362         Update for new events. 
3363         Catch events sent in wrong directions.
3365         * gst/gstqueue.c: (gst_queue_link_src),
3366         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3367         (gst_queue_handle_src_query):
3368         Event updates.
3370         * gst/gsttag.c:
3371         * gst/gsttag.h:
3372         Remove event code from this file.
3374         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3375         (gst_dp_event_from_packet):
3376         Event updates.
3378 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3380         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
3381         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3382         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
3383           Make debugging actually useful.
3385 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3387         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
3388         (gst_pad_fixate_caps):
3389           Implement default fixation once again, so that gst_pad_fixate()
3390           actually does anything at all. This probably needs to be some
3391           sort of a last resort, and use profile-based fixation first, but
3392           since that doesn't exist yet, this is the best we have. Fixes
3393           visualization in Totem.
3395 2005-07-22  Wim Taymans  <wim@fluendo.com>
3397         * docs/design/part-events.txt:
3398         Small update.
3400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3401         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
3402         (gst_base_sink_activate_pull):
3403         Some more comments.
3405         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
3406         (gst_fake_src_create):
3407         Fix handoff marshall.
3409         * gst/elements/gstidentity.c: (gst_identity_class_init),
3410         (gst_identity_transform_ip):
3411         We're a real inplace element.
3413         * gst/gstbus.c: (gst_bus_post):
3414         Added some comments.
3416         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
3417         * tests/muxing/case1.c: (main):
3418         * tests/sched/dynamic-pipeline.c: (main):
3419         * tests/sched/interrupt1.c: (main):
3420         * tests/sched/interrupt2.c: (main):
3421         * tests/sched/interrupt3.c: (main):
3422         * tests/sched/runxml.c: (main):
3423         * tests/sched/sched-stress.c: (main):
3424         * tests/seeking/seeking1.c: (event_received), (main):
3425         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
3426         (main):
3427         * tests/threadstate/threadstate3.c: (main):
3428         * tests/threadstate/threadstate4.c: (main):
3429         * tests/threadstate/threadstate5.c: (main):
3430         Fix the tests.
3432 2005-07-21  Wim Taymans  <wim@fluendo.com>
3434         * docs/design/part-seeking.txt:
3435         Some small additions.
3437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3438         (gst_base_sink_get_times), (gst_base_sink_do_sync),
3439         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
3440         * gst/base/gstbasesink.h:
3441         discont values are gint64, handle the math correctly.
3443         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3444         Make the basesrc report error if the source pad is not linked.
3446         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3447         (gst_queue_loop), (gst_queue_handle_src_query),
3448         (gst_queue_src_activate_push):
3449         Make queue collect data even if the srcpad is not linked.
3450         Start pushing out data as soon as it is linked.
3452         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
3453         * gst/gstutils.h:
3454         Added gst_flow_get_name() to ease error reporting.
3456 2005-07-20  Wim Taymans  <wim@fluendo.com>
3458         * gst/gstmessage.c: (gst_message_new_segment_start),
3459         (gst_message_new_segment_done), (gst_message_parse_segment_start),
3460         (gst_message_parse_segment_done):
3461         * gst/gstmessage.h:
3462         Added a bunch of messages for advanced seeking.
3464         * gst/parse/grammar.y:
3465         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
3466         (gst_dpman_state_changed):
3467         Fix some new-pad -> pad-added signals
3469 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3471         * docs/manual/appendix-porting.xml:
3472         * docs/pwg/appendix-porting.xml:
3473           Document new-pad/state-change signal renames and the FixedList
3474           type rename.
3476 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3478         * docs/manual/advanced-autoplugging.xml:
3479         * docs/manual/basics-helloworld.xml:
3480         * docs/manual/basics-pads.xml:
3481         * docs/random/ds/0.9-suggested-changes:
3482         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
3483         * gst/gstelement.h:
3484         * gst/gstevent.h:
3485         * gst/gstformat.h:
3486         * gst/gstquery.h:
3487         * gst/gststructure.c: (gst_structure_value_get_generic_type),
3488         (gst_structure_parse_array), (gst_structure_parse_value):
3489         * gst/gstvalue.c: (gst_type_is_fixed),
3490         (gst_value_list_prepend_value), (gst_value_list_append_value),
3491         (gst_value_list_get_size), (gst_value_list_get_value),
3492         (gst_value_transform_array_string), (gst_value_serialize_array),
3493         (gst_value_deserialize_array), (gst_value_intersect_array),
3494         (gst_value_is_fixed), (_gst_value_initialize):
3495         * gst/gstvalue.h:
3496           GstElement::new-pad -> pad-added, GstElement::state-change ->
3497           state-changed, GstValueFixedList -> GstValueArray, add format and
3498           flags as their own arguments in gst_element_seek() (should improve
3499           "bindeability"), remove function generators since they don't work
3500           under a whole bunch of compilers (they were deprecated already
3501           anyway).
3503 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3505         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
3506         (_gst_debug_register_funcptr):
3507         * gst/gstinfo.h:
3508           Fix illegal cast on some platforms (#309253).
3510 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3512         * gst/gstmessage.c: (gst_message_new_custom):
3513         * gst/gstmessage.h:
3514           Add _new_custom, make _new_application a macro to _new_custom.
3516 2005-07-20  Wim Taymans  <wim@fluendo.com>
3518         * gst/base/gstbasesrc.c: (gst_base_src_init),
3519         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3520         * gst/base/gstbasesrc.h:
3521         Add a gboolean to decide when to push out a discont.
3523         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3524         (gst_queue_loop), (gst_queue_handle_src_query),
3525         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
3526         (gst_queue_set_property), (gst_queue_get_property):
3527         Some cleanups.
3529         * tests/threadstate/threadstate1.c: (main):
3530         Make a thread test compile and run... very silly..
3533 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3535         * docs/manual/appendix-porting.xml:
3536           Mention removal of libgstgconf-0.9.la and existence of gconf
3537           elements.
3539 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3541         * docs/pwg/advanced-clock.xml:
3542         * docs/pwg/appendix-porting.xml:
3543         * docs/pwg/intro-preface.xml:
3544         * docs/pwg/other-base.xml:
3545         * docs/pwg/other-manager.xml:
3546         * docs/pwg/other-nton.xml:
3547         * docs/pwg/other-ntoone.xml:
3548         * docs/pwg/other-oneton.xml:
3549         * docs/pwg/pwg.xml:
3550           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
3551           demuxer), remove n-to-n (was never written), fix some code examples
3552           and links and update the porting section to include all this.
3554 2005-07-19  Wim Taymans  <wim@fluendo.com>
3556         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
3557         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
3558         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
3559         (gst_queue_src_activate_push), (gst_queue_change_state),
3560         (gst_queue_get_property):
3561         * gst/gstqueue.h:
3562         Propagate GstFlowReturn more intelligently upstream and output
3563         an ERROR/EOS when streaming stopped due to fatal error.
3565 2005-07-19  Wim Taymans  <wim@fluendo.com>
3567         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3568         Don't block forever for the state change to complete, the
3569         pipeline already did with a sensible timeout.
3571 2005-07-19  Wim Taymans  <wim@fluendo.com>
3573         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3574         Make sure we never call the create function is we
3575         got deactivated.
3577 2005-07-19  Andy Wingo  <wingo@pobox.com>
3579         * gst/parse/parse.l: Attempt to solve bug #172815.
3581 2005-07-19  Wim Taymans  <wim@fluendo.com>
3583         * docs/design/part-clocks.txt:
3584         * docs/design/part-events.txt:
3585         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
3586         Small docs updates.
3587         Only update the seeking values when we are not
3588         busy streaming.
3590 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
3592         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3593           Oops, ignore the result of gst_pad_push_event here.
3595 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
3597         * gst/base/gstbasesrc.c: (gst_base_src_loop),
3598         (gst_base_src_activate_push):
3599           Send discont event from the loop function, as pads
3600           aren't activated yet in the activate_push handler.
3602         * gst/gstbin.c: (bin_bus_handler):
3603           Don't leak element name.
3605 2005-07-18  Andy Wingo  <wingo@pobox.com>
3607         * configure.ac: Use AS_LIBTOOL_TAGS.
3609 2005-07-18  Wim Taymans  <wim@fluendo.com>
3611         * docs/gst/gstreamer.types:
3612         Remove deleted types.
3614 2005-07-18  Wim Taymans  <wim@fluendo.com>
3616         * check/elements/gstfakesrc.c: (GST_START_TEST):
3617         * configure.ac:
3618         * gst/Makefile.am:
3619         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
3620         (init_popt_callback):
3621         * gst/gst.h:
3622         * gst/gst_private.h:
3623         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
3624         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
3625         * gst/gstbin.h:
3626         * gst/gstbus.h:
3627         * gst/gstconfig.h.in:
3628         * gst/gstelement.c: (gst_element_class_init),
3629         (gst_element_set_base_time), (gst_element_get_base_time),
3630         (iterator_fold_with_resync), (gst_element_change_state),
3631         (gst_element_dispose), (gst_element_get_bus):
3632         * gst/gstelement.h:
3633         * gst/gstelementfactory.h:
3634         * gst/gsterror.c: (_gst_core_errors_init):
3635         * gst/gsterror.h:
3636         * gst/gstevent.h:
3637         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
3638         * gst/gstindex.c:
3639         * gst/gstinfo.c: (_gst_debug_init):
3640         * gst/gstmessage.c: (_gst_message_copy):
3641         * gst/gstmessage.h:
3642         * gst/gstminiobject.h:
3643         * gst/gstobject.c:
3644         * gst/gstobject.h:
3645         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3646         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
3647         * gst/gstpad.h:
3648         * gst/gstparse.h:
3649         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
3650         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
3651         (gst_pipeline_get_last_stream_time):
3652         * gst/gstpipeline.h:
3653         * gst/gstpluginfeature.h:
3654         * gst/gstquery.h:
3655         * gst/gstscheduler.c:
3656         * gst/gstscheduler.h:
3657         * gst/gststructure.h:
3658         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3659         (gst_task_finalize), (gst_task_func), (gst_task_create),
3660         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
3661         (gst_task_stop), (gst_task_pause):
3662         * gst/gsttask.h:
3663         * gst/gsttypefind.h:
3664         * gst/gsttypes.h:
3665         * gst/registries/gstlibxmlregistry.c: (load_feature),
3666         (gst_xml_registry_load), (gst_xml_registry_save_feature):
3667         * gst/registries/gstxmlregistry.c:
3668         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
3669         * gst/schedulers/threadscheduler.c:
3670         * libs/gst/control/dparammanager.h:
3671         * tools/gst-inspect.c: (print_element_list),
3672         (print_plugin_features), (print_element_features):
3673         * tools/gst-xmlinspect.c: (print_element_list),
3674         (print_plugin_info), (main):
3675         Removed plugable schedulers.
3676         Removed Scheduler/Manager from elements.
3677         Removed gsttypes.h, rearranged includes.
3678         Removed dependency pad<->element, element<>pipeline, and
3679         various others,  fix includes.
3680         implement gst_pad_get_parent() with gst_object_get_parent()
3681         Make GstTask sefcontained.
3682         Fix _get_state() on GstBin, it did not return ASYNC with a 0
3683         timeout.
3684         Fix endless loop in iterator_fold_with_resync.
3687 2005-07-18  Wim Taymans  <wim@fluendo.com>
3689         * gst/Makefile.am:
3690         * gst/gstarch.h:
3691         Remove old file.
3693 2005-07-18  Wim Taymans  <wim@fluendo.com>
3695         * gst/Makefile.am:
3696         No more cothreads.h
3698 2005-07-18  Wim Taymans  <wim@fluendo.com>
3700         * gst/cothreads.c:
3701         * gst/cothreads.h:
3702         Let's remove these.
3704 2005-07-18  Wim Taymans  <wim@fluendo.com>
3706         * docs/design/part-dynamic.txt:
3707         * docs/design/part-events.txt:
3708         * docs/design/part-seeking.txt:
3709         Some more docs in the works.
3711         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3712         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
3713         (gst_base_transform_setcaps), (gst_base_transform_get_size),
3714         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
3715         (gst_base_transform_handle_buffer),
3716         (gst_base_transform_sink_activate_push),
3717         (gst_base_transform_src_activate_pull),
3718         (gst_base_transform_set_passthrough),
3719         (gst_base_transform_is_passthrough):
3720         Refcounting fixes.
3722         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
3723         Cleanups.
3725         * gst/gstevent.c: (gst_event_finalize):
3726         Set SRC to NULL.
3728         * gst/gstutils.c: (gst_element_unlink),
3729         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
3730         (gst_pad_proxy_setcaps):
3731         * gst/gstutils.h:
3732         Add _get_parent_element() to get a pads parent as an element.
3734 2005-07-18  Wim Taymans  <wim@fluendo.com>
3736         * check/gst/gstbin.c: (GST_START_TEST):
3737         Remove bogus test.
3739 2005-07-18  Wim Taymans  <wim@fluendo.com>
3741         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
3742         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
3743         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
3744         (gst_base_sink_event), (gst_base_sink_do_sync),
3745         (gst_base_sink_chain), (gst_base_sink_loop),
3746         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
3747         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3748         Refcounting fixes.
3749         Fix logic for returning ASYNC when not prerolled.
3751 2005-07-18  Wim Taymans  <wim@fluendo.com>
3753         * gst/gstqueue.c: (gst_queue_handle_sink_event):
3754         Fix nasty refcount bug.
3756 2005-07-16 Philippe Khalaf <burger@speedy.org>
3758         * gst/elements/gstfdsrc.c:
3759         * gst/elements/gstfdsrc.h:
3760         * gst/elements/gstelements.c:
3761         * gst/elements/Makefile.am:
3762         Ported fdsrc to 0.9.
3764 2005-07-16  Wim Taymans  <wim@fluendo.com>
3766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3767         (gst_base_sink_do_sync):
3768         Fix compile error.
3770 2005-07-16  Wim Taymans  <wim@fluendo.com>
3772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3773         (gst_base_sink_event), (gst_base_sink_get_times),
3774         (gst_base_sink_do_sync), (gst_base_sink_change_state):
3775         * gst/base/gstbasesink.h:
3776         Store and use discont values when syncing buffers as described
3777         in design docs.
3778         
3779         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3780         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
3781         (gst_base_src_activate_push):
3782         Push discont event when starting.
3784         * gst/elements/gstidentity.c: (gst_identity_transform):
3785         Small cleanups.
3787         * gst/gstbin.c: (gst_bin_change_state):
3788         Small cleanups in base_time  distribution.
3790         * gst/gstelement.c: (gst_element_set_base_time),
3791         (gst_element_get_base_time), (gst_element_change_state):
3792         * gst/gstelement.h:
3793         Added methods for the base_time of the element.
3794         Some MT fixes.
3796         * gst/gstpipeline.c: (gst_pipeline_send_event),
3797         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
3798         (gst_pipeline_get_last_stream_time):
3799         * gst/gstpipeline.h:
3800         MT fixes.
3801         Handle seeking as described in design doc, remove stream_time
3802         hack.
3803         Cleanups clock and stream_time selection code. Added accessors
3804         for the stream_time.
3805         
3807 2005-07-16  Andy Wingo  <wingo@pobox.com>
3809         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
3810         (#305291).
3812 2005-07-16  Wim Taymans  <wim@fluendo.com>
3814         * check/gst/gstbin.c: (GST_START_TEST):
3815         Make elements silent as the deep_notify refs the
3816         parent, which might make the test fail.
3818         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
3819         Don't hold the lock for too long.
3821 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
3823         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3824           Don't unref the caps we passed to gst_caps_make_writable() after
3825           passing them. gst_caps_make_writable() will do that for us.
3827 2005-07-15  Andy Wingo  <wingo@pobox.com>
3829         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
3830         (#157311).
3832         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
3833         own marshalling function for the handoff signal. Properly type the
3834         buffer as a buffer. Fixes some warnings. Should do a more general
3835         solution.
3836         (gst_identity_class_init): Plug into the right marshaller.
3838 2005-07-15  Wim Taymans  <wim@fluendo.com>
3840         * docs/design/part-TODO.txt:
3841         * docs/design/part-clocks.txt:
3842         * docs/design/part-element-sink.txt:
3843         * docs/design/part-events.txt:
3844         * docs/design/part-gstpipeline.txt:
3845         Updated docs, mostly DISCONT related.
3847 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
3849         * docs/pwg/building-pads.xml:
3850           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
3852 2005-07-15  Andy Wingo  <wingo@pobox.com>
3854         * tools/gst-typefind.c: Update, add copyright block.
3856         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
3857         Normalize and truncate caps before fixation.
3859         * gst/gstcaps.h:
3860         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
3861         discards all but the first structure from its argument.
3863 2005-07-15  Wim Taymans  <wim@fluendo.com>
3865         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3866         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
3867         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3868         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3869         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
3870         (gst_base_transform_chain), (gst_base_transform_change_state),
3871         (gst_base_transform_set_passthrough),
3872         (gst_base_transform_is_passthrough):
3873         * gst/base/gstbasetransform.h:
3874         Make passthrough work using the bufferpools.
3875         Changed API a bit, subclasses have to write into a buffer
3876         provided by the base class.
3877         More debug info in nego functions.
3878         
3879         * gst/elements/gstidentity.c: (gst_identity_init),
3880         (gst_identity_transform):
3881         Port to new base class.
3883 2005-07-15  Wim Taymans  <wim@fluendo.com>
3885         * gst/gstmessage.c: (gst_message_new_state_changed):
3886         * tools/gst-launch.c: (event_loop), (main):
3887         Totally dump messages in -launch with the -m option.
3888         Fix message name for State messages,
3890 2005-07-14  Wim Taymans  <wim@fluendo.com>
3892         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3893         Post error messages on errors.
3895 2005-07-14  Wim Taymans  <wim@fluendo.com>
3897         * gst/gstcaps.c: (gst_caps_do_simplify):
3898         Remove debug info.
3900         * gst/gsterror.h:
3901         Define error for stream stopped.
3903         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3904         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
3905         Do proper return values.
3907         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3908         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
3909         (gst_pad_get_range):
3910         Better return values.
3912         * gst/gstpad.h:
3913         Reorganise return values, add macro to check for fatal errors.
3915         * gst/gstqueue.c: (gst_queue_chain):
3916         Return proper GstFlowReturn values,
3918 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3920         * docs/gst/gstreamer-sections.txt:
3921         * docs/gst/gstreamer.types:
3922         * docs/gst/tmpl/gst.sgml:
3923         * docs/gst/tmpl/gstbasesink.sgml:
3924         * docs/gst/tmpl/gstbasesrc.sgml:
3925         * docs/gst/tmpl/gstbasetransform.sgml:
3926         * docs/gst/tmpl/gstbin.sgml:
3927         * docs/gst/tmpl/gstbuffer.sgml:
3928         * docs/gst/tmpl/gstcaps.sgml:
3929         * docs/gst/tmpl/gstclock.sgml:
3930         * docs/gst/tmpl/gstcompat.sgml:
3931         * docs/gst/tmpl/gstconfig.sgml:
3932         * docs/gst/tmpl/gstelement.sgml:
3933         * docs/gst/tmpl/gstelementdetails.sgml:
3934         * docs/gst/tmpl/gstelementfactory.sgml:
3935         * docs/gst/tmpl/gstenumtypes.sgml:
3936         * docs/gst/tmpl/gsterror.sgml:
3937         * docs/gst/tmpl/gstevent.sgml:
3938         * docs/gst/tmpl/gstfakesink.sgml:
3939         * docs/gst/tmpl/gstfakesrc.sgml:
3940         * docs/gst/tmpl/gstfilesink.sgml:
3941         * docs/gst/tmpl/gstfilesrc.sgml:
3942         * docs/gst/tmpl/gstfilter.sgml:
3943         * docs/gst/tmpl/gstformat.sgml:
3944         * docs/gst/tmpl/gstghostpad.sgml:
3945         * docs/gst/tmpl/gstimplementsinterface.sgml:
3946         * docs/gst/tmpl/gstindex.sgml:
3947         * docs/gst/tmpl/gstindexfactory.sgml:
3948         * docs/gst/tmpl/gstinfo.sgml:
3949         * docs/gst/tmpl/gstiterator.sgml:
3950         * docs/gst/tmpl/gstmacros.sgml:
3951         * docs/gst/tmpl/gstmemchunk.sgml:
3952         * docs/gst/tmpl/gstminiobject.sgml:
3953         * docs/gst/tmpl/gstobject.sgml:
3954         * docs/gst/tmpl/gstpad.sgml:
3955         * docs/gst/tmpl/gstpadtemplate.sgml:
3956         * docs/gst/tmpl/gstparse.sgml:
3957         * docs/gst/tmpl/gstpipeline.sgml:
3958         * docs/gst/tmpl/gstplugin.sgml:
3959         * docs/gst/tmpl/gstpluginfeature.sgml:
3960         * docs/gst/tmpl/gstquery.sgml:
3961         * docs/gst/tmpl/gstqueue.sgml:
3962         * docs/gst/tmpl/gstregistry.sgml:
3963         * docs/gst/tmpl/gstregistrypool.sgml:
3964         * docs/gst/tmpl/gstscheduler.sgml:
3965         * docs/gst/tmpl/gstschedulerfactory.sgml:
3966         * docs/gst/tmpl/gststructure.sgml:
3967         * docs/gst/tmpl/gstsystemclock.sgml:
3968         * docs/gst/tmpl/gsttaglist.sgml:
3969         * docs/gst/tmpl/gsttagsetter.sgml:
3970         * docs/gst/tmpl/gsttrace.sgml:
3971         * docs/gst/tmpl/gsttrashstack.sgml:
3972         * docs/gst/tmpl/gsttypefind.sgml:
3973         * docs/gst/tmpl/gsttypefindfactory.sgml:
3974         * docs/gst/tmpl/gsttypes.sgml:
3975         * docs/gst/tmpl/gsturihandler.sgml:
3976         * docs/gst/tmpl/gsturitype.sgml:
3977         * docs/gst/tmpl/gstutils.sgml:
3978         * docs/gst/tmpl/gstvalue.sgml:
3979         * docs/gst/tmpl/gstversion.sgml:
3980         * docs/gst/tmpl/gstxml.sgml:
3981         * docs/libs/tmpl/gstcontrol.sgml:
3982         * docs/libs/tmpl/gstdataprotocol.sgml:
3983         * docs/libs/tmpl/gstdparam.sgml:
3984         * docs/libs/tmpl/gstdplinint.sgml:
3985         * docs/libs/tmpl/gstdpman.sgml:
3986         * docs/libs/tmpl/gstdpsmooth.sgml:
3987         * docs/libs/tmpl/gstgetbits.sgml:
3988         * docs/libs/tmpl/gstunitconvert.sgml:
3989         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
3990         (gst_push_src_base_init), (gst_push_src_class_init),
3991         (gst_push_src_init), (gst_push_src_create):
3992         * gst/base/gstpushsrc.h:
3993         * gst/elements/gstelements.c:
3994         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
3995         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
3996         (gst_fake_sink_init), (gst_fake_sink_set_property),
3997         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
3998         (gst_fake_sink_event), (gst_fake_sink_preroll),
3999         (gst_fake_sink_render), (gst_fake_sink_change_state):
4000         * gst/elements/gstfakesink.h:
4001         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4002         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4003         (gst_fake_src_base_init), (gst_fake_src_class_init),
4004         (gst_fake_src_init), (gst_fake_src_event_handler),
4005         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
4006         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
4007         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
4008         (gst_fake_src_create_buffer), (gst_fake_src_create),
4009         (gst_fake_src_start), (gst_fake_src_stop):
4010         * gst/elements/gstfakesrc.h:
4011         * gst/elements/gstfilesink.c: (_do_init),
4012         (gst_file_sink_base_init), (gst_file_sink_class_init),
4013         (gst_file_sink_init), (gst_file_sink_dispose),
4014         (gst_file_sink_set_location), (gst_file_sink_set_property),
4015         (gst_file_sink_get_property), (gst_file_sink_open_file),
4016         (gst_file_sink_close_file), (gst_file_sink_query),
4017         (gst_file_sink_event), (gst_file_sink_render),
4018         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
4019         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
4020         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
4021         * gst/elements/gstfilesink.h:
4022         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
4023         (gst_file_src_class_init), (gst_file_src_init),
4024         (gst_file_src_finalize), (gst_file_src_set_location),
4025         (gst_file_src_set_property), (gst_file_src_get_property),
4026         (gst_file_src_map_region), (gst_file_src_map_small_region),
4027         (gst_file_src_create_mmap), (gst_file_src_create_read),
4028         (gst_file_src_create), (gst_file_src_is_seekable),
4029         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
4030         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
4031         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
4032         (gst_file_src_uri_handler_init):
4033         * gst/elements/gstfilesrc.h:
4034           more autistic cleanliness in functions/names/defines
4036 2005-07-13  Andy Wingo  <wingo@pobox.com>
4038         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
4039         source couldn't negotiate.
4041         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
4042         connections again.
4044         * gst/gstutils.h:
4045         * gst/gstutils.c (gst_element_link_pads_filtered): New old
4046         function. I am channeling Hades. Put your boots on suckers!!!
4048 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4050         * testsuite/caps/Makefile.am:
4051         * testsuite/caps/value_compare.c:
4052         * testsuite/caps/value_intersect.c:
4053         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4054           move two testsuite apps over to the check dir
4056 2005-07-12  Wim Taymans  <wim@fluendo.com>
4058         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4059         Added more debug info in the negotiate process.
4061         * gst/gstmessage.h:
4062         Prepare for segment playback.
4064         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
4065         Better debugging.
4067         * gst/gstutils.c:
4068         Some more docs.
4070         * tools/gst-launch.c: (main):
4071         NULL pipeline on errors.
4073 2005-07-12  Andy Wingo  <wingo@pobox.com>
4075         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
4076         not it comes from a malloc region. Make sure our copy gets freed.
4078 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4080         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4081         * check/gst/gstmessage.c: (GST_START_TEST):
4082         * check/gst/gststructure.c: (GST_START_TEST),
4083         (gst_structure_suite), (main):
4084           more testing
4085         * gst/gstelement.c: (gst_element_message_full):
4086           clean up GError and debug string now that they get copied
4087         * gst/gstmessage.c: (gst_message_new_error),
4088         (gst_message_new_warning), (gst_message_parse_error),
4089         (gst_message_parse_warning):
4090           use GST_TYPE_G_ERROR for structure_new, and take copies of
4091           arguments, so that we don't mess up refcounting
4093 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4095         * check/Makefile.am:
4096           add per-test valgrind targets
4097         * check/gst-libs/gdp.c: (GST_START_TEST),
4098         (gst_data_protocol_suite), (main):
4099           clean up
4101 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4103         * check/Makefile.am:
4104           instate more valgrindable tests
4105         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4106         (GST_START_TEST), (fakesrc_suite):
4107         * check/gst/gstpad.c: (GST_START_TEST):
4108         * check/gst/gststructure.c: (GST_START_TEST):
4109           fix test leaks
4110         * docs/gst/tmpl/gstminiobject.sgml:
4111         * gst/gstpad.c: (gst_pad_finalize):
4112           fix the static mutex leak
4114 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4116         * check/Makefile.am:
4117           add two more tests for valgrinding
4118         * check/gst/gstvalue.c: (GST_START_TEST):
4119           test refcount of deserialized buffer, found a leak
4120         * docs/gst/gstreamer-docs.sgml:
4121         * docs/gst/gstreamer-sections.txt:
4122         * docs/gst/gstreamer.types:
4123         * docs/gst/tmpl/gstminiobject.sgml:
4124           add miniobject to docs
4125         * gst/gstminiobject.c:
4126           add some docs
4127         * gst/gstvalue.c: (gst_value_deserialize_buffer),
4128         (gst_string_unwrap):
4129           fix a hard-to-find invalid write for one of the tests
4130           fix a leak for deserialized buffers
4132 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4134         * docs/pwg/advanced-events.xml:
4135         * docs/pwg/advanced-request.xml:
4136         * docs/pwg/advanced-scheduling.xml:
4137         * docs/pwg/appendix-porting.xml:
4138         * docs/pwg/building-boiler.xml:
4139         * docs/pwg/intro-preface.xml:
4140         * docs/pwg/other-ntoone.xml:
4141           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
4142           of example code and explanation for pad activation, loop() and
4143           getrange() functions and a bit more. Remove old comments pointing
4144           to loop-functions.
4145         * examples/pwg/Makefile.am:
4146           Add loop/getrange examples.
4148 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4150         * configure.ac:
4151           check for valgrind binary + some fixes
4152         * check/gst.supp:
4153           valgrind suppressions for the tests
4154         * check/Makefile.am:
4155           add a valgrind: target that valgrinds the unit tests
4156         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
4157         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4158         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4159         * check/gst/gstghostpad.c:
4160           added some cleanup
4161         * check/gst/gstdata.c:
4162           removed
4163         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
4164         (thread_unref), (gst_mini_object_suite), (main):
4165           added
4166         * gst/gst.c: (gst_deinit):
4167         * gst/gst.h:
4168           add a method to clean up.
4169         * gst/gstsystemclock.c: (gst_system_clock_dispose),
4170         (gst_system_clock_obtain):
4171           allow for disposing the system clock.
4172         * tools/gst-launch.c: (main):
4173           deinit
4175 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4177         * docs/gst/tmpl/gstbasesrc.sgml:
4178         * docs/gst/tmpl/gstfakesrc.sgml:
4179         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4180         (gst_base_src_init), (gst_base_src_set_property),
4181         (gst_base_src_get_property), (gst_base_src_get_range),
4182         (gst_base_src_start):
4183         * gst/base/gstbasesrc.h:
4184           add num-buffers property
4185         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4186         (gst_fakesrc_init), (gst_fakesrc_set_property),
4187         (gst_fakesrc_get_property), (gst_fakesrc_create),
4188         (gst_fakesrc_start):
4189           remove num-buffers property
4191 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4193         * docs/gst/gstreamer-sections.txt:
4194         * docs/gst/tmpl/gstbasesink.sgml:
4195         * docs/gst/tmpl/gstbasesrc.sgml:
4196         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
4197         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
4198         (gst_base_sink_finalize), (gst_base_sink_set_clock),
4199         (gst_base_sink_set_property), (gst_base_sink_get_property),
4200         (gst_base_sink_handle_object), (gst_base_sink_event),
4201         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4202         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
4203         (gst_base_sink_loop), (gst_base_sink_deactivate),
4204         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
4205         (gst_base_sink_change_state):
4206         * gst/base/gstbasesink.h:
4207         * gst/base/gstbasesrc.h:
4208         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
4209         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4210         (gst_filesink_init):
4211           more macro splitting
4213 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4215         * gst/gstelement.c: (gst_element_get_bus):
4216           add debug
4217         * tools/gst-launch.c: (check_intr), (event_loop):
4218           fix bus leaks
4220 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4222         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4223           fix a caps leak
4225 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4227         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4228         (gst_base_src_finalize):
4229           add finalize method and clean up properly
4230         * gst/gstpipeline.c: (gst_pipeline_dispose):
4231           add debug
4233 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4235         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
4236         (gst_bin_suite):
4237           add more things to check
4238         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4239         * gst/gstelement.c:
4240           more debug
4242 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4244         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4245         (GST_START_TEST), (fakesrc_suite):
4246         * check/gst-libs/gdp.c: (GST_START_TEST):
4247         * check/gst/gst.c: (GST_START_TEST):
4248         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4249         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4250         * check/gst/gstbus.c: (GST_START_TEST):
4251         * check/gst/gstcaps.c: (GST_START_TEST):
4252         * check/gst/gstdata.c: (GST_START_TEST):
4253         * check/gst/gstelement.c: (GST_START_TEST):
4254         * check/gst/gstghostpad.c: (GST_START_TEST):
4255         * check/gst/gstiterator.c: (GST_START_TEST):
4256         * check/gst/gstmessage.c: (GST_START_TEST):
4257         * check/gst/gstobject.c: (GST_START_TEST):
4258         * check/gst/gstpad.c: (GST_START_TEST):
4259         * check/gst/gststructure.c: (GST_START_TEST):
4260         * check/gst/gstsystemclock.c: (GST_START_TEST),
4261         (gst_systemclock_suite):
4262         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4263         * check/gst/gstvalue.c: (GST_START_TEST):
4264         * check/pipelines/cleanup.c: (GST_START_TEST):
4265         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4266         * check/states/sinks.c: (GST_START_TEST):
4267         * check/gstcheck.c: (gst_check_init):
4268         * check/gstcheck.h:
4269           add debugging category
4270           use GST_START_TEST now, so we add a debug line
4272 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4274         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
4275           add test for state change message on a bin
4276         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
4277           add another test
4278         * gst/gstbin.c: (gst_bin_init):
4279         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
4280         * gst/gstelement.c: (gst_element_post_message),
4281         (gst_element_set_state):
4282         * gst/gstelementfactory.c: (gst_element_factory_create):
4283         * gst/gstmessage.c: (gst_message_new):
4284         * gst/gstscheduler.c:
4285           various debugging additions and cleanups
4287 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4289         * check/Makefile.am:
4290         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
4291         (main):
4292           adding tests for elements
4293         * gst/gstelement.c: (gst_element_dispose):
4295 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4297         * gst/registries/gstlibxmlregistry.c: (load_feature):
4298           plug more leaks.  A simple gst_init() now is leakfree, yay.
4300 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4302         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
4303         (gst_xml_registry_load):
4304           plug another memleak
4306 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4308         * configure.ac:
4309           use GST_SET_ERROR_CFLAGS
4310         * docs/faq/cvs.xml:
4311           change to ERROR_CFLAGS
4313 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4315         * configure.ac:
4316           make GST_ERROR_CFLAGS overridable and re-enable Werror
4317         * docs/faq/cvs.xml:
4318           add a note about error CFLAGS
4319         * docs/gst/tmpl/gstfakesrc.sgml:
4320         * gst/elements/gstfakesrc.c:
4321           comment out some unused code
4322         * gst/gst.c: (split_and_iterate):
4323         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
4324         (load_feature):
4325           plug some memleaks
4327 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4329         * common/Makefile.am:
4330         * common/gtk-doc.mak:
4331         * docs/gst/Makefile.am:
4332           factor out gtk-doc.mak
4334 2005-07-07  Wim Taymans  <wim@fluendo.com>
4336         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
4337         (gst_thread_scheduler_dispose):
4338         Unlock the STREAM_LOCK completely.
4340 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4342         * check/Makefile.am:
4343         * check/elements/.cvsignore:
4344         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4345         (START_TEST), (fakesrc_suite), (main):
4346         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4347         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4348         (gst_fakesrc_create), (gst_fakesrc_start):
4349         * gst/elements/gstfakesrc.h:
4350           adding a first element test
4352 2005-07-07  Andy Wingo  <wingo@pobox.com>
4354         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
4355         debug message.
4357 2005-07-07  Wim Taymans  <wim@fluendo.com>
4359         * gst/gstquery.c:
4360         * gst/gstquery.h:
4361         Remove old types
4363 2005-07-07  Wim Taymans  <wim@fluendo.com>
4365         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4366         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
4367         Allow subclasses to implement their own negotiation.
4369 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
4371         * docs/design/part-gstbin.txt:
4372         * docs/design/part-gstpipeline.txt:
4373           Update design notes to reflect the movement of
4374           responsibility for bus handling from GstPipeline to
4375           GstBin
4377 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
4379         * configure.ac:
4380           Remove unnecessary queue2/3/4 examples.
4382 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
4384         * examples/Makefile.am:
4385         * examples/helloworld/helloworld.c: (event_loop), (main):
4386         * examples/queue/queue.c: (event_loop), (main):
4387         * examples/queue2/queue2.c: (main):
4388           Update a couple of the examples to work again.
4390         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4391         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
4392          Spelling corrections and extra debug.
4393         
4394         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
4395         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
4396         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
4397         * gst/gstbin.h:
4398         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
4399         (gst_pipeline_change_state):
4400         * gst/gstpipeline.h:
4401           Move the bus handler for children to the GstBin, and create a
4402           separate bus for receiving messages from children to the one the
4403           bus sends 'upwards' on.
4405 2005-07-06  Wim Taymans  <wim@fluendo.com>
4407         * gst/base/README:
4408         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4409         (gst_base_sink_handle_object), (gst_base_sink_loop),
4410         (gst_base_sink_change_state):
4411         * gst/base/gstbasesink.h:
4412         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4413         (gst_base_src_init), (gst_base_src_setcaps),
4414         (gst_base_src_getcaps), (gst_base_src_loop),
4415         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
4416         (gst_base_src_start), (gst_base_src_change_state):
4417         * gst/base/gstbasesrc.h:
4418         Make basesrc negotiate.
4419         Handle the case where preroll fails in basesink.
4420         Update README.
4422 2005-07-06  Wim Taymans  <wim@fluendo.com>
4424         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
4425         Implement the fixate function.
4426         Clean up acceptcaps.
4428 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4430         * docs/pwg/building-filterfactory.xml:
4431         * docs/pwg/pwg.xml:
4432           Remove never-written filter-factory chapter; I'll add the various
4433           base classes to part 4 ("other element types") later on.
4435 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4437         * docs/pwg/advanced-negotiation.xml:
4438         * docs/pwg/building-boiler.xml:
4439         * docs/pwg/building-pads.xml:
4440         * docs/pwg/pwg.xml:
4441         * examples/pwg/Makefile.am:
4442           Add a chapter on caps negotiation, simplify the original code
4443           samples a bit w.r.t. caps negotiation, add link to the advanced
4444           section. Add a bunch of examples showing different use cases of
4445           different types of caps negotiation. Upstream renegotiation isn't
4446           fully documented yet since nobody knows how that works.
4448 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4450         * check/gst/gstpad.c:
4451         * check/gstcheck.c:
4452         * gst/gstpad.c: (gst_pad_get_internal_links_default):
4453           if pad has no parent, return NULL as list of internal links
4455 2005-07-05  Andy Wingo  <wingo@pobox.com>
4457         * gst/elements/gstfilesrc.c:
4458         * gst/elements/gstfakesrc.c: 
4459         * gst/base/gstpushsrc.c:
4460         * gst/base/gstbasesrc.h: 
4461         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
4462         
4463 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
4465         * Makefile.am:
4466           better report generation target (lcov needs a patch)
4468 2005-07-05  Andy Wingo  <wingo@pobox.com>
4470         * gst/elements, testsuite: Null if we got it...
4472 2005-07-05  Wim Taymans  <wim@fluendo.com>
4474         * configure.ac:
4475         * libs/gst/dataprotocol/Makefile.am:
4476         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
4477         * libs/gst/dataprotocol/dataprotocol.h:
4478         * pkgconfig/Makefile.am:
4479         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
4480         * pkgconfig/gstreamer-dataprotocol.pc.in:
4481         Ported dataprotol to 0.9. 
4482         Added pkgconfig files.
4484 2005-07-05  Andy Wingo  <wingo@pobox.com>
4486         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
4487         Default to returning TRUE for the case when tranform_caps returns
4488         a fixed caps, like for identity or volume.
4490         * check/gst/gstbus.c (pound_bus_with_messages): 
4491         * check/gst/gstmessage.c (START_TEST): 
4492         * check/pipelines/simple_launch_lines.c (got_handoff): Application
4493         message API change.
4495         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
4496         logic weaks here: always run transform_caps, trying passthrough
4497         operation only if the original caps intersects with the transform.
4499         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
4500         source and sink caps.
4502         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
4503         Intersect the peer caps with the pad template before going into
4504         transform_caps.
4505         (gst_base_transform_transform_caps): More debugging.
4507         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
4508         src argument.
4510 2005-07-04  Edward Hervey  <edward@fluendo.com>
4512         * gst/gstutils.c:
4513         * gst/gstutils.h:
4514         (gst_pad_add_*_probe): now returns the signal id for better wrapping
4515         in bindings.
4517 2005-07-04  Andy Wingo  <wingo@pobox.com>
4519         * check/gst/gstpad.c: Only set explicit caps on pads.
4521 2005-07-01  Andy Wingo  <wingo@pobox.com>
4523         * tests/network-clock.scm: Commentary update.
4525         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
4526         Didn't really make sense, not implementable with basetransform,
4527         etc.
4528         (gst_identity_transform): Unref inbuf via make_writable. Feeble
4529         attempt at implementing the sync property, needs an unlock method.
4531         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
4532         New func, by default returns the same caps (the identity
4533         transformation).
4534         (gst_base_transform_getcaps): Uses transform_caps to return
4535         something sensible.
4536         (gst_base_transform_setcaps): Complicated logic to get caps on
4537         both pads, even if they are different, and to call set_caps once
4538         for every time both pads get their caps set.
4539         (gst_base_transform_handle_buffer): Give the ref to the transform
4540         function. Allows in-place modification of the buffer.
4542         * gst/base/gstbasetransform.h (transform_caps): New class method.
4543         Given caps on one side, what can I do on the other.
4544         (set_caps): Take two caps, one for each side of the element.
4546         * gst/gstpad.h:
4547         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
4548         caps in place. This is safe because we can check the mutability of
4549         the caps, and a good idea because fixate functions are just called
4550         as a matter of last resort. (Not actually implemented.)
4551         (gst_pad_set_caps): If the caps we're setting is actually the same
4552         as the existing pad caps, just update the pointer without calling
4553         setcaps. Assert that caps is either NULL or fixed, as per the
4554         docs.
4556         * gst/gstghostpad.c: Update for fixate changes.
4558 2005-07-02  Andy Wingo  <wingo@pobox.com>
4560         * gst/gstcaps.c:
4561         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
4562         two refcounts makes it immutable, which is enough. Doc more.
4564 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
4566         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
4567           Put the mini_object into GValue as a mini_object,
4568           not a gpointer, since that's how we declared
4569           the signal.
4571 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4573         * examples/pwg/Makefile.am:
4574           Fix buildbot again.
4576 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4578         * docs/pwg/building-testapp.xml:
4579           Add extra check.
4580         * examples/pwg/Makefile.am:
4581           Fix buildbot.
4583 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4585         * configure.ac:
4586         * examples/Makefile.am:
4587         * examples/pwg/Makefile.am:
4588         * examples/pwg/extract.pl:
4589           Enable building the PWG examples.
4590         * docs/pwg/advanced-interfaces.xml:
4591           Add URI interface stub.
4592         * docs/pwg/advanced-types.xml:
4593         * docs/pwg/other-autoplugger.xml:
4594         * docs/pwg/appendix-porting.xml:
4595         * docs/pwg/pwg.xml:
4596           Add porting guide (mostly stubs), remove autoplugging (see ADM).
4597         * docs/pwg/building-boiler.xml:
4598         * docs/pwg/building-chainfn.xml:
4599         * docs/pwg/building-pads.xml:
4600         * docs/pwg/building-props.xml:
4601         * docs/pwg/building-state.xml:
4602         * docs/pwg/building-testapp.xml:
4603           Update the building-*.xml parts for 0.9 changes. All examples
4604           code blocks compile in examples/pwg/*.
4606 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4608         * docs/manual/advanced-autoplugging.xml:
4609         * docs/manual/appendix-checklist.xml:
4610         * docs/manual/appendix-integration.xml:
4611         * docs/manual/highlevel-components.xml:
4612           Fix playbin/decodebin examples, update docs a bit, mention bus
4613           instead of signals in various places, mention kmplayer and
4614           kaffeine since they have a working GStreamer backend in the KDE
4615           section.
4617 2005-06-30  Wim Taymans  <wim@fluendo.com>
4619         * CHANGES-0.9:
4620         * docs/design/draft-ghostpads.txt:
4621         * docs/design/draft-push-pull.txt:
4622         * docs/design/draft-query.txt:
4623         * docs/design/part-TODO.txt:
4624         * docs/design/part-query.txt:
4625         Added CHANGES-0.9 doc, updated status of other docs.
4626         
4627         * gst/gstquery.h:
4628         Remove "hmm" macro
4630 2005-06-30  Wim Taymans  <wim@fluendo.com>
4632         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4633         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
4634         (gst_base_sink_change_state):
4635         * gst/base/gstbasesink.h:
4636         Some tweaks, only EOS and a buffer complete a preroll.
4638 2005-06-30  Andy Wingo  <wingo@pobox.com>
4640         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
4641         activate_push down to the internal pad as well.
4643 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
4645         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4647         * gst/gsttaginterface.c:
4648           Some documentation fixes (#307394 and #307397).
4650 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
4652         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4654         * gst/gstvalue.c: (gst_value_intersect_list):
4655           Fix memleak (#309125).
4657 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4659         * docs/manual/advanced-dataaccess.xml:
4660           Fix fakesrc example to compile; doesn't work, bug somewhere...?
4661         * docs/manual/basics-pads.xml:
4662           Add reference for filtered caps to above chapter.
4664 2005-06-30  Wim Taymans  <wim@fluendo.com>
4666         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
4667         (gst_bin_change_state):
4668         Probes are gone.
4669         Lame attempt at making the state change function a bit
4670         more readable.
4672 2005-06-30  Wim Taymans  <wim@fluendo.com>
4674         * docs/design/part-clocks.txt:
4675         * docs/design/part-element-sink.txt:
4676         * docs/design/part-events.txt:
4677         * docs/design/part-preroll.txt:
4678         * docs/design/part-states.txt:
4679         Some more tweeks and additions to the docs.
4681 2005-06-30  Wim Taymans  <wim@fluendo.com>
4683         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
4684         (default_have_data), (gst_pad_class_init), (gst_pad_init),
4685         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
4686         (gst_pad_check_pull_range), (gst_pad_get_range),
4687         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
4688         * gst/gstpad.h:
4689         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
4690         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4691         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4692         (gst_pad_remove_buffer_probe):
4693         Removed atomic operations, use existing LOCK.
4694         Move exception handling out of main code path.
4696 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4698         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
4699         (silly_return_true_function), (gst_pad_class_init),
4700         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
4701         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
4702         (gst_pad_send_event):
4703           Fix accumulator, add default value by using _emitv() instead
4704           of _emit() for signal emission.
4706 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4708         * docs/manual/advanced-dataaccess.xml:
4709         * examples/manual/Makefile.am:
4710           Add probe example.
4711         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
4712           Make work (??).
4714 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
4716         * gst/elements/gstfilesink.c: (gst_filesink_render):
4717           Simplify code so that we don't have to handle short
4718           writes and return GST_FLOW_ERROR if an error occured.
4720 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4722         * docs/gst/gstreamer-docs.sgml:
4723           Remove probes more.
4725 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4727         * docs/gst/gstreamer-sections.txt:
4728         * docs/gst/tmpl/gstpad.sgml:
4729         * docs/gst/tmpl/gstprobe.sgml:
4730         * gst/Makefile.am:
4731         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
4732         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
4733         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
4734         (gst_pad_push_event), (gst_pad_send_event):
4735         * gst/gstpad.h:
4736         * gst/gstutils.c: (gst_pad_add_data_probe),
4737         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4738         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4739         (gst_pad_remove_buffer_probe):
4740         * gst/gstutils.h:
4741           Remove old probes, add new g-signal-based probes and some utility
4742           functions.
4744 2005-06-29  Edward Hervey  <edward@fluendo.com>
4746         * gst/gstelementfactory.c:
4747         * gst/gstutils.h:
4748         * gst/gstutils.c:
4749         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
4750         the definition to the header file.
4752 2005-06-29  Andy Wingo  <wingo@pobox.com>
4754         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
4755         plugins from the source directory.
4757 2005-06-29  Wim Taymans  <wim@fluendo.com>
4759         * docs/gst/tmpl/gstbuffer.sgml:
4760         * docs/gst/tmpl/gstclock.sgml:
4761         Some fixings for blantently wrong text.
4763 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4765         * check/Makefile.am:
4766         * gst/gst.c: (add_path_func), (init_pre):
4767         * gst/gstregistry.c: (gst_registry_add_path):
4768           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
4769           only scan the GST_PLUGIN_PATH locations, and not add
4770           system locations
4772 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4774         * docs/gst/gstreamer-sections.txt:
4775         * docs/gst/tmpl/gstbasesrc.sgml:
4776         * gst/gstelement.c:
4777         * gst/gstelement.h:
4778         * gst/gstevent.c:
4779         * gst/gstutils.c:
4780           doc fixes
4782 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4784         * docs/manual/advanced-autoplugging.xml:
4785           Fix autoplugging example.
4787 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4789         * docs/manual/advanced-autoplugging.xml:
4790         * docs/manual/mime-world.fig:
4791           Try to get autoplugging working, fix type detection. Fix text
4792           in hello-world image.
4794 2005-06-29  Wim Taymans  <wim@fluendo.com>
4796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4797         (gst_base_sink_change_state):
4798         Small debug line.
4800         * gst/gstclock.h:
4801         map SIGNAL and BROADCAST to the right function.
4803         * gst/gstobject.h:
4804         Remove redundant braces.
4806         * gst/gstpad.c: (gst_pad_set_caps):
4807         Don't call setcaps function when reseting caps to NULL.
4809         * gst/gstsystemclock.c: (gst_system_clock_dispose),
4810         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
4811         (gst_system_clock_id_unschedule):
4812         Use BROADCAST as this is what we do.
4814 2005-06-29  Wim Taymans  <wim@fluendo.com>
4816         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4817         We are actually prerolling before commiting the state
4818         change. 
4820 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4822         * docs/manual/advanced-clocks.xml:
4823         * docs/manual/advanced-interfaces.xml:
4824         * docs/manual/advanced-metadata.xml:
4825         * docs/manual/advanced-position.xml:
4826         * docs/manual/advanced-schedulers.xml:
4827         * docs/manual/advanced-threads.xml:
4828         * docs/manual/appendix-porting.xml:
4829         * docs/manual/basics-bins.xml:
4830         * docs/manual/basics-bus.xml:
4831         * docs/manual/basics-elements.xml:
4832         * docs/manual/basics-helloworld.xml:
4833         * docs/manual/basics-pads.xml:
4834         * docs/manual/highlevel-components.xml:
4835         * docs/manual/manual.xml:
4836         * docs/manual/thread.fig:
4837           Update (until threads/scheduling) Application Development Manual;
4838           remove GstThread, add GstBus, add simple porting checklist, add
4839           documentation for tag writing, clocks, make all examples until this
4840           part compile and run.
4841         * examples/manual/Makefile.am:
4842           Update from changes to Application Development Manual; add bus
4843           example, remove thread example.
4845 2005-06-28  Wim Taymans  <wim@fluendo.com>
4847         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
4848         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
4849         (gst_bus_source_dispatch):
4850         Add debugging messages.
4851         Make internal methods static.
4852         Handle the case where the bus is flushed in the handler.
4853         
4854         * gst/gstelement.c: (gst_element_get_bus):
4855         Fix refcount in _get_bus();
4857         * gst/gstpipeline.c: (gst_pipeline_change_state),
4858         (gst_pipeline_get_clock_func):
4859         Clock refcounting fixes.
4860         Handle the case where preroll timed out more gracefully.
4861         
4862         * gst/gstsystemclock.c: (gst_system_clock_dispose):
4863         Clean up the internal thread in dispose. This is needed
4864         for subclasses that actually get disposed.
4865         
4866         * gst/schedulers/threadscheduler.c:
4867         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4868         (gst_thread_scheduler_dispose):
4869         Free thread pool in dispose.
4871 2005-06-28  Andy Wingo  <wingo@pobox.com>
4873         * tests/network-clock-utils.scm (debug, print-event): New utils.
4875         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
4876         (*packet-loss*): Unified loss probability.
4877         (network-time): Report out-of-band events.
4879         * tests/plot-data: Add support for out-of-band events. Hack it
4880         into this script instead of passing it down the pipe; should fix
4881         this later.
4883 2005-06-28  Wim Taymans  <wim@fluendo.com>
4885         * docs/gst/gstreamer.types:
4886         * docs/gst/tmpl/gstbasesrc.sgml:
4887         * docs/gst/tmpl/gstpad.sgml:
4888         Docs fixes.
4890 2005-06-28  Wim Taymans  <wim@fluendo.com>
4892         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4893         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
4894         (gst_proxy_pad_do_fixatecaps):
4895         Correctly proxy the check_pull_range function.
4897 2005-06-28  Andy Wingo  <wingo@pobox.com>
4899         * tests/network-clock.scm: Removed need for slib.
4900         
4901 2005-06-28  Wim Taymans  <wim@fluendo.com>
4903         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
4904         (gst_basesink_preroll_queue_flush):
4905         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
4906         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
4907         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4908         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4909         (gst_proxy_pad_set_property):
4910         * gst/gstpad.c:
4911         * gst/gstpad.h:
4912         * gst/gstqueue.c: (gst_queue_init):
4913         The deprecated pad loop function is removed now.
4915 2005-06-28  Andy Wingo  <wingo@pobox.com>
4917         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
4918         New parameters, simulate network packet loss.
4920         * tests/network-clock-utils.scm: Initialize the RNG.
4922 2005-06-28  Wim Taymans  <wim@fluendo.com>
4924         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
4925         (gst_basesink_event), (gst_basesink_deactivate):
4926         Flushing the preroll queue always needs to unlock the waiters.
4928 2005-06-28  Edward Hervey  <edward@fluendo.com>
4930         * gst/gstpipeline.c: (gst_pipeline_send_event): 
4931         Wheen a seek was successful on a pipeline, set the stream_time to the
4932         seek offset in order to have a synchronized stream_time.
4934 2005-06-28  Wim Taymans  <wim@fluendo.com>
4936         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4937         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
4938         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
4939         (gst_proxy_pad_do_fixatecaps):
4940         Call wrapper function instead of just calling the function
4941         pointers. This takes care of any locking and whatmore.
4943 2005-06-28  Wim Taymans  <wim@fluendo.com>
4945         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
4946         (gst_pad_pull_range):
4947         * gst/gstpad.h:
4948         CONNECTED -> LINKED.
4950 2005-06-28  Andy Wingo  <wingo@pobox.com>
4952         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
4953         source-munging commit!!!
4955         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
4956         (gst_object_sink): Take gpointer arguments, not GstObject --
4957         avoids casts. Like GLib.
4959         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
4960         activate.
4962 2005-06-27  Andy Wingo  <wingo@pobox.com>
4964         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
4965         remaining buffer.
4967         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
4968         returns a sorted copy of the trace list.
4969         (gst_alloc_trace_print_live): New API, only prints traces with
4970         live objects. Sort the list.
4971         (gst_alloc_trace_print_all): Sort the list.
4972         (gst_alloc_trace_print): Align columns.
4974         * gst/elements/gstttypefindelement.c:
4975         * gst/elements/gsttee.c:
4976         * gst/base/gstbasesrc.c:
4977         * gst/base/gstbasesink.c:
4978         * gst/base/gstbasetransform.c:
4979         * gst/gstqueue.c: Adapt for pad activation changes.
4981         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
4982         sched.
4983         (gst_pipeline_dispose): Drop ref on sched.
4985         * gst/gstpad.c (gst_pad_init): Set the default activate func.
4986         (gst_pad_activate_default): Push mode by default.
4987         (pre_activate_switch, post_activate_switch): New stubs, things to
4988         do before and after switching activation modes on pads.
4989         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
4990         the pad's activate function to choose which mode to activate.
4991         Shortcut on deactivation and call the right function directly.
4992         (gst_pad_activate_pull): New API, (de)activates a pad in pull
4993         mode.
4994         (gst_pad_activate_push): New API, same for push mode.
4995         (gst_pad_set_activate_function) 
4996         (gst_pad_set_activatepull_function) 
4997         (gst_pad_set_activatepush_function): Setters for new API.
4999         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
5000         Trace all miniobjects.
5001         (gst_mini_object_make_writable): Unref the arg if we copy, like
5002         gst_caps_make_writable.
5004         * gst/gstmessage.c (_gst_message_initialize): No trace init.
5006         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
5007         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
5008         Adapt for new pad API.
5010         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
5012         * gst/gstelement.h:
5013         * gst/gstelement.c (gst_element_iterate_src_pads) 
5014         (gst_element_iterate_sink_pads): New API functions.
5015         
5016         * gst/gstelement.c (iterator_fold_with_resync): New utility,
5017         should fold into gstiterator.c in some form.
5018         (gst_element_pads_activate): Simplified via use of fold and
5019         delegation of decisions to gstpad->activate.
5021         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
5022         help in debugging.
5024         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
5025         class once in init, like gstmessage. Didn't run into this issue
5026         but it seems correct. Don't initialize a trace, gstminiobject does
5027         that.
5029         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
5030         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
5031         to the bus.
5032         (assert_live_count): New util function, uses alloc traces to check
5033         cleanup.
5035         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
5036         To be modified when unlink drops the internal pad.
5038 2005-06-27  Wim Taymans  <wim@fluendo.com>
5040         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
5041         (gst_bin_change_state):
5042         Cleanup the get_state() function a little, make sure it
5043         iterates the same set of elements.
5044         Added stub iterate_state_order().
5046 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5048         * docs/gst/gstreamer-docs.sgml:
5049         * docs/gst/gstreamer-sections.txt:
5050         * docs/gst/gstreamer.types:
5051         * docs/gst/tmpl/gstbasesink.sgml:
5052         * docs/gst/tmpl/gstbasesrc.sgml:
5053         * docs/gst/tmpl/gstbasetransform.sgml:
5054         * docs/gst/tmpl/gstelement.sgml:
5055         * docs/gst/tmpl/gstiterator.sgml:
5056         * gst/base/gstbasesrc.c:
5057         * gst/base/gstbasesrc.h:
5058         * gst/base/gstbasetransform.h:
5059         * gst/gstelement.c:
5060         * gst/gstiterator.h:
5061           adding basetransform and iterator docs
5063 2005-06-27  Andy Wingo  <wingo@pobox.com>
5065         * docs/design/part-activation.txt: Notes on how activation should
5066         work -- not quite implemented yet.
5068 2005-06-25  Wim Taymans  <wim@fluendo.com>
5070         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
5071         At least get the chain function correct, needs more
5072         fixing.
5074 2005-06-25  Wim Taymans  <wim@fluendo.com>
5076         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5077         (gst_basesink_handle_object), (gst_basesink_event),
5078         (gst_basesink_do_sync), (gst_basesink_handle_event),
5079         (gst_basesink_change_state):
5080         * gst/gsttask.h:
5081         Right, two problems here: ghostpads don't take locks and
5082         glib _rec_mutex_lock_full() with depth==0 still locks.
5083         Catch illegal locking and g_warn them.
5085 2005-06-25  Wim Taymans  <wim@fluendo.com>
5087         * check/states/sinks.c: (START_TEST), (gst_object_suite):
5088         Have to check for completion now...
5090 2005-06-25  Wim Taymans  <wim@fluendo.com>
5092         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5093         (gst_basesink_handle_object), (gst_basesink_event),
5094         (gst_basesink_do_sync), (gst_basesink_handle_event),
5095         (gst_basesink_change_state):
5096         * gst/gstpad.h:
5097         Unlock STREAM_LOCK whatever the recursion was.
5099 2005-06-25  Wim Taymans  <wim@fluendo.com>
5101         * gst/base/gstbasesink.c: (gst_basesink_set_property),
5102         (gst_basesink_preroll_queue_empty),
5103         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
5104         (gst_basesink_event), (gst_basesink_do_sync),
5105         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
5106         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
5107         (gst_basesink_change_state):
5108         Reworked the base sink, handle event and buffer serialisation
5109         correctly and removed possible deadlock.
5110         Handle EOS correctly.
5112 2005-06-25  Wim Taymans  <wim@fluendo.com>
5114         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
5115         (gst_pipeline_change_state):
5116         * tools/gst-launch.c: (check_intr), (event_loop), (main):
5117         Allow elements to post EOS in the state change function.
5118         Fix up -launch, make it exit the poll loop when the
5119         pipeline actually changed state.
5120         Fix up warning parsing in -launch.
5122 2005-06-25  Wim Taymans  <wim@fluendo.com>
5124         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
5125         (gst_tee_sink_activate):
5126         Core takes STREAM_LOCK for us now.
5128 2005-06-25  Wim Taymans  <wim@fluendo.com>
5130         * gst/gstelement.c: (gst_element_get_state_func),
5131         (gst_element_set_state):
5132         * gst/gstelement.h:
5133         * gst/gstmessage.c: (gst_message_parse_error),
5134         (gst_message_parse_warning):
5135         Keep track of current target state while performing a state
5136         change so that subclasses can do something interesting.
5137         Fix parsing of warning/error messages when GError is NULL.
5139 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5141         * docs/gst/Makefile.am:
5142         * docs/gst/gstreamer-docs.sgml:
5143         * docs/gst/gstreamer-sections.txt:
5144         * docs/gst/gstreamer.types:
5145         * docs/gst/tmpl/gstbasesink.sgml:
5146         * docs/gst/tmpl/gstbasesrc.sgml:
5147         * docs/gst/tmpl/gstbin.sgml:
5148         * docs/gst/tmpl/gstcompat.sgml:
5149         * docs/gst/tmpl/gstfakesink.sgml:
5150         * docs/gst/tmpl/gstfakesrc.sgml:
5151         * docs/gst/tmpl/gstfilesink.sgml:
5152         * docs/gst/tmpl/gstfilesrc.sgml:
5153         * docs/gst/tmpl/gstindex.sgml:
5154         * docs/manual/appendix-quotes.xml:
5155         * gst/base/gstbasesrc.h:
5156         * gst/elements/gstfakesrc.h:
5157         * gst/gstmessage.h:
5158           start pulling in base classes and elements in our docs
5160 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
5162         * docs/gst/Makefile.am:
5163         * docs/libs/Makefile.am:
5164           fixed make distcheck with gtk-doc 1.3
5166 2005-06-23  Wim Taymans  <wim@fluendo.com>
5168         * gst/gstelement.c: (gst_element_get_state_func),
5169         (gst_element_set_state), (gst_element_change_state):
5170         When the state did not change, also report NO_PREROLL
5171         when it matters.
5173 2005-06-23  Wim Taymans  <wim@fluendo.com>
5175         * gst/gstpad.c: (gst_pad_event_default):
5176         * gst/gstqueue.c: (gst_queue_loop):
5177         No unsafe task pausing please.
5179 2005-06-23  Wim Taymans  <wim@fluendo.com>
5181         * gst/schedulers/threadscheduler.c:
5182         (gst_thread_scheduler_task_start),
5183         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
5184         Ref the task before pushing it on the threadpool. This
5185         makes sure that we have a ref when the threadfunction is
5186         actually called.
5188 2005-06-23  Andy Wingo  <wingo@pobox.com>
5190         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
5191         offset is greater than the file's size.
5193         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
5194         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
5195         * gst/gstobject.c (gst_object_class_init): Make the class lock
5196         recursive. Wim won't let me drop deep_notify. Decodebin works
5197         again, whoopdy doo.
5199         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
5200         internal pad, and hacks accordingly. Doesn't do it on the target
5201         pad because we change its caps. Probably catches all cases of
5202         interest tho.
5203         (gst_ghost_pad_set_property): Connect to notify::caps as
5204         appropritate.
5206         * tests/network-clock.scm (plot-simulation): Pipe data to the
5207         elite python skript.
5209         * tests/network-clock-utils.scm (define-parameter): New macro,
5210         defines a parameter that can be set via the command line.
5211         (set-parameter!, parse-parameter-arguments): Command line args
5212         parser.
5214         * tests/plot-data: Simple matplotlib-based plotter, takes input on
5215         stdin.
5217 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
5219         * gst/elements/gsttypefindelement.c:
5220         (gst_type_find_element_handle_event):
5221           Don't restart typefinding on a discont.
5222         * gst/gstelement.c: (gst_element_set_state):
5223           Debug spelling fix.
5224         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
5225           Allow changing mode of an active pad.
5226           Debug output fixes.
5227         * gst/registries/gstlibxmlregistry.c: (load_feature):
5228           Don't cast a static pad template to a normal pad template.
5230 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5232         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5233         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5234           remove gst_strtoll completely, since it didn't actually do
5235           anything more than what g_ascii_strtoull already does.
5236           check for range errors when deserializing
5237           do a cast for the unsigned cases; but further fixing needs
5238           a decision on what the interpretation of "(int)" and
5239           deserialization should be for values that fall outside the
5240           type's boundaries (ie, refuse, or interpret as casting)
5242 2005-06-23  Wim Taymans  <wim@fluendo.com>
5244         * check/Makefile.am:
5245         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
5246         * docs/design/part-live-source.txt:
5247         * docs/design/part-states.txt:
5248         * gst/base/gstbasesrc.c: (gst_basesrc_init),
5249         (gst_basesrc_set_live), (gst_basesrc_is_live),
5250         (gst_basesrc_get_range), (gst_basesrc_activate),
5251         (gst_basesrc_change_state):
5252         * gst/base/gstbasesrc.h:
5253         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5254         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
5255         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
5256         * gst/gstelement.c: (gst_element_get_state_func),
5257         (gst_element_set_state):
5258         * gst/gstelement.h:
5259         * gst/gsttypes.h:
5260         * tools/gst-launch.c: (event_loop), (main):
5261         Added support for live sources and other elements that
5262         cannot do preroll.
5263         Updated design docs, added live-source design doc.
5264         Implemented live source functionality in basesrc
5265         Fix error condition in _bin_get_state()
5266         Implement live source handling in -launch.
5267         Added check for live sources.
5268         Fixed case in GstBin where elements were changed state
5269         multiple times.
5272 2005-06-23  Andy Wingo  <wingo@pobox.com>
5274         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
5275         borken refcounting.
5277         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
5278         gst_caps_replace takes care of this for us.
5280         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
5281         gst_pad_set_caps on the target, not just its setcaps() function.
5283         * tests/network-clock.scm: 
5284         * tests/network-clock-utils.scm: A network clock simulator.
5285         Something of an algorithmic testbed before doing something in C.
5287 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5289         * check/Makefile.am:
5290         * check/gst/capslist.h:
5291           copy over from 0.8, and add two with bitmasks specified with
5292           (int) 0xFF...
5293         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
5294           add test to parse everything from capslist.h
5295         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
5296         (main):
5297           add test for structure deserialization
5298         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5299           add tests for deserialization of strings to int types
5300         * gst/gststructure.c: (gst_structure_nth_field_name):
5301         * gst/gststructure.h:
5302           add a way to get the name of a field referenced by index
5303         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5304           instead of checking if the resulting long long lies between
5305           min and max, we check if the long long would fit into
5306           a number of bytes for the final type.
5307           This fixes cases where a string represents 2^32 - 1, which
5308           when cast to int would be the (valid) -1, but is bigger than
5309           G_MAXINT
5311 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5313         * gst/parse/grammar.y:
5314           add a log line for type deserialization
5316 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5318         * check/gst/gstvalue.c: (START_TEST):
5319         * gst/gstvalue.c: (gst_value_deserialize):
5320           return long long, not int, so gint64 deserialization actually
5321           works.  Is there any flag that makes the compiler check this ?
5322           Fixes #308559
5324 2005-06-22  Wim Taymans  <wim@fluendo.com>
5326         * gst/gstbuffer.h:
5327         Added convenience macros for setting buffers in GValue.
5329 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5331         * check/gst/.cvsignore:
5332         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5333           add a test deserializing int64, and comment part out because
5334           it fails, yay !
5336 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5338         * check/Makefile.am:
5339         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
5340         * testsuite/Makefile.am:
5341         * testsuite/caps/Makefile.am:
5342         * testsuite/caps/value_serialize.c:
5343         * testsuite/test_gst_init.c:
5344           move a value_serialize test over
5346 2005-06-20  Wim Taymans  <wim@fluendo.com>
5348         * gst/gstpad.c:
5349         Small doc updates.
5350         
5351         * gst/gstvalue.c: (gst_value_compare_buffer),
5352         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
5353         (gst_value_compare_flags), (gst_value_serialize_flags),
5354         (gst_value_deserialize_flags), (_gst_value_initialize):
5355         Fix serialisation of buffers, they are not boxed types anymore
5357 2005-06-20  Wim Taymans  <wim@fluendo.com>
5359         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
5360         Testcase to show error in buffer-on-caps serialisation.
5362 2005-06-20  Andy Wingo  <wingo@pobox.com>
5364         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
5365         will be adding to later.
5367         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
5368         if its socks fill with rocks.
5369         (gst_system_clock_obtain): Set the name on object construction.
5370         Avoid double-checked locking.
5372 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
5374         * gst/gsturi.c: (gst_element_make_from_uri):
5375           Fix potential endless loop.
5377 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5379         * check/Makefile.am:
5380           add gsttag
5381         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
5382         (main):
5383           move over from testsuite dir and clean up
5384         * configure.ac:
5385         * gst/gsttag.c:
5386         * testsuite/Makefile.am:
5387         * testsuite/tags/.cvsignore:
5388         * testsuite/tags/Makefile.am:
5389         * testsuite/tags/merge.c:
5390           remove testsuite/tags
5392 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5394         * docs/gst/gstreamer-sections.txt:
5395         * docs/gst/tmpl/gstenumtypes.sgml:
5396         * win32/gstenumtypes.c:
5397           clean up documentation build a little
5399 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5401         * check/gstcheck.h:
5402           add macros for checking refcounts on objects and caps
5403         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
5404           add some more unit tests
5405         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5406         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
5407           fix leaked refcounts (I hope :)) so unittest works
5408         * gst/gstpad.h:
5409           whitespace removal
5411 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5413         * configure.ac: back to HEAD
5415 === release 0.9.1 ===
5417 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5419         * NEWS:
5420         * RELEASE:
5421           updated
5423 2005-06-17  Andy Wingo  <wingo@pobox.com>
5425         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
5426         assert; it's always possible that the pad gets deactivated in
5427         between the checks in gstpad.c and the implementation. Rely on
5428         finish_preroll() to return a FLUSHING or similar instead of on the
5429         assert.
5430         
5431         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
5432         clock and post an EOS message if we come out of finish_preroll in
5433         the playing state.
5435 2005-06-16  David Schleef  <ds@schleef.org>
5437         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5438         (gst_capsfilter_set_property): Allow NULL as possible value
5439         for filter_caps property, indicating GST_CAPS_ANY.
5441 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5443         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
5444           fix debug output
5445         * gst/schedulers/Makefile.am:
5446           use libgst prefix
5447         * gstreamer.spec.in:
5448           fix spec for it
5450 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5452         * gstreamer.spec.in:
5453           clean up
5455 2005-06-08  Andy Wingo  <wingo@pobox.com>
5457         * gst/gstutils.c: RPAD fixes all around.
5458         (gst_element_link_pads): Refcounting fixes.
5460         * tools/gst-inspect.c:
5461         * tools/gst-xmlinspect.c:
5462         * parse/grammar.y:
5463         * gst/base/gsttypefindhelper.c:
5464         * gst/base/gstbasesink.c:
5465         * gst/gstqueue.c: RPAD fixes.
5467         * gst/gstghostpad.h:
5468         * gst/gstghostpad.c: New ghost pad implementation as full proxy
5469         pads. The tricky thing is they provide both source and sink
5470         interfaces, since they proxy the internal pad for the external
5471         pad, and vice versa. Implement with lower-level ProxyPad objects,
5472         with the interior proxy pad as a child of the exterior ghost pad.
5473         Should write a doc on this.
5474         
5475         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
5476         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
5477         gst_object API.
5478         
5479         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
5480         pads are real pads. No ghost pads in this file. Not documenting
5481         the myriad s/RPAD/PAD/ and REALIZE fixes.
5482         (gst_pad_class_init): Add properties for "direction" and
5483         "template". Both are construct-only, so they can't change during
5484         the life of the pad. Fixes properly deriving from GstPad.
5485         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
5486         derived objects, just set properties when creating the objects via
5487         g_object_new.
5488         (gst_pad_get_parent): Implement as a function, return NULL if the
5489         parent is not an element.
5490         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
5491         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
5492         
5493         * gst/gstobject.c (gst_object_class_init): Make name a construct
5494         property. Don't set it in the object init.
5496         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
5497         with UNKNOWN direction.
5498         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
5499         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
5500         (gst_element_remove_pad): Remove ghost-pad special cases.
5501         (gst_element_pads_activate): Remove rpad cruft.
5503         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
5504         catch the pad's-parent-not-an-element case.
5506         * gst/gst.h: Include gstghostpad.h.
5508         * gst/gst.c (init_post): No more real, ghost pads.
5510         * gst/Makefile.am: Add gstghostpad.[ch].
5512         * check/Makefile.am:
5513         * check/gst/gstbin.c:
5514         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
5515         into a bin creates ghost pads, and that the refcounts are right.
5516         Partly moved from gstbin.c.
5518 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5520         * check/gst-libs/.cvsignore:
5521         * check/gst/.cvsignore:
5522         * check/pipelines/.cvsignore:
5523           ignore more
5524         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
5525         (START_TEST), (cleanup_suite), (main):
5526           add some tests related to cleanup after running pipelines
5528 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5530         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
5531           add a testsuite for GstBuffer
5533 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5535         * gst/gstminiobject.h:
5536           add defines for accessing the refcount
5538 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
5540         * Makefile.am: added support for html unit test coverage reports
5542 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
5544         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
5545           Free existing caps if the capsfilter changes. Add a FIXME about
5546           setting those caps on the pads.
5548         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
5549           Before adding a ghost pad to a parent bin, check that there isn't
5550           already one for the element on the bin. Prevents infinite recursion
5551           when using decodebin in parse pipelines. Andy says he'll rewrite the
5552           way this works anyway, so ignore the hack.
5554 2005-06-02  Andy Wingo  <wingo@pobox.com>
5556         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
5557         file size, pass it on to the type find helper.
5559         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
5560         segment_start and segment_end properly according to the seek
5561         method. Segment_end is still a bit flaky because offset can be
5562         negative for CUR and END cases, but it takes -1 as an "unset"
5563         value.
5565 2005-06-02  Wim Taymans  <wim@fluendo.com>
5567         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
5568         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
5569         (gst_basesink_activate):
5570         * gst/base/gstbasesink.h:
5571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
5572         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
5573         (gst_pad_query), (gst_pad_start_task):
5574         * gst/gstpad.h:
5575         * gst/gstqueue.c: (gst_queue_bufferalloc),
5576         (gst_queue_handle_sink_event), (gst_queue_chain):
5577         Bufferalloc: return GstFlowReturn to more accuratly report
5578         why allocation failed.
5580 2005-06-02  Wim Taymans  <wim@fluendo.com>
5582         * gst/gstpipeline.c: (gst_pipeline_send_event):
5583         Take snapshot of state without blocking.
5585 2005-06-02  Wim Taymans  <wim@fluendo.com>
5587         * docs/design/part-TODO.txt:
5588         * docs/design/part-caps.txt:
5589         * docs/design/part-clocks.txt:
5590         * docs/design/part-negotiation.txt:
5591         * docs/design/part-preroll.txt:
5592         Small doc updates 
5594 2005-05-30  Wim Taymans  <wim@fluendo.com>
5596         * gst/elements/gstidentity.c: (gst_identity_event),
5597         (gst_identity_transform), (gst_identity_get_property):
5598         Protect last_message property as it is accessed from
5599         multiple threads.
5601 2005-05-30  Wim Taymans  <wim@fluendo.com>
5603         * gst/gstelement.c: (gst_element_init),
5604         (gst_element_pads_activate), (gst_element_change_state):
5605         Slicker pad activation code.
5607 2005-05-30  Wim Taymans  <wim@fluendo.com>
5609         * gst/Makefile.am:
5610         * gst/gstelement.h:
5611         * gst/gstelementfactory.h:
5612         * gst/gsttypes.h:
5613         Move elementfactory methods to separate .h file.
5615 2005-05-30  Wim Taymans  <wim@fluendo.com>
5617         * docs/design/part-overview.txt:
5618         * gst/gstsystemclock.h:
5619         Small typo fixes, doc updates.
5621 2005-05-30  Wim Taymans  <wim@fluendo.com>
5623         * gst/gst.c: (gst_init_get_popt_table), (init_post),
5624         (init_popt_callback):
5625         Remove cpu-opt flag.
5627 2005-05-30  Wim Taymans  <wim@fluendo.com>
5629         * gst/gstbuffer.c: (gst_subbuffer_finalize),
5630         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
5631         * gst/gstbuffer.h:
5632         Avoid typechecking in places where not needed.
5633         Added accessor for malloc_data.
5635 2005-05-30  Wim Taymans  <wim@fluendo.com>
5637         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
5638         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
5639         (gst_pad_configure_sink), (gst_pad_configure_src),
5640         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
5641         (gst_pad_start_task):
5642         Propagate errors from _set_caps() in configure_src/sink
5643         functions instead of returning TRUE.
5644         FLUSH events can travel up and downstream
5647 2005-05-30  Wim Taymans  <wim@fluendo.com>
5649         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
5650         (gst_basesink_activate):
5651         Handle EOS in preroll.
5653 2005-05-30  Wim Taymans  <wim@fluendo.com>
5655         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5656         (gst_queue_loop), (gst_queue_handle_src_event):
5657         Remove old pieces of code
5658         Flushing the queue in an upstream event is a very bad idea.
5660 2005-05-26  Andy Wingo  <wingo@pobox.com>
5662         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
5663         gst_value_set_mini_object so as to add a ref on the object (which
5664         will be removed when the value is unset).
5666         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
5667         arg type in ::handoff.
5669         * gst/gstelement.c (gst_element_change_state): Also deactivate
5670         pads in READY->NULL, just in case the element didn't make it to
5671         PAUSED. Wingo tested, Wim approved.
5673 2005-05-26  Wim Taymans  <wim@fluendo.com>
5675         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
5676         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
5677         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
5678         A flushing pad cannot be used to alloc_buffer from.
5680 2005-05-26  Wim Taymans  <wim@fluendo.com>
5682         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
5683         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
5684         (gst_bus_source_dispatch), (gst_bus_source_finalize),
5685         (gst_bus_create_watch), (gst_bus_add_watch_full):
5686         * gst/gstbus.h:
5687         Implement a real GSource and use g_main_context_wakeup() to
5688         signal new messages instead of the socketpair.
5690 2005-05-25  Wim Taymans  <wim@fluendo.com>
5692         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
5693         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
5694         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
5695         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
5696         (gst_pad_send_event), (gst_pad_start_task):
5697         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
5698         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
5699         (gst_queue_sink_activate), (gst_queue_src_activate),
5700         (gst_queue_change_state):
5701         * gst/gstqueue.h:
5702         Fix state changes for non sinks. We now change sinks, then elements
5703         with unconnected srcpads, then the rest.
5704         More efficient queue unlocking in flush and state changes.
5705         Set the pad activate mode even if it does not have an activate
5706         function.
5708 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5710         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
5711           Don't go in pull mode for non-seekable sources.
5712         * gst/elements/gsttypefindelement.h:
5713         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5714         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
5715         (free_entry), (stop_typefinding),
5716         (gst_type_find_element_handle_event), (find_peek),
5717         (gst_type_find_element_chain), (do_pull_typefind),
5718         (gst_type_find_element_change_state):
5719           Allow typefinding (w/o seeking) in push-mode, simplified version
5720           of what was in 0.8.
5721         * gst/gstutils.c: (gst_buffer_join):
5722         * gst/gstutils.h:
5723           gst_buffer_join() from 0.8.
5725 2005-05-25  Wim Taymans  <wim@fluendo.com>
5727         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
5728         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
5729         (gst_pad_send_event), (gst_pad_start_task):
5730         Disable attempt at mode switching until it is figured out.
5732 2005-05-25  Wim Taymans  <wim@fluendo.com>
5734         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
5735         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
5736         (gst_basesink_finish_preroll), (gst_basesink_chain),
5737         (gst_basesink_loop), (gst_basesink_activate),
5738         (gst_basesink_change_state):
5739         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
5740         (gst_basesrc_get_range), (gst_basesrc_loop),
5741         (gst_basesrc_activate):
5742         * gst/elements/gsttee.c: (gst_tee_sink_activate):
5743         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5744         (gst_real_pad_init), (gst_real_pad_set_property),
5745         (gst_real_pad_get_property), (gst_pad_set_active),
5746         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
5747         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
5748         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
5749         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
5750         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5751         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
5752         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
5753         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
5754         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
5755         (gst_pad_stop_task):
5756         * gst/gstpad.h:
5757         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5758         (gst_queue_loop), (gst_queue_src_activate):
5759         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
5760         (gst_task_get_state):
5761         * gst/gsttask.h:
5762         * gst/schedulers/threadscheduler.c:
5763         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
5764         Implement gst_pad_pause/start/stop_task(), take STREAM lock
5765         in task function.
5766         Remove ACTIVE pad flag, use FLUSHING everywhere
5767         Added _pad_chain(), _pad_get_range() to call chain/getrange 
5768         functions.
5769         Add locks around IS_FLUSHING when reading.
5770         Take STREAM lock in chain(), get_range() functions so plugins
5771         don't need to take it anymore.
5772         
5775 2005-05-25  Wim Taymans  <wim@fluendo.com>
5777         * tools/gst-launch.c: (event_loop):
5778         Unref message after using its contents instead of
5779         before.
5781 2005-05-24  Wim Taymans  <wim@fluendo.com>
5783         * docs/design/draft-ghostpads.txt:
5784         * docs/design/draft-push-pull.txt:
5785         * docs/design/draft-query.txt:
5786         * docs/design/part-overview.txt:
5787         Docs updates, added general overview doc.
5789 2005-05-21  David Schleef  <ds@schleef.org>
5791         * docs/gst/tmpl/old/GstBin.sgml:
5792         * docs/gst/tmpl/old/GstBuffer.sgml:
5793         * docs/gst/tmpl/old/GstCaps.sgml:
5794         * docs/gst/tmpl/old/GstClock.sgml:
5795         * docs/gst/tmpl/old/GstCompat.sgml:
5796         * docs/gst/tmpl/old/GstData.sgml:
5797         * docs/gst/tmpl/old/GstElement.sgml:
5798         * docs/gst/tmpl/old/GstEvent.sgml:
5799         * docs/gst/tmpl/old/GstIndex.sgml:
5800         * docs/gst/tmpl/old/GstStructure.sgml:
5801         * docs/gst/tmpl/old/GstTag.sgml:
5802         * docs/gst/tmpl/old/cothreads.sgml:
5803         * docs/gst/tmpl/old/cothreads_compat.sgml:
5804         * docs/gst/tmpl/old/gettext.sgml:
5805         * docs/gst/tmpl/old/gobject2gtk.sgml:
5806         * docs/gst/tmpl/old/grammar.tab.sgml:
5807         * docs/gst/tmpl/old/gst-i18n-app.sgml:
5808         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
5809         * docs/gst/tmpl/old/gst_private.sgml:
5810         * docs/gst/tmpl/old/gstaggregator.sgml:
5811         * docs/gst/tmpl/old/gstarch.sgml:
5812         * docs/gst/tmpl/old/gstatomic_impl.sgml:
5813         * docs/gst/tmpl/old/gstbufferstore.sgml:
5814         * docs/gst/tmpl/old/gstdata_private.sgml:
5815         * docs/gst/tmpl/old/gstdisksink.sgml:
5816         * docs/gst/tmpl/old/gstdisksrc.sgml:
5817         * docs/gst/tmpl/old/gstelementfactory.sgml:
5818         * docs/gst/tmpl/old/gstextratypes.sgml:
5819         * docs/gst/tmpl/old/gstfakesink.sgml:
5820         * docs/gst/tmpl/old/gstfakesrc.sgml:
5821         * docs/gst/tmpl/old/gstfdsink.sgml:
5822         * docs/gst/tmpl/old/gstfdsrc.sgml:
5823         * docs/gst/tmpl/old/gstfilesink.sgml:
5824         * docs/gst/tmpl/old/gstfilesrc.sgml:
5825         * docs/gst/tmpl/old/gsthttpsrc.sgml:
5826         * docs/gst/tmpl/old/gstidentity.sgml:
5827         * docs/gst/tmpl/old/gstindexfactory.sgml:
5828         * docs/gst/tmpl/old/gstmarshal.sgml:
5829         * docs/gst/tmpl/old/gstmd5sink.sgml:
5830         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
5831         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
5832         * docs/gst/tmpl/old/gstpadtemplate.sgml:
5833         * docs/gst/tmpl/old/gstpipefilter.sgml:
5834         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
5835         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
5836         * docs/gst/tmpl/old/gstshaper.sgml:
5837         * docs/gst/tmpl/old/gstspider.sgml:
5838         * docs/gst/tmpl/old/gstspideridentity.sgml:
5839         * docs/gst/tmpl/old/gststatistics.sgml:
5840         * docs/gst/tmpl/old/gsttee.sgml:
5841         * docs/gst/tmpl/old/gsttimecache.sgml:
5842         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
5843         * docs/gst/tmpl/old/gstxmlregistry.sgml:
5844         * docs/gst/tmpl/old/gthread-cothreads.sgml:
5845         * docs/gst/tmpl/old/types.sgml:
5846           I didn't intend to add these or check them in.
5848 2005-05-19  David Schleef  <ds@schleef.org>
5850         * configure.ac: Use -no-common everywhere.  In a sane world, it
5851           would be the default in libtool, because without it, you can't
5852           build DLLs on Windows.
5853         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
5854         * docs/gst/gstreamer-sections.txt:
5855         * docs/gst/tmpl/gstcpu.sgml:
5856         * docs/gst/tmpl/gstdata.sgml:
5857         * docs/gst/tmpl/gstthread.sgml:
5859 2005-05-19  David Schleef  <ds@schleef.org>
5861         * gst/gstminiobject.c: (gst_value_set_mini_object),
5862         (gst_value_take_mini_object), (gst_value_get_mini_object):
5863         * gst/gstminiobject.h: Add GValue set/get functions.
5865 2005-05-19  Wim Taymans  <wim@fluendo.com>
5867         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
5868         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
5869         (gst_subbuffer_init), (gst_buffer_is_span_fast):
5870         * gst/gstbuffer.h:
5871         * gst/gstbus.c: (gst_bus_post):
5872         * gst/gstelement.c: (gst_element_get_random_pad):
5873         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
5874         Make subbufer unref the parent in finalize.
5875         some more debugging info.
5878 2005-05-19  Wim Taymans  <wim@fluendo.com>
5880         * gst/base/gstbasesink.c: (gst_basesink_class_init),
5881         (gst_basesink_init), (gst_basesink_finalize),
5882         (gst_basesink_activate), (gst_basesink_change_state):
5883         Don't free preroll queue too early.
5885 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5887         * gst/Makefile.am:
5888         * gst/ROADMAP:
5889           Hi, I'm outdated. Please shoot me.
5891 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5893         * gst/gstpipeline.c: (gst_pipeline_send_event):
5894           Do not access variables after they have been deleted.
5896 2005-05-19  Wim Taymans  <wim@fluendo.com>
5898         * tools/gst-inspect.c: (print_plugin_features):
5899         A plugin feature does unfortunatly not use the
5900         object name yet...
5902 2005-05-18  Wim Taymans  <wim@fluendo.com>
5904         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
5905         Port _span() functions to new subbuffers.
5907 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5909         * gst/gstbin.c: (gst_bin_add_func):
5910           Fix clock settery in bins when adding kids after the clock has
5911           been selected.
5913 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5915         * gst/elements/gstidentity.c: (gst_identity_class_init):
5916           Workaround until signals support GstMiniObject.
5918 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5920         * gst/gstbuffer.c:
5921         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
5923 2005-05-18  Wim Taymans  <wim@fluendo.com>
5925         * gst/base/Makefile.am:
5926         * gst/base/gstadapter.c: (gst_adapter_base_init),
5927         (gst_adapter_class_init), (gst_adapter_init),
5928         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
5929         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
5930         (gst_adapter_flush), (gst_adapter_available),
5931         (gst_adapter_available_fast):
5932         * gst/base/gstadapter.h:
5933         Ported and added adapter to the base classes.
5935 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5937         * gst/gst.c:
5938         * gst/gstmessage.c:
5939           Make sure the class is reffed/unreffed once before threads can be
5940           used.  Fixes #304551.
5942 2005-05-17  Wim Taymans  <wim@fluendo.com>
5944         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
5945         (gst_basesink_chain_unlocked), (gst_basesink_activate):
5946         * gst/gstminiobject.c: (gst_mini_object_get_type),
5947         (gst_mini_object_free):
5948         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
5949         (gst_pad_push), (gst_pad_push_event):
5950         * gst/gstqueue.c: (gst_queue_change_state):
5951         Don't queue buffers in basesink when we are flushing.
5952         Unref buffer when flushing in basesink.
5953         Flush queue when going to READY
5954         Unref buffer when _push() returns an error.
5955         Don't free MiniObject instance when refcount is incremented
5956         in _finalize() so that we can recover objects.
5958 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5960         * docs/manual/advanced-schedulers.xml:
5961         * docs/manual/appendix-checklist.xml:
5962         * docs/pwg/advanced-clock.xml:
5963         * docs/pwg/advanced-interfaces.xml:
5964         * docs/pwg/advanced-request.xml:
5965         * docs/pwg/advanced-types.xml:
5966         * docs/pwg/intro-preface.xml:
5967         * examples/plugins/example.c: (gst_example_get_type),
5968         (gst_example_class_init), (gst_example_chain),
5969         (gst_example_set_property), (gst_example_get_property),
5970         (gst_example_change_state), (plugin_init):
5971         * examples/plugins/example.h:
5972           small doc fixes
5974 2005-05-17  Wim Taymans  <wim@fluendo.com>
5976         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
5977         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
5978         * gst/gstqueue.c: (gst_queue_change_state):
5979         Clear queue when going to READY.
5980         Remove IN_SETCAPS flag too.
5982 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
5984         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
5985           Remove implicit cast from gboolean to GstElementStateReturn;
5986           make sure we still return failure in paused => ready case if
5987           the parent class fails to change state and our own stop 
5988           vfunc succeeds.
5990 2005-05-17  Wim Taymans  <wim@fluendo.com>
5992         * tools/gst-launch.c: (event_loop):
5993         Message was unreffed too soon.
5995 2005-05-16  Andy Wingo  <wingo@pobox.com>
5997         * gst/gstbin.c (sink_iterator_filter): Err... um...
5999         * check/gst/gstbin.c (test_ghost_pads): New test for the
6000         ghosting-if-elements-not-in-same-bin behavior.
6002 2005-05-16  David Schleef  <ds@schleef.org>
6004         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
6005         accessing refcount directly.
6007 2005-05-15  David Schleef  <ds@schleef.org>
6009         * check/Makefile.am: remove GstData checks
6010         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
6011         * gst/Makefile.am: add miniobject, remove data
6012         * gst/gst.h: add miniobject, remove data
6013         * gst/gstdata.c: remove
6014         * gst/gstdata.h: remove
6015         * gst/gstdata_private.h: remove
6016         * gst/gsttypes.h: remove GstEvent and GstMessage
6017         * gst/gstelement.c: (gst_element_post_message): fix for API changes
6018         * gst/gstmarshal.list: change BOXED -> OBJECT
6020         Implement GstMiniObject.
6021         * gst/gstminiobject.c:
6022         * gst/gstminiobject.h:
6024         Modify to be subclasses of GstMiniObject.
6025         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
6026         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
6027         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
6028         (gst_subbuffer_get_type), (gst_subbuffer_init),
6029         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
6030         (gst_buffer_span):
6031         * gst/gstbuffer.h:
6032         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
6033         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
6034         (_gst_event_copy), (gst_event_new):
6035         * gst/gstevent.h:
6036         * gst/gstmessage.c: (_gst_message_initialize),
6037         (gst_message_get_type), (gst_message_class_init),
6038         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
6039         (gst_message_new), (gst_message_new_error),
6040         (gst_message_new_warning), (gst_message_new_tag),
6041         (gst_message_new_state_changed), (gst_message_new_application):
6042         * gst/gstmessage.h:
6043         * gst/gstprobe.c: (gst_probe_perform),
6044         (gst_probe_dispatcher_dispatch):
6045         * gst/gstprobe.h:
6046         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
6047         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
6048         (_gst_query_copy), (gst_query_new):
6050         Update elements for GstData -> GstMiniObject changes
6051         * gst/gstquery.h:
6052         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
6053         (gst_queue_chain), (gst_queue_loop):
6054         * gst/elements/gstbufferstore.c:
6055         (gst_buffer_store_add_buffer_func),
6056         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
6057         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
6058         (gst_fakesink_render):
6059         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
6060         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
6061         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
6062         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
6063         (gst_filesrc_create_read):
6064         * gst/elements/gstidentity.c: (gst_identity_class_init):
6065         * gst/elements/gsttypefindelement.c:
6066         (gst_type_find_element_src_event), (free_entry_buffers),
6067         (gst_type_find_element_handle_event):
6068         * libs/gst/dataprotocol/dataprotocol.c:
6069         (gst_dp_header_from_buffer):
6070         * libs/gst/dataprotocol/dataprotocol.h:
6071         * libs/gst/dataprotocol/dp-private.h:
6073 2005-05-15  David Schleef  <ds@schleef.org>
6075         * gst/elements/gstelements.c: Don't include headers that were
6076         just removed.
6078 2005-05-15  David Schleef  <ds@schleef.org>
6080         * gst/elements/Makefile.am: Remove some elements that don't
6081         need to be in the core (or even exist at all).
6082         * gst/elements/gstaggregator.c:
6083         * gst/elements/gstaggregator.h:
6084         * gst/elements/gstmd5sink.c:
6085         * gst/elements/gstmd5sink.h:
6086         * gst/elements/gstmultifilesrc.c:
6087         * gst/elements/gstmultifilesrc.h:
6088         * gst/elements/gstpipefilter.c:
6089         * gst/elements/gstpipefilter.h:
6090         * gst/elements/gstshaper.c:
6091         * gst/elements/gstshaper.h:
6092         * gst/elements/gststatistics.c:
6093         * gst/elements/gststatistics.h:
6094         * po/POTFILES.in: Remove above files.
6096 2005-05-14  Andy Wingo  <wingo@pobox.com>
6098         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
6099         so as to get the refs right.
6100         (sink_iterator_filter): New function, wraps bin_element_is_sink,
6101         unreffing objects that don't pass the filter.
6103         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
6104         gst_element_set_bus.
6105         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
6106         normal cases, this will destroy the bus.
6108         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
6109         object.
6111         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
6112         has no sinks.
6114 2005-05-13  Andy Wingo  <wingo@pobox.com>
6116         * gst/gstutils.c (gst_element_link_pads): Instead of calling
6117         gst_pad_link, call pad_link_maybe_ghosting,
6118         (pad_link_maybe_ghosting): Links pads, making sure that the
6119         elements being linked are in the same bin.
6120         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
6121         Helpers for pad_link_maybe_ghosting.
6123 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6125         * configure.ac:
6126           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
6128 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6130         * docs/design/part-element-source.txt:
6131           Mention GstPushSrc
6133 2005-05-12  Wim Taymans  <wim@fluendo.com>
6135         * gst/base/gstbasesink.c: (gst_basesink_init),
6136         (gst_basesink_activate):
6137         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
6138         (gst_basesrc_is_seekable):
6139         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6140         (bin_element_is_sink), (gst_bin_change_state):
6141         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
6142         * gst/gstelement.h:
6143         Identify sinks by their flag to avoid overly complicated
6144         checks (fow now).
6145         Do state changes even for elements not reachable from the
6146         sinks.
6147         BaseSink is a sink now :)
6148         Some more debugging info in the basesrc.
6151 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6153         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
6154           Implement _query on a bin, similar to _send_event.
6156 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6158         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
6159           Discont event offset format should be GST_FORMAT_BYTES,
6160           not GST_FORMAT_TIME.
6162 2005-05-12  Wim Taymans  <wim@fluendo.com>
6164         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
6165         Same fix as Ronald's but without the signal. 
6167 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6169         * gst/gstutils.c: (gst_element_query_position):
6170           No, an element is not a pad.
6172 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6174         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
6175         (gst_bin_get_state):
6176           If a child is removed from a bin while we remove the child from
6177           the bin and while we're retrieving its state, signal this to the
6178           get_state function so we abort the wait (instead of waiting for
6179           a timeout) and can immediately re-iterate over all other elements.
6181 2005-05-12  Wim Taymans  <wim@fluendo.com>
6183         * gst/base/Makefile.am:
6184         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
6185         (gst_basesrc_start):
6186         * gst/base/gstbasesrc.h:
6187         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
6188         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
6189         (gst_pushsrc_init), (gst_pushsrc_create):
6190         * gst/base/gstpushsrc.h:
6191         Added is_seekable to BaseSrc
6192         Added simple PushSrc.
6194 2005-05-11  Wim Taymans  <wim@fluendo.com>
6196         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
6197         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6198         (gst_element_link_pads), (gst_element_query_position),
6199         (gst_element_query_convert), (intersect_caps_func),
6200         (gst_pad_query_position), (gst_pad_query_convert):
6201         Fix refcounting in utils function.
6202         No point in trying to activate a pad when it's added, it could
6203         be added from the state change function and then we deadlock, the
6204         element has to decide what to do.
6206 2005-05-10  Andy Wingo  <wingo@pobox.com>
6208         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
6209         *all* the arguments.
6211         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
6212         stream lock if it's a FLUSH_DONE; normal flushes don't get the
6213         lock (according to the docs -- if this is wrong change the docs).
6215         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
6216         flush messages in the NULL state.
6218         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
6219         message immediately and return.
6220         (gst_bus_set_flushing): New function. If a bus is flushing, it
6221         flushes out any queued messages and immediately unrefs new
6222         messages. This is so when an element goes to NULL, all of the
6223         unhandled messages coming from it can be freed, and their
6224         references to the element dropped. In other words: message source
6225         ref considered harmful :P
6227         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
6228         we're finished with it.
6230         * gst/gstmessage.c (gst_message_new_state_changed): 
6232 2005-05-10  Wim Taymans  <wim@fluendo.com>
6234         * gst/gstvalue.c: (gst_value_compare_flags),
6235         (gst_value_serialize_flags), (gst_value_deserialize_flags),
6236         (_gst_value_initialize):
6237         Added flags serialize/deserialize/compare code.
6239 2005-05-09  Andy Wingo  <wingo@pobox.com>
6241         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
6242         Intersect the peer's caps with our caps.
6244 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6246         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6247         * gst/elements/gsttypefindelement.c: (find_peek):
6248           Handle negative offsets better. Fixes decodebin.
6250 2005-05-09  Wim Taymans  <wim@fluendo.com>
6252         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
6253         (gst_base_transform_event):
6254         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
6255         Implement accept_caps.
6256         Fix silly lock/unlock mismatch in base class.
6258 2005-05-09  Wim Taymans  <wim@fluendo.com>
6260         * docs/design/draft-push-pull.txt:
6261         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
6262         * gst/elements/gstfilesink.c: (gst_filesink_init),
6263         (gst_filesink_query):
6264         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6265         (gst_type_find_handle_src_query), (find_element_get_length):
6266         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
6267         * gst/gstelement.h:
6268         * gst/gstmessage.c:
6269         * gst/gstmessage.h:
6270         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
6271         (gst_real_pad_get_caps_unlocked),
6272         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
6273         (gst_pad_event_default_dispatch), (gst_pad_event_default),
6274         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
6275         (gst_real_pad_dispose), (gst_real_pad_finalize),
6276         (gst_pad_load_and_link), (gst_pad_save_thyself),
6277         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
6278         (gst_pad_check_pull_range), (gst_pad_pull_range),
6279         (gst_pad_template_get_type), (gst_pad_template_class_init),
6280         (gst_pad_template_init), (gst_pad_template_dispose),
6281         (name_is_valid), (gst_static_pad_template_get),
6282         (gst_pad_template_new), (gst_static_pad_template_get_caps),
6283         (gst_pad_template_get_caps), (gst_pad_set_element_private),
6284         (gst_pad_get_element_private), (gst_pad_start_task),
6285         (gst_pad_pause_task), (gst_pad_stop_task),
6286         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
6287         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6288         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
6289         (gst_ghost_pad_new):
6290         * gst/gstpad.h:
6291         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
6292         (gst_query_new_position), (gst_query_set_position),
6293         (gst_query_parse_position), (gst_query_new_convert),
6294         (gst_query_set_convert), (gst_query_parse_convert):
6295         * gst/gstquery.h:
6296         * gst/gstqueryutils.c:
6297         * gst/gstqueryutils.h:
6298         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6299         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
6300         (gst_queue_handle_src_query):
6301         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6302         (gst_element_query_position), (gst_element_query_convert),
6303         (intersect_caps_func), (gst_pad_query_position),
6304         (gst_pad_query_convert):
6305         * gst/gstutils.h:
6306         * tools/gst-inspect.c: (print_pad_info):
6307         * tools/gst-xmlinspect.c: (print_element_info):
6308         Remove old query functions. Ported old code.
6309         Added position/convert helper functions to gstutils.
6310         Reordered gstpad.c code, grouping relevant things.
6311         Remove gst_message_new(), always need to speficy a specific
6312         message.
6315 2005-05-09  Andy Wingo  <wingo@pobox.com>
6317         * gst/gstiterator.h: Add some includes.
6319         * gst/gstqueryutils.h: Include more headers.
6321         * gst/gstpad.h:
6322         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
6323         some uses of gst_pad_query.
6325         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
6326         NULL out parameters.
6327         (gst_query_new_position): New proc, allocates a new position
6328         query.
6330         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
6331         gstqueryutils.c to the build.
6333         * gst/gststructure.c (gst_structure_set_valist): Implement with
6334         the generic G_VALUE_COLLECT.
6335         
6336 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
6338         * gst/Makefile.am: (gst_headers):
6339         Added gstqueryutils.h to the list of headers to install, that was
6340         a 'nachty' move wingo :)
6342 2005-05-06  Andy Wingo  <wingo@pobox.com>
6344         * gst/gstquery.h
6345         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
6346         GstData, init a memchunk.
6347         (standard_definitions): Add a few query types, deprecate a few.
6348         (gst_query_get_type): New proc.
6349         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
6350         implementation.
6351         (gst_query_new_application, gst_query_get_structure): New public
6352         procs.
6354         * docs/design/draft-query.txt: Removed LINKS from the query types,
6355         because all the rest can be dispatched to other pads -- seemed
6356         ugly to have a query that couldn't be dispatched. internal_links
6357         is fine as a pad method.
6359         * gst/gstpad.h: Add query2 as a pad method, add the new functions
6360         in gstpad.c, but maintain binary compatibility for the moment.
6361         Will fix before 0.9 is out.
6363         * gst/gstqueryutils.c: 
6364         * gst/gstqueryutils.h: New files, implement 3 methods for each
6365         query type: parse_query, parse_response, and set. Probably need an
6366         allocator as well.
6368         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
6370         * gst/elements/gstfilesink.c (gst_filesink_query2):
6371         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
6372         query_types, and formats methods.
6374         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
6375         (gst_pad_set_query2_function): New functions.
6376         (gst_real_pad_init): Set query2_default as the default query2
6377         function. Basically just dispatches to internally linked pads.
6379         Needs review!
6380         
6381         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
6382         without using the atomic operations. Only one thread can possibly
6383         be accessing the data at this point. Changed so as to avoid
6384         gst_atomic operations.
6386 2005-05-06  Wim Taymans  <wim@fluendo.com>
6388         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
6389         Also set caps if we use the fallback buffer alloc.
6391 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
6393         * docs/gst/Makefile.am:
6394         * docs/gst/gstreamer-docs.sgml:
6395         * docs/gst/gstreamer-sections.txt:
6396         * docs/gst/tmpl/gstatomic.sgml:
6397         * docs/gst/tmpl/gstmemchunk.sgml:
6398         * testsuite/elements/struct_i386.h:
6399         * win32/GStreamer.vcproj:
6400         * win32/Makefile:
6401           Purge GstAtomic stuff from docs and win32 makefiles as well
6403 2005-05-06  Wim Taymans  <wim@fluendo.com>
6405         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
6406         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
6407         * gst/gstpad.c: (gst_pad_peer_get_caps):
6408         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6409         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
6410         (gst_queue_src_activate), (gst_queue_change_state):
6411         * gst/gstqueue.h:
6412         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6413         (intersect_caps_func):
6414         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
6415         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
6416         Some fixes for the peer_get_caps() change.
6418 2005-05-06  Wim Taymans  <wim@fluendo.com>
6420         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6421         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
6422         (gst_basesink_activate):
6423         Actually do something with error codes returned from the push
6424         functions.
6426 2005-05-06  Wim Taymans  <wim@fluendo.com>
6428         * docs/design/part-element-sink.txt:
6429         * docs/design/part-element-source.txt:
6430         * gst/base/gstbasesink.c: (gst_basesink_class_init),
6431         (gst_basesink_event), (gst_basesink_activate):
6432         * gst/base/gstbasesink.h:
6433         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
6434         (gst_basesrc_activate):
6435         * gst/base/gstbasesrc.h:
6436         * gst/gstelement.c: (gst_element_pads_activate):
6437         Some more documentation.
6438         Fixed scheduling decision in _pads_activate().
6440 2005-05-05  Andy Wingo  <wingo@pobox.com>
6442         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
6443         the test suite.
6445 2005-05-05  Wim Taymans  <wim@fluendo.com>
6447         * gst/base/Makefile.am:
6448         * gst/base/gstbasesink.h:
6449         * gst/base/gstbasesrc.c: (gst_basesrc_init),
6450         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
6451         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
6452         (gst_collectpads_class_init), (gst_collectpads_init),
6453         (gst_collectpads_finalize), (gst_collectpads_new),
6454         (gst_collectpads_set_function), (gst_collectpads_add_pad),
6455         (find_pad), (gst_collectpads_remove_pad),
6456         (gst_collectpads_is_active), (gst_collectpads_collect),
6457         (gst_collectpads_collect_range), (gst_collectpads_start),
6458         (gst_collectpads_stop), (gst_collectpads_peek),
6459         (gst_collectpads_pop), (gst_collectpads_available),
6460         (gst_collectpads_read), (gst_collectpads_flush),
6461         (gst_collectpads_chain):
6462         * gst/base/gstcollectpads.h:
6463         * gst/elements/Makefile.am:
6464         * gst/elements/gstelements.c:
6465         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
6466         (gst_fakesink_get_times), (gst_fakesink_event),
6467         (gst_fakesink_preroll), (gst_fakesink_render):
6468         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
6469         (gst_filesink_init), (gst_filesink_set_location),
6470         (gst_filesink_open_file), (gst_filesink_close_file),
6471         (gst_filesink_pad_query), (gst_filesink_event),
6472         (gst_filesink_render), (gst_filesink_change_state):
6473         * gst/elements/gstfilesink.h:
6474         Added object to help in making collect pad based elements.
6475         Ported filesink.
6476         Make event function in sink baseclass return gboolean.
6478 2005-05-05  Wim Taymans  <wim@fluendo.com>
6480         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
6481         (gst_bin_get_by_name):
6482         * gst/gstbuffer.h:
6483         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
6484         (gst_clock_finalize):
6485         * gst/gstdata.c: (gst_data_replace):
6486         * gst/gstdata.h:
6487         * gst/gstelement.c: (gst_element_request_pad),
6488         (gst_element_pads_activate):
6489         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6490         (gst_object_unref):
6491         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6492         (gst_pad_set_checkgetrange_function),
6493         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
6494         (gst_pad_check_pull_range), (gst_pad_pull_range),
6495         (gst_static_pad_template_get_caps), (gst_pad_start_task),
6496         (gst_pad_pause_task), (gst_pad_stop_task):
6497         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6498         (gst_element_request_pad), (gst_pad_proxy_getcaps):
6499         Fix name lookup in GstBin.
6500         Added _data_replace() function and _buffer_replace()
6501         Use finalize method to clean up clock.
6502         Fix refcounting on request pads.
6503         Fix pad schedule mode error.
6504         Some more object refcounting debug info,
6507 2005-05-04  Andy Wingo <wingo@pobox.com>
6509         * check/Makefile.am:
6510         * docs/gst/tmpl/gstatomic.sgml:
6511         * docs/gst/tmpl/gstplugin.sgml:
6512         * gst/base/gstbasesink.c: (gst_basesink_activate):
6513         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
6514         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
6515         (gst_basesrc_query), (gst_basesrc_set_property),
6516         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
6517         (gst_basesrc_activate):
6518         * gst/base/gstbasesrc.h:
6519         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
6520         (gst_base_transform_src_activate):
6521         * gst/elements/gstelements.c:
6522         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6523         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
6524         * gst/elements/gsttee.c: (gst_tee_sink_activate):
6525         * gst/elements/gsttypefindelement.c: (find_element_get_length),
6526         (gst_type_find_element_checkgetrange),
6527         (gst_type_find_element_activate):
6528         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
6529         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
6530         (gst_caps_load_thyself):
6531         * gst/gstelement.c: (gst_element_pads_activate),
6532         (gst_element_save_thyself), (gst_element_restore_thyself):
6533         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
6534         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
6535         * gst/gstpad.h:
6536         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
6537         (gst_xml_parse_file), (gst_xml_parse_memory),
6538         (gst_xml_get_element), (gst_xml_make_element):
6539         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6540         (_file_index_id_save_xml), (gst_file_index_commit):
6541         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
6542         (read_enum), (load_pad_template), (load_feature), (load_plugin),
6543         (load_paths):
6544         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
6545         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
6546         * tools/gst-complete.c: (main):
6547         * tools/gst-compprep.c: (main):
6548         * tools/gst-inspect.c: (print_element_properties_info):
6549         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6550         * tools/gst-xmlinspect.c: (print_element_properties):
6551         GCC 4 fixen.
6552         
6553 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6555         * gst/gstplugin.c: (gst_plugin_check_module),
6556         (gst_plugin_check_file), (gst_plugin_load_file):
6557             apply patch from #172526 to make register work on MacOSX
6559 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6561         * docs/gst/tmpl/gstconfig.sgml:
6562         * gst/gstconfig.h.in:
6563           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
6564         * testsuite/debug/printf_extension.c: (main):
6565           Do not use GST_PTR_FORMAT on pointers to types with
6566           sizeof < sizeof(gpointer).  Fixes test on 64-bit
6567         * testsuite/elements/property.h:
6568           use correct printf format
6570 2005-05-02  Wim Taymans  <wim@fluendo.com>
6572         * docs/design/draft-push-pull.txt:
6573         * docs/design/draft-query.txt:
6574         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
6575         (gst_basesrc_start):
6576         Added draft for new query API.
6577         Added draft for better selecting scheduling methods.
6578         Make basesrc ignore length if the subclass does not support
6579         it.
6581 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6583         * gst/Makefile.am:
6584           possible fixes for automake-1.5 - _LIBADD is reserved
6586 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6588         * docs/faq/Makefile.am:
6589         * docs/manual/Makefile.am:
6590         * docs/manuals.mak:
6591         * docs/pwg/Makefile.am:
6592         * gst/Makefile.am:
6593           possible fixes for automake-1.5
6595 2005-04-28  Wim Taymans  <wim@fluendo.com>
6597         * gst/base/gstbasesink.c: (gst_basesink_base_init),
6598         (gst_basesink_pad_getcaps), (gst_basesink_init),
6599         (gst_basesink_do_sync):
6600         * gst/gstclock.c: (gst_clock_entry_new):
6601         * gst/gstevent.c: (gst_event_discont_get_value):
6602         * gst/gstpipeline.c: (pipeline_bus_handler),
6603         (gst_pipeline_change_state):
6604         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6605         Better debugging of clocking info.
6606         Allow NULL values when getting discont values.
6608 2005-04-27  Wim Taymans  <wim@fluendo.com>
6610         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
6611         * check/gst/gstpad.c: (gst_pad_suite):
6612         Increase timeout for checks.
6614 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6616         * check/Makefile.am:
6617           fix the broken rule for cleanup.  Apparently this rule is
6618           only needed on FC2, so maybe this warrants further autotool
6619           inspection.
6621 2005-04-26  Wim Taymans  <wim@fluendo.com>
6623         * gst/gsttrashstack.h:
6624         Ooohh. a nasty one! After having a failed pop() from the stack,
6625         it's possible that the stack is empty. In that case, don't
6626         follow the NULL pointer.
6628 2005-04-25  Wim Taymans  <wim@fluendo.com>
6630         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6631         (gst_pad_set_checkgetrange_function),
6632         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
6633         (gst_pad_check_pull_range), (gst_pad_pull_range),
6634         (gst_static_pad_template_get_caps), (gst_pad_start_task),
6635         (gst_pad_pause_task), (gst_pad_stop_task):
6636         * gst/gstplugin.c: (gst_plugin_load):
6637         * gst/gstplugin.h:
6638         Remove gst_library_load as it does more harm than good with
6639         the new g_module flags.
6640         Revert bogus caps template check in pad linking, pad caps
6641         are important when linking not the template, which is more
6642         general than the current caps.
6644 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6646         * gst/autoplug/.cvsignore:
6647         * gst/autoplug/Makefile.am:
6648         * gst/autoplug/gstsearchfuncs.c:
6649         * gst/autoplug/gstsearchfuncs.h:
6650         * gst/autoplug/gstspider.c:
6651         * gst/autoplug/gstspider.h:
6652         * gst/autoplug/gstspideridentity.c:
6653         * gst/autoplug/gstspideridentity.h:
6654         * gst/autoplug/spidertest.c:
6655           Die, spider, die.
6657 2005-04-25  Wim Taymans  <wim@fluendo.com>
6659         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6660         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
6661         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
6662         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
6663         * gst/gstpad.h:
6664         Added stubs for unimplemented functions. 
6666 2005-04-24  David Schleef  <ds@schleef.org>
6668         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
6669         please fix.
6671 2005-04-24  David Schleef  <ds@schleef.org>
6673         Convert everything from GstAtomicInt to g_atomic_int_*, and
6674         remove gstatomic.
6675         * gst/Makefile.am:
6676         * gst/gstatomic.c:
6677         * gst/gstatomic.h:
6678         * gst/gstatomic_impl.h:
6679         * gst/gstbuffer.c:
6680         * gst/gstcaps.c:
6681         * gst/gstcaps.h:
6682         * gst/gstclock.c:
6683         * gst/gstclock.h:
6684         * gst/gstdata.c:
6685         * gst/gstdata.h:
6686         * gst/gstdata_private.h:
6687         * gst/gstevent.c:
6688         * gst/gstinfo.c:
6689         * gst/gstinfo.h:
6690         * gst/gstmessage.c:
6691         * gst/gstobject.c:
6692         * gst/gstobject.h:
6693         * gst/gststructure.c:
6694         * gst/gststructure.h:
6695         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
6696         * gst/gstutils.h:
6698 2005-04-24  David Schleef  <ds@schleef.org>
6700         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
6701         make the regressions tests work.  Remove some code that is no
6702         longer true.
6703         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
6704         Disable warning for pads without templates.
6706 2005-04-24  David Schleef  <ds@schleef.org>
6708         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
6709         functions that handle filtered links.
6710         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
6711         removed functions.
6712         * gst/gstutils.c: Fix/remove utility functions that handle
6713         filtered caps.
6714         * gst/gstutils.h:
6715         * gst/gstvalue.c: Add serialization/deserialization of caps
6716         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
6717         requires fixing so that the filter caps notation creates
6718         a capsfilter element and sets the filter_caps property.  I
6719         think everyone probably wants to keep the shorthand notation.
6720         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
6721         * docs/gst/tmpl/gstpad.sgml:
6723         * gst/elements/gstelements.c: Register capsfilter element.
6724         * gst/Makefile.am: fix spacing
6725         * docs/random/ds/0.9-suggested-changes: random
6727 2005-04-23  David Schleef  <ds@schleef.org>
6729         * gst/elements/Makefile.am:
6730         * gst/elements/gstcapsfilter.c: New element that acts like an
6731         identity, but filters caps.  Will eventually replace filtered
6732         caps in pad linking.
6733         * gst/gstutils.c: (gst_element_create_all_pads): New function
6734         to create all the ALWAYS pads that are registered with an
6735         element class.  This functionality should eventually be
6736         merged in with GstElement initialization.
6737         * gst/gstutils.h:
6738         * testsuite/trigger/README: part of trigger test code that should
6739         have been checked in a long time ago.
6741 2005-04-23  David Schleef  <ds@schleef.org>
6743         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
6744         needed with new versions of libtool (nobody will confirm this),
6745         and hard to carry around.
6746         * gst/autoplug/Makefile.am:
6747         * gst/base/Makefile.am:
6748         * gst/elements/Makefile.am:
6749         * gst/indexers/Makefile.am:
6750         * gst/schedulers/Makefile.am:
6751         * libs/gst/bytestream/Makefile.am:
6752         * libs/gst/control/Makefile.am:
6753         * libs/gst/dataprotocol/Makefile.am:
6754         * libs/gst/getbits/Makefile.am:
6756 2005-04-21  Wim Taymans  <wim@fluendo.com>
6758         * docs/design/draft-push-pull.txt:
6759         * docs/design/part-MT-refcounting.txt:
6760         * docs/design/part-TODO.txt:
6761         * docs/design/part-caps.txt:
6762         * docs/design/part-events.txt:
6763         * docs/design/part-gstbus.txt:
6764         * docs/design/part-gstpipeline.txt:
6765         * docs/design/part-messages.txt:
6766         * docs/design/part-push-pull.txt:
6767         * docs/design/part-query.txt:
6768         Some more docs.
6770 2005-04-21  Wim Taymans  <wim@fluendo.com>
6772         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
6773         (gst_message_new), (gst_message_new_error),
6774         (gst_message_new_warning), (gst_message_new_tag),
6775         (gst_message_new_state_changed), (gst_message_new_application),
6776         (gst_message_get_structure):
6777         * gst/gstmessage.h:
6778         * gst/gststructure.c: (gst_structure_set_parent_refcount),
6779         (gst_structure_copy_conditional):
6780         Use parent refcount in GstMessage to ensure GstStructure
6781         consistency.
6782         Cleaned up headers a bit.
6783         
6785 2005-04-20  Wim Taymans  <wim@fluendo.com>
6787         * gst/base/gstbasesink.c: (gst_basesink_base_init),
6788         (gst_basesink_pad_getcaps), (gst_basesink_init),
6789         (gst_basesink_chain_unlocked):
6790         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
6791         (gst_type_find_helper):
6792         * gst/elements/gsttypefindelement.c:
6793         (gst_type_find_element_have_type), (gst_type_find_element_init),
6794         (stop_typefinding), (gst_type_find_element_handle_event),
6795         (find_suggest), (gst_type_find_element_chain),
6796         (gst_type_find_element_checkgetrange),
6797         (gst_type_find_element_getrange), (do_typefind),
6798         (gst_type_find_element_activate):
6799         * gst/gstbuffer.c: (_gst_buffer_sub_free),
6800         (gst_buffer_default_free), (gst_buffer_default_copy),
6801         (gst_buffer_set_caps):
6802         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
6803         (gst_caps_replace):
6804         * gst/gstmessage.c: (gst_message_new),
6805         (gst_message_new_state_changed):
6806         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6807         (gst_pad_set_checkgetrange_function),
6808         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
6809         (gst_pad_set_caps), (gst_pad_check_pull_range),
6810         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
6811         * gst/gstpad.h:
6812         * gst/gsttypefind.c: (gst_type_find_register):
6813         Make gst_caps_replace() work like other _replace() functions.
6814         Use _caps_replace() where possible.
6815         Make sure _message_new() initialises its field.
6816         Add gst_static_pad_template_get_caps()
6819 2005-04-18  Andy Wingo  <wingo@pobox.com>
6821         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
6822         on the peer, not the pad. I think that was a typo. Pass an extra
6823         arg to see if random access is possible. Activate the pads as
6824         PULL_RANGE if possible.
6826         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
6828         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
6829         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
6830         to PROP_....
6832 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6834         * docs/faq/using.xml:
6835           Add note on gstreamer-properties (#154996).
6837 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6839         * docs/random/bbb/optional-properties:
6840           Some analysis on optional properties.
6842 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6844         * docs/gst/tmpl/gstelementfactory.sgml:
6845         * gst/gstelement.h:
6846         * gst/gstelementfactory.c: (gst_element_factory_init),
6847         (gst_element_factory_cleanup), (gst_element_register),
6848         (__gst_element_factory_add_static_pad_template),
6849         (gst_element_factory_get_static_pad_templates),
6850         (gst_element_factory_can_src_caps),
6851         (gst_element_factory_can_sink_caps):
6852         * gst/registries/Makefile.am:
6853         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
6854         (gst_xml_registry_class_init), (gst_xml_registry_init),
6855         (gst_xml_registry_new), (gst_xml_registry_set_property),
6856         (gst_xml_registry_get_property), (get_time), (make_dir),
6857         (gst_xml_registry_get_perms_func),
6858         (plugin_times_older_than_recurse), (plugin_times_older_than),
6859         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
6860         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
6861         (add_to_char_array), (read_string), (read_uint), (read_enum),
6862         (load_pad_template), (load_feature), (load_plugin), (load_paths),
6863         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
6864         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
6865         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
6866         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
6867         (gst_xml_registry_rebuild):
6868         * gst/registries/gstlibxmlregistry.h:
6869         * tools/gst-compprep.c: (main):
6870         * tools/gst-inspect.c: (print_pad_templates_info):
6871         * tools/gst-xmlinspect.c: (print_element_info):
6872           Use libxml2 for registry parsing, use staticpadtemplates in
6873           elementfactories. Makes gst_init() +/- 10x faster.
6875 2005-04-12  Wim Taymans  <wim@fluendo.com>
6877         * gst/base/Makefile.am:
6878         * gst/base/gstbasesink.c: (gst_basesink_base_init),
6879         (gst_basesink_pad_getcaps), (gst_basesink_init),
6880         (gst_basesink_event), (gst_basesink_change_state):
6881         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
6882         (gst_basesrc_init), (gst_basesrc_query),
6883         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
6884         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
6885         (gst_basesrc_check_get_range), (gst_basesrc_loop),
6886         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
6887         (gst_basesrc_stop), (gst_basesrc_activate),
6888         (gst_basesrc_change_state):
6889         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6890         (helper_find_suggest), (gst_type_find_helper):
6891         * gst/base/gsttypefindhelper.h:
6892         * gst/elements/Makefile.am:
6893         * gst/elements/gstelements.c:
6894         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
6895         (gst_fakesink_get_times), (gst_fakesink_event),
6896         (gst_fakesink_preroll), (gst_fakesink_render):
6897         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6898         (gst_fakesrc_init), (gst_fakesrc_event_handler),
6899         (gst_fakesrc_get_property), (gst_fakesrc_create),
6900         (gst_fakesrc_start), (gst_fakesrc_stop):
6901         * gst/elements/gstfakesrc.h:
6902         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
6903         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
6904         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
6905         (gst_filesrc_create_read), (gst_filesrc_create),
6906         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
6907         (gst_filesrc_start):
6908         * gst/elements/gsttypefindelement.c:
6909         (gst_type_find_element_have_type), (gst_type_find_element_init),
6910         (start_typefinding), (stop_typefinding), (push_buffer_store),
6911         (gst_type_find_element_handle_event),
6912         (gst_type_find_element_chain),
6913         (gst_type_find_element_checkgetrange),
6914         (gst_type_find_element_getrange), (do_typefind),
6915         (gst_type_find_element_activate),
6916         (gst_type_find_element_change_state):
6917         * gst/elements/gsttypefindelement.h:
6918         * gst/gstpipeline.c: (pipeline_bus_handler):
6919         Added typefind helper.
6920         Small preroll fix in the base sink.
6921         Disable typefind code in basesrc.
6922         Crude port of typefindelement.
6923         Fakesrc cleanups.
6926 2005-04-11  Wim Taymans  <wim@fluendo.com>
6928         * check/gst/gstbus.c: (gstbus_suite):
6929         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
6930         * check/gstcheck.h:
6931           Fix up the timeout so that the test does not fail.
6933 2005-04-06  Wim Taymans  <wim@fluendo.com>
6935         * gst/base/README:
6936         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
6937         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
6938         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
6939         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
6940         (gst_basesrc_check_get_range), (gst_basesrc_loop),
6941         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
6942         (gst_basesrc_stop), (gst_basesrc_activate),
6943         (gst_basesrc_change_state), (basesrc_find_peek),
6944         (basesrc_find_suggest), (gst_basesrc_type_find):
6945         * gst/base/gstbasesrc.h:
6946         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6947         (gst_filesrc_class_init), (gst_filesrc_init),
6948         (gst_filesrc_finalize), (gst_filesrc_set_location),
6949         (gst_filesrc_set_property), (gst_filesrc_get_property),
6950         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
6951         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
6952         (gst_filesrc_create_read), (gst_filesrc_create),
6953         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
6954         * gst/elements/gstfilesrc.h:
6955         * gst/gstelement.c: (gst_element_get_state_func),
6956         (gst_element_lost_state), (gst_element_pads_activate):
6957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
6958         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
6959         (gst_pad_pull_range):
6960         * gst/gstpad.h:
6961         More work on the generic source base class, implement seeking,
6962         query.
6963         Make filesrc extend the base source class.
6964         Added gst_pad_set_checkgetrange_function to GstPad.
6966 2005-04-06  Andy Wingo  <wingo@pobox.com>
6968         * pkgconfig/gstreamer-base.pc.in:
6969         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
6971         * pkgconfig/Makefile.am:
6972         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
6974 2005-04-04  Wim Taymans  <wim@fluendo.com>
6976         * gst/base/Makefile.am:
6977         * gst/base/README:
6978         * gst/base/gstbasesink.c: (gst_basesink_base_init),
6979         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
6980         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
6981         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
6982         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
6983         (gst_basesrc_base_init), (gst_basesrc_class_init),
6984         (gst_basesrc_init), (gst_basesrc_get_formats),
6985         (gst_basesrc_get_query_types), (gst_basesrc_query),
6986         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
6987         (gst_basesrc_set_property), (gst_basesrc_get_property),
6988         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
6989         (gst_basesrc_loop), (gst_basesrc_activate),
6990         (gst_basesrc_change_state):
6991         * gst/base/gstbasesrc.h:
6992         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6993         (gst_fakesrc_class_init), (gst_fakesrc_init),
6994         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
6995         (gst_fakesrc_get_property), (gst_fakesrc_create):
6996         * gst/elements/gstfakesrc.h:
6997         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
6998         (gst_filesrc_open_file), (gst_filesrc_loop),
6999         (gst_filesrc_activate), (filesrc_find_peek),
7000         (gst_filesrc_type_find):
7001         Made base source class, make fakesrc extend it.
7002         Add comments to basesink class.
7003         Some filesrc cleanup.
7005 2005-03-31  David Schleef  <ds@schleef.org>
7007         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7008         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
7009         expected to link against libgstreamer.
7010         * gst/base/Makefile.am: link against libgstreamer
7011         * gst/elements/Makefile.am: same
7013 2005-03-31  Andy Wingo  <wingo@pobox.com>
7015         * tests/instantiate/Makefile.am:
7016         * tests/instantiate/caps.c: Add test to test speed of caps copy
7017         and free.
7019         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
7020         GMemChunk to be fair.
7022         * gst/gsttrashstack.h: Remove warning about using the fallback
7023         trash stack implementation, it's still faster than malloc.
7025 2005-03-30  Andy Wingo  <wingo@pobox.com>
7027         * tests/complexity.c: Add a copyright.
7029 2005-03-31  Wim Taymans  <wim@fluendo.com>
7031         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
7032         (gst_base_transform_class_init), (gst_base_transform_init),
7033         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7034         (gst_base_transform_get_property),
7035         (gst_base_transform_sink_activate),
7036         (gst_base_transform_src_activate),
7037         (gst_base_transform_change_state):
7038         * gst/base/gstbasetransform.h:
7039         * gst/elements/gstidentity.c: (gst_identity_class_init),
7040         (gst_identity_event), (gst_identity_check_perfect),
7041         (gst_identity_transform), (gst_identity_start),
7042         (gst_identity_stop):
7043         Added start/stop methods to transform base class so subclasses 
7044         don't need to deal with state changes even.
7046 2005-03-31  Wim Taymans  <wim@fluendo.com>
7048         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
7049         (gst_event_new_discontinuous), (gst_event_discont_get_value):
7050         * gst/gstevent.h:
7051         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7052         (gst_pad_pull_range):
7053         Added rate to the discont event to prepare for variable speed
7054         and reverse playback.
7056 2005-03-29  David Schleef  <ds@schleef.org>
7058         * configure.ac:
7059         * testsuite/trigger/Makefile.am:
7060         * testsuite/trigger/trigger.c: A little example program to show
7061         how trigger-based elements can work.
7063 2005-03-29  Wim Taymans  <wim@fluendo.com>
7065         * gst/base/Makefile.am:
7066         * gst/base/README:
7067         * gst/base/gstbasesink.c: (gst_basesink_get_type),
7068         (gst_basesink_base_init), (gst_basesink_class_init),
7069         (gst_basesink_pad_getcaps), (gst_basesink_init),
7070         (gst_basesink_activate), (gst_basesink_change_state):
7071         * gst/base/gstbasesink.h:
7072         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
7073         (gst_base_transform_base_init), (gst_base_transform_finalize),
7074         (gst_base_transform_class_init), (gst_base_transform_init),
7075         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
7076         (gst_base_transform_event), (gst_base_transform_getrange),
7077         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
7078         (gst_base_transform_set_property),
7079         (gst_base_transform_get_property),
7080         (gst_base_transform_sink_activate),
7081         (gst_base_transform_src_activate),
7082         (gst_base_transform_change_state):
7083         * gst/base/gstbasetransform.h:
7084         * gst/elements/gstidentity.c: (gst_identity_finalize),
7085         (gst_identity_class_init), (gst_identity_init),
7086         (gst_identity_event), (gst_identity_check_perfect),
7087         (gst_identity_transform), (gst_identity_set_property),
7088         (gst_identity_get_property), (gst_identity_change_state):
7089         * gst/elements/gstidentity.h:
7090         * gst/gstelement.c: (gst_element_get_state_func),
7091         (gst_element_lost_state), (gst_element_pads_activate):
7092         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7093         (gst_pad_check_pull_range), (gst_pad_pull_range):
7094         * gst/gstpad.h:
7095         Simplify pad activation.
7096         Added function to check if pull_range can be performed.
7097         Error out when pulling inactive or flushing pads.
7098         Removed const from refcounted types as it does not make sense.
7099         Simplify pad templates in basesink
7100         Added base class for simple 1-to-1 transforms.
7101         Make identity subclass the base transform.
7103 2005-03-29  Andy Wingo  <wingo@pobox.com>
7105         * docs/libs/gstreamer-libs-overrides.txt: 
7106         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
7107         really don't understand what's going on, but like whatever. I want
7108         green buildbot!
7110         * docs/gst/Makefile.am:
7111         * docs/libs/Makefile.am: Dist the overrides files.
7113         * check/Makefile.am (clean-local): Remove .libs directories.
7115         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
7116         elements to EXTRA_DIST, so po/ files are happy.
7118         * po/POTFILES.in: Er, remove it here.
7120         * po/POTFILES: Remove gstspider.c.
7122         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
7124         * docs/libs/gstreamer-libs-docs.sgml: 
7125         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
7126         bytestream.
7128         * tests/complexity.c (main): Set the length of the preroll queue
7129         on the sinks to prevent a lockup.
7131         * libs/gst/dataprotocol/Makefile.am: 
7132         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
7133         the same as the one in check/gst-libs/gdp.c.
7135         * po/, docs/gst/: Commit automatic changes to docs and po files.
7137         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
7138         the versioned libgstbase.
7140         * check/Makefile.am: Depend on an unversioned gst-register, seems
7141         to make autoconf happier.
7143         * gst/base/Makefile.am: Make libgstbase a versioned lib.
7145 2005-03-28  Wim Taymans  <wim@fluendo.com>
7147         * configure.ac:
7148         * docs/design/part-gstelement.txt:
7149         * docs/design/part-negotiation.txt:
7150         * docs/design/part-preroll.txt:
7151         * docs/design/part-scheduling.txt:
7152         * docs/design/part-states.txt:
7153         * gst/Makefile.am:
7154         * gst/base/Makefile.am:
7155         * gst/base/README:
7156         * gst/base/gstbasesink.c: (gst_basesink_get_template),
7157         (gst_basesink_base_init), (gst_basesink_class_init),
7158         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
7159         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
7160         (gst_basesink_set_pad_functions),
7161         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
7162         (gst_basesink_set_property), (gst_basesink_get_property),
7163         (gst_base_sink_get_template), (gst_base_sink_get_caps),
7164         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
7165         (gst_basesink_preroll_queue_push),
7166         (gst_basesink_preroll_queue_empty),
7167         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
7168         (gst_basesink_event), (gst_basesink_get_times),
7169         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
7170         (gst_basesink_chain_unlocked), (gst_basesink_chain),
7171         (gst_basesink_loop), (gst_basesink_activate),
7172         (gst_basesink_change_state):
7173         * gst/base/gstbasesink.h:
7174         * gst/elements/Makefile.am:
7175         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7176         (gst_fakesink_class_init), (gst_fakesink_init),
7177         (gst_fakesink_set_property), (gst_fakesink_get_property),
7178         (gst_fakesink_get_times), (gst_fakesink_event),
7179         (gst_fakesink_preroll), (gst_fakesink_render),
7180         (gst_fakesink_change_state):
7181         * gst/elements/gstfakesink.h:
7182         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
7183         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
7184         * gst/gstelement.c: (gst_element_add_pad),
7185         (gst_element_get_state_func), (gst_element_abort_state),
7186         (gst_element_commit_state), (gst_element_lost_state),
7187         (gst_element_set_state), (gst_element_pads_activate):
7188         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
7189         * gst/gstpipeline.c: (gst_pipeline_send_event),
7190         (gst_pipeline_change_state):
7191         Added state change code.
7192         Added/updated docs.
7193         Added sink base class, make fakesink extend the base class.
7194         Small cleanups in GstPipeline.
7196 2005-03-26  David Schleef  <ds@schleef.org>
7198         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
7199         is broken and should be implemented in a different library.
7200         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
7201         * gst/gst.h: remove gstcpu.h
7202         * gst/gstcpu.c: remove
7203         * gst/gstcpu.h: remove
7204         * gst/Makefile.am.future: Remove this file.  It's ancient.
7206 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7208         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
7209         (gst_bin_send_event):
7210           Add default event/set_manager handlers. The set_manager handler
7211           takes care that the manager is distributed over kids that were
7212           already in the bin before the manager was set. The event handler
7213           is a utility virtual function that sends the event over all sinks,
7214           so that gst_element_send_event (bin, event); has the expected
7215           behaviour.
7216         * gst/gstpad.c: (gst_pad_event_default):
7217           Re-install default event handling for discontinuities, so that
7218           seeking works without requiring hacks in applications or extra
7219           code in sinks.
7220         * gst/gstpipeline.c: (gst_pipeline_class_init),
7221         (gst_pipeline_send_event):
7222           Half hack, half utility: set a pipeline to PAUSED for seek events,
7223           since that is the only way we can guarantee a/v sync. Means that
7224           you can do gst_element_seek (pipeline, method, pos); on a pipeline
7225           and it "just works".
7227 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7229         * gst/gstpipeline.c: (gst_pipeline_use_clock):
7230           Lock/unlock mismatch.
7232 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7234         * docs/faq/gst-uninstalled:
7235           add gst-plugins-base
7236         * docs/gst/Makefile.am:
7237           don't error out until docs are fixed
7238         * docs/gst/gstreamer.types:
7239           remove thread
7241 2005-03-22  Wim Taymans  <wim@fluendo.com>
7243         * check/Makefile.am:
7244         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
7245         * gst/gststructure.c: (gst_structure_set_valist),
7246         (gst_structure_copy_conditional):
7247         Activated more tests.
7248         Added message test.
7249         Added G_TYPE_POINTER to GstStructure.
7250         
7252 2005-03-22  Wim Taymans  <wim@fluendo.com>
7254         * docs/design/part-TODO.txt:
7255         * docs/design/part-events.txt:
7256         * docs/design/part-gstbin.txt:
7257         * docs/design/part-gstbus.txt:
7258         * docs/design/part-gstpipeline.txt:
7259         * docs/design/part-messages.txt:
7260         * gst/gstbus.c:
7261         * gst/gstmessage.c:
7262         Docs updates
7264 2005-03-21  Wim Taymans  <wim@fluendo.com>
7266         * gst/gstbus.c: (gst_bus_post):
7267         Fix copy-and-paste error.
7269 2005-03-21  Wim Taymans  <wim@fluendo.com>
7271         * check/Makefile.am:
7272         * gst/Makefile.am:
7273         * gst/elements/Makefile.am:
7274         * gst/elements/gstelements.c:
7275         * gst/elements/gstfakesink.c: (gst_fakesink_init),
7276         (gst_fakesink_event), (gst_fakesink_chain):
7277         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7278         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
7279         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
7280         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
7281         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7282         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
7283         (gst_fakesrc_loop), (gst_fakesrc_activate),
7284         (gst_fakesrc_change_state):
7285         * gst/elements/gstfakesrc.h:
7286         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7287         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
7288         (gst_filesrc_open_file), (gst_filesrc_loop),
7289         (gst_filesrc_activate), (gst_filesrc_change_state),
7290         (filesrc_find_peek), (filesrc_find_suggest),
7291         (gst_filesrc_type_find):
7292         * gst/elements/gstidentity.c: (gst_identity_finalize),
7293         (gst_identity_class_init), (gst_identity_init),
7294         (gst_identity_proxy_getcaps), (identity_queue_push),
7295         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
7296         (gst_identity_getrange), (gst_identity_chain),
7297         (gst_identity_sink_loop), (gst_identity_src_loop),
7298         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
7299         (gst_identity_set_property), (gst_identity_get_property),
7300         (gst_identity_change_state):
7301         * gst/elements/gstidentity.h:
7302         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7303         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
7304         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
7305         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
7306         (gst_tee_sink_activate):
7307         * gst/elements/gsttee.h:
7308         * gst/gst.c: (gst_register_core_elements), (init_post):
7309         * gst/gst.h:
7310         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
7311         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
7312         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
7313         (gst_bin_change_state):
7314         * gst/gstbin.h:
7315         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
7316         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
7317         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
7318         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
7319         (gst_bus_set_sync_handler), (gst_bus_create_watch),
7320         (bus_watch_callback), (bus_watch_destroy),
7321         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
7322         (poll_timeout), (gst_bus_poll):
7323         * gst/gstbus.h:
7324         * gst/gstcaps.h:
7325         * gst/gstdata.h:
7326         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
7327         (gst_element_post_message), (gst_element_message_full),
7328         (gst_element_get_state_func), (gst_element_get_state),
7329         (gst_element_abort_state), (gst_element_commit_state),
7330         (gst_element_lost_state), (gst_element_set_state),
7331         (gst_element_pads_activate), (gst_element_change_state),
7332         (gst_element_dispose), (gst_element_set_manager_func),
7333         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
7334         (gst_element_set_manager), (gst_element_get_manager),
7335         (gst_element_set_bus), (gst_element_get_bus),
7336         (gst_element_set_scheduler), (gst_element_get_scheduler):
7337         * gst/gstelement.h:
7338         * gst/gstevent.c: (gst_event_new_segment_seek),
7339         (gst_event_new_flush):
7340         * gst/gstevent.h:
7341         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
7342         (_gst_message_free), (gst_message_get_type), (gst_message_new),
7343         (gst_message_new_eos), (gst_message_new_error),
7344         (gst_message_new_warning), (gst_message_new_tag),
7345         (gst_message_new_state_changed), (gst_message_new_application),
7346         (gst_message_get_structure), (gst_message_parse_tag),
7347         (gst_message_parse_state_changed), (gst_message_parse_error),
7348         (gst_message_parse_warning):
7349         * gst/gstmessage.h:
7350         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
7351         (gst_real_pad_set_property), (gst_pad_set_active),
7352         (gst_pad_is_active), (gst_pad_set_blocked_async),
7353         (gst_pad_set_blocked), (gst_pad_is_blocked),
7354         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
7355         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
7356         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7357         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
7358         (gst_pad_link_filtered), (gst_pad_relink_filtered),
7359         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
7360         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
7361         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
7362         (gst_pad_set_caps), (gst_pad_configure_sink),
7363         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
7364         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
7365         (gst_real_pad_dispose), (gst_real_pad_finalize),
7366         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
7367         (gst_pad_event_default_dispatch), (gst_pad_event_default),
7368         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
7369         * gst/gstpad.h:
7370         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
7371         (pipeline_bus_handler), (gst_pipeline_change_state),
7372         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
7373         * gst/gstpipeline.h:
7374         * gst/gstprobe.h:
7375         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7376         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
7377         (gst_queue_link_src), (gst_queue_bufferalloc),
7378         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7379         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
7380         (gst_queue_loop), (gst_queue_handle_src_event),
7381         (gst_queue_handle_src_query), (gst_queue_src_activate),
7382         (gst_queue_change_state):
7383         * gst/gstqueue.h:
7384         * gst/gstscheduler.c: (gst_scheduler_init),
7385         (gst_scheduler_dispose), (gst_scheduler_create_task),
7386         (gst_scheduler_factory_create):
7387         * gst/gstscheduler.h:
7388         * gst/gststructure.c: (gst_structure_get_type),
7389         (gst_structure_copy_conditional):
7390         * gst/gststructure.h:
7391         * gst/gsttaginterface.h:
7392         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7393         (gst_task_init), (gst_task_dispose), (gst_task_create),
7394         (gst_task_get_state), (gst_task_start), (gst_task_stop),
7395         (gst_task_pause):
7396         * gst/gsttask.h:
7397         * gst/gstthread.c:
7398         * gst/gstthread.h:
7399         * gst/gsttypes.h:
7400         * gst/schedulers/Makefile.am:
7401         * gst/schedulers/cothreads_compat.h:
7402         * gst/schedulers/entryscheduler.c:
7403         * gst/schedulers/faircothreads.c:
7404         * gst/schedulers/faircothreads.h:
7405         * gst/schedulers/fairscheduler.c:
7406         * gst/schedulers/gstbasicscheduler.c:
7407         * gst/schedulers/gstoptimalscheduler.c:
7408         * gst/schedulers/gthread-cothreads.h:
7409         * gst/schedulers/threadscheduler.c:
7410         (gst_thread_scheduler_task_get_type),
7411         (gst_thread_scheduler_task_class_init),
7412         (gst_thread_scheduler_task_init),
7413         (gst_thread_scheduler_task_start),
7414         (gst_thread_scheduler_task_stop),
7415         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
7416         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
7417         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
7418         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
7419         (plugin_init):
7420         * libs/gst/Makefile.am:
7421         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
7422         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
7423         (gst_file_pad_parent_set):
7424         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7425         (gst_dp_event_from_packet):
7426         * tests/complexity.c: (main):
7427         * tests/mass_elements.c: (main):
7428         * testsuite/states/locked.c: (message_received), (main):
7429         * testsuite/states/parent.c: (main):
7430         * tools/gst-inspect.c: (print_element_flag_info),
7431         (print_implementation_info), (print_pad_info):
7432         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
7433         (main):
7434         * tools/gst-md5sum.c: (event_loop), (main):
7435         * tools/gst-typefind.c: (main):
7436         * tools/gst-xmlinspect.c: (print_element_info):
7437         Next big merge.
7438         Added GstBus for mainloop integration.
7439         Added GstMessage for sending notifications on the bus.
7440         Added GstTask as an abstraction for pipeline entry points.
7441         Removed GstThread.
7442         Removed Schedulers.
7443         Simplified GstQueue for multithreaded core.
7444         Made _link threadsafe, removed old capsnego.
7445         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
7446         Added pad blocking functions.
7447         Reworked scheduling functions in GstPad to prepare for
7448         scheduling updates soon.
7449         Moved events out of data stream.
7450         Simplified GstEvent types.
7451         Added return values to push/pull.
7452         Removed clocking from GstElement.
7453         Added prototypes for state change function for next merge.
7454         Removed iterate from bins and state change management.
7455         Fixed some elements, disabled others for now.
7456         Fixed -inspect and -launch.
7457         Added check for GstBus.
7459 2005-03-10  Wim Taymans  <wim@fluendo.com>
7461         * docs/design/part-MT-refcounting.txt:
7462         * docs/design/part-clocks.txt:
7463         * docs/design/part-gstelement.txt:
7464         * docs/design/part-gstobject.txt:
7465         * docs/design/part-standards.txt:
7466         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
7467         (gst_bin_remove_func), (gst_bin_remove):
7468         * gst/gstbin.h:
7469         * gst/gstbuffer.c:
7470         * gst/gstcaps.h:
7471         * testsuite/clock/clock1.c: (main):
7472         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
7473         (main):
7474         * testsuite/dlopen/loadgst.c: (do_test):
7475         * testsuite/refcounting/bin.c: (add_remove_test1),
7476         (add_remove_test2), (main):
7477         * testsuite/refcounting/element.c: (main):
7478         * testsuite/refcounting/element_pad.c: (main):
7479         * testsuite/refcounting/pad.c: (main):
7480         * tools/gst-launch.c: (sigint_handler_sighandler):
7481         * tools/gst-typefind.c: (main):
7482         Doc updates.
7483         Added doc about clock.
7484         removed gst_bin_iterate_recurse_up(), marked methods
7485         for removal.
7486         Fix more testsuites.
7488 2005-03-09  Wim Taymans  <wim@fluendo.com>
7490         * gst/gstpad.c: (gst_pad_get_direction),
7491         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
7492         (gst_pad_collect_valist):
7493         * testsuite/bins/interface.c: (main):
7494         * testsuite/caps/audioscale.c: (test_caps):
7495         * testsuite/caps/caps.c: (test1), (test2), (test3):
7496         * testsuite/caps/deserialize.c: (main):
7497         * testsuite/caps/enumcaps.c: (main):
7498         * testsuite/caps/filtercaps.c: (main):
7499         * testsuite/caps/intersect2.c: (main):
7500         * testsuite/caps/random.c: (main):
7501         * testsuite/caps/renegotiate.c: (my_fixate), (main):
7502         * testsuite/caps/sets.c: (check_caps):
7503         * testsuite/caps/simplify.c: (check_caps), (main):
7504         * testsuite/caps/subtract.c: (check_caps):
7505         Fix _pad_get_direction wrt ghostpads.
7506         Fix caps testsuite.
7508 2005-03-09  Wim Taymans  <wim@fluendo.com>
7510         * check/Makefile.am:
7511         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
7512         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
7513         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
7514         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
7515         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
7516         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
7517         (gst_bin_remove), (gst_bin_iterate_recurse_up),
7518         (bin_element_is_sink), (gst_bin_iterate_sinks),
7519         (gst_bin_iterate_all_by_interface):
7520         * gst/gstbin.h:
7521         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
7522         (gst_element_change_state), (gst_element_dispose),
7523         (gst_element_finalize), (gst_element_set_loop_function):
7524         * gst/gstelement.h:
7525         * gst/gstiterator.c: (find_custom_fold_func):
7526         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
7527         (gst_pad_collectv), (gst_pad_collect_valist),
7528         (gst_pad_template_new):
7529         * gst/gstpipeline.c: (gst_pipeline_class_init),
7530         (gst_pipeline_dispose), (gst_pipeline_set_property),
7531         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
7532         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
7533         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
7534         * gst/gstutils.h:
7535         * gst/schedulers/entryscheduler.c:
7536         * gst/schedulers/gstbasicscheduler.c:
7537         (gst_basic_scheduler_cothreaded_chain),
7538         (gst_basic_scheduler_chain_add_element):
7539         * testsuite/bins/interface.c: (main):
7540         Added GstBin test.
7541         Added GstSystemClock test.
7542         Implemented clock distribution code in GstBin.
7543         Implemented iterate sinks method for future use.
7544         Rearranged gstelement.h
7545         Fix GstIterator comparison bug.
7546         Moved some code to GstPipeline, mostly clocking related.
7548 2005-03-09  Wim Taymans  <wim@fluendo.com>
7550         * configure.ac:
7551         * gst/gst_private.h:
7552         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
7553         (gst_bin_remove_func), (gst_bin_remove),
7554         (gst_bin_get_by_name_recurse_up):
7555         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
7556         (gst_clock_id_compare_func), (gst_clock_id_wait),
7557         (gst_clock_id_wait_async), (gst_clock_init),
7558         (gst_clock_adjust_unlocked), (gst_clock_get_time):
7559         * gst/gstelement.h:
7560         * gst/gstinfo.c: (_gst_debug_init):
7561         * gst/gstobject.h:
7562         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
7563         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
7564         * gst/gstpad.h:
7565         Bump version number, we're now 0.9.0
7566         Add future debugging category.
7567         Fix NULL _unref() in _get_by_name_recurse_up
7568         Rearrange gstpad.h.
7569         Update some docs.
7571 2005-03-08  Wim Taymans  <wim@fluendo.com>
7573         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
7574         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7575         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7576         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
7577         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
7578         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
7579         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
7580         * gst/elements/gstidentity.c: (gst_identity_class_init):
7581         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
7582         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
7583         * gst/elements/gstshaper.c: (gst_shaper_class_init):
7584         * gst/elements/gststatistics.c: (gst_statistics_class_init):
7585         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
7586         (gst_tee_link):
7587         * gst/gstelement.c: (gst_element_class_init),
7588         (gst_element_base_class_init), (gst_element_init),
7589         (gst_element_get_random_pad), (gst_element_wait_state_change),
7590         (gst_element_change_state), (gst_element_dispose),
7591         (gst_element_finalize), (gst_element_set_loop_function):
7592         * gst/gstelement.h:
7593         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
7594         * gst/gstthread.c: (gst_thread_class_init),
7595         (gst_thread_release_children_locks), (gst_thread_change_state):
7596         * gst/schedulers/gstbasicscheduler.c:
7597         (gst_basic_scheduler_loopfunc_wrapper),
7598         (gst_basic_scheduler_chain_wrapper),
7599         (gst_basic_scheduler_src_wrapper),
7600         (gst_basic_scheduler_remove_element):
7601         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
7602         Remove threadsafe properties. Fix elements because GObject
7603         complains when installing a property before declaring a
7604         set/get_property handler.
7605         Rearrange gstelement.h file, use STATE macros for state locks.
7606         Free mutexes in the finalize method instead of dispose.
7608 2005-03-08  Wim Taymans  <wim@fluendo.com>
7610         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
7611         * gst/gstthread.c: (gst_thread_release_children_locks):
7612         Added parentage check.
7613         Fix build og GstThread again.
7615 2005-03-08  Wim Taymans  <wim@fluendo.com>
7617         * docs/design/part-MT-refcounting.txt:
7618         * docs/design/part-conventions.txt:
7619         * docs/design/part-gstobject.txt:
7620         * docs/design/part-relations.txt:
7621         * docs/design/part-standards.txt:
7622         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
7623         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
7624         (gst_bin_get_by_name), (gst_bin_get_by_interface),
7625         (gst_bin_iterate_all_by_interface):
7626         * gst/gstbuffer.h:
7627         * gst/gstclock.h:
7628         * gst/gstelement.c: (gst_element_class_init),
7629         (gst_element_change_state), (gst_element_set_loop_function):
7630         * gst/gstelement.h:
7631         * gst/gstiterator.c:
7632         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
7633         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
7634         (gst_object_dispatch_properties_changed), (gst_object_set_name),
7635         (gst_object_set_parent), (gst_object_unparent),
7636         (gst_object_check_uniqueness):
7637         * gst/gstobject.h:
7638         Docs updates, clean up some headers.
7640 2005-03-07  Wim Taymans  <wim@fluendo.com>
7642         * check/.cvsignore:
7643         * check/Makefile.am:
7644         * check/gst-libs/.cvsignore:
7645         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
7646         * check/gst/.cvsignore:
7647         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
7648         (START_TEST), (gstbus_suite), (main):
7649         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
7650         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
7651         (gst_data_suite), (main):
7652         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
7653         (add_fold_func), (gstiterator_suite), (main):
7654         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
7655         (thread_name_object), (thread_name_object_default),
7656         (gst_object_name_compare), (gst_object_suite), (main):
7657         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
7658         (gst_pad_suite), (main):
7659         * check/gstcheck.c: (gst_check_log_message_func),
7660         (gst_check_log_critical_func), (gst_check_init):
7661         * check/gstcheck.h:
7662         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7663         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
7664         Added checks.
7666 2005-03-07  Wim Taymans  <wim@fluendo.com>
7668         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
7669         (gst_list_iterator_next), (gst_list_iterator_resync),
7670         (gst_list_iterator_free), (gst_iterator_new_list),
7671         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
7672         (gst_iterator_free), (gst_iterator_push), (filter_next),
7673         (filter_resync), (filter_uninit), (filter_free),
7674         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
7675         (gst_iterator_foreach), (find_custom_fold_func),
7676         (gst_iterator_find_custom):
7677         * gst/gstiterator.h:
7678         Added missing files.
7680 2005-03-07  Wim Taymans  <wim@fluendo.com>
7682         * Makefile.am:
7683         * configure.ac:
7684         * docs/design/part-MT-refcounting.txt:
7685         * docs/design/part-conventions.txt:
7686         * docs/design/part-gstobject.txt:
7687         * docs/design/part-relations.txt:
7688         * examples/mixer/mixer.c: (main):
7689         * examples/thread/thread.c: (eos), (main):
7690         * gst/Makefile.am:
7691         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
7692         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
7693         (gst_spider_plug_from_srcpad):
7694         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
7695         (gst_spider_identity_change_state),
7696         (gst_spider_identity_sink_loop_type_finding):
7697         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
7698         * gst/elements/gstidentity.c: (gst_identity_init):
7699         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
7700         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
7701         * gst/elements/gsttypefindelement.c: (free_entry):
7702         * gst/gst.c:
7703         * gst/gst.h:
7704         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
7705         (gst_bin_set_clock_func), (gst_bin_auto_clock),
7706         (gst_bin_set_index), (gst_bin_set_element_sched),
7707         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
7708         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
7709         (gst_bin_iterate_elements), (iterate_child_recurse),
7710         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
7711         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
7712         (compare_interface), (gst_bin_get_by_interface),
7713         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
7714         * gst/gstbin.h:
7715         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
7716         (gst_buffer_default_free), (gst_buffer_default_copy),
7717         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
7718         (gst_buffer_create_sub):
7719         * gst/gstbuffer.h:
7720         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
7721         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
7722         (gst_caps_unref), (gst_static_caps_get),
7723         (gst_caps_remove_and_get_structure), (gst_caps_append),
7724         (gst_caps_append_structure), (gst_caps_remove_structure),
7725         (gst_caps_copy_nth), (gst_caps_set_simple),
7726         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
7727         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
7728         (gst_caps_structure_intersect_field), (gst_caps_intersect),
7729         (gst_caps_structure_subtract_field), (gst_caps_subtract),
7730         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
7731         (gst_caps_structure_figure_out_union),
7732         (gst_caps_switch_structures), (gst_caps_do_simplify),
7733         (gst_caps_replace), (gst_caps_from_string),
7734         (gst_caps_copy_conditional):
7735         * gst/gstcaps.h:
7736         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
7737         (_gst_clock_id_free), (gst_clock_id_unref),
7738         (gst_clock_id_compare_func), (gst_clock_id_wait),
7739         (gst_clock_id_wait_async), (gst_clock_class_init),
7740         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
7741         (gst_clock_get_time), (gst_clock_set_time_adjust),
7742         (gst_clock_set_property), (gst_clock_get_property):
7743         * gst/gstclock.h:
7744         * gst/gstcompat.h:
7745         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
7746         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
7747         * gst/gstdata.h:
7748         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
7749         (gst_element_requires_clock), (gst_element_provides_clock),
7750         (gst_element_set_clock), (gst_element_clock_wait),
7751         (gst_element_wait), (gst_element_set_time_delay),
7752         (gst_element_is_indexable), (gst_element_add_pad),
7753         (gst_element_add_ghost_pad), (gst_element_remove_pad),
7754         (pad_compare_name), (gst_element_get_static_pad),
7755         (gst_element_request_pad), (gst_element_get_request_pad),
7756         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
7757         (gst_element_class_get_pad_template_list),
7758         (gst_element_class_get_pad_template), (gst_element_error_func),
7759         (gst_element_get_random_pad), (gst_element_get_event_masks),
7760         (gst_element_send_event), (gst_element_seek),
7761         (gst_element_get_query_types), (gst_element_query),
7762         (gst_element_get_formats), (gst_element_convert),
7763         (gst_element_is_locked_state), (gst_element_set_locked_state),
7764         (gst_element_sync_state_with_parent), (gst_element_change_state),
7765         (gst_element_finalize), (gst_element_yield),
7766         (gst_element_interrupt), (gst_element_set_scheduler),
7767         (gst_element_get_scheduler), (gst_element_set_loop_function):
7768         * gst/gstelement.h:
7769         * gst/gstevent.h:
7770         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
7771         (gst_format_get_by_nick), (gst_format_get_details),
7772         (gst_format_iterate_definitions):
7773         * gst/gstformat.h:
7774         * gst/gstindex.c: (gst_index_gtype_resolver):
7775         * gst/gstinfo.c:
7776         * gst/gstinfo.h:
7777         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
7778         (gst_mem_chunk_free):
7779         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7780         (gst_object_ref), (gst_object_unref), (gst_object_sink),
7781         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
7782         (gst_object_dispatch_properties_changed),
7783         (gst_object_set_name_default), (gst_object_set_name),
7784         (gst_object_get_name), (gst_object_set_name_prefix),
7785         (gst_object_get_name_prefix), (gst_object_set_parent),
7786         (gst_object_get_parent), (gst_object_unparent),
7787         (gst_object_check_uniqueness), (gst_object_save_thyself),
7788         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
7789         (gst_object_set_property), (gst_object_get_property),
7790         (gst_object_get_path_string):
7791         * gst/gstobject.h:
7792         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
7793         (gst_real_pad_init), (gst_real_pad_get_property),
7794         (gst_pad_custom_new), (gst_pad_get_direction),
7795         (gst_pad_set_active), (gst_pad_is_active),
7796         (gst_pad_set_event_function), (gst_pad_is_linked),
7797         (gst_pad_link_free), (gst_pad_link_intersect),
7798         (gst_pad_link_fixate), (gst_pad_set_caps),
7799         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
7800         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
7801         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
7802         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
7803         (gst_pad_get_caps), (gst_pad_peer_get_caps),
7804         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
7805         (gst_pad_realize), (gst_pad_get_allowed_caps),
7806         (gst_real_pad_dispose), (gst_real_pad_finalize),
7807         (gst_pad_collectv), (gst_pad_collect_valist),
7808         (gst_pad_template_dispose), (gst_pad_template_new),
7809         (gst_pad_get_internal_links):
7810         * gst/gstpad.h:
7811         * gst/gstpipeline.c: (gst_pipeline_dispose),
7812         (gst_pipeline_change_state):
7813         * gst/gstpipeline.h:
7814         * gst/gstplugin.c:
7815         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
7816         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
7817         * gst/gstpluginfeature.h:
7818         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
7819         * gst/gstquery.c: (_gst_query_type_initialize),
7820         (gst_query_type_register), (gst_query_type_get_by_nick),
7821         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
7822         * gst/gstquery.h:
7823         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
7824         * gst/gstscheduler.c: (gst_scheduler_add_element),
7825         (gst_scheduler_factory_create):
7826         * gst/gststructure.c: (gst_structure_set_parent_refcount),
7827         (gst_structure_free), (gst_structure_set_name),
7828         (gst_structure_id_set_value), (gst_structure_set_value),
7829         (gst_structure_set_valist), (gst_structure_remove_field),
7830         (gst_structure_remove_fields),
7831         (gst_structure_remove_fields_valist),
7832         (gst_structure_remove_all_fields), (gst_structure_foreach),
7833         (gst_structure_map_in_place),
7834         (gst_caps_structure_fixate_field_nearest_int),
7835         (gst_caps_structure_fixate_field_nearest_double):
7836         * gst/gststructure.h:
7837         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7838         (gst_system_clock_init), (gst_system_clock_dispose),
7839         (gst_system_clock_async_thread),
7840         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
7841         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7842         * gst/gstsystemclock.h:
7843         * gst/gsttag.c: (gst_tag_list_add_value_internal),
7844         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
7845         * gst/gsttaginterface.c:
7846         * gst/gstthread.c: (gst_thread_dispose),
7847         (gst_thread_release_children_locks), (gst_thread_change_state),
7848         (gst_thread_main_loop):
7849         * gst/gsttrashstack.h:
7850         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
7851         * gst/gsttypes.h:
7852         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7853         (gst_element_request_pad), (gst_element_get_pad_from_template),
7854         (gst_element_request_compatible_pad),
7855         (gst_element_get_compatible_pad_filtered),
7856         (gst_element_get_compatible_pad), (gst_element_state_get_name),
7857         (gst_element_link_pads_filtered), (gst_element_link_filtered),
7858         (gst_element_link_many), (gst_element_link),
7859         (gst_element_link_pads), (gst_element_unlink_pads),
7860         (gst_element_unlink_many), (gst_element_unlink),
7861         (gst_pad_can_link_filtered), (gst_pad_can_link),
7862         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
7863         (gst_object_default_error), (gst_bin_add_many),
7864         (gst_bin_remove_many), (gst_element_populate_std_props),
7865         (gst_element_class_install_std_props), (gst_buffer_merge),
7866         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
7867         (link_fold_func), (gst_pad_proxy_setcaps):
7868         * gst/gstutils.h:
7869         * gst/gstvalue.c: (gst_value_deserialize_string):
7870         * gst/parse/grammar.y:
7871         * gst/schedulers/gstbasicscheduler.c:
7872         (gst_basic_scheduler_cothreaded_chain),
7873         (gst_basic_scheduler_chain_recursive_add),
7874         (gst_basic_scheduler_pad_link):
7875         * gst/schedulers/gstoptimalscheduler.c:
7876         (get_group_schedule_function),
7877         (gst_opt_scheduler_state_transition),
7878         (gst_opt_scheduler_add_element), (element_get_reachables_func):
7879         * libs/gst/bytestream/bytestream.c:
7880         * libs/gst/dataprotocol/dataprotocol.c:
7881         (gst_dp_header_from_buffer):
7882         * po/nb.po:
7883         * po/ru.po:
7884         * tests/threadstate/threadstate2.c: (eos):
7885         * tools/gst-compprep.c: (main):
7886         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
7887         (print_pad_info), (print_children_info):
7888         * tools/gst-launch.c: (idle_func), (main):
7889         * tools/gst-md5sum.c: (idle_func), (main):
7890         * tools/gst-xmlinspect.c: (print_element_info):
7891         First THREADED backport attempt, focusing on adding locks and
7892         making sure the API is threadsafe. Needs more work. More docs
7893         follow this week.
7895 2005-02-24  Andy Wingo  <wingo@pobox.com>
7897         * tests/bench-complexity.scm:
7898         * tests/complexity.gnuplot: New files, good for running complexity
7899         benchmarks.
7901         * tests/Makefile.am:
7902         * tests/complexity.c: New test, sets up N elements, at each level
7903         teeing into M streams per element. Eeeenteresting.
7905         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
7906         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
7907         running bench-mass_elements.scm.
7909         * tests/bench-mass_elements.scm: New script, runs mass_elements
7910         for various numbers of identities, outputting the results to a
7911         file. Requires guile 1.6. Just for testing.
7913 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7915         * gst/schedulers/fairscheduler.c:
7916           compile with debug disabled
7918 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7920         * configure.ac:
7921           hunting season on 0.9 is now OPEN