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