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