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