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