more tests (and fixes) for the controller more docs for the controller integrated...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2
3         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4         (gst_test_mono_source_set_property),
5         (gst_test_mono_source_class_init), (GST_START_TEST),
6         (gst_controller_suite):
7         * docs/gst/gstreamer-docs.sgml:
8         * docs/gst/gstreamer-sections.txt:
9         * docs/gst/gstreamer.types:
10         * docs/libs/gstreamer-libs-docs.sgml:
11         * docs/libs/gstreamer-libs-sections.txt:
12         * gst/base/gstadapter.c:
13         * libs/gst/controller/gst-controller.c:
14         (gst_controlled_property_new), (gst_controlled_property_free),
15         (gst_controller_new_valist),
16         (gst_controller_remove_properties_valist),
17         (gst_controller_sink_values), (_gst_controller_finalize):
18         * libs/gst/controller/gst-controller.h:
19         * libs/gst/controller/gst-helper.c:
20         (gst_object_control_properties), (gst_object_uncontrol_properties),
21         (gst_object_get_controller), (gst_object_set_controller),
22         (gst_object_sink_values), (gst_object_get_value_arrays),
23         (gst_object_get_value_array):
24           more tests (and fixes) for the controller
25           more docs for the controller
26           integrated companies docs for the adapter 
27
28 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
29
30         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
31         (GST_START_TEST), (fakesrc_suite):
32           add tests for sizetype
33
34 2005-08-04  Andy Wingo  <wingo@pobox.com>
35
36         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
37         fixes buffer_alloc proxying among other things.
38
39         * gst/base/gstbasetransform.c:
40         * gst/base/gstbasetransform.h:
41         Revert patch to gstbasetransform from 7-28 removing
42         delay_configure.
43
44         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
45         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
46         Semantics changed, should return not the size of the output buffer
47         but the byte size of a buffer with a given caps.
48
49         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
50         debug object.
51         (gst_base_transform_configure_caps): Don't set out_size here: (in,
52         out) are not the pad caps until setcaps finishes.
53         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
54         not-in-place case as well. Deal with changing from in-place to
55         not-in-place within calling pad_alloc_buffer. Still a bit
56         concerned about the overhead here...
57
58 2005-08-03  Andy Wingo  <wingo@pobox.com>
59
60         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
61         fixating is an error.
62
63 2005-08-04  Edward Hervey  <edward@fluendo.com>
64
65         * gst/base/gstadapter.h: 
66         Added gst_adapter_get_type() to the header
67
68 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
69
70         * check/Makefile.am:
71         * check/gst-libs/controller.c:
72         * libs/gst/controller/gst-controller.c:
73         (gst_controller_new_valist):
74           added check test suite for the controller
75         * gst/base/gstpushsrc.c:
76           fixed a doc typo
77
78 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
79
80         * docs/gst/Makefile.am:
81         * docs/gst/gstreamer-docs.sgml:
82         * docs/gst/gstreamer-sections.txt:
83         * docs/gst/gstreamer.types:
84         * docs/gst/tmpl/gstfakesrc.sgml:
85         * gst/base/README:
86         * gst/base/gstbasesink.c:
87         * gst/base/gstbasesink.h:
88         * gst/base/gstbasesrc.c:
89         * gst/base/gstbasesrc.h:
90         * gst/base/gstbasetransform.c:
91         * gst/base/gstpushsrc.c:
92         * gst/base/gstpushsrc.h:
93           add short/long description docs to base classes
94           add pushsrc to the docs
95           remove consolidated doc fragments
96
97 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
98
99         * configure.ac:
100         * docs/libs/Makefile.am:
101         * docs/libs/gstreamer-libs-docs.sgml:
102         * docs/libs/gstreamer-libs-sections.txt:
103         * docs/libs/gstreamer-libs.types:
104         * examples/Makefile.am:
105         * examples/controller/.cvsignore:
106         * examples/controller/Makefile.am:
107         * examples/controller/audio-example.c: (main):
108         * libs/gst/Makefile.am:
109         * libs/gst/controller/.cvsignore:
110         * libs/gst/controller/Makefile.am:
111         * libs/gst/controller/gst-controller.c:
112         (on_object_controlled_property_changed), (gst_timed_value_compare),
113         (gst_timed_value_find),
114         (gst_controlled_property_set_interpolation_mode),
115         (gst_controlled_property_new), (gst_controlled_property_free),
116         (gst_controller_find_controlled_property),
117         (gst_controller_new_valist), (gst_controller_new),
118         (gst_controller_remove_properties_valist),
119         (gst_controller_remove_properties), (gst_controller_set),
120         (gst_controller_set_from_list), (gst_controller_unset),
121         (gst_controller_get), (gst_controller_get_all),
122         (gst_controller_sink_values), (gst_controller_get_value_arrays),
123         (gst_controller_get_value_array),
124         (gst_controller_set_interpolation_mode),
125         (_gst_controller_finalize), (_gst_controller_init),
126         (_gst_controller_class_init), (gst_controller_get_type):
127         * libs/gst/controller/gst-controller.h:
128         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
129         (g_object_uncontrol_properties), (g_object_get_controller),
130         (g_object_set_controller), (g_object_sink_values),
131         (g_object_get_value_arrays), (g_object_get_value_array):
132         * libs/gst/controller/gst-interpolation.c:
133         (gst_controlled_property_find_timed_value_node),
134         (interpolate_none_get), (interpolate_trigger_get),
135         (interpolate_trigger_get_value_array):
136         * libs/gst/controller/lib.c: (gst_controller_init):
137         * pkgconfig/Makefile.am:
138         * pkgconfig/gstreamer-control-uninstalled.pc.in:
139         * pkgconfig/gstreamer-control.pc.in:
140         * testsuite/Makefile.am:
141         * testsuite/controller/.cvsignore:
142         * testsuite/controller/Makefile.am:
143         * testsuite/controller/interpolator.c: (main):
144           added controller code
145           removed dparam pc files
146
147 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
148         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
149         (gst_collectpads_stop):
150           Broadcast the condition when shutting down, to make sure we wake all
151           threads up. Shut down pads on finalize, for safety.
152
153 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
154         * gst/base/gstbasetransform.c: (gst_base_transform_init),
155         (gst_base_transform_handle_buffer),
156         (gst_base_transform_change_state):
157           Handle PAUSED->READY->PAUSED transition after negotiation
158           occurred already.
159         * gst/gstmessage.c: (gst_message_init):
160           Extra piece of debug for new messages.
161
162 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
163
164         * configure.ac:
165         * docs/gst/tmpl/gstbasesrc.sgml:
166         * docs/gst/tmpl/gstelement.sgml:
167         * docs/gst/tmpl/gstevent.sgml:
168         * docs/gst/tmpl/gstfakesrc.sgml:
169         * docs/gst/tmpl/gstformat.sgml:
170         * docs/gst/tmpl/gstghostpad.sgml:
171         * docs/gst/tmpl/gstpad.sgml:
172         * docs/gst/tmpl/gstquery.sgml:
173         * docs/gst/tmpl/gststructure.sgml:
174         * docs/gst/tmpl/gsttaglist.sgml:
175         * docs/gst/tmpl/gstvalue.sgml:
176         * docs/libs/gstreamer-libs-docs.sgml:
177         * docs/libs/gstreamer-libs-sections.txt:
178         * docs/libs/gstreamer-libs.types:
179         * libs/gst/Makefile.am:
180         * libs/gst/control/.cvsignore:
181         * libs/gst/control/Makefile.am:
182         * libs/gst/control/control.c:
183         * libs/gst/control/control.h:
184         * libs/gst/control/dparam.c:
185         * libs/gst/control/dparam.h:
186         * libs/gst/control/dparam_smooth.c:
187         * libs/gst/control/dparam_smooth.h:
188         * libs/gst/control/dparamcommon.h:
189         * libs/gst/control/dparammanager.c:
190         * libs/gst/control/dparammanager.h:
191         * libs/gst/control/dplinearinterp.c:
192         * libs/gst/control/dplinearinterp.h:
193         * libs/gst/control/unitconvert.c:
194         * libs/gst/control/unitconvert.h:
195         * testsuite/Makefile.am:
196         * testsuite/dynparams/.cvsignore:
197         * testsuite/dynparams/Makefile.am:
198         * testsuite/dynparams/dparamstest.c:
199         * tools/Makefile.am:
200         * tools/gst-inspect.c: (print_element_info), (main):
201         * tools/gst-xmlinspect.c: (print_element_info), (main):
202           deactivate and remove dparams (libgstcontrol)
203
204 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
205
206         * gst/elements/gsttypefindelement.c:
207         (gst_type_find_element_have_type), (gst_type_find_element_init),
208         (stop_typefinding), (gst_type_find_element_handle_event),
209         (gst_type_find_element_chain), (gst_type_find_element_getrange):
210         * gst/elements/gsttypefindelement.h:
211           Set caps on all outgoing buffers, not just the first one.
212
213 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
214
215         * gst/elements/gsttypefindelement.c:
216         (gst_type_find_element_have_type),
217         (gst_type_find_element_check_set_buffer_caps),
218         (gst_type_find_element_init), (stop_typefinding),
219         (gst_type_find_element_handle_event),
220         (gst_type_find_element_chain), (gst_type_find_element_getrange):
221         * gst/elements/gsttypefindelement.h:
222           Set caps on first outgoing buffer when we've found the type.
223
224 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
225
226         * docs/gst/gstreamer-docs.sgml:
227         * docs/gst/gstreamer-sections.txt:
228         * docs/gst/tmpl/gstscheduler.sgml:
229         * docs/gst/tmpl/gstschedulerfactory.sgml:
230           Remove some old cruft from docs.
231
232 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
233
234         * gst/gstpad.h:
235           Fix inline docs for GstPadLinkReturn.
236           
237         * gst/gststructure.c: (gst_structure_has_name):
238         * gst/gststructure.h:
239         * docs/gst/gstreamer-sections.txt:
240           New API: gst_structure_has_name().
241
242 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
243
244         * configure.ac:
245           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
246           and _LARGEFILE_SOURCE in config.h as required. Do not 
247           export those flags in our .pc files any longer (#142209).
248
249           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
250
251         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
252         (gst_file_sink_do_seek), (gst_file_sink_event),
253         (gst_file_sink_get_current_offset), (gst_file_sink_render):
254           Redo seek/tell calls with large file support in mind; add some
255           debugging messages; add log message that tells us when large
256           file support is unavailable or not enabled for some reason.
257
258         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
259           Add log message that tells us when large file support 
260           is unavailable or not enabled for some reason.
261
262 2005-07-29  Wim Taymans  <wim@fluendo.com>
263
264         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
265         Added test for removing an element with ghostpad from a bin.
266         Fixed test as current implementation does the right thing.
267
268         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
269         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
270         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
271         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
272         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
273         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
274         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
275         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
276         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
277         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
278         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
279         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
280         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
281         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
282         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
283         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
284         * gst/gstghostpad.h:
285         Clean up ghostpads, remove properties for internal stuff.
286         Make threadsafe.
287         Fix refcounting.
288         Prepare for switching targets, not all use cases work yet.
289
290 2005-07-29  Wim Taymans  <wim@fluendo.com>
291
292         * docs/design/part-gstghostpad.txt:
293         Small update.
294
295         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
296         (gst_bin_remove_func):
297         Unlinking pads while holding the bin LOCK is not a good
298         idea.
299
300         * gst/gstpad.c: (gst_pad_class_init),
301         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
302         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
303         No prob setting template after creating the pad.
304
305 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
306
307         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
308         (gst_bus_peek), (gst_bus_source_dispatch),
309         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
310         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
311           gst_bus_poll may be called from other threads. Handle
312           this nicely by not making poll_data disappear off the
313           stack once gst_bus_poll returns.
314           gst_bus_peek now increments the refcount on the returned
315           message.
316
317 2005-07-29  Wim Taymans  <wim@fluendo.com>
318
319         * docs/design/part-gstghostpad.txt:
320         Overview of current GhostPad datastructures and use
321         cases for changing the target.
322
323 2005-07-28  Wim Taymans  <wim@fluendo.com>
324
325         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
326         Added checks for hierarchy consistency whan adding linked
327         elements to bins.
328
329         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
330         Added check to test element scheduling without bin/pipeline.
331
332         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
333         First add elements to bin, then link.
334         
335         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
336         (gst_bin_remove_func):
337         Unlink pads from elements added/removed from bin to maintain
338         hierarchy consistency.
339
340 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
341
342         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
343         (gst_base_transform_handle_buffer):
344         * gst/base/gstbasetransform.h:
345           Remove broken delay_configure (fixes renegotiation of software
346           scaling pipelines); remove some leftover printf()s.
347
348 2005-07-28  Wim Taymans  <wim@fluendo.com>
349
350         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
351         Added some more tests for wrong hierarchy
352
353         * docs/design/part-overview.txt:
354         Some updates.
355
356         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
357         Cleanups.
358
359         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
360         (gst_element_dispose):
361         Some more cleanups.
362
363         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
364         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
365         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
366         (gst_pad_set_caps), (gst_pad_send_event):
367         Check for correct hierarchy when linking pads. Moving to
368         strict requirement for ghostpads when linking elements in
369         different bins.
370
371         * gst/gstpad.h:
372         Clean ups. Added WRONG_HIERARCHY return value.
373
374 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
375
376         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
377           Better debug if no transform is possible.
378
379 2005-07-27  Wim Taymans  <wim@fluendo.com>
380
381         * docs/random/wtay/network-transp:
382         Some old doc I had.
383
384 2005-07-27  Wim Taymans  <wim@fluendo.com>
385
386         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
387         (gst_dp_event_from_packet):
388         Fix serialization of seek events.
389
390 2005-07-27  Wim Taymans  <wim@fluendo.com>
391
392         * check/gst-libs/gdp.c: (GST_START_TEST):
393         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
394         Fix compilation and fix event serialization.
395
396 2005-07-27  Wim Taymans  <wim@fluendo.com>
397
398         * CHANGES-0.9:
399         * docs/design/part-TODO.txt:
400         * docs/design/part-events.txt:
401         Some docs updates
402
403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
404         (gst_base_sink_event), (gst_base_sink_do_sync),
405         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
406         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
407         (gst_base_src_do_seek), (gst_base_src_event_handler),
408         (gst_base_src_loop):
409         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
410         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
411         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
412         (gst_base_transform_event), (gst_base_transform_handle_buffer),
413         (gst_base_transform_set_passthrough),
414         (gst_base_transform_is_passthrough):
415         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
416         * gst/elements/gstfilesink.c: (gst_file_sink_event):
417         Event updates.
418
419         * gst/gstbuffer.h:
420         Use faster casts.
421
422         * gst/gstelement.c: (gst_element_seek):
423         * gst/gstelement.h:
424         Update gst_element_seek.
425
426         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
427         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
428         (gst_event_new_flush_start), (gst_event_new_flush_stop),
429         (gst_event_new_eos), (gst_event_new_newsegment),
430         (gst_event_parse_newsegment), (gst_event_new_tag),
431         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
432         (gst_event_parse_qos), (gst_event_new_seek),
433         (gst_event_parse_seek), (gst_event_new_navigation):
434         * gst/gstevent.h:
435         Make GstEvent use GstStructure. Add parsing code, make sure the
436         API is sufficiently generic.
437         Mark possible directions of events and serialization.
438
439         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
440         (_gst_message_copy), (gst_message_new_segment_start),
441         (gst_message_new_segment_done), (gst_message_new_custom),
442         (gst_message_parse_segment_start),
443         (gst_message_parse_segment_done):
444         Small cleanups.
445
446         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
447         (gst_pad_set_caps), (gst_pad_send_event):
448         Update for new events. 
449         Catch events sent in wrong directions.
450
451         * gst/gstqueue.c: (gst_queue_link_src),
452         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
453         (gst_queue_handle_src_query):
454         Event updates.
455
456         * gst/gsttag.c:
457         * gst/gsttag.h:
458         Remove event code from this file.
459
460         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
461         (gst_dp_event_from_packet):
462         Event updates.
463
464 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
465
466         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
467         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
468         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
469           Make debugging actually useful.
470
471 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
472
473         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
474         (gst_pad_fixate_caps):
475           Implement default fixation once again, so that gst_pad_fixate()
476           actually does anything at all. This probably needs to be some
477           sort of a last resort, and use profile-based fixation first, but
478           since that doesn't exist yet, this is the best we have. Fixes
479           visualization in Totem.
480
481 2005-07-22  Wim Taymans  <wim@fluendo.com>
482
483         * docs/design/part-events.txt:
484         Small update.
485
486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
487         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
488         (gst_base_sink_activate_pull):
489         Some more comments.
490
491         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
492         (gst_fake_src_create):
493         Fix handoff marshall.
494
495         * gst/elements/gstidentity.c: (gst_identity_class_init),
496         (gst_identity_transform_ip):
497         We're a real inplace element.
498
499         * gst/gstbus.c: (gst_bus_post):
500         Added some comments.
501
502         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
503         * tests/muxing/case1.c: (main):
504         * tests/sched/dynamic-pipeline.c: (main):
505         * tests/sched/interrupt1.c: (main):
506         * tests/sched/interrupt2.c: (main):
507         * tests/sched/interrupt3.c: (main):
508         * tests/sched/runxml.c: (main):
509         * tests/sched/sched-stress.c: (main):
510         * tests/seeking/seeking1.c: (event_received), (main):
511         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
512         (main):
513         * tests/threadstate/threadstate3.c: (main):
514         * tests/threadstate/threadstate4.c: (main):
515         * tests/threadstate/threadstate5.c: (main):
516         Fix the tests.
517
518 2005-07-21  Wim Taymans  <wim@fluendo.com>
519
520         * docs/design/part-seeking.txt:
521         Some small additions.
522
523         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
524         (gst_base_sink_get_times), (gst_base_sink_do_sync),
525         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
526         * gst/base/gstbasesink.h:
527         discont values are gint64, handle the math correctly.
528
529         * gst/base/gstbasesrc.c: (gst_base_src_loop):
530         Make the basesrc report error if the source pad is not linked.
531
532         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
533         (gst_queue_loop), (gst_queue_handle_src_query),
534         (gst_queue_src_activate_push):
535         Make queue collect data even if the srcpad is not linked.
536         Start pushing out data as soon as it is linked.
537
538         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
539         * gst/gstutils.h:
540         Added gst_flow_get_name() to ease error reporting.
541
542 2005-07-20  Wim Taymans  <wim@fluendo.com>
543
544         * gst/gstmessage.c: (gst_message_new_segment_start),
545         (gst_message_new_segment_done), (gst_message_parse_segment_start),
546         (gst_message_parse_segment_done):
547         * gst/gstmessage.h:
548         Added a bunch of messages for advanced seeking.
549
550         * gst/parse/grammar.y:
551         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
552         (gst_dpman_state_changed):
553         Fix some new-pad -> pad-added signals
554
555 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
556
557         * docs/manual/appendix-porting.xml:
558         * docs/pwg/appendix-porting.xml:
559           Document new-pad/state-change signal renames and the FixedList
560           type rename.
561
562 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
563
564         * docs/manual/advanced-autoplugging.xml:
565         * docs/manual/basics-helloworld.xml:
566         * docs/manual/basics-pads.xml:
567         * docs/random/ds/0.9-suggested-changes:
568         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
569         * gst/gstelement.h:
570         * gst/gstevent.h:
571         * gst/gstformat.h:
572         * gst/gstquery.h:
573         * gst/gststructure.c: (gst_structure_value_get_generic_type),
574         (gst_structure_parse_array), (gst_structure_parse_value):
575         * gst/gstvalue.c: (gst_type_is_fixed),
576         (gst_value_list_prepend_value), (gst_value_list_append_value),
577         (gst_value_list_get_size), (gst_value_list_get_value),
578         (gst_value_transform_array_string), (gst_value_serialize_array),
579         (gst_value_deserialize_array), (gst_value_intersect_array),
580         (gst_value_is_fixed), (_gst_value_initialize):
581         * gst/gstvalue.h:
582           GstElement::new-pad -> pad-added, GstElement::state-change ->
583           state-changed, GstValueFixedList -> GstValueArray, add format and
584           flags as their own arguments in gst_element_seek() (should improve
585           "bindeability"), remove function generators since they don't work
586           under a whole bunch of compilers (they were deprecated already
587           anyway).
588
589 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
590
591         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
592         (_gst_debug_register_funcptr):
593         * gst/gstinfo.h:
594           Fix illegal cast on some platforms (#309253).
595
596 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
597
598         * gst/gstmessage.c: (gst_message_new_custom):
599         * gst/gstmessage.h:
600           Add _new_custom, make _new_application a macro to _new_custom.
601
602 2005-07-20  Wim Taymans  <wim@fluendo.com>
603
604         * gst/base/gstbasesrc.c: (gst_base_src_init),
605         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
606         * gst/base/gstbasesrc.h:
607         Add a gboolean to decide when to push out a discont.
608
609         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
610         (gst_queue_loop), (gst_queue_handle_src_query),
611         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
612         (gst_queue_set_property), (gst_queue_get_property):
613         Some cleanups.
614
615         * tests/threadstate/threadstate1.c: (main):
616         Make a thread test compile and run... very silly..
617
618
619 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
620
621         * docs/manual/appendix-porting.xml:
622           Mention removal of libgstgconf-0.9.la and existence of gconf
623           elements.
624
625 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
626
627         * docs/pwg/advanced-clock.xml:
628         * docs/pwg/appendix-porting.xml:
629         * docs/pwg/intro-preface.xml:
630         * docs/pwg/other-base.xml:
631         * docs/pwg/other-manager.xml:
632         * docs/pwg/other-nton.xml:
633         * docs/pwg/other-ntoone.xml:
634         * docs/pwg/other-oneton.xml:
635         * docs/pwg/pwg.xml:
636           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
637           demuxer), remove n-to-n (was never written), fix some code examples
638           and links and update the porting section to include all this.
639
640 2005-07-19  Wim Taymans  <wim@fluendo.com>
641
642         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
643         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
644         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
645         (gst_queue_src_activate_push), (gst_queue_change_state),
646         (gst_queue_get_property):
647         * gst/gstqueue.h:
648         Propagate GstFlowReturn more intelligently upstream and output
649         an ERROR/EOS when streaming stopped due to fatal error.
650
651 2005-07-19  Wim Taymans  <wim@fluendo.com>
652
653         * tools/gst-launch.c: (check_intr), (event_loop), (main):
654         Don't block forever for the state change to complete, the
655         pipeline already did with a sensible timeout.
656
657 2005-07-19  Wim Taymans  <wim@fluendo.com>
658
659         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
660         Make sure we never call the create function is we
661         got deactivated.
662
663 2005-07-19  Andy Wingo  <wingo@pobox.com>
664
665         * gst/parse/parse.l: Attempt to solve bug #172815.
666
667 2005-07-19  Wim Taymans  <wim@fluendo.com>
668
669         * docs/design/part-clocks.txt:
670         * docs/design/part-events.txt:
671         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
672         Small docs updates.
673         Only update the seeking values when we are not
674         busy streaming.
675
676 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
677
678         * gst/base/gstbasesrc.c: (gst_base_src_loop):
679           Oops, ignore the result of gst_pad_push_event here.
680
681 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
682
683         * gst/base/gstbasesrc.c: (gst_base_src_loop),
684         (gst_base_src_activate_push):
685           Send discont event from the loop function, as pads
686           aren't activated yet in the activate_push handler.
687
688         * gst/gstbin.c: (bin_bus_handler):
689           Don't leak element name.
690
691 2005-07-18  Andy Wingo  <wingo@pobox.com>
692
693         * configure.ac: Use AS_LIBTOOL_TAGS.
694
695 2005-07-18  Wim Taymans  <wim@fluendo.com>
696
697         * docs/gst/gstreamer.types:
698         Remove deleted types.
699
700 2005-07-18  Wim Taymans  <wim@fluendo.com>
701
702         * check/elements/gstfakesrc.c: (GST_START_TEST):
703         * configure.ac:
704         * gst/Makefile.am:
705         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
706         (init_popt_callback):
707         * gst/gst.h:
708         * gst/gst_private.h:
709         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
710         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
711         * gst/gstbin.h:
712         * gst/gstbus.h:
713         * gst/gstconfig.h.in:
714         * gst/gstelement.c: (gst_element_class_init),
715         (gst_element_set_base_time), (gst_element_get_base_time),
716         (iterator_fold_with_resync), (gst_element_change_state),
717         (gst_element_dispose), (gst_element_get_bus):
718         * gst/gstelement.h:
719         * gst/gstelementfactory.h:
720         * gst/gsterror.c: (_gst_core_errors_init):
721         * gst/gsterror.h:
722         * gst/gstevent.h:
723         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
724         * gst/gstindex.c:
725         * gst/gstinfo.c: (_gst_debug_init):
726         * gst/gstmessage.c: (_gst_message_copy):
727         * gst/gstmessage.h:
728         * gst/gstminiobject.h:
729         * gst/gstobject.c:
730         * gst/gstobject.h:
731         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
732         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
733         * gst/gstpad.h:
734         * gst/gstparse.h:
735         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
736         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
737         (gst_pipeline_get_last_stream_time):
738         * gst/gstpipeline.h:
739         * gst/gstpluginfeature.h:
740         * gst/gstquery.h:
741         * gst/gstscheduler.c:
742         * gst/gstscheduler.h:
743         * gst/gststructure.h:
744         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
745         (gst_task_finalize), (gst_task_func), (gst_task_create),
746         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
747         (gst_task_stop), (gst_task_pause):
748         * gst/gsttask.h:
749         * gst/gsttypefind.h:
750         * gst/gsttypes.h:
751         * gst/registries/gstlibxmlregistry.c: (load_feature),
752         (gst_xml_registry_load), (gst_xml_registry_save_feature):
753         * gst/registries/gstxmlregistry.c:
754         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
755         * gst/schedulers/threadscheduler.c:
756         * libs/gst/control/dparammanager.h:
757         * tools/gst-inspect.c: (print_element_list),
758         (print_plugin_features), (print_element_features):
759         * tools/gst-xmlinspect.c: (print_element_list),
760         (print_plugin_info), (main):
761         Removed plugable schedulers.
762         Removed Scheduler/Manager from elements.
763         Removed gsttypes.h, rearranged includes.
764         Removed dependency pad<->element, element<>pipeline, and
765         various others,  fix includes.
766         implement gst_pad_get_parent() with gst_object_get_parent()
767         Make GstTask sefcontained.
768         Fix _get_state() on GstBin, it did not return ASYNC with a 0
769         timeout.
770         Fix endless loop in iterator_fold_with_resync.
771
772
773 2005-07-18  Wim Taymans  <wim@fluendo.com>
774
775         * gst/Makefile.am:
776         * gst/gstarch.h:
777         Remove old file.
778
779 2005-07-18  Wim Taymans  <wim@fluendo.com>
780
781         * gst/Makefile.am:
782         No more cothreads.h
783
784 2005-07-18  Wim Taymans  <wim@fluendo.com>
785
786         * gst/cothreads.c:
787         * gst/cothreads.h:
788         Let's remove these.
789
790 2005-07-18  Wim Taymans  <wim@fluendo.com>
791
792         * docs/design/part-dynamic.txt:
793         * docs/design/part-events.txt:
794         * docs/design/part-seeking.txt:
795         Some more docs in the works.
796
797         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
798         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
799         (gst_base_transform_setcaps), (gst_base_transform_get_size),
800         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
801         (gst_base_transform_handle_buffer),
802         (gst_base_transform_sink_activate_push),
803         (gst_base_transform_src_activate_pull),
804         (gst_base_transform_set_passthrough),
805         (gst_base_transform_is_passthrough):
806         Refcounting fixes.
807
808         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
809         Cleanups.
810
811         * gst/gstevent.c: (gst_event_finalize):
812         Set SRC to NULL.
813
814         * gst/gstutils.c: (gst_element_unlink),
815         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
816         (gst_pad_proxy_setcaps):
817         * gst/gstutils.h:
818         Add _get_parent_element() to get a pads parent as an element.
819
820 2005-07-18  Wim Taymans  <wim@fluendo.com>
821
822         * check/gst/gstbin.c: (GST_START_TEST):
823         Remove bogus test.
824
825 2005-07-18  Wim Taymans  <wim@fluendo.com>
826
827         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
828         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
829         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
830         (gst_base_sink_event), (gst_base_sink_do_sync),
831         (gst_base_sink_chain), (gst_base_sink_loop),
832         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
833         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
834         Refcounting fixes.
835         Fix logic for returning ASYNC when not prerolled.
836
837 2005-07-18  Wim Taymans  <wim@fluendo.com>
838
839         * gst/gstqueue.c: (gst_queue_handle_sink_event):
840         Fix nasty refcount bug.
841
842 2005-07-16 Philippe Khalaf <burger@speedy.org>
843         * gst/elements/gstfdsrc.c:
844         * gst/elements/gstfdsrc.h:
845         * gst/elements/gstelements.c:
846         * gst/elements/Makefile.am:
847         Ported fdsrc to 0.9.
848
849 2005-07-16  Wim Taymans  <wim@fluendo.com>
850
851         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
852         (gst_base_sink_do_sync):
853         Fix compile error.
854
855 2005-07-16  Wim Taymans  <wim@fluendo.com>
856
857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
858         (gst_base_sink_event), (gst_base_sink_get_times),
859         (gst_base_sink_do_sync), (gst_base_sink_change_state):
860         * gst/base/gstbasesink.h:
861         Store and use discont values when syncing buffers as described
862         in design docs.
863         
864         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
865         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
866         (gst_base_src_activate_push):
867         Push discont event when starting.
868
869         * gst/elements/gstidentity.c: (gst_identity_transform):
870         Small cleanups.
871
872         * gst/gstbin.c: (gst_bin_change_state):
873         Small cleanups in base_time  distribution.
874
875         * gst/gstelement.c: (gst_element_set_base_time),
876         (gst_element_get_base_time), (gst_element_change_state):
877         * gst/gstelement.h:
878         Added methods for the base_time of the element.
879         Some MT fixes.
880
881         * gst/gstpipeline.c: (gst_pipeline_send_event),
882         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
883         (gst_pipeline_get_last_stream_time):
884         * gst/gstpipeline.h:
885         MT fixes.
886         Handle seeking as described in design doc, remove stream_time
887         hack.
888         Cleanups clock and stream_time selection code. Added accessors
889         for the stream_time.
890         
891
892 2005-07-16  Andy Wingo  <wingo@pobox.com>
893
894         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
895         (#305291).
896
897 2005-07-16  Wim Taymans  <wim@fluendo.com>
898
899         * check/gst/gstbin.c: (GST_START_TEST):
900         Make elements silent as the deep_notify refs the
901         parent, which might make the test fail.
902
903         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
904         Don't hold the lock for too long.
905
906 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
909           Don't unref the caps we passed to gst_caps_make_writable() after
910           passing them. gst_caps_make_writable() will do that for us.
911
912 2005-07-15  Andy Wingo  <wingo@pobox.com>
913
914         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
915         (#157311).
916
917         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
918         own marshalling function for the handoff signal. Properly type the
919         buffer as a buffer. Fixes some warnings. Should do a more general
920         solution.
921         (gst_identity_class_init): Plug into the right marshaller.
922
923 2005-07-15  Wim Taymans  <wim@fluendo.com>
924
925         * docs/design/part-TODO.txt:
926         * docs/design/part-clocks.txt:
927         * docs/design/part-element-sink.txt:
928         * docs/design/part-events.txt:
929         * docs/design/part-gstpipeline.txt:
930         Updated docs, mostly DISCONT related.
931
932 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
933
934         * docs/pwg/building-pads.xml:
935           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
936
937 2005-07-15  Andy Wingo  <wingo@pobox.com>
938
939         * tools/gst-typefind.c: Update, add copyright block.
940
941         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
942         Normalize and truncate caps before fixation.
943
944         * gst/gstcaps.h:
945         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
946         discards all but the first structure from its argument.
947
948 2005-07-15  Wim Taymans  <wim@fluendo.com>
949
950         * gst/base/gstbasetransform.c: (gst_base_transform_init),
951         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
952         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
953         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
954         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
955         (gst_base_transform_chain), (gst_base_transform_change_state),
956         (gst_base_transform_set_passthrough),
957         (gst_base_transform_is_passthrough):
958         * gst/base/gstbasetransform.h:
959         Make passthrough work using the bufferpools.
960         Changed API a bit, subclasses have to write into a buffer
961         provided by the base class.
962         More debug info in nego functions.
963         
964         * gst/elements/gstidentity.c: (gst_identity_init),
965         (gst_identity_transform):
966         Port to new base class.
967
968 2005-07-15  Wim Taymans  <wim@fluendo.com>
969
970         * gst/gstmessage.c: (gst_message_new_state_changed):
971         * tools/gst-launch.c: (event_loop), (main):
972         Totally dump messages in -launch with the -m option.
973         Fix message name for State messages,
974
975 2005-07-14  Wim Taymans  <wim@fluendo.com>
976
977         * gst/base/gstbasesrc.c: (gst_base_src_loop):
978         Post error messages on errors.
979
980 2005-07-14  Wim Taymans  <wim@fluendo.com>
981
982         * gst/gstcaps.c: (gst_caps_do_simplify):
983         Remove debug info.
984
985         * gst/gsterror.h:
986         Define error for stream stopped.
987
988         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
989         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
990         Do proper return values.
991
992         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
993         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
994         (gst_pad_get_range):
995         Better return values.
996
997         * gst/gstpad.h:
998         Reorganise return values, add macro to check for fatal errors.
999
1000         * gst/gstqueue.c: (gst_queue_chain):
1001         Return proper GstFlowReturn values,
1002
1003 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1004
1005         * docs/gst/gstreamer-sections.txt:
1006         * docs/gst/gstreamer.types:
1007         * docs/gst/tmpl/gst.sgml:
1008         * docs/gst/tmpl/gstbasesink.sgml:
1009         * docs/gst/tmpl/gstbasesrc.sgml:
1010         * docs/gst/tmpl/gstbasetransform.sgml:
1011         * docs/gst/tmpl/gstbin.sgml:
1012         * docs/gst/tmpl/gstbuffer.sgml:
1013         * docs/gst/tmpl/gstcaps.sgml:
1014         * docs/gst/tmpl/gstclock.sgml:
1015         * docs/gst/tmpl/gstcompat.sgml:
1016         * docs/gst/tmpl/gstconfig.sgml:
1017         * docs/gst/tmpl/gstelement.sgml:
1018         * docs/gst/tmpl/gstelementdetails.sgml:
1019         * docs/gst/tmpl/gstelementfactory.sgml:
1020         * docs/gst/tmpl/gstenumtypes.sgml:
1021         * docs/gst/tmpl/gsterror.sgml:
1022         * docs/gst/tmpl/gstevent.sgml:
1023         * docs/gst/tmpl/gstfakesink.sgml:
1024         * docs/gst/tmpl/gstfakesrc.sgml:
1025         * docs/gst/tmpl/gstfilesink.sgml:
1026         * docs/gst/tmpl/gstfilesrc.sgml:
1027         * docs/gst/tmpl/gstfilter.sgml:
1028         * docs/gst/tmpl/gstformat.sgml:
1029         * docs/gst/tmpl/gstghostpad.sgml:
1030         * docs/gst/tmpl/gstimplementsinterface.sgml:
1031         * docs/gst/tmpl/gstindex.sgml:
1032         * docs/gst/tmpl/gstindexfactory.sgml:
1033         * docs/gst/tmpl/gstinfo.sgml:
1034         * docs/gst/tmpl/gstiterator.sgml:
1035         * docs/gst/tmpl/gstmacros.sgml:
1036         * docs/gst/tmpl/gstmemchunk.sgml:
1037         * docs/gst/tmpl/gstminiobject.sgml:
1038         * docs/gst/tmpl/gstobject.sgml:
1039         * docs/gst/tmpl/gstpad.sgml:
1040         * docs/gst/tmpl/gstpadtemplate.sgml:
1041         * docs/gst/tmpl/gstparse.sgml:
1042         * docs/gst/tmpl/gstpipeline.sgml:
1043         * docs/gst/tmpl/gstplugin.sgml:
1044         * docs/gst/tmpl/gstpluginfeature.sgml:
1045         * docs/gst/tmpl/gstquery.sgml:
1046         * docs/gst/tmpl/gstqueue.sgml:
1047         * docs/gst/tmpl/gstregistry.sgml:
1048         * docs/gst/tmpl/gstregistrypool.sgml:
1049         * docs/gst/tmpl/gstscheduler.sgml:
1050         * docs/gst/tmpl/gstschedulerfactory.sgml:
1051         * docs/gst/tmpl/gststructure.sgml:
1052         * docs/gst/tmpl/gstsystemclock.sgml:
1053         * docs/gst/tmpl/gsttaglist.sgml:
1054         * docs/gst/tmpl/gsttagsetter.sgml:
1055         * docs/gst/tmpl/gsttrace.sgml:
1056         * docs/gst/tmpl/gsttrashstack.sgml:
1057         * docs/gst/tmpl/gsttypefind.sgml:
1058         * docs/gst/tmpl/gsttypefindfactory.sgml:
1059         * docs/gst/tmpl/gsttypes.sgml:
1060         * docs/gst/tmpl/gsturihandler.sgml:
1061         * docs/gst/tmpl/gsturitype.sgml:
1062         * docs/gst/tmpl/gstutils.sgml:
1063         * docs/gst/tmpl/gstvalue.sgml:
1064         * docs/gst/tmpl/gstversion.sgml:
1065         * docs/gst/tmpl/gstxml.sgml:
1066         * docs/libs/tmpl/gstcontrol.sgml:
1067         * docs/libs/tmpl/gstdataprotocol.sgml:
1068         * docs/libs/tmpl/gstdparam.sgml:
1069         * docs/libs/tmpl/gstdplinint.sgml:
1070         * docs/libs/tmpl/gstdpman.sgml:
1071         * docs/libs/tmpl/gstdpsmooth.sgml:
1072         * docs/libs/tmpl/gstgetbits.sgml:
1073         * docs/libs/tmpl/gstunitconvert.sgml:
1074         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1075         (gst_push_src_base_init), (gst_push_src_class_init),
1076         (gst_push_src_init), (gst_push_src_create):
1077         * gst/base/gstpushsrc.h:
1078         * gst/elements/gstelements.c:
1079         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1080         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1081         (gst_fake_sink_init), (gst_fake_sink_set_property),
1082         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1083         (gst_fake_sink_event), (gst_fake_sink_preroll),
1084         (gst_fake_sink_render), (gst_fake_sink_change_state):
1085         * gst/elements/gstfakesink.h:
1086         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1087         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1088         (gst_fake_src_base_init), (gst_fake_src_class_init),
1089         (gst_fake_src_init), (gst_fake_src_event_handler),
1090         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1091         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1092         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1093         (gst_fake_src_create_buffer), (gst_fake_src_create),
1094         (gst_fake_src_start), (gst_fake_src_stop):
1095         * gst/elements/gstfakesrc.h:
1096         * gst/elements/gstfilesink.c: (_do_init),
1097         (gst_file_sink_base_init), (gst_file_sink_class_init),
1098         (gst_file_sink_init), (gst_file_sink_dispose),
1099         (gst_file_sink_set_location), (gst_file_sink_set_property),
1100         (gst_file_sink_get_property), (gst_file_sink_open_file),
1101         (gst_file_sink_close_file), (gst_file_sink_query),
1102         (gst_file_sink_event), (gst_file_sink_render),
1103         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1104         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1105         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1106         * gst/elements/gstfilesink.h:
1107         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1108         (gst_file_src_class_init), (gst_file_src_init),
1109         (gst_file_src_finalize), (gst_file_src_set_location),
1110         (gst_file_src_set_property), (gst_file_src_get_property),
1111         (gst_file_src_map_region), (gst_file_src_map_small_region),
1112         (gst_file_src_create_mmap), (gst_file_src_create_read),
1113         (gst_file_src_create), (gst_file_src_is_seekable),
1114         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1115         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1116         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1117         (gst_file_src_uri_handler_init):
1118         * gst/elements/gstfilesrc.h:
1119           more autistic cleanliness in functions/names/defines
1120
1121 2005-07-13  Andy Wingo  <wingo@pobox.com>
1122
1123         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1124         source couldn't negotiate.
1125
1126         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1127         connections again.
1128
1129         * gst/gstutils.h:
1130         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1131         function. I am channeling Hades. Put your boots on suckers!!!
1132
1133 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1134
1135         * testsuite/caps/Makefile.am:
1136         * testsuite/caps/value_compare.c:
1137         * testsuite/caps/value_intersect.c:
1138         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1139           move two testsuite apps over to the check dir
1140
1141 2005-07-12  Wim Taymans  <wim@fluendo.com>
1142
1143         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1144         Added more debug info in the negotiate process.
1145
1146         * gst/gstmessage.h:
1147         Prepare for segment playback.
1148
1149         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1150         Better debugging.
1151
1152         * gst/gstutils.c:
1153         Some more docs.
1154
1155         * tools/gst-launch.c: (main):
1156         NULL pipeline on errors.
1157
1158 2005-07-12  Andy Wingo  <wingo@pobox.com>
1159
1160         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1161         not it comes from a malloc region. Make sure our copy gets freed.
1162
1163 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1164
1165         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1166         * check/gst/gstmessage.c: (GST_START_TEST):
1167         * check/gst/gststructure.c: (GST_START_TEST),
1168         (gst_structure_suite), (main):
1169           more testing
1170         * gst/gstelement.c: (gst_element_message_full):
1171           clean up GError and debug string now that they get copied
1172         * gst/gstmessage.c: (gst_message_new_error),
1173         (gst_message_new_warning), (gst_message_parse_error),
1174         (gst_message_parse_warning):
1175           use GST_TYPE_G_ERROR for structure_new, and take copies of
1176           arguments, so that we don't mess up refcounting
1177
1178 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1179
1180         * check/Makefile.am:
1181           add per-test valgrind targets
1182         * check/gst-libs/gdp.c: (GST_START_TEST),
1183         (gst_data_protocol_suite), (main):
1184           clean up
1185
1186 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1187
1188         * check/Makefile.am:
1189           instate more valgrindable tests
1190         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1191         (GST_START_TEST), (fakesrc_suite):
1192         * check/gst/gstpad.c: (GST_START_TEST):
1193         * check/gst/gststructure.c: (GST_START_TEST):
1194           fix test leaks
1195         * docs/gst/tmpl/gstminiobject.sgml:
1196         * gst/gstpad.c: (gst_pad_finalize):
1197           fix the static mutex leak
1198
1199 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * check/Makefile.am:
1202           add two more tests for valgrinding
1203         * check/gst/gstvalue.c: (GST_START_TEST):
1204           test refcount of deserialized buffer, found a leak
1205         * docs/gst/gstreamer-docs.sgml:
1206         * docs/gst/gstreamer-sections.txt:
1207         * docs/gst/gstreamer.types:
1208         * docs/gst/tmpl/gstminiobject.sgml:
1209           add miniobject to docs
1210         * gst/gstminiobject.c:
1211           add some docs
1212         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1213         (gst_string_unwrap):
1214           fix a hard-to-find invalid write for one of the tests
1215           fix a leak for deserialized buffers
1216
1217 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1218
1219         * docs/pwg/advanced-events.xml:
1220         * docs/pwg/advanced-request.xml:
1221         * docs/pwg/advanced-scheduling.xml:
1222         * docs/pwg/appendix-porting.xml:
1223         * docs/pwg/building-boiler.xml:
1224         * docs/pwg/intro-preface.xml:
1225         * docs/pwg/other-ntoone.xml:
1226           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1227           of example code and explanation for pad activation, loop() and
1228           getrange() functions and a bit more. Remove old comments pointing
1229           to loop-functions.
1230         * examples/pwg/Makefile.am:
1231           Add loop/getrange examples.
1232
1233 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1234
1235         * configure.ac:
1236           check for valgrind binary + some fixes
1237         * check/gst.supp:
1238           valgrind suppressions for the tests
1239         * check/Makefile.am:
1240           add a valgrind: target that valgrinds the unit tests
1241         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1242         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1243         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1244         * check/gst/gstghostpad.c:
1245           added some cleanup
1246         * check/gst/gstdata.c:
1247           removed
1248         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1249         (thread_unref), (gst_mini_object_suite), (main):
1250           added
1251         * gst/gst.c: (gst_deinit):
1252         * gst/gst.h:
1253           add a method to clean up.
1254         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1255         (gst_system_clock_obtain):
1256           allow for disposing the system clock.
1257         * tools/gst-launch.c: (main):
1258           deinit
1259
1260 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1261
1262         * docs/gst/tmpl/gstbasesrc.sgml:
1263         * docs/gst/tmpl/gstfakesrc.sgml:
1264         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1265         (gst_base_src_init), (gst_base_src_set_property),
1266         (gst_base_src_get_property), (gst_base_src_get_range),
1267         (gst_base_src_start):
1268         * gst/base/gstbasesrc.h:
1269           add num-buffers property
1270         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1271         (gst_fakesrc_init), (gst_fakesrc_set_property),
1272         (gst_fakesrc_get_property), (gst_fakesrc_create),
1273         (gst_fakesrc_start):
1274           remove num-buffers property
1275
1276 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1277
1278         * docs/gst/gstreamer-sections.txt:
1279         * docs/gst/tmpl/gstbasesink.sgml:
1280         * docs/gst/tmpl/gstbasesrc.sgml:
1281         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1282         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1283         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1284         (gst_base_sink_set_property), (gst_base_sink_get_property),
1285         (gst_base_sink_handle_object), (gst_base_sink_event),
1286         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1287         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1288         (gst_base_sink_loop), (gst_base_sink_deactivate),
1289         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1290         (gst_base_sink_change_state):
1291         * gst/base/gstbasesink.h:
1292         * gst/base/gstbasesrc.h:
1293         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1294         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1295         (gst_filesink_init):
1296           more macro splitting
1297
1298 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1299
1300         * gst/gstelement.c: (gst_element_get_bus):
1301           add debug
1302         * tools/gst-launch.c: (check_intr), (event_loop):
1303           fix bus leaks
1304
1305 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1306
1307         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1308           fix a caps leak
1309
1310 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1311
1312         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1313         (gst_base_src_finalize):
1314           add finalize method and clean up properly
1315         * gst/gstpipeline.c: (gst_pipeline_dispose):
1316           add debug
1317
1318 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1319
1320         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1321         (gst_bin_suite):
1322           add more things to check
1323         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1324         * gst/gstelement.c:
1325           more debug
1326
1327 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1328
1329         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1330         (GST_START_TEST), (fakesrc_suite):
1331         * check/gst-libs/gdp.c: (GST_START_TEST):
1332         * check/gst/gst.c: (GST_START_TEST):
1333         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1334         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1335         * check/gst/gstbus.c: (GST_START_TEST):
1336         * check/gst/gstcaps.c: (GST_START_TEST):
1337         * check/gst/gstdata.c: (GST_START_TEST):
1338         * check/gst/gstelement.c: (GST_START_TEST):
1339         * check/gst/gstghostpad.c: (GST_START_TEST):
1340         * check/gst/gstiterator.c: (GST_START_TEST):
1341         * check/gst/gstmessage.c: (GST_START_TEST):
1342         * check/gst/gstobject.c: (GST_START_TEST):
1343         * check/gst/gstpad.c: (GST_START_TEST):
1344         * check/gst/gststructure.c: (GST_START_TEST):
1345         * check/gst/gstsystemclock.c: (GST_START_TEST),
1346         (gst_systemclock_suite):
1347         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1348         * check/gst/gstvalue.c: (GST_START_TEST):
1349         * check/pipelines/cleanup.c: (GST_START_TEST):
1350         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1351         * check/states/sinks.c: (GST_START_TEST):
1352         * check/gstcheck.c: (gst_check_init):
1353         * check/gstcheck.h:
1354           add debugging category
1355           use GST_START_TEST now, so we add a debug line
1356
1357 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1358
1359         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1360           add test for state change message on a bin
1361         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1362           add another test
1363         * gst/gstbin.c: (gst_bin_init):
1364         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1365         * gst/gstelement.c: (gst_element_post_message),
1366         (gst_element_set_state):
1367         * gst/gstelementfactory.c: (gst_element_factory_create):
1368         * gst/gstmessage.c: (gst_message_new):
1369         * gst/gstscheduler.c:
1370           various debugging additions and cleanups
1371
1372 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1373
1374         * check/Makefile.am:
1375         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1376         (main):
1377           adding tests for elements
1378         * gst/gstelement.c: (gst_element_dispose):
1379
1380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1381
1382         * gst/registries/gstlibxmlregistry.c: (load_feature):
1383           plug more leaks.  A simple gst_init() now is leakfree, yay.
1384
1385 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1388         (gst_xml_registry_load):
1389           plug another memleak
1390
1391 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1392
1393         * configure.ac:
1394           use GST_SET_ERROR_CFLAGS
1395         * docs/faq/cvs.xml:
1396           change to ERROR_CFLAGS
1397
1398 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1399
1400         * configure.ac:
1401           make GST_ERROR_CFLAGS overridable and re-enable Werror
1402         * docs/faq/cvs.xml:
1403           add a note about error CFLAGS
1404         * docs/gst/tmpl/gstfakesrc.sgml:
1405         * gst/elements/gstfakesrc.c:
1406           comment out some unused code
1407         * gst/gst.c: (split_and_iterate):
1408         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1409         (load_feature):
1410           plug some memleaks
1411
1412 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1413
1414         * common/Makefile.am:
1415         * common/gtk-doc.mak:
1416         * docs/gst/Makefile.am:
1417           factor out gtk-doc.mak
1418
1419 2005-07-07  Wim Taymans  <wim@fluendo.com>
1420
1421         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1422         (gst_thread_scheduler_dispose):
1423         Unlock the STREAM_LOCK completely.
1424
1425 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1426
1427         * check/Makefile.am:
1428         * check/elements/.cvsignore:
1429         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1430         (START_TEST), (fakesrc_suite), (main):
1431         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1432         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1433         (gst_fakesrc_create), (gst_fakesrc_start):
1434         * gst/elements/gstfakesrc.h:
1435           adding a first element test
1436
1437 2005-07-07  Andy Wingo  <wingo@pobox.com>
1438
1439         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1440         debug message.
1441
1442 2005-07-07  Wim Taymans  <wim@fluendo.com>
1443
1444         * gst/gstquery.c:
1445         * gst/gstquery.h:
1446         Remove old types
1447
1448 2005-07-07  Wim Taymans  <wim@fluendo.com>
1449
1450         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1451         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1452         Allow subclasses to implement their own negotiation.
1453
1454 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1455
1456         * docs/design/part-gstbin.txt:
1457         * docs/design/part-gstpipeline.txt:
1458           Update design notes to reflect the movement of
1459           responsibility for bus handling from GstPipeline to
1460           GstBin
1461
1462 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1463
1464         * configure.ac:
1465           Remove unnecessary queue2/3/4 examples.
1466
1467 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1468
1469         * examples/Makefile.am:
1470         * examples/helloworld/helloworld.c: (event_loop), (main):
1471         * examples/queue/queue.c: (event_loop), (main):
1472         * examples/queue2/queue2.c: (main):
1473           Update a couple of the examples to work again.
1474
1475         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1476         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1477          Spelling corrections and extra debug.
1478         
1479         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1480         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1481         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1482         * gst/gstbin.h:
1483         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1484         (gst_pipeline_change_state):
1485         * gst/gstpipeline.h:
1486           Move the bus handler for children to the GstBin, and create a
1487           separate bus for receiving messages from children to the one the
1488           bus sends 'upwards' on.
1489
1490 2005-07-06  Wim Taymans  <wim@fluendo.com>
1491
1492         * gst/base/README:
1493         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1494         (gst_base_sink_handle_object), (gst_base_sink_loop),
1495         (gst_base_sink_change_state):
1496         * gst/base/gstbasesink.h:
1497         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1498         (gst_base_src_init), (gst_base_src_setcaps),
1499         (gst_base_src_getcaps), (gst_base_src_loop),
1500         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1501         (gst_base_src_start), (gst_base_src_change_state):
1502         * gst/base/gstbasesrc.h:
1503         Make basesrc negotiate.
1504         Handle the case where preroll fails in basesink.
1505         Update README.
1506
1507 2005-07-06  Wim Taymans  <wim@fluendo.com>
1508
1509         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1510         Implement the fixate function.
1511         Clean up acceptcaps.
1512
1513 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1514
1515         * docs/pwg/building-filterfactory.xml:
1516         * docs/pwg/pwg.xml:
1517           Remove never-written filter-factory chapter; I'll add the various
1518           base classes to part 4 ("other element types") later on.
1519
1520 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1521
1522         * docs/pwg/advanced-negotiation.xml:
1523         * docs/pwg/building-boiler.xml:
1524         * docs/pwg/building-pads.xml:
1525         * docs/pwg/pwg.xml:
1526         * examples/pwg/Makefile.am:
1527           Add a chapter on caps negotiation, simplify the original code
1528           samples a bit w.r.t. caps negotiation, add link to the advanced
1529           section. Add a bunch of examples showing different use cases of
1530           different types of caps negotiation. Upstream renegotiation isn't
1531           fully documented yet since nobody knows how that works.
1532
1533 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1534
1535         * check/gst/gstpad.c:
1536         * check/gstcheck.c:
1537         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1538           if pad has no parent, return NULL as list of internal links
1539
1540 2005-07-05  Andy Wingo  <wingo@pobox.com>
1541
1542         * gst/elements/gstfilesrc.c:
1543         * gst/elements/gstfakesrc.c: 
1544         * gst/base/gstpushsrc.c:
1545         * gst/base/gstbasesrc.h: 
1546         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1547         
1548 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1549
1550         * Makefile.am:
1551           better report generation target (lcov needs a patch)
1552
1553 2005-07-05  Andy Wingo  <wingo@pobox.com>
1554
1555         * gst/elements, testsuite: Null if we got it...
1556
1557 2005-07-05  Wim Taymans  <wim@fluendo.com>
1558
1559         * configure.ac:
1560         * libs/gst/dataprotocol/Makefile.am:
1561         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1562         * libs/gst/dataprotocol/dataprotocol.h:
1563         * pkgconfig/Makefile.am:
1564         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1565         * pkgconfig/gstreamer-dataprotocol.pc.in:
1566         Ported dataprotol to 0.9. 
1567         Added pkgconfig files.
1568
1569 2005-07-05  Andy Wingo  <wingo@pobox.com>
1570
1571         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1572         Default to returning TRUE for the case when tranform_caps returns
1573         a fixed caps, like for identity or volume.
1574
1575         * check/gst/gstbus.c (pound_bus_with_messages): 
1576         * check/gst/gstmessage.c (START_TEST): 
1577         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1578         message API change.
1579
1580         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1581         logic weaks here: always run transform_caps, trying passthrough
1582         operation only if the original caps intersects with the transform.
1583
1584         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1585         source and sink caps.
1586
1587         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1588         Intersect the peer caps with the pad template before going into
1589         transform_caps.
1590         (gst_base_transform_transform_caps): More debugging.
1591
1592         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1593         src argument.
1594
1595 2005-07-04  Edward Hervey  <edward@fluendo.com>
1596
1597         * gst/gstutils.c:
1598         * gst/gstutils.h:
1599         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1600         in bindings.
1601
1602 2005-07-04  Andy Wingo  <wingo@pobox.com>
1603
1604         * check/gst/gstpad.c: Only set explicit caps on pads.
1605
1606 2005-07-01  Andy Wingo  <wingo@pobox.com>
1607
1608         * tests/network-clock.scm: Commentary update.
1609
1610         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1611         Didn't really make sense, not implementable with basetransform,
1612         etc.
1613         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1614         attempt at implementing the sync property, needs an unlock method.
1615
1616         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1617         New func, by default returns the same caps (the identity
1618         transformation).
1619         (gst_base_transform_getcaps): Uses transform_caps to return
1620         something sensible.
1621         (gst_base_transform_setcaps): Complicated logic to get caps on
1622         both pads, even if they are different, and to call set_caps once
1623         for every time both pads get their caps set.
1624         (gst_base_transform_handle_buffer): Give the ref to the transform
1625         function. Allows in-place modification of the buffer.
1626
1627         * gst/base/gstbasetransform.h (transform_caps): New class method.
1628         Given caps on one side, what can I do on the other.
1629         (set_caps): Take two caps, one for each side of the element.
1630
1631         * gst/gstpad.h:
1632         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1633         caps in place. This is safe because we can check the mutability of
1634         the caps, and a good idea because fixate functions are just called
1635         as a matter of last resort. (Not actually implemented.)
1636         (gst_pad_set_caps): If the caps we're setting is actually the same
1637         as the existing pad caps, just update the pointer without calling
1638         setcaps. Assert that caps is either NULL or fixed, as per the
1639         docs.
1640
1641         * gst/gstghostpad.c: Update for fixate changes.
1642
1643 2005-07-02  Andy Wingo  <wingo@pobox.com>
1644
1645         * gst/gstcaps.c:
1646         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1647         two refcounts makes it immutable, which is enough. Doc more.
1648
1649 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1650
1651         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1652           Put the mini_object into GValue as a mini_object,
1653           not a gpointer, since that's how we declared
1654           the signal.
1655
1656 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1657
1658         * examples/pwg/Makefile.am:
1659           Fix buildbot again.
1660
1661 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1662
1663         * docs/pwg/building-testapp.xml:
1664           Add extra check.
1665         * examples/pwg/Makefile.am:
1666           Fix buildbot.
1667
1668 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1669
1670         * configure.ac:
1671         * examples/Makefile.am:
1672         * examples/pwg/Makefile.am:
1673         * examples/pwg/extract.pl:
1674           Enable building the PWG examples.
1675         * docs/pwg/advanced-interfaces.xml:
1676           Add URI interface stub.
1677         * docs/pwg/advanced-types.xml:
1678         * docs/pwg/other-autoplugger.xml:
1679         * docs/pwg/appendix-porting.xml:
1680         * docs/pwg/pwg.xml:
1681           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1682         * docs/pwg/building-boiler.xml:
1683         * docs/pwg/building-chainfn.xml:
1684         * docs/pwg/building-pads.xml:
1685         * docs/pwg/building-props.xml:
1686         * docs/pwg/building-state.xml:
1687         * docs/pwg/building-testapp.xml:
1688           Update the building-*.xml parts for 0.9 changes. All examples
1689           code blocks compile in examples/pwg/*.
1690
1691 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1692
1693         * docs/manual/advanced-autoplugging.xml:
1694         * docs/manual/appendix-checklist.xml:
1695         * docs/manual/appendix-integration.xml:
1696         * docs/manual/highlevel-components.xml:
1697           Fix playbin/decodebin examples, update docs a bit, mention bus
1698           instead of signals in various places, mention kmplayer and
1699           kaffeine since they have a working GStreamer backend in the KDE
1700           section.
1701
1702 2005-06-30  Wim Taymans  <wim@fluendo.com>
1703
1704         * CHANGES-0.9:
1705         * docs/design/draft-ghostpads.txt:
1706         * docs/design/draft-push-pull.txt:
1707         * docs/design/draft-query.txt:
1708         * docs/design/part-TODO.txt:
1709         * docs/design/part-query.txt:
1710         Added CHANGES-0.9 doc, updated status of other docs.
1711         
1712         * gst/gstquery.h:
1713         Remove "hmm" macro
1714
1715 2005-06-30  Wim Taymans  <wim@fluendo.com>
1716
1717         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1718         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1719         (gst_base_sink_change_state):
1720         * gst/base/gstbasesink.h:
1721         Some tweaks, only EOS and a buffer complete a preroll.
1722
1723 2005-06-30  Andy Wingo  <wingo@pobox.com>
1724
1725         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1726         activate_push down to the internal pad as well.
1727
1728 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1729
1730         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1731
1732         * gst/gsttaginterface.c:
1733           Some documentation fixes (#307394 and #307397).
1734
1735 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1736
1737         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1738
1739         * gst/gstvalue.c: (gst_value_intersect_list):
1740           Fix memleak (#309125).
1741
1742 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1743
1744         * docs/manual/advanced-dataaccess.xml:
1745           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1746         * docs/manual/basics-pads.xml:
1747           Add reference for filtered caps to above chapter.
1748
1749 2005-06-30  Wim Taymans  <wim@fluendo.com>
1750
1751         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1752         (gst_bin_change_state):
1753         Probes are gone.
1754         Lame attempt at making the state change function a bit
1755         more readable.
1756
1757 2005-06-30  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/design/part-clocks.txt:
1760         * docs/design/part-element-sink.txt:
1761         * docs/design/part-events.txt:
1762         * docs/design/part-preroll.txt:
1763         * docs/design/part-states.txt:
1764         Some more tweeks and additions to the docs.
1765
1766 2005-06-30  Wim Taymans  <wim@fluendo.com>
1767
1768         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1769         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1770         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1771         (gst_pad_check_pull_range), (gst_pad_get_range),
1772         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1773         * gst/gstpad.h:
1774         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1775         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1776         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1777         (gst_pad_remove_buffer_probe):
1778         Removed atomic operations, use existing LOCK.
1779         Move exception handling out of main code path.
1780
1781 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1782
1783         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1784         (silly_return_true_function), (gst_pad_class_init),
1785         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1786         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1787         (gst_pad_send_event):
1788           Fix accumulator, add default value by using _emitv() instead
1789           of _emit() for signal emission.
1790
1791 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1792
1793         * docs/manual/advanced-dataaccess.xml:
1794         * examples/manual/Makefile.am:
1795           Add probe example.
1796         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1797           Make work (??).
1798
1799 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1800
1801         * gst/elements/gstfilesink.c: (gst_filesink_render):
1802           Simplify code so that we don't have to handle short
1803           writes and return GST_FLOW_ERROR if an error occured.
1804
1805 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1806
1807         * docs/gst/gstreamer-docs.sgml:
1808           Remove probes more.
1809
1810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1811
1812         * docs/gst/gstreamer-sections.txt:
1813         * docs/gst/tmpl/gstpad.sgml:
1814         * docs/gst/tmpl/gstprobe.sgml:
1815         * gst/Makefile.am:
1816         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1817         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1818         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1819         (gst_pad_push_event), (gst_pad_send_event):
1820         * gst/gstpad.h:
1821         * gst/gstutils.c: (gst_pad_add_data_probe),
1822         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1823         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1824         (gst_pad_remove_buffer_probe):
1825         * gst/gstutils.h:
1826           Remove old probes, add new g-signal-based probes and some utility
1827           functions.
1828
1829 2005-06-29  Edward Hervey  <edward@fluendo.com>
1830
1831         * gst/gstelementfactory.c:
1832         * gst/gstutils.h:
1833         * gst/gstutils.c:
1834         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1835         the definition to the header file.
1836
1837 2005-06-29  Andy Wingo  <wingo@pobox.com>
1838
1839         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1840         plugins from the source directory.
1841
1842 2005-06-29  Wim Taymans  <wim@fluendo.com>
1843
1844         * docs/gst/tmpl/gstbuffer.sgml:
1845         * docs/gst/tmpl/gstclock.sgml:
1846         Some fixings for blantently wrong text.
1847
1848 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1849
1850         * check/Makefile.am:
1851         * gst/gst.c: (add_path_func), (init_pre):
1852         * gst/gstregistry.c: (gst_registry_add_path):
1853           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1854           only scan the GST_PLUGIN_PATH locations, and not add
1855           system locations
1856
1857 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1858
1859         * docs/gst/gstreamer-sections.txt:
1860         * docs/gst/tmpl/gstbasesrc.sgml:
1861         * gst/gstelement.c:
1862         * gst/gstelement.h:
1863         * gst/gstevent.c:
1864         * gst/gstutils.c:
1865           doc fixes
1866
1867 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1868
1869         * docs/manual/advanced-autoplugging.xml:
1870           Fix autoplugging example.
1871
1872 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1873
1874         * docs/manual/advanced-autoplugging.xml:
1875         * docs/manual/mime-world.fig:
1876           Try to get autoplugging working, fix type detection. Fix text
1877           in hello-world image.
1878
1879 2005-06-29  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1882         (gst_base_sink_change_state):
1883         Small debug line.
1884
1885         * gst/gstclock.h:
1886         map SIGNAL and BROADCAST to the right function.
1887
1888         * gst/gstobject.h:
1889         Remove redundant braces.
1890
1891         * gst/gstpad.c: (gst_pad_set_caps):
1892         Don't call setcaps function when reseting caps to NULL.
1893
1894         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1895         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1896         (gst_system_clock_id_unschedule):
1897         Use BROADCAST as this is what we do.
1898
1899 2005-06-29  Wim Taymans  <wim@fluendo.com>
1900
1901         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1902         We are actually prerolling before commiting the state
1903         change. 
1904
1905 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1906
1907         * docs/manual/advanced-clocks.xml:
1908         * docs/manual/advanced-interfaces.xml:
1909         * docs/manual/advanced-metadata.xml:
1910         * docs/manual/advanced-position.xml:
1911         * docs/manual/advanced-schedulers.xml:
1912         * docs/manual/advanced-threads.xml:
1913         * docs/manual/appendix-porting.xml:
1914         * docs/manual/basics-bins.xml:
1915         * docs/manual/basics-bus.xml:
1916         * docs/manual/basics-elements.xml:
1917         * docs/manual/basics-helloworld.xml:
1918         * docs/manual/basics-pads.xml:
1919         * docs/manual/highlevel-components.xml:
1920         * docs/manual/manual.xml:
1921         * docs/manual/thread.fig:
1922           Update (until threads/scheduling) Application Development Manual;
1923           remove GstThread, add GstBus, add simple porting checklist, add
1924           documentation for tag writing, clocks, make all examples until this
1925           part compile and run.
1926         * examples/manual/Makefile.am:
1927           Update from changes to Application Development Manual; add bus
1928           example, remove thread example.
1929
1930 2005-06-28  Wim Taymans  <wim@fluendo.com>
1931
1932         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1933         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1934         (gst_bus_source_dispatch):
1935         Add debugging messages.
1936         Make internal methods static.
1937         Handle the case where the bus is flushed in the handler.
1938         
1939         * gst/gstelement.c: (gst_element_get_bus):
1940         Fix refcount in _get_bus();
1941
1942         * gst/gstpipeline.c: (gst_pipeline_change_state),
1943         (gst_pipeline_get_clock_func):
1944         Clock refcounting fixes.
1945         Handle the case where preroll timed out more gracefully.
1946         
1947         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1948         Clean up the internal thread in dispose. This is needed
1949         for subclasses that actually get disposed.
1950         
1951         * gst/schedulers/threadscheduler.c:
1952         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1953         (gst_thread_scheduler_dispose):
1954         Free thread pool in dispose.
1955
1956 2005-06-28  Andy Wingo  <wingo@pobox.com>
1957
1958         * tests/network-clock-utils.scm (debug, print-event): New utils.
1959
1960         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1961         (*packet-loss*): Unified loss probability.
1962         (network-time): Report out-of-band events.
1963
1964         * tests/plot-data: Add support for out-of-band events. Hack it
1965         into this script instead of passing it down the pipe; should fix
1966         this later.
1967
1968 2005-06-28  Wim Taymans  <wim@fluendo.com>
1969
1970         * docs/gst/gstreamer.types:
1971         * docs/gst/tmpl/gstbasesrc.sgml:
1972         * docs/gst/tmpl/gstpad.sgml:
1973         Docs fixes.
1974
1975 2005-06-28  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1978         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1979         (gst_proxy_pad_do_fixatecaps):
1980         Correctly proxy the check_pull_range function.
1981
1982 2005-06-28  Andy Wingo  <wingo@pobox.com>
1983
1984         * tests/network-clock.scm: Removed need for slib.
1985         
1986 2005-06-28  Wim Taymans  <wim@fluendo.com>
1987
1988         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1989         (gst_basesink_preroll_queue_flush):
1990         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1991         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1992         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1993         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1994         (gst_proxy_pad_set_property):
1995         * gst/gstpad.c:
1996         * gst/gstpad.h:
1997         * gst/gstqueue.c: (gst_queue_init):
1998         The deprecated pad loop function is removed now.
1999
2000 2005-06-28  Andy Wingo  <wingo@pobox.com>
2001
2002         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2003         New parameters, simulate network packet loss.
2004
2005         * tests/network-clock-utils.scm: Initialize the RNG.
2006
2007 2005-06-28  Wim Taymans  <wim@fluendo.com>
2008
2009         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2010         (gst_basesink_event), (gst_basesink_deactivate):
2011         Flushing the preroll queue always needs to unlock the waiters.
2012
2013 2005-06-28  Edward Hervey  <edward@fluendo.com>
2014
2015         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2016         Wheen a seek was successful on a pipeline, set the stream_time to the
2017         seek offset in order to have a synchronized stream_time.
2018
2019 2005-06-28  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2022         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2023         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2024         (gst_proxy_pad_do_fixatecaps):
2025         Call wrapper function instead of just calling the function
2026         pointers. This takes care of any locking and whatmore.
2027
2028 2005-06-28  Wim Taymans  <wim@fluendo.com>
2029
2030         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2031         (gst_pad_pull_range):
2032         * gst/gstpad.h:
2033         CONNECTED -> LINKED.
2034
2035 2005-06-28  Andy Wingo  <wingo@pobox.com>
2036
2037         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2038         source-munging commit!!!
2039
2040         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2041         (gst_object_sink): Take gpointer arguments, not GstObject --
2042         avoids casts. Like GLib.
2043
2044         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2045         activate.
2046
2047 2005-06-27  Andy Wingo  <wingo@pobox.com>
2048
2049         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2050         remaining buffer.
2051
2052         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2053         returns a sorted copy of the trace list.
2054         (gst_alloc_trace_print_live): New API, only prints traces with
2055         live objects. Sort the list.
2056         (gst_alloc_trace_print_all): Sort the list.
2057         (gst_alloc_trace_print): Align columns.
2058
2059         * gst/elements/gstttypefindelement.c:
2060         * gst/elements/gsttee.c:
2061         * gst/base/gstbasesrc.c:
2062         * gst/base/gstbasesink.c:
2063         * gst/base/gstbasetransform.c:
2064         * gst/gstqueue.c: Adapt for pad activation changes.
2065
2066         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2067         sched.
2068         (gst_pipeline_dispose): Drop ref on sched.
2069
2070         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2071         (gst_pad_activate_default): Push mode by default.
2072         (pre_activate_switch, post_activate_switch): New stubs, things to
2073         do before and after switching activation modes on pads.
2074         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2075         the pad's activate function to choose which mode to activate.
2076         Shortcut on deactivation and call the right function directly.
2077         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2078         mode.
2079         (gst_pad_activate_push): New API, same for push mode.
2080         (gst_pad_set_activate_function) 
2081         (gst_pad_set_activatepull_function) 
2082         (gst_pad_set_activatepush_function): Setters for new API.
2083
2084         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2085         Trace all miniobjects.
2086         (gst_mini_object_make_writable): Unref the arg if we copy, like
2087         gst_caps_make_writable.
2088
2089         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2090
2091         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2092         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2093         Adapt for new pad API.
2094
2095         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2096
2097         * gst/gstelement.h:
2098         * gst/gstelement.c (gst_element_iterate_src_pads) 
2099         (gst_element_iterate_sink_pads): New API functions.
2100         
2101         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2102         should fold into gstiterator.c in some form.
2103         (gst_element_pads_activate): Simplified via use of fold and
2104         delegation of decisions to gstpad->activate.
2105
2106         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2107         help in debugging.
2108
2109         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2110         class once in init, like gstmessage. Didn't run into this issue
2111         but it seems correct. Don't initialize a trace, gstminiobject does
2112         that.
2113
2114         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2115         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2116         to the bus.
2117         (assert_live_count): New util function, uses alloc traces to check
2118         cleanup.
2119
2120         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2121         To be modified when unlink drops the internal pad.
2122
2123 2005-06-27  Wim Taymans  <wim@fluendo.com>
2124
2125         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2126         (gst_bin_change_state):
2127         Cleanup the get_state() function a little, make sure it
2128         iterates the same set of elements.
2129         Added stub iterate_state_order().
2130
2131 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2132
2133         * docs/gst/gstreamer-docs.sgml:
2134         * docs/gst/gstreamer-sections.txt:
2135         * docs/gst/gstreamer.types:
2136         * docs/gst/tmpl/gstbasesink.sgml:
2137         * docs/gst/tmpl/gstbasesrc.sgml:
2138         * docs/gst/tmpl/gstbasetransform.sgml:
2139         * docs/gst/tmpl/gstelement.sgml:
2140         * docs/gst/tmpl/gstiterator.sgml:
2141         * gst/base/gstbasesrc.c:
2142         * gst/base/gstbasesrc.h:
2143         * gst/base/gstbasetransform.h:
2144         * gst/gstelement.c:
2145         * gst/gstiterator.h:
2146           adding basetransform and iterator docs
2147
2148 2005-06-27  Andy Wingo  <wingo@pobox.com>
2149
2150         * docs/design/part-activation.txt: Notes on how activation should
2151         work -- not quite implemented yet.
2152
2153 2005-06-25  Wim Taymans  <wim@fluendo.com>
2154
2155         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2156         At least get the chain function correct, needs more
2157         fixing.
2158
2159 2005-06-25  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2162         (gst_basesink_handle_object), (gst_basesink_event),
2163         (gst_basesink_do_sync), (gst_basesink_handle_event),
2164         (gst_basesink_change_state):
2165         * gst/gsttask.h:
2166         Right, two problems here: ghostpads don't take locks and
2167         glib _rec_mutex_lock_full() with depth==0 still locks.
2168         Catch illegal locking and g_warn them.
2169
2170 2005-06-25  Wim Taymans  <wim@fluendo.com>
2171
2172         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2173         Have to check for completion now...
2174
2175 2005-06-25  Wim Taymans  <wim@fluendo.com>
2176
2177         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2178         (gst_basesink_handle_object), (gst_basesink_event),
2179         (gst_basesink_do_sync), (gst_basesink_handle_event),
2180         (gst_basesink_change_state):
2181         * gst/gstpad.h:
2182         Unlock STREAM_LOCK whatever the recursion was.
2183
2184 2005-06-25  Wim Taymans  <wim@fluendo.com>
2185
2186         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2187         (gst_basesink_preroll_queue_empty),
2188         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2189         (gst_basesink_event), (gst_basesink_do_sync),
2190         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2191         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2192         (gst_basesink_change_state):
2193         Reworked the base sink, handle event and buffer serialisation
2194         correctly and removed possible deadlock.
2195         Handle EOS correctly.
2196
2197 2005-06-25  Wim Taymans  <wim@fluendo.com>
2198
2199         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2200         (gst_pipeline_change_state):
2201         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2202         Allow elements to post EOS in the state change function.
2203         Fix up -launch, make it exit the poll loop when the
2204         pipeline actually changed state.
2205         Fix up warning parsing in -launch.
2206
2207 2005-06-25  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2210         (gst_tee_sink_activate):
2211         Core takes STREAM_LOCK for us now.
2212
2213 2005-06-25  Wim Taymans  <wim@fluendo.com>
2214
2215         * gst/gstelement.c: (gst_element_get_state_func),
2216         (gst_element_set_state):
2217         * gst/gstelement.h:
2218         * gst/gstmessage.c: (gst_message_parse_error),
2219         (gst_message_parse_warning):
2220         Keep track of current target state while performing a state
2221         change so that subclasses can do something interesting.
2222         Fix parsing of warning/error messages when GError is NULL.
2223
2224 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2225
2226         * docs/gst/Makefile.am:
2227         * docs/gst/gstreamer-docs.sgml:
2228         * docs/gst/gstreamer-sections.txt:
2229         * docs/gst/gstreamer.types:
2230         * docs/gst/tmpl/gstbasesink.sgml:
2231         * docs/gst/tmpl/gstbasesrc.sgml:
2232         * docs/gst/tmpl/gstbin.sgml:
2233         * docs/gst/tmpl/gstcompat.sgml:
2234         * docs/gst/tmpl/gstfakesink.sgml:
2235         * docs/gst/tmpl/gstfakesrc.sgml:
2236         * docs/gst/tmpl/gstfilesink.sgml:
2237         * docs/gst/tmpl/gstfilesrc.sgml:
2238         * docs/gst/tmpl/gstindex.sgml:
2239         * docs/manual/appendix-quotes.xml:
2240         * gst/base/gstbasesrc.h:
2241         * gst/elements/gstfakesrc.h:
2242         * gst/gstmessage.h:
2243           start pulling in base classes and elements in our docs
2244
2245 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2246
2247         * docs/gst/Makefile.am:
2248         * docs/libs/Makefile.am:
2249           fixed make distcheck with gtk-doc 1.3
2250
2251 2005-06-23  Wim Taymans  <wim@fluendo.com>
2252
2253         * gst/gstelement.c: (gst_element_get_state_func),
2254         (gst_element_set_state), (gst_element_change_state):
2255         When the state did not change, also report NO_PREROLL
2256         when it matters.
2257
2258 2005-06-23  Wim Taymans  <wim@fluendo.com>
2259
2260         * gst/gstpad.c: (gst_pad_event_default):
2261         * gst/gstqueue.c: (gst_queue_loop):
2262         No unsafe task pausing please.
2263
2264 2005-06-23  Wim Taymans  <wim@fluendo.com>
2265
2266         * gst/schedulers/threadscheduler.c:
2267         (gst_thread_scheduler_task_start),
2268         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2269         Ref the task before pushing it on the threadpool. This
2270         makes sure that we have a ref when the threadfunction is
2271         actually called.
2272
2273 2005-06-23  Andy Wingo  <wingo@pobox.com>
2274
2275         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2276         offset is greater than the file's size.
2277
2278         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2279         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2280         * gst/gstobject.c (gst_object_class_init): Make the class lock
2281         recursive. Wim won't let me drop deep_notify. Decodebin works
2282         again, whoopdy doo.
2283
2284         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2285         internal pad, and hacks accordingly. Doesn't do it on the target
2286         pad because we change its caps. Probably catches all cases of
2287         interest tho.
2288         (gst_ghost_pad_set_property): Connect to notify::caps as
2289         appropritate.
2290
2291         * tests/network-clock.scm (plot-simulation): Pipe data to the
2292         elite python skript.
2293
2294         * tests/network-clock-utils.scm (define-parameter): New macro,
2295         defines a parameter that can be set via the command line.
2296         (set-parameter!, parse-parameter-arguments): Command line args
2297         parser.
2298
2299         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2300         stdin.
2301
2302 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2303
2304         * gst/elements/gsttypefindelement.c:
2305         (gst_type_find_element_handle_event):
2306           Don't restart typefinding on a discont.
2307         * gst/gstelement.c: (gst_element_set_state):
2308           Debug spelling fix.
2309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2310           Allow changing mode of an active pad.
2311           Debug output fixes.
2312         * gst/registries/gstlibxmlregistry.c: (load_feature):
2313           Don't cast a static pad template to a normal pad template.
2314
2315 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2318         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2319           remove gst_strtoll completely, since it didn't actually do
2320           anything more than what g_ascii_strtoull already does.
2321           check for range errors when deserializing
2322           do a cast for the unsigned cases; but further fixing needs
2323           a decision on what the interpretation of "(int)" and
2324           deserialization should be for values that fall outside the
2325           type's boundaries (ie, refuse, or interpret as casting)
2326
2327 2005-06-23  Wim Taymans  <wim@fluendo.com>
2328
2329         * check/Makefile.am:
2330         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2331         * docs/design/part-live-source.txt:
2332         * docs/design/part-states.txt:
2333         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2334         (gst_basesrc_set_live), (gst_basesrc_is_live),
2335         (gst_basesrc_get_range), (gst_basesrc_activate),
2336         (gst_basesrc_change_state):
2337         * gst/base/gstbasesrc.h:
2338         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2339         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2340         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2341         * gst/gstelement.c: (gst_element_get_state_func),
2342         (gst_element_set_state):
2343         * gst/gstelement.h:
2344         * gst/gsttypes.h:
2345         * tools/gst-launch.c: (event_loop), (main):
2346         Added support for live sources and other elements that
2347         cannot do preroll.
2348         Updated design docs, added live-source design doc.
2349         Implemented live source functionality in basesrc
2350         Fix error condition in _bin_get_state()
2351         Implement live source handling in -launch.
2352         Added check for live sources.
2353         Fixed case in GstBin where elements were changed state
2354         multiple times.
2355
2356
2357 2005-06-23  Andy Wingo  <wingo@pobox.com>
2358
2359         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2360         borken refcounting.
2361
2362         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2363         gst_caps_replace takes care of this for us.
2364
2365         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2366         gst_pad_set_caps on the target, not just its setcaps() function.
2367
2368         * tests/network-clock.scm: 
2369         * tests/network-clock-utils.scm: A network clock simulator.
2370         Something of an algorithmic testbed before doing something in C.
2371
2372 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2373
2374         * check/Makefile.am:
2375         * check/gst/capslist.h:
2376           copy over from 0.8, and add two with bitmasks specified with
2377           (int) 0xFF...
2378         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2379           add test to parse everything from capslist.h
2380         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2381         (main):
2382           add test for structure deserialization
2383         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2384           add tests for deserialization of strings to int types
2385         * gst/gststructure.c: (gst_structure_nth_field_name):
2386         * gst/gststructure.h:
2387           add a way to get the name of a field referenced by index
2388         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2389           instead of checking if the resulting long long lies between
2390           min and max, we check if the long long would fit into
2391           a number of bytes for the final type.
2392           This fixes cases where a string represents 2^32 - 1, which
2393           when cast to int would be the (valid) -1, but is bigger than
2394           G_MAXINT
2395
2396 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2397
2398         * gst/parse/grammar.y:
2399           add a log line for type deserialization
2400
2401 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2402
2403         * check/gst/gstvalue.c: (START_TEST):
2404         * gst/gstvalue.c: (gst_value_deserialize):
2405           return long long, not int, so gint64 deserialization actually
2406           works.  Is there any flag that makes the compiler check this ?
2407           Fixes #308559
2408
2409 2005-06-22  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/gstbuffer.h:
2412         Added convenience macros for setting buffers in GValue.
2413
2414 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2415
2416         * check/gst/.cvsignore:
2417         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2418           add a test deserializing int64, and comment part out because
2419           it fails, yay !
2420
2421 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2422
2423         * check/Makefile.am:
2424         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2425         * testsuite/Makefile.am:
2426         * testsuite/caps/Makefile.am:
2427         * testsuite/caps/value_serialize.c:
2428         * testsuite/test_gst_init.c:
2429           move a value_serialize test over
2430
2431 2005-06-20  Wim Taymans  <wim@fluendo.com>
2432
2433         * gst/gstpad.c:
2434         Small doc updates.
2435         
2436         * gst/gstvalue.c: (gst_value_compare_buffer),
2437         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2438         (gst_value_compare_flags), (gst_value_serialize_flags),
2439         (gst_value_deserialize_flags), (_gst_value_initialize):
2440         Fix serialisation of buffers, they are not boxed types anymore
2441
2442 2005-06-20  Wim Taymans  <wim@fluendo.com>
2443
2444         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2445         Testcase to show error in buffer-on-caps serialisation.
2446
2447 2005-06-20  Andy Wingo  <wingo@pobox.com>
2448
2449         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2450         will be adding to later.
2451
2452         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2453         if its socks fill with rocks.
2454         (gst_system_clock_obtain): Set the name on object construction.
2455         Avoid double-checked locking.
2456
2457 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2458
2459         * gst/gsturi.c: (gst_element_make_from_uri):
2460           Fix potential endless loop.
2461
2462 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2463
2464         * check/Makefile.am:
2465           add gsttag
2466         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2467         (main):
2468           move over from testsuite dir and clean up
2469         * configure.ac:
2470         * gst/gsttag.c:
2471         * testsuite/Makefile.am:
2472         * testsuite/tags/.cvsignore:
2473         * testsuite/tags/Makefile.am:
2474         * testsuite/tags/merge.c:
2475           remove testsuite/tags
2476
2477 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2478
2479         * docs/gst/gstreamer-sections.txt:
2480         * docs/gst/tmpl/gstenumtypes.sgml:
2481         * win32/gstenumtypes.c:
2482           clean up documentation build a little
2483
2484 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2485
2486         * check/gstcheck.h:
2487           add macros for checking refcounts on objects and caps
2488         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2489           add some more unit tests
2490         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2491         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2492           fix leaked refcounts (I hope :)) so unittest works
2493         * gst/gstpad.h:
2494           whitespace removal
2495
2496 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2497
2498         * configure.ac: back to HEAD
2499
2500 === release 0.9.1 ===
2501
2502 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2503
2504         * NEWS:
2505         * RELEASE:
2506           updated
2507
2508 2005-06-17  Andy Wingo  <wingo@pobox.com>
2509
2510         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2511         assert; it's always possible that the pad gets deactivated in
2512         between the checks in gstpad.c and the implementation. Rely on
2513         finish_preroll() to return a FLUSHING or similar instead of on the
2514         assert.
2515         
2516         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2517         clock and post an EOS message if we come out of finish_preroll in
2518         the playing state.
2519
2520 2005-06-16  David Schleef  <ds@schleef.org>
2521
2522         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2523         (gst_capsfilter_set_property): Allow NULL as possible value
2524         for filter_caps property, indicating GST_CAPS_ANY.
2525
2526 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2529           fix debug output
2530         * gst/schedulers/Makefile.am:
2531           use libgst prefix
2532         * gstreamer.spec.in:
2533           fix spec for it
2534
2535 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * gstreamer.spec.in:
2538           clean up
2539
2540 2005-06-08  Andy Wingo  <wingo@pobox.com>
2541
2542         * gst/gstutils.c: RPAD fixes all around.
2543         (gst_element_link_pads): Refcounting fixes.
2544
2545         * tools/gst-inspect.c:
2546         * tools/gst-xmlinspect.c:
2547         * parse/grammar.y:
2548         * gst/base/gsttypefindhelper.c:
2549         * gst/base/gstbasesink.c:
2550         * gst/gstqueue.c: RPAD fixes.
2551
2552         * gst/gstghostpad.h:
2553         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2554         pads. The tricky thing is they provide both source and sink
2555         interfaces, since they proxy the internal pad for the external
2556         pad, and vice versa. Implement with lower-level ProxyPad objects,
2557         with the interior proxy pad as a child of the exterior ghost pad.
2558         Should write a doc on this.
2559         
2560         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2561         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2562         gst_object API.
2563         
2564         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2565         pads are real pads. No ghost pads in this file. Not documenting
2566         the myriad s/RPAD/PAD/ and REALIZE fixes.
2567         (gst_pad_class_init): Add properties for "direction" and
2568         "template". Both are construct-only, so they can't change during
2569         the life of the pad. Fixes properly deriving from GstPad.
2570         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2571         derived objects, just set properties when creating the objects via
2572         g_object_new.
2573         (gst_pad_get_parent): Implement as a function, return NULL if the
2574         parent is not an element.
2575         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2576         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2577         
2578         * gst/gstobject.c (gst_object_class_init): Make name a construct
2579         property. Don't set it in the object init.
2580
2581         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2582         with UNKNOWN direction.
2583         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2584         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2585         (gst_element_remove_pad): Remove ghost-pad special cases.
2586         (gst_element_pads_activate): Remove rpad cruft.
2587
2588         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2589         catch the pad's-parent-not-an-element case.
2590
2591         * gst/gst.h: Include gstghostpad.h.
2592
2593         * gst/gst.c (init_post): No more real, ghost pads.
2594
2595         * gst/Makefile.am: Add gstghostpad.[ch].
2596
2597         * check/Makefile.am:
2598         * check/gst/gstbin.c:
2599         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2600         into a bin creates ghost pads, and that the refcounts are right.
2601         Partly moved from gstbin.c.
2602
2603 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * check/gst-libs/.cvsignore:
2606         * check/gst/.cvsignore:
2607         * check/pipelines/.cvsignore:
2608           ignore more
2609         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2610         (START_TEST), (cleanup_suite), (main):
2611           add some tests related to cleanup after running pipelines
2612
2613 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2614
2615         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2616           add a testsuite for GstBuffer
2617
2618 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2619
2620         * gst/gstminiobject.h:
2621           add defines for accessing the refcount
2622
2623 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2624
2625         * Makefile.am: added support for html unit test coverage reports
2626
2627 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2628
2629         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2630           Free existing caps if the capsfilter changes. Add a FIXME about
2631           setting those caps on the pads.
2632
2633         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2634           Before adding a ghost pad to a parent bin, check that there isn't
2635           already one for the element on the bin. Prevents infinite recursion
2636           when using decodebin in parse pipelines. Andy says he'll rewrite the
2637           way this works anyway, so ignore the hack.
2638
2639 2005-06-02  Andy Wingo  <wingo@pobox.com>
2640
2641         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2642         file size, pass it on to the type find helper.
2643
2644         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2645         segment_start and segment_end properly according to the seek
2646         method. Segment_end is still a bit flaky because offset can be
2647         negative for CUR and END cases, but it takes -1 as an "unset"
2648         value.
2649
2650 2005-06-02  Wim Taymans  <wim@fluendo.com>
2651
2652         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2653         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2654         (gst_basesink_activate):
2655         * gst/base/gstbasesink.h:
2656         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2657         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2658         (gst_pad_query), (gst_pad_start_task):
2659         * gst/gstpad.h:
2660         * gst/gstqueue.c: (gst_queue_bufferalloc),
2661         (gst_queue_handle_sink_event), (gst_queue_chain):
2662         Bufferalloc: return GstFlowReturn to more accuratly report
2663         why allocation failed.
2664
2665 2005-06-02  Wim Taymans  <wim@fluendo.com>
2666
2667         * gst/gstpipeline.c: (gst_pipeline_send_event):
2668         Take snapshot of state without blocking.
2669
2670 2005-06-02  Wim Taymans  <wim@fluendo.com>
2671
2672         * docs/design/part-TODO.txt:
2673         * docs/design/part-caps.txt:
2674         * docs/design/part-clocks.txt:
2675         * docs/design/part-negotiation.txt:
2676         * docs/design/part-preroll.txt:
2677         Small doc updates 
2678
2679 2005-05-30  Wim Taymans  <wim@fluendo.com>
2680
2681         * gst/elements/gstidentity.c: (gst_identity_event),
2682         (gst_identity_transform), (gst_identity_get_property):
2683         Protect last_message property as it is accessed from
2684         multiple threads.
2685
2686 2005-05-30  Wim Taymans  <wim@fluendo.com>
2687
2688         * gst/gstelement.c: (gst_element_init),
2689         (gst_element_pads_activate), (gst_element_change_state):
2690         Slicker pad activation code.
2691
2692 2005-05-30  Wim Taymans  <wim@fluendo.com>
2693
2694         * gst/Makefile.am:
2695         * gst/gstelement.h:
2696         * gst/gstelementfactory.h:
2697         * gst/gsttypes.h:
2698         Move elementfactory methods to separate .h file.
2699
2700 2005-05-30  Wim Taymans  <wim@fluendo.com>
2701
2702         * docs/design/part-overview.txt:
2703         * gst/gstsystemclock.h:
2704         Small typo fixes, doc updates.
2705
2706 2005-05-30  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2709         (init_popt_callback):
2710         Remove cpu-opt flag.
2711
2712 2005-05-30  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2715         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2716         * gst/gstbuffer.h:
2717         Avoid typechecking in places where not needed.
2718         Added accessor for malloc_data.
2719
2720 2005-05-30  Wim Taymans  <wim@fluendo.com>
2721
2722         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2723         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2724         (gst_pad_configure_sink), (gst_pad_configure_src),
2725         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2726         (gst_pad_start_task):
2727         Propagate errors from _set_caps() in configure_src/sink
2728         functions instead of returning TRUE.
2729         FLUSH events can travel up and downstream
2730
2731
2732 2005-05-30  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2735         (gst_basesink_activate):
2736         Handle EOS in preroll.
2737
2738 2005-05-30  Wim Taymans  <wim@fluendo.com>
2739
2740         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2741         (gst_queue_loop), (gst_queue_handle_src_event):
2742         Remove old pieces of code
2743         Flushing the queue in an upstream event is a very bad idea.
2744
2745 2005-05-26  Andy Wingo  <wingo@pobox.com>
2746
2747         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2748         gst_value_set_mini_object so as to add a ref on the object (which
2749         will be removed when the value is unset).
2750
2751         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2752         arg type in ::handoff.
2753
2754         * gst/gstelement.c (gst_element_change_state): Also deactivate
2755         pads in READY->NULL, just in case the element didn't make it to
2756         PAUSED. Wingo tested, Wim approved.
2757
2758 2005-05-26  Wim Taymans  <wim@fluendo.com>
2759
2760         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2761         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2762         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2763         A flushing pad cannot be used to alloc_buffer from.
2764
2765 2005-05-26  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2768         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2769         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2770         (gst_bus_create_watch), (gst_bus_add_watch_full):
2771         * gst/gstbus.h:
2772         Implement a real GSource and use g_main_context_wakeup() to
2773         signal new messages instead of the socketpair.
2774
2775 2005-05-25  Wim Taymans  <wim@fluendo.com>
2776
2777         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2778         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2780         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2781         (gst_pad_send_event), (gst_pad_start_task):
2782         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2783         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2784         (gst_queue_sink_activate), (gst_queue_src_activate),
2785         (gst_queue_change_state):
2786         * gst/gstqueue.h:
2787         Fix state changes for non sinks. We now change sinks, then elements
2788         with unconnected srcpads, then the rest.
2789         More efficient queue unlocking in flush and state changes.
2790         Set the pad activate mode even if it does not have an activate
2791         function.
2792
2793 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2794
2795         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2796           Don't go in pull mode for non-seekable sources.
2797         * gst/elements/gsttypefindelement.h:
2798         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2799         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2800         (free_entry), (stop_typefinding),
2801         (gst_type_find_element_handle_event), (find_peek),
2802         (gst_type_find_element_chain), (do_pull_typefind),
2803         (gst_type_find_element_change_state):
2804           Allow typefinding (w/o seeking) in push-mode, simplified version
2805           of what was in 0.8.
2806         * gst/gstutils.c: (gst_buffer_join):
2807         * gst/gstutils.h:
2808           gst_buffer_join() from 0.8.
2809
2810 2005-05-25  Wim Taymans  <wim@fluendo.com>
2811
2812         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2813         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2814         (gst_pad_send_event), (gst_pad_start_task):
2815         Disable attempt at mode switching until it is figured out.
2816
2817 2005-05-25  Wim Taymans  <wim@fluendo.com>
2818
2819         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2820         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2821         (gst_basesink_finish_preroll), (gst_basesink_chain),
2822         (gst_basesink_loop), (gst_basesink_activate),
2823         (gst_basesink_change_state):
2824         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2825         (gst_basesrc_get_range), (gst_basesrc_loop),
2826         (gst_basesrc_activate):
2827         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2828         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2829         (gst_real_pad_init), (gst_real_pad_set_property),
2830         (gst_real_pad_get_property), (gst_pad_set_active),
2831         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2832         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2833         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2834         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2835         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2836         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2837         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2838         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2839         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2840         (gst_pad_stop_task):
2841         * gst/gstpad.h:
2842         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2843         (gst_queue_loop), (gst_queue_src_activate):
2844         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2845         (gst_task_get_state):
2846         * gst/gsttask.h:
2847         * gst/schedulers/threadscheduler.c:
2848         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2849         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2850         in task function.
2851         Remove ACTIVE pad flag, use FLUSHING everywhere
2852         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2853         functions.
2854         Add locks around IS_FLUSHING when reading.
2855         Take STREAM lock in chain(), get_range() functions so plugins
2856         don't need to take it anymore.
2857         
2858
2859
2860 2005-05-25  Wim Taymans  <wim@fluendo.com>
2861
2862         * tools/gst-launch.c: (event_loop):
2863         Unref message after using its contents instead of
2864         before.
2865
2866 2005-05-24  Wim Taymans  <wim@fluendo.com>
2867
2868         * docs/design/draft-ghostpads.txt:
2869         * docs/design/draft-push-pull.txt:
2870         * docs/design/draft-query.txt:
2871         * docs/design/part-overview.txt:
2872         Docs updates, added general overview doc.
2873
2874 2005-05-21  David Schleef  <ds@schleef.org>
2875
2876         * docs/gst/tmpl/old/GstBin.sgml:
2877         * docs/gst/tmpl/old/GstBuffer.sgml:
2878         * docs/gst/tmpl/old/GstCaps.sgml:
2879         * docs/gst/tmpl/old/GstClock.sgml:
2880         * docs/gst/tmpl/old/GstCompat.sgml:
2881         * docs/gst/tmpl/old/GstData.sgml:
2882         * docs/gst/tmpl/old/GstElement.sgml:
2883         * docs/gst/tmpl/old/GstEvent.sgml:
2884         * docs/gst/tmpl/old/GstIndex.sgml:
2885         * docs/gst/tmpl/old/GstStructure.sgml:
2886         * docs/gst/tmpl/old/GstTag.sgml:
2887         * docs/gst/tmpl/old/cothreads.sgml:
2888         * docs/gst/tmpl/old/cothreads_compat.sgml:
2889         * docs/gst/tmpl/old/gettext.sgml:
2890         * docs/gst/tmpl/old/gobject2gtk.sgml:
2891         * docs/gst/tmpl/old/grammar.tab.sgml:
2892         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2893         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2894         * docs/gst/tmpl/old/gst_private.sgml:
2895         * docs/gst/tmpl/old/gstaggregator.sgml:
2896         * docs/gst/tmpl/old/gstarch.sgml:
2897         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2898         * docs/gst/tmpl/old/gstbufferstore.sgml:
2899         * docs/gst/tmpl/old/gstdata_private.sgml:
2900         * docs/gst/tmpl/old/gstdisksink.sgml:
2901         * docs/gst/tmpl/old/gstdisksrc.sgml:
2902         * docs/gst/tmpl/old/gstelementfactory.sgml:
2903         * docs/gst/tmpl/old/gstextratypes.sgml:
2904         * docs/gst/tmpl/old/gstfakesink.sgml:
2905         * docs/gst/tmpl/old/gstfakesrc.sgml:
2906         * docs/gst/tmpl/old/gstfdsink.sgml:
2907         * docs/gst/tmpl/old/gstfdsrc.sgml:
2908         * docs/gst/tmpl/old/gstfilesink.sgml:
2909         * docs/gst/tmpl/old/gstfilesrc.sgml:
2910         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2911         * docs/gst/tmpl/old/gstidentity.sgml:
2912         * docs/gst/tmpl/old/gstindexfactory.sgml:
2913         * docs/gst/tmpl/old/gstmarshal.sgml:
2914         * docs/gst/tmpl/old/gstmd5sink.sgml:
2915         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2916         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2917         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2918         * docs/gst/tmpl/old/gstpipefilter.sgml:
2919         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2920         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2921         * docs/gst/tmpl/old/gstshaper.sgml:
2922         * docs/gst/tmpl/old/gstspider.sgml:
2923         * docs/gst/tmpl/old/gstspideridentity.sgml:
2924         * docs/gst/tmpl/old/gststatistics.sgml:
2925         * docs/gst/tmpl/old/gsttee.sgml:
2926         * docs/gst/tmpl/old/gsttimecache.sgml:
2927         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2928         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2929         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2930         * docs/gst/tmpl/old/types.sgml:
2931           I didn't intend to add these or check them in.
2932
2933 2005-05-19  David Schleef  <ds@schleef.org>
2934
2935         * configure.ac: Use -no-common everywhere.  In a sane world, it
2936           would be the default in libtool, because without it, you can't
2937           build DLLs on Windows.
2938         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2939         * docs/gst/gstreamer-sections.txt:
2940         * docs/gst/tmpl/gstcpu.sgml:
2941         * docs/gst/tmpl/gstdata.sgml:
2942         * docs/gst/tmpl/gstthread.sgml:
2943
2944 2005-05-19  David Schleef  <ds@schleef.org>
2945
2946         * gst/gstminiobject.c: (gst_value_set_mini_object),
2947         (gst_value_take_mini_object), (gst_value_get_mini_object):
2948         * gst/gstminiobject.h: Add GValue set/get functions.
2949
2950 2005-05-19  Wim Taymans  <wim@fluendo.com>
2951
2952         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2953         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2954         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2955         * gst/gstbuffer.h:
2956         * gst/gstbus.c: (gst_bus_post):
2957         * gst/gstelement.c: (gst_element_get_random_pad):
2958         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2959         Make subbufer unref the parent in finalize.
2960         some more debugging info.
2961
2962
2963 2005-05-19  Wim Taymans  <wim@fluendo.com>
2964
2965         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2966         (gst_basesink_init), (gst_basesink_finalize),
2967         (gst_basesink_activate), (gst_basesink_change_state):
2968         Don't free preroll queue too early.
2969
2970 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2971
2972         * gst/Makefile.am:
2973         * gst/ROADMAP:
2974           Hi, I'm outdated. Please shoot me.
2975
2976 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2977
2978         * gst/gstpipeline.c: (gst_pipeline_send_event):
2979           Do not access variables after they have been deleted.
2980
2981 2005-05-19  Wim Taymans  <wim@fluendo.com>
2982
2983         * tools/gst-inspect.c: (print_plugin_features):
2984         A plugin feature does unfortunatly not use the
2985         object name yet...
2986
2987 2005-05-18  Wim Taymans  <wim@fluendo.com>
2988
2989         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2990         Port _span() functions to new subbuffers.
2991
2992 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2993
2994         * gst/gstbin.c: (gst_bin_add_func):
2995           Fix clock settery in bins when adding kids after the clock has
2996           been selected.
2997
2998 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2999
3000         * gst/elements/gstidentity.c: (gst_identity_class_init):
3001           Workaround until signals support GstMiniObject.
3002
3003 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3004
3005         * gst/gstbuffer.c:
3006         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3007
3008 2005-05-18  Wim Taymans  <wim@fluendo.com>
3009
3010         * gst/base/Makefile.am:
3011         * gst/base/gstadapter.c: (gst_adapter_base_init),
3012         (gst_adapter_class_init), (gst_adapter_init),
3013         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3014         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3015         (gst_adapter_flush), (gst_adapter_available),
3016         (gst_adapter_available_fast):
3017         * gst/base/gstadapter.h:
3018         Ported and added adapter to the base classes.
3019
3020 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3021
3022         * gst/gst.c:
3023         * gst/gstmessage.c:
3024           Make sure the class is reffed/unreffed once before threads can be
3025           used.  Fixes #304551.
3026
3027 2005-05-17  Wim Taymans  <wim@fluendo.com>
3028
3029         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3030         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3031         * gst/gstminiobject.c: (gst_mini_object_get_type),
3032         (gst_mini_object_free):
3033         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3034         (gst_pad_push), (gst_pad_push_event):
3035         * gst/gstqueue.c: (gst_queue_change_state):
3036         Don't queue buffers in basesink when we are flushing.
3037         Unref buffer when flushing in basesink.
3038         Flush queue when going to READY
3039         Unref buffer when _push() returns an error.
3040         Don't free MiniObject instance when refcount is incremented
3041         in _finalize() so that we can recover objects.
3042
3043 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * docs/manual/advanced-schedulers.xml:
3046         * docs/manual/appendix-checklist.xml:
3047         * docs/pwg/advanced-clock.xml:
3048         * docs/pwg/advanced-interfaces.xml:
3049         * docs/pwg/advanced-request.xml:
3050         * docs/pwg/advanced-types.xml:
3051         * docs/pwg/intro-preface.xml:
3052         * examples/plugins/example.c: (gst_example_get_type),
3053         (gst_example_class_init), (gst_example_chain),
3054         (gst_example_set_property), (gst_example_get_property),
3055         (gst_example_change_state), (plugin_init):
3056         * examples/plugins/example.h:
3057           small doc fixes
3058
3059 2005-05-17  Wim Taymans  <wim@fluendo.com>
3060
3061         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3062         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3063         * gst/gstqueue.c: (gst_queue_change_state):
3064         Clear queue when going to READY.
3065         Remove IN_SETCAPS flag too.
3066
3067 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3068
3069         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3070           Remove implicit cast from gboolean to GstElementStateReturn;
3071           make sure we still return failure in paused => ready case if
3072           the parent class fails to change state and our own stop 
3073           vfunc succeeds.
3074
3075 2005-05-17  Wim Taymans  <wim@fluendo.com>
3076
3077         * tools/gst-launch.c: (event_loop):
3078         Message was unreffed too soon.
3079
3080 2005-05-16  Andy Wingo  <wingo@pobox.com>
3081
3082         * gst/gstbin.c (sink_iterator_filter): Err... um...
3083
3084         * check/gst/gstbin.c (test_ghost_pads): New test for the
3085         ghosting-if-elements-not-in-same-bin behavior.
3086
3087 2005-05-16  David Schleef  <ds@schleef.org>
3088
3089         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3090         accessing refcount directly.
3091
3092 2005-05-15  David Schleef  <ds@schleef.org>
3093
3094         * check/Makefile.am: remove GstData checks
3095         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3096         * gst/Makefile.am: add miniobject, remove data
3097         * gst/gst.h: add miniobject, remove data
3098         * gst/gstdata.c: remove
3099         * gst/gstdata.h: remove
3100         * gst/gstdata_private.h: remove
3101         * gst/gsttypes.h: remove GstEvent and GstMessage
3102         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3103         * gst/gstmarshal.list: change BOXED -> OBJECT
3104
3105         Implement GstMiniObject.
3106         * gst/gstminiobject.c:
3107         * gst/gstminiobject.h:
3108
3109         Modify to be subclasses of GstMiniObject.
3110         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3111         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3112         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3113         (gst_subbuffer_get_type), (gst_subbuffer_init),
3114         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3115         (gst_buffer_span):
3116         * gst/gstbuffer.h:
3117         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3118         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3119         (_gst_event_copy), (gst_event_new):
3120         * gst/gstevent.h:
3121         * gst/gstmessage.c: (_gst_message_initialize),
3122         (gst_message_get_type), (gst_message_class_init),
3123         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3124         (gst_message_new), (gst_message_new_error),
3125         (gst_message_new_warning), (gst_message_new_tag),
3126         (gst_message_new_state_changed), (gst_message_new_application):
3127         * gst/gstmessage.h:
3128         * gst/gstprobe.c: (gst_probe_perform),
3129         (gst_probe_dispatcher_dispatch):
3130         * gst/gstprobe.h:
3131         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3132         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3133         (_gst_query_copy), (gst_query_new):
3134
3135         Update elements for GstData -> GstMiniObject changes
3136         * gst/gstquery.h:
3137         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3138         (gst_queue_chain), (gst_queue_loop):
3139         * gst/elements/gstbufferstore.c:
3140         (gst_buffer_store_add_buffer_func),
3141         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3142         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3143         (gst_fakesink_render):
3144         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3145         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3146         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3147         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3148         (gst_filesrc_create_read):
3149         * gst/elements/gstidentity.c: (gst_identity_class_init):
3150         * gst/elements/gsttypefindelement.c:
3151         (gst_type_find_element_src_event), (free_entry_buffers),
3152         (gst_type_find_element_handle_event):
3153         * libs/gst/dataprotocol/dataprotocol.c:
3154         (gst_dp_header_from_buffer):
3155         * libs/gst/dataprotocol/dataprotocol.h:
3156         * libs/gst/dataprotocol/dp-private.h:
3157
3158 2005-05-15  David Schleef  <ds@schleef.org>
3159
3160         * gst/elements/gstelements.c: Don't include headers that were
3161         just removed.
3162
3163 2005-05-15  David Schleef  <ds@schleef.org>
3164
3165         * gst/elements/Makefile.am: Remove some elements that don't
3166         need to be in the core (or even exist at all).
3167         * gst/elements/gstaggregator.c:
3168         * gst/elements/gstaggregator.h:
3169         * gst/elements/gstmd5sink.c:
3170         * gst/elements/gstmd5sink.h:
3171         * gst/elements/gstmultifilesrc.c:
3172         * gst/elements/gstmultifilesrc.h:
3173         * gst/elements/gstpipefilter.c:
3174         * gst/elements/gstpipefilter.h:
3175         * gst/elements/gstshaper.c:
3176         * gst/elements/gstshaper.h:
3177         * gst/elements/gststatistics.c:
3178         * gst/elements/gststatistics.h:
3179         * po/POTFILES.in: Remove above files.
3180
3181 2005-05-14  Andy Wingo  <wingo@pobox.com>
3182
3183         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3184         so as to get the refs right.
3185         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3186         unreffing objects that don't pass the filter.
3187
3188         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3189         gst_element_set_bus.
3190         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3191         normal cases, this will destroy the bus.
3192
3193         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3194         object.
3195
3196         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3197         has no sinks.
3198
3199 2005-05-13  Andy Wingo  <wingo@pobox.com>
3200
3201         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3202         gst_pad_link, call pad_link_maybe_ghosting,
3203         (pad_link_maybe_ghosting): Links pads, making sure that the
3204         elements being linked are in the same bin.
3205         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3206         Helpers for pad_link_maybe_ghosting.
3207
3208 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3209
3210         * configure.ac:
3211           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3212
3213 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3214
3215         * docs/design/part-element-source.txt:
3216           Mention GstPushSrc
3217
3218 2005-05-12  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/base/gstbasesink.c: (gst_basesink_init),
3221         (gst_basesink_activate):
3222         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3223         (gst_basesrc_is_seekable):
3224         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3225         (bin_element_is_sink), (gst_bin_change_state):
3226         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3227         * gst/gstelement.h:
3228         Identify sinks by their flag to avoid overly complicated
3229         checks (fow now).
3230         Do state changes even for elements not reachable from the
3231         sinks.
3232         BaseSink is a sink now :)
3233         Some more debugging info in the basesrc.
3234
3235
3236 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3237
3238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3239           Implement _query on a bin, similar to _send_event.
3240
3241 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3244           Discont event offset format should be GST_FORMAT_BYTES,
3245           not GST_FORMAT_TIME.
3246
3247 2005-05-12  Wim Taymans  <wim@fluendo.com>
3248
3249         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3250         Same fix as Ronald's but without the signal. 
3251
3252 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3253
3254         * gst/gstutils.c: (gst_element_query_position):
3255           No, an element is not a pad.
3256
3257 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3258
3259         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3260         (gst_bin_get_state):
3261           If a child is removed from a bin while we remove the child from
3262           the bin and while we're retrieving its state, signal this to the
3263           get_state function so we abort the wait (instead of waiting for
3264           a timeout) and can immediately re-iterate over all other elements.
3265
3266 2005-05-12  Wim Taymans  <wim@fluendo.com>
3267
3268         * gst/base/Makefile.am:
3269         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3270         (gst_basesrc_start):
3271         * gst/base/gstbasesrc.h:
3272         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3273         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3274         (gst_pushsrc_init), (gst_pushsrc_create):
3275         * gst/base/gstpushsrc.h:
3276         Added is_seekable to BaseSrc
3277         Added simple PushSrc.
3278
3279 2005-05-11  Wim Taymans  <wim@fluendo.com>
3280
3281         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3282         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3283         (gst_element_link_pads), (gst_element_query_position),
3284         (gst_element_query_convert), (intersect_caps_func),
3285         (gst_pad_query_position), (gst_pad_query_convert):
3286         Fix refcounting in utils function.
3287         No point in trying to activate a pad when it's added, it could
3288         be added from the state change function and then we deadlock, the
3289         element has to decide what to do.
3290
3291 2005-05-10  Andy Wingo  <wingo@pobox.com>
3292
3293         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3294         *all* the arguments.
3295
3296         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3297         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3298         lock (according to the docs -- if this is wrong change the docs).
3299
3300         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3301         flush messages in the NULL state.
3302
3303         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3304         message immediately and return.
3305         (gst_bus_set_flushing): New function. If a bus is flushing, it
3306         flushes out any queued messages and immediately unrefs new
3307         messages. This is so when an element goes to NULL, all of the
3308         unhandled messages coming from it can be freed, and their
3309         references to the element dropped. In other words: message source
3310         ref considered harmful :P
3311
3312         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3313         we're finished with it.
3314
3315         * gst/gstmessage.c (gst_message_new_state_changed): 
3316
3317 2005-05-10  Wim Taymans  <wim@fluendo.com>
3318
3319         * gst/gstvalue.c: (gst_value_compare_flags),
3320         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3321         (_gst_value_initialize):
3322         Added flags serialize/deserialize/compare code.
3323
3324 2005-05-09  Andy Wingo  <wingo@pobox.com>
3325
3326         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3327         Intersect the peer's caps with our caps.
3328
3329 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3330
3331         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3332         * gst/elements/gsttypefindelement.c: (find_peek):
3333           Handle negative offsets better. Fixes decodebin.
3334
3335 2005-05-09  Wim Taymans  <wim@fluendo.com>
3336
3337         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3338         (gst_base_transform_event):
3339         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3340         Implement accept_caps.
3341         Fix silly lock/unlock mismatch in base class.
3342
3343 2005-05-09  Wim Taymans  <wim@fluendo.com>
3344
3345         * docs/design/draft-push-pull.txt:
3346         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3347         * gst/elements/gstfilesink.c: (gst_filesink_init),
3348         (gst_filesink_query):
3349         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3350         (gst_type_find_handle_src_query), (find_element_get_length):
3351         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3352         * gst/gstelement.h:
3353         * gst/gstmessage.c:
3354         * gst/gstmessage.h:
3355         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3356         (gst_real_pad_get_caps_unlocked),
3357         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3358         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3359         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3360         (gst_real_pad_dispose), (gst_real_pad_finalize),
3361         (gst_pad_load_and_link), (gst_pad_save_thyself),
3362         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3363         (gst_pad_check_pull_range), (gst_pad_pull_range),
3364         (gst_pad_template_get_type), (gst_pad_template_class_init),
3365         (gst_pad_template_init), (gst_pad_template_dispose),
3366         (name_is_valid), (gst_static_pad_template_get),
3367         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3368         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3369         (gst_pad_get_element_private), (gst_pad_start_task),
3370         (gst_pad_pause_task), (gst_pad_stop_task),
3371         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3372         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3373         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3374         (gst_ghost_pad_new):
3375         * gst/gstpad.h:
3376         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3377         (gst_query_new_position), (gst_query_set_position),
3378         (gst_query_parse_position), (gst_query_new_convert),
3379         (gst_query_set_convert), (gst_query_parse_convert):
3380         * gst/gstquery.h:
3381         * gst/gstqueryutils.c:
3382         * gst/gstqueryutils.h:
3383         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3384         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3385         (gst_queue_handle_src_query):
3386         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3387         (gst_element_query_position), (gst_element_query_convert),
3388         (intersect_caps_func), (gst_pad_query_position),
3389         (gst_pad_query_convert):
3390         * gst/gstutils.h:
3391         * tools/gst-inspect.c: (print_pad_info):
3392         * tools/gst-xmlinspect.c: (print_element_info):
3393         Remove old query functions. Ported old code.
3394         Added position/convert helper functions to gstutils.
3395         Reordered gstpad.c code, grouping relevant things.
3396         Remove gst_message_new(), always need to speficy a specific
3397         message.
3398
3399
3400 2005-05-09  Andy Wingo  <wingo@pobox.com>
3401
3402         * gst/gstiterator.h: Add some includes.
3403
3404         * gst/gstqueryutils.h: Include more headers.
3405
3406         * gst/gstpad.h:
3407         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3408         some uses of gst_pad_query.
3409
3410         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3411         NULL out parameters.
3412         (gst_query_new_position): New proc, allocates a new position
3413         query.
3414
3415         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3416         gstqueryutils.c to the build.
3417
3418         * gst/gststructure.c (gst_structure_set_valist): Implement with
3419         the generic G_VALUE_COLLECT.
3420         
3421 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3422
3423         * gst/Makefile.am: (gst_headers):
3424         Added gstqueryutils.h to the list of headers to install, that was
3425         a 'nachty' move wingo :)
3426
3427 2005-05-06  Andy Wingo  <wingo@pobox.com>
3428
3429         * gst/gstquery.h
3430         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3431         GstData, init a memchunk.
3432         (standard_definitions): Add a few query types, deprecate a few.
3433         (gst_query_get_type): New proc.
3434         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3435         implementation.
3436         (gst_query_new_application, gst_query_get_structure): New public
3437         procs.
3438
3439         * docs/design/draft-query.txt: Removed LINKS from the query types,
3440         because all the rest can be dispatched to other pads -- seemed
3441         ugly to have a query that couldn't be dispatched. internal_links
3442         is fine as a pad method.
3443
3444         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3445         in gstpad.c, but maintain binary compatibility for the moment.
3446         Will fix before 0.9 is out.
3447
3448         * gst/gstqueryutils.c: 
3449         * gst/gstqueryutils.h: New files, implement 3 methods for each
3450         query type: parse_query, parse_response, and set. Probably need an
3451         allocator as well.
3452
3453         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3454
3455         * gst/elements/gstfilesink.c (gst_filesink_query2):
3456         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3457         query_types, and formats methods.
3458
3459         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3460         (gst_pad_set_query2_function): New functions.
3461         (gst_real_pad_init): Set query2_default as the default query2
3462         function. Basically just dispatches to internally linked pads.
3463
3464         Needs review!
3465         
3466         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3467         without using the atomic operations. Only one thread can possibly
3468         be accessing the data at this point. Changed so as to avoid
3469         gst_atomic operations.
3470
3471 2005-05-06  Wim Taymans  <wim@fluendo.com>
3472
3473         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3474         Also set caps if we use the fallback buffer alloc.
3475
3476 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3477
3478         * docs/gst/Makefile.am:
3479         * docs/gst/gstreamer-docs.sgml:
3480         * docs/gst/gstreamer-sections.txt:
3481         * docs/gst/tmpl/gstatomic.sgml:
3482         * docs/gst/tmpl/gstmemchunk.sgml:
3483         * testsuite/elements/struct_i386.h:
3484         * win32/GStreamer.vcproj:
3485         * win32/Makefile:
3486           Purge GstAtomic stuff from docs and win32 makefiles as well
3487
3488 2005-05-06  Wim Taymans  <wim@fluendo.com>
3489
3490         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3491         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3492         * gst/gstpad.c: (gst_pad_peer_get_caps):
3493         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3494         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3495         (gst_queue_src_activate), (gst_queue_change_state):
3496         * gst/gstqueue.h:
3497         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3498         (intersect_caps_func):
3499         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3500         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3501         Some fixes for the peer_get_caps() change.
3502
3503 2005-05-06  Wim Taymans  <wim@fluendo.com>
3504
3505         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3506         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3507         (gst_basesink_activate):
3508         Actually do something with error codes returned from the push
3509         functions.
3510
3511 2005-05-06  Wim Taymans  <wim@fluendo.com>
3512
3513         * docs/design/part-element-sink.txt:
3514         * docs/design/part-element-source.txt:
3515         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3516         (gst_basesink_event), (gst_basesink_activate):
3517         * gst/base/gstbasesink.h:
3518         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3519         (gst_basesrc_activate):
3520         * gst/base/gstbasesrc.h:
3521         * gst/gstelement.c: (gst_element_pads_activate):
3522         Some more documentation.
3523         Fixed scheduling decision in _pads_activate().
3524
3525 2005-05-05  Andy Wingo  <wingo@pobox.com>
3526
3527         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3528         the test suite.
3529
3530 2005-05-05  Wim Taymans  <wim@fluendo.com>
3531
3532         * gst/base/Makefile.am:
3533         * gst/base/gstbasesink.h:
3534         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3535         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3536         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3537         (gst_collectpads_class_init), (gst_collectpads_init),
3538         (gst_collectpads_finalize), (gst_collectpads_new),
3539         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3540         (find_pad), (gst_collectpads_remove_pad),
3541         (gst_collectpads_is_active), (gst_collectpads_collect),
3542         (gst_collectpads_collect_range), (gst_collectpads_start),
3543         (gst_collectpads_stop), (gst_collectpads_peek),
3544         (gst_collectpads_pop), (gst_collectpads_available),
3545         (gst_collectpads_read), (gst_collectpads_flush),
3546         (gst_collectpads_chain):
3547         * gst/base/gstcollectpads.h:
3548         * gst/elements/Makefile.am:
3549         * gst/elements/gstelements.c:
3550         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3551         (gst_fakesink_get_times), (gst_fakesink_event),
3552         (gst_fakesink_preroll), (gst_fakesink_render):
3553         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3554         (gst_filesink_init), (gst_filesink_set_location),
3555         (gst_filesink_open_file), (gst_filesink_close_file),
3556         (gst_filesink_pad_query), (gst_filesink_event),
3557         (gst_filesink_render), (gst_filesink_change_state):
3558         * gst/elements/gstfilesink.h:
3559         Added object to help in making collect pad based elements.
3560         Ported filesink.
3561         Make event function in sink baseclass return gboolean.
3562
3563 2005-05-05  Wim Taymans  <wim@fluendo.com>
3564
3565         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3566         (gst_bin_get_by_name):
3567         * gst/gstbuffer.h:
3568         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3569         (gst_clock_finalize):
3570         * gst/gstdata.c: (gst_data_replace):
3571         * gst/gstdata.h:
3572         * gst/gstelement.c: (gst_element_request_pad),
3573         (gst_element_pads_activate):
3574         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3575         (gst_object_unref):
3576         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3577         (gst_pad_set_checkgetrange_function),
3578         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3579         (gst_pad_check_pull_range), (gst_pad_pull_range),
3580         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3581         (gst_pad_pause_task), (gst_pad_stop_task):
3582         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3583         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3584         Fix name lookup in GstBin.
3585         Added _data_replace() function and _buffer_replace()
3586         Use finalize method to clean up clock.
3587         Fix refcounting on request pads.
3588         Fix pad schedule mode error.
3589         Some more object refcounting debug info,
3590
3591
3592 2005-05-04  Andy Wingo <wingo@pobox.com>
3593
3594         * check/Makefile.am:
3595         * docs/gst/tmpl/gstatomic.sgml:
3596         * docs/gst/tmpl/gstplugin.sgml:
3597         * gst/base/gstbasesink.c: (gst_basesink_activate):
3598         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3599         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3600         (gst_basesrc_query), (gst_basesrc_set_property),
3601         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3602         (gst_basesrc_activate):
3603         * gst/base/gstbasesrc.h:
3604         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3605         (gst_base_transform_src_activate):
3606         * gst/elements/gstelements.c:
3607         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3608         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3609         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3610         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3611         (gst_type_find_element_checkgetrange),
3612         (gst_type_find_element_activate):
3613         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3614         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3615         (gst_caps_load_thyself):
3616         * gst/gstelement.c: (gst_element_pads_activate),
3617         (gst_element_save_thyself), (gst_element_restore_thyself):
3618         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3619         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3620         * gst/gstpad.h:
3621         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3622         (gst_xml_parse_file), (gst_xml_parse_memory),
3623         (gst_xml_get_element), (gst_xml_make_element):
3624         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3625         (_file_index_id_save_xml), (gst_file_index_commit):
3626         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3627         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3628         (load_paths):
3629         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3630         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3631         * tools/gst-complete.c: (main):
3632         * tools/gst-compprep.c: (main):
3633         * tools/gst-inspect.c: (print_element_properties_info):
3634         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3635         * tools/gst-xmlinspect.c: (print_element_properties):
3636         GCC 4 fixen.
3637         
3638 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         * gst/gstplugin.c: (gst_plugin_check_module),
3641         (gst_plugin_check_file), (gst_plugin_load_file):
3642             apply patch from #172526 to make register work on MacOSX
3643
3644 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3645
3646         * docs/gst/tmpl/gstconfig.sgml:
3647         * gst/gstconfig.h.in:
3648           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3649         * testsuite/debug/printf_extension.c: (main):
3650           Do not use GST_PTR_FORMAT on pointers to types with
3651           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3652         * testsuite/elements/property.h:
3653           use correct printf format
3654
3655 2005-05-02  Wim Taymans  <wim@fluendo.com>
3656
3657         * docs/design/draft-push-pull.txt:
3658         * docs/design/draft-query.txt:
3659         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3660         (gst_basesrc_start):
3661         Added draft for new query API.
3662         Added draft for better selecting scheduling methods.
3663         Make basesrc ignore length if the subclass does not support
3664         it.
3665
3666 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3667
3668         * gst/Makefile.am:
3669           possible fixes for automake-1.5 - _LIBADD is reserved
3670
3671 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3672
3673         * docs/faq/Makefile.am:
3674         * docs/manual/Makefile.am:
3675         * docs/manuals.mak:
3676         * docs/pwg/Makefile.am:
3677         * gst/Makefile.am:
3678           possible fixes for automake-1.5
3679
3680 2005-04-28  Wim Taymans  <wim@fluendo.com>
3681
3682         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3683         (gst_basesink_pad_getcaps), (gst_basesink_init),
3684         (gst_basesink_do_sync):
3685         * gst/gstclock.c: (gst_clock_entry_new):
3686         * gst/gstevent.c: (gst_event_discont_get_value):
3687         * gst/gstpipeline.c: (pipeline_bus_handler),
3688         (gst_pipeline_change_state):
3689         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3690         Better debugging of clocking info.
3691         Allow NULL values when getting discont values.
3692
3693 2005-04-27  Wim Taymans  <wim@fluendo.com>
3694
3695         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3696         * check/gst/gstpad.c: (gst_pad_suite):
3697         Increase timeout for checks.
3698
3699 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3700
3701         * check/Makefile.am:
3702           fix the broken rule for cleanup.  Apparently this rule is
3703           only needed on FC2, so maybe this warrants further autotool
3704           inspection.
3705
3706 2005-04-26  Wim Taymans  <wim@fluendo.com>
3707
3708         * gst/gsttrashstack.h:
3709         Ooohh. a nasty one! After having a failed pop() from the stack,
3710         it's possible that the stack is empty. In that case, don't
3711         follow the NULL pointer.
3712
3713 2005-04-25  Wim Taymans  <wim@fluendo.com>
3714
3715         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3716         (gst_pad_set_checkgetrange_function),
3717         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3718         (gst_pad_check_pull_range), (gst_pad_pull_range),
3719         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3720         (gst_pad_pause_task), (gst_pad_stop_task):
3721         * gst/gstplugin.c: (gst_plugin_load):
3722         * gst/gstplugin.h:
3723         Remove gst_library_load as it does more harm than good with
3724         the new g_module flags.
3725         Revert bogus caps template check in pad linking, pad caps
3726         are important when linking not the template, which is more
3727         general than the current caps.
3728
3729 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3730
3731         * gst/autoplug/.cvsignore:
3732         * gst/autoplug/Makefile.am:
3733         * gst/autoplug/gstsearchfuncs.c:
3734         * gst/autoplug/gstsearchfuncs.h:
3735         * gst/autoplug/gstspider.c:
3736         * gst/autoplug/gstspider.h:
3737         * gst/autoplug/gstspideridentity.c:
3738         * gst/autoplug/gstspideridentity.h:
3739         * gst/autoplug/spidertest.c:
3740           Die, spider, die.
3741
3742 2005-04-25  Wim Taymans  <wim@fluendo.com>
3743
3744         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3745         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3746         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3747         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3748         * gst/gstpad.h:
3749         Added stubs for unimplemented functions. 
3750
3751 2005-04-24  David Schleef  <ds@schleef.org>
3752
3753         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3754         please fix.
3755
3756 2005-04-24  David Schleef  <ds@schleef.org>
3757
3758         Convert everything from GstAtomicInt to g_atomic_int_*, and
3759         remove gstatomic.
3760         * gst/Makefile.am:
3761         * gst/gstatomic.c:
3762         * gst/gstatomic.h:
3763         * gst/gstatomic_impl.h:
3764         * gst/gstbuffer.c:
3765         * gst/gstcaps.c:
3766         * gst/gstcaps.h:
3767         * gst/gstclock.c:
3768         * gst/gstclock.h:
3769         * gst/gstdata.c:
3770         * gst/gstdata.h:
3771         * gst/gstdata_private.h:
3772         * gst/gstevent.c:
3773         * gst/gstinfo.c:
3774         * gst/gstinfo.h:
3775         * gst/gstmessage.c:
3776         * gst/gstobject.c:
3777         * gst/gstobject.h:
3778         * gst/gststructure.c:
3779         * gst/gststructure.h:
3780         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3781         * gst/gstutils.h:
3782
3783 2005-04-24  David Schleef  <ds@schleef.org>
3784
3785         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3786         make the regressions tests work.  Remove some code that is no
3787         longer true.
3788         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3789         Disable warning for pads without templates.
3790
3791 2005-04-24  David Schleef  <ds@schleef.org>
3792
3793         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3794         functions that handle filtered links.
3795         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3796         removed functions.
3797         * gst/gstutils.c: Fix/remove utility functions that handle
3798         filtered caps.
3799         * gst/gstutils.h:
3800         * gst/gstvalue.c: Add serialization/deserialization of caps
3801         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3802         requires fixing so that the filter caps notation creates
3803         a capsfilter element and sets the filter_caps property.  I
3804         think everyone probably wants to keep the shorthand notation.
3805         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3806         * docs/gst/tmpl/gstpad.sgml:
3807
3808         * gst/elements/gstelements.c: Register capsfilter element.
3809         * gst/Makefile.am: fix spacing
3810         * docs/random/ds/0.9-suggested-changes: random
3811
3812 2005-04-23  David Schleef  <ds@schleef.org>
3813
3814         * gst/elements/Makefile.am:
3815         * gst/elements/gstcapsfilter.c: New element that acts like an
3816         identity, but filters caps.  Will eventually replace filtered
3817         caps in pad linking.
3818         * gst/gstutils.c: (gst_element_create_all_pads): New function
3819         to create all the ALWAYS pads that are registered with an
3820         element class.  This functionality should eventually be
3821         merged in with GstElement initialization.
3822         * gst/gstutils.h:
3823         * testsuite/trigger/README: part of trigger test code that should
3824         have been checked in a long time ago.
3825
3826 2005-04-23  David Schleef  <ds@schleef.org>
3827
3828         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3829         needed with new versions of libtool (nobody will confirm this),
3830         and hard to carry around.
3831         * gst/autoplug/Makefile.am:
3832         * gst/base/Makefile.am:
3833         * gst/elements/Makefile.am:
3834         * gst/indexers/Makefile.am:
3835         * gst/schedulers/Makefile.am:
3836         * libs/gst/bytestream/Makefile.am:
3837         * libs/gst/control/Makefile.am:
3838         * libs/gst/dataprotocol/Makefile.am:
3839         * libs/gst/getbits/Makefile.am:
3840
3841 2005-04-21  Wim Taymans  <wim@fluendo.com>
3842
3843         * docs/design/draft-push-pull.txt:
3844         * docs/design/part-MT-refcounting.txt:
3845         * docs/design/part-TODO.txt:
3846         * docs/design/part-caps.txt:
3847         * docs/design/part-events.txt:
3848         * docs/design/part-gstbus.txt:
3849         * docs/design/part-gstpipeline.txt:
3850         * docs/design/part-messages.txt:
3851         * docs/design/part-push-pull.txt:
3852         * docs/design/part-query.txt:
3853         Some more docs.
3854
3855 2005-04-21  Wim Taymans  <wim@fluendo.com>
3856
3857         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3858         (gst_message_new), (gst_message_new_error),
3859         (gst_message_new_warning), (gst_message_new_tag),
3860         (gst_message_new_state_changed), (gst_message_new_application),
3861         (gst_message_get_structure):
3862         * gst/gstmessage.h:
3863         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3864         (gst_structure_copy_conditional):
3865         Use parent refcount in GstMessage to ensure GstStructure
3866         consistency.
3867         Cleaned up headers a bit.
3868         
3869
3870 2005-04-20  Wim Taymans  <wim@fluendo.com>
3871
3872         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3873         (gst_basesink_pad_getcaps), (gst_basesink_init),
3874         (gst_basesink_chain_unlocked):
3875         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3876         (gst_type_find_helper):
3877         * gst/elements/gsttypefindelement.c:
3878         (gst_type_find_element_have_type), (gst_type_find_element_init),
3879         (stop_typefinding), (gst_type_find_element_handle_event),
3880         (find_suggest), (gst_type_find_element_chain),
3881         (gst_type_find_element_checkgetrange),
3882         (gst_type_find_element_getrange), (do_typefind),
3883         (gst_type_find_element_activate):
3884         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3885         (gst_buffer_default_free), (gst_buffer_default_copy),
3886         (gst_buffer_set_caps):
3887         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3888         (gst_caps_replace):
3889         * gst/gstmessage.c: (gst_message_new),
3890         (gst_message_new_state_changed):
3891         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3892         (gst_pad_set_checkgetrange_function),
3893         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3894         (gst_pad_set_caps), (gst_pad_check_pull_range),
3895         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3896         * gst/gstpad.h:
3897         * gst/gsttypefind.c: (gst_type_find_register):
3898         Make gst_caps_replace() work like other _replace() functions.
3899         Use _caps_replace() where possible.
3900         Make sure _message_new() initialises its field.
3901         Add gst_static_pad_template_get_caps()
3902
3903
3904 2005-04-18  Andy Wingo  <wingo@pobox.com>
3905
3906         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3907         on the peer, not the pad. I think that was a typo. Pass an extra
3908         arg to see if random access is possible. Activate the pads as
3909         PULL_RANGE if possible.
3910
3911         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3912
3913         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3914         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3915         to PROP_....
3916
3917 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3918
3919         * docs/faq/using.xml:
3920           Add note on gstreamer-properties (#154996).
3921
3922 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3923
3924         * docs/random/bbb/optional-properties:
3925           Some analysis on optional properties.
3926
3927 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3928
3929         * docs/gst/tmpl/gstelementfactory.sgml:
3930         * gst/gstelement.h:
3931         * gst/gstelementfactory.c: (gst_element_factory_init),
3932         (gst_element_factory_cleanup), (gst_element_register),
3933         (__gst_element_factory_add_static_pad_template),
3934         (gst_element_factory_get_static_pad_templates),
3935         (gst_element_factory_can_src_caps),
3936         (gst_element_factory_can_sink_caps):
3937         * gst/registries/Makefile.am:
3938         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3939         (gst_xml_registry_class_init), (gst_xml_registry_init),
3940         (gst_xml_registry_new), (gst_xml_registry_set_property),
3941         (gst_xml_registry_get_property), (get_time), (make_dir),
3942         (gst_xml_registry_get_perms_func),
3943         (plugin_times_older_than_recurse), (plugin_times_older_than),
3944         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3945         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3946         (add_to_char_array), (read_string), (read_uint), (read_enum),
3947         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3948         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3949         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3950         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3951         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3952         (gst_xml_registry_rebuild):
3953         * gst/registries/gstlibxmlregistry.h:
3954         * tools/gst-compprep.c: (main):
3955         * tools/gst-inspect.c: (print_pad_templates_info):
3956         * tools/gst-xmlinspect.c: (print_element_info):
3957           Use libxml2 for registry parsing, use staticpadtemplates in
3958           elementfactories. Makes gst_init() +/- 10x faster.
3959
3960 2005-04-12  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/base/Makefile.am:
3963         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3964         (gst_basesink_pad_getcaps), (gst_basesink_init),
3965         (gst_basesink_event), (gst_basesink_change_state):
3966         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3967         (gst_basesrc_init), (gst_basesrc_query),
3968         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3969         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3970         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3971         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3972         (gst_basesrc_stop), (gst_basesrc_activate),
3973         (gst_basesrc_change_state):
3974         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3975         (helper_find_suggest), (gst_type_find_helper):
3976         * gst/base/gsttypefindhelper.h:
3977         * gst/elements/Makefile.am:
3978         * gst/elements/gstelements.c:
3979         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3980         (gst_fakesink_get_times), (gst_fakesink_event),
3981         (gst_fakesink_preroll), (gst_fakesink_render):
3982         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3983         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3984         (gst_fakesrc_get_property), (gst_fakesrc_create),
3985         (gst_fakesrc_start), (gst_fakesrc_stop):
3986         * gst/elements/gstfakesrc.h:
3987         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3988         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3989         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3990         (gst_filesrc_create_read), (gst_filesrc_create),
3991         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3992         (gst_filesrc_start):
3993         * gst/elements/gsttypefindelement.c:
3994         (gst_type_find_element_have_type), (gst_type_find_element_init),
3995         (start_typefinding), (stop_typefinding), (push_buffer_store),
3996         (gst_type_find_element_handle_event),
3997         (gst_type_find_element_chain),
3998         (gst_type_find_element_checkgetrange),
3999         (gst_type_find_element_getrange), (do_typefind),
4000         (gst_type_find_element_activate),
4001         (gst_type_find_element_change_state):
4002         * gst/elements/gsttypefindelement.h:
4003         * gst/gstpipeline.c: (pipeline_bus_handler):
4004         Added typefind helper.
4005         Small preroll fix in the base sink.
4006         Disable typefind code in basesrc.
4007         Crude port of typefindelement.
4008         Fakesrc cleanups.
4009
4010
4011 2005-04-11  Wim Taymans  <wim@fluendo.com>
4012
4013         * check/gst/gstbus.c: (gstbus_suite):
4014         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4015         * check/gstcheck.h:
4016           Fix up the timeout so that the test does not fail.
4017
4018 2005-04-06  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/base/README:
4021         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4022         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4023         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4024         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4025         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4026         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4027         (gst_basesrc_stop), (gst_basesrc_activate),
4028         (gst_basesrc_change_state), (basesrc_find_peek),
4029         (basesrc_find_suggest), (gst_basesrc_type_find):
4030         * gst/base/gstbasesrc.h:
4031         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4032         (gst_filesrc_class_init), (gst_filesrc_init),
4033         (gst_filesrc_finalize), (gst_filesrc_set_location),
4034         (gst_filesrc_set_property), (gst_filesrc_get_property),
4035         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4036         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4037         (gst_filesrc_create_read), (gst_filesrc_create),
4038         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4039         * gst/elements/gstfilesrc.h:
4040         * gst/gstelement.c: (gst_element_get_state_func),
4041         (gst_element_lost_state), (gst_element_pads_activate):
4042         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4043         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4044         (gst_pad_pull_range):
4045         * gst/gstpad.h:
4046         More work on the generic source base class, implement seeking,
4047         query.
4048         Make filesrc extend the base source class.
4049         Added gst_pad_set_checkgetrange_function to GstPad.
4050
4051 2005-04-06  Andy Wingo  <wingo@pobox.com>
4052
4053         * pkgconfig/gstreamer-base.pc.in:
4054         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4055
4056         * pkgconfig/Makefile.am:
4057         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4058
4059 2005-04-04  Wim Taymans  <wim@fluendo.com>
4060
4061         * gst/base/Makefile.am:
4062         * gst/base/README:
4063         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4064         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4065         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4066         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4067         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4068         (gst_basesrc_base_init), (gst_basesrc_class_init),
4069         (gst_basesrc_init), (gst_basesrc_get_formats),
4070         (gst_basesrc_get_query_types), (gst_basesrc_query),
4071         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4072         (gst_basesrc_set_property), (gst_basesrc_get_property),
4073         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4074         (gst_basesrc_loop), (gst_basesrc_activate),
4075         (gst_basesrc_change_state):
4076         * gst/base/gstbasesrc.h:
4077         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4078         (gst_fakesrc_class_init), (gst_fakesrc_init),
4079         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4080         (gst_fakesrc_get_property), (gst_fakesrc_create):
4081         * gst/elements/gstfakesrc.h:
4082         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4083         (gst_filesrc_open_file), (gst_filesrc_loop),
4084         (gst_filesrc_activate), (filesrc_find_peek),
4085         (gst_filesrc_type_find):
4086         Made base source class, make fakesrc extend it.
4087         Add comments to basesink class.
4088         Some filesrc cleanup.
4089
4090 2005-03-31  David Schleef  <ds@schleef.org>
4091
4092         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4093         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4094         expected to link against libgstreamer.
4095         * gst/base/Makefile.am: link against libgstreamer
4096         * gst/elements/Makefile.am: same
4097
4098 2005-03-31  Andy Wingo  <wingo@pobox.com>
4099
4100         * tests/instantiate/Makefile.am:
4101         * tests/instantiate/caps.c: Add test to test speed of caps copy
4102         and free.
4103
4104         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4105         GMemChunk to be fair.
4106
4107         * gst/gsttrashstack.h: Remove warning about using the fallback
4108         trash stack implementation, it's still faster than malloc.
4109
4110 2005-03-30  Andy Wingo  <wingo@pobox.com>
4111
4112         * tests/complexity.c: Add a copyright.
4113
4114 2005-03-31  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4117         (gst_base_transform_class_init), (gst_base_transform_init),
4118         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4119         (gst_base_transform_get_property),
4120         (gst_base_transform_sink_activate),
4121         (gst_base_transform_src_activate),
4122         (gst_base_transform_change_state):
4123         * gst/base/gstbasetransform.h:
4124         * gst/elements/gstidentity.c: (gst_identity_class_init),
4125         (gst_identity_event), (gst_identity_check_perfect),
4126         (gst_identity_transform), (gst_identity_start),
4127         (gst_identity_stop):
4128         Added start/stop methods to transform base class so subclasses 
4129         don't need to deal with state changes even.
4130
4131 2005-03-31  Wim Taymans  <wim@fluendo.com>
4132
4133         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4134         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4135         * gst/gstevent.h:
4136         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4137         (gst_pad_pull_range):
4138         Added rate to the discont event to prepare for variable speed
4139         and reverse playback.
4140
4141 2005-03-29  David Schleef  <ds@schleef.org>
4142
4143         * configure.ac:
4144         * testsuite/trigger/Makefile.am:
4145         * testsuite/trigger/trigger.c: A little example program to show
4146         how trigger-based elements can work.
4147
4148 2005-03-29  Wim Taymans  <wim@fluendo.com>
4149
4150         * gst/base/Makefile.am:
4151         * gst/base/README:
4152         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4153         (gst_basesink_base_init), (gst_basesink_class_init),
4154         (gst_basesink_pad_getcaps), (gst_basesink_init),
4155         (gst_basesink_activate), (gst_basesink_change_state):
4156         * gst/base/gstbasesink.h:
4157         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4158         (gst_base_transform_base_init), (gst_base_transform_finalize),
4159         (gst_base_transform_class_init), (gst_base_transform_init),
4160         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4161         (gst_base_transform_event), (gst_base_transform_getrange),
4162         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4163         (gst_base_transform_set_property),
4164         (gst_base_transform_get_property),
4165         (gst_base_transform_sink_activate),
4166         (gst_base_transform_src_activate),
4167         (gst_base_transform_change_state):
4168         * gst/base/gstbasetransform.h:
4169         * gst/elements/gstidentity.c: (gst_identity_finalize),
4170         (gst_identity_class_init), (gst_identity_init),
4171         (gst_identity_event), (gst_identity_check_perfect),
4172         (gst_identity_transform), (gst_identity_set_property),
4173         (gst_identity_get_property), (gst_identity_change_state):
4174         * gst/elements/gstidentity.h:
4175         * gst/gstelement.c: (gst_element_get_state_func),
4176         (gst_element_lost_state), (gst_element_pads_activate):
4177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4178         (gst_pad_check_pull_range), (gst_pad_pull_range):
4179         * gst/gstpad.h:
4180         Simplify pad activation.
4181         Added function to check if pull_range can be performed.
4182         Error out when pulling inactive or flushing pads.
4183         Removed const from refcounted types as it does not make sense.
4184         Simplify pad templates in basesink
4185         Added base class for simple 1-to-1 transforms.
4186         Make identity subclass the base transform.
4187
4188 2005-03-29  Andy Wingo  <wingo@pobox.com>
4189
4190         * docs/libs/gstreamer-libs-overrides.txt: 
4191         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4192         really don't understand what's going on, but like whatever. I want
4193         green buildbot!
4194
4195         * docs/gst/Makefile.am:
4196         * docs/libs/Makefile.am: Dist the overrides files.
4197
4198         * check/Makefile.am (clean-local): Remove .libs directories.
4199
4200         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4201         elements to EXTRA_DIST, so po/ files are happy.
4202
4203         * po/POTFILES.in: Er, remove it here.
4204
4205         * po/POTFILES: Remove gstspider.c.
4206
4207         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4208
4209         * docs/libs/gstreamer-libs-docs.sgml: 
4210         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4211         bytestream.
4212
4213         * tests/complexity.c (main): Set the length of the preroll queue
4214         on the sinks to prevent a lockup.
4215
4216         * libs/gst/dataprotocol/Makefile.am: 
4217         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4218         the same as the one in check/gst-libs/gdp.c.
4219
4220         * po/, docs/gst/: Commit automatic changes to docs and po files.
4221
4222         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4223         the versioned libgstbase.
4224
4225         * check/Makefile.am: Depend on an unversioned gst-register, seems
4226         to make autoconf happier.
4227
4228         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4229
4230 2005-03-28  Wim Taymans  <wim@fluendo.com>
4231
4232         * configure.ac:
4233         * docs/design/part-gstelement.txt:
4234         * docs/design/part-negotiation.txt:
4235         * docs/design/part-preroll.txt:
4236         * docs/design/part-scheduling.txt:
4237         * docs/design/part-states.txt:
4238         * gst/Makefile.am:
4239         * gst/base/Makefile.am:
4240         * gst/base/README:
4241         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4242         (gst_basesink_base_init), (gst_basesink_class_init),
4243         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4244         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4245         (gst_basesink_set_pad_functions),
4246         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4247         (gst_basesink_set_property), (gst_basesink_get_property),
4248         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4249         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4250         (gst_basesink_preroll_queue_push),
4251         (gst_basesink_preroll_queue_empty),
4252         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4253         (gst_basesink_event), (gst_basesink_get_times),
4254         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4255         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4256         (gst_basesink_loop), (gst_basesink_activate),
4257         (gst_basesink_change_state):
4258         * gst/base/gstbasesink.h:
4259         * gst/elements/Makefile.am:
4260         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4261         (gst_fakesink_class_init), (gst_fakesink_init),
4262         (gst_fakesink_set_property), (gst_fakesink_get_property),
4263         (gst_fakesink_get_times), (gst_fakesink_event),
4264         (gst_fakesink_preroll), (gst_fakesink_render),
4265         (gst_fakesink_change_state):
4266         * gst/elements/gstfakesink.h:
4267         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4268         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4269         * gst/gstelement.c: (gst_element_add_pad),
4270         (gst_element_get_state_func), (gst_element_abort_state),
4271         (gst_element_commit_state), (gst_element_lost_state),
4272         (gst_element_set_state), (gst_element_pads_activate):
4273         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4274         * gst/gstpipeline.c: (gst_pipeline_send_event),
4275         (gst_pipeline_change_state):
4276         Added state change code.
4277         Added/updated docs.
4278         Added sink base class, make fakesink extend the base class.
4279         Small cleanups in GstPipeline.
4280
4281 2005-03-26  David Schleef  <ds@schleef.org>
4282
4283         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4284         is broken and should be implemented in a different library.
4285         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4286         * gst/gst.h: remove gstcpu.h
4287         * gst/gstcpu.c: remove
4288         * gst/gstcpu.h: remove
4289         * gst/Makefile.am.future: Remove this file.  It's ancient.
4290
4291 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4292
4293         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4294         (gst_bin_send_event):
4295           Add default event/set_manager handlers. The set_manager handler
4296           takes care that the manager is distributed over kids that were
4297           already in the bin before the manager was set. The event handler
4298           is a utility virtual function that sends the event over all sinks,
4299           so that gst_element_send_event (bin, event); has the expected
4300           behaviour.
4301         * gst/gstpad.c: (gst_pad_event_default):
4302           Re-install default event handling for discontinuities, so that
4303           seeking works without requiring hacks in applications or extra
4304           code in sinks.
4305         * gst/gstpipeline.c: (gst_pipeline_class_init),
4306         (gst_pipeline_send_event):
4307           Half hack, half utility: set a pipeline to PAUSED for seek events,
4308           since that is the only way we can guarantee a/v sync. Means that
4309           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4310           and it "just works".
4311
4312 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4313
4314         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4315           Lock/unlock mismatch.
4316
4317 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4318
4319         * docs/faq/gst-uninstalled:
4320           add gst-plugins-base
4321         * docs/gst/Makefile.am:
4322           don't error out until docs are fixed
4323         * docs/gst/gstreamer.types:
4324           remove thread
4325
4326 2005-03-22  Wim Taymans  <wim@fluendo.com>
4327
4328         * check/Makefile.am:
4329         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4330         * gst/gststructure.c: (gst_structure_set_valist),
4331         (gst_structure_copy_conditional):
4332         Activated more tests.
4333         Added message test.
4334         Added G_TYPE_POINTER to GstStructure.
4335         
4336
4337 2005-03-22  Wim Taymans  <wim@fluendo.com>
4338
4339         * docs/design/part-TODO.txt:
4340         * docs/design/part-events.txt:
4341         * docs/design/part-gstbin.txt:
4342         * docs/design/part-gstbus.txt:
4343         * docs/design/part-gstpipeline.txt:
4344         * docs/design/part-messages.txt:
4345         * gst/gstbus.c:
4346         * gst/gstmessage.c:
4347         Docs updates
4348
4349 2005-03-21  Wim Taymans  <wim@fluendo.com>
4350
4351         * gst/gstbus.c: (gst_bus_post):
4352         Fix copy-and-paste error.
4353
4354 2005-03-21  Wim Taymans  <wim@fluendo.com>
4355
4356         * check/Makefile.am:
4357         * gst/Makefile.am:
4358         * gst/elements/Makefile.am:
4359         * gst/elements/gstelements.c:
4360         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4361         (gst_fakesink_event), (gst_fakesink_chain):
4362         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4363         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4364         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4365         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4366         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4367         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4368         (gst_fakesrc_loop), (gst_fakesrc_activate),
4369         (gst_fakesrc_change_state):
4370         * gst/elements/gstfakesrc.h:
4371         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4372         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4373         (gst_filesrc_open_file), (gst_filesrc_loop),
4374         (gst_filesrc_activate), (gst_filesrc_change_state),
4375         (filesrc_find_peek), (filesrc_find_suggest),
4376         (gst_filesrc_type_find):
4377         * gst/elements/gstidentity.c: (gst_identity_finalize),
4378         (gst_identity_class_init), (gst_identity_init),
4379         (gst_identity_proxy_getcaps), (identity_queue_push),
4380         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4381         (gst_identity_getrange), (gst_identity_chain),
4382         (gst_identity_sink_loop), (gst_identity_src_loop),
4383         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4384         (gst_identity_set_property), (gst_identity_get_property),
4385         (gst_identity_change_state):
4386         * gst/elements/gstidentity.h:
4387         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4388         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4389         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4390         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4391         (gst_tee_sink_activate):
4392         * gst/elements/gsttee.h:
4393         * gst/gst.c: (gst_register_core_elements), (init_post):
4394         * gst/gst.h:
4395         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4396         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4397         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4398         (gst_bin_change_state):
4399         * gst/gstbin.h:
4400         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4401         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4402         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4403         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4404         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4405         (bus_watch_callback), (bus_watch_destroy),
4406         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4407         (poll_timeout), (gst_bus_poll):
4408         * gst/gstbus.h:
4409         * gst/gstcaps.h:
4410         * gst/gstdata.h:
4411         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4412         (gst_element_post_message), (gst_element_message_full),
4413         (gst_element_get_state_func), (gst_element_get_state),
4414         (gst_element_abort_state), (gst_element_commit_state),
4415         (gst_element_lost_state), (gst_element_set_state),
4416         (gst_element_pads_activate), (gst_element_change_state),
4417         (gst_element_dispose), (gst_element_set_manager_func),
4418         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4419         (gst_element_set_manager), (gst_element_get_manager),
4420         (gst_element_set_bus), (gst_element_get_bus),
4421         (gst_element_set_scheduler), (gst_element_get_scheduler):
4422         * gst/gstelement.h:
4423         * gst/gstevent.c: (gst_event_new_segment_seek),
4424         (gst_event_new_flush):
4425         * gst/gstevent.h:
4426         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4427         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4428         (gst_message_new_eos), (gst_message_new_error),
4429         (gst_message_new_warning), (gst_message_new_tag),
4430         (gst_message_new_state_changed), (gst_message_new_application),
4431         (gst_message_get_structure), (gst_message_parse_tag),
4432         (gst_message_parse_state_changed), (gst_message_parse_error),
4433         (gst_message_parse_warning):
4434         * gst/gstmessage.h:
4435         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4436         (gst_real_pad_set_property), (gst_pad_set_active),
4437         (gst_pad_is_active), (gst_pad_set_blocked_async),
4438         (gst_pad_set_blocked), (gst_pad_is_blocked),
4439         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4440         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4441         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4442         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4443         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4444         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4445         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4446         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4447         (gst_pad_set_caps), (gst_pad_configure_sink),
4448         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4449         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4450         (gst_real_pad_dispose), (gst_real_pad_finalize),
4451         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4452         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4453         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4454         * gst/gstpad.h:
4455         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4456         (pipeline_bus_handler), (gst_pipeline_change_state),
4457         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4458         * gst/gstpipeline.h:
4459         * gst/gstprobe.h:
4460         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4461         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4462         (gst_queue_link_src), (gst_queue_bufferalloc),
4463         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4464         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4465         (gst_queue_loop), (gst_queue_handle_src_event),
4466         (gst_queue_handle_src_query), (gst_queue_src_activate),
4467         (gst_queue_change_state):
4468         * gst/gstqueue.h:
4469         * gst/gstscheduler.c: (gst_scheduler_init),
4470         (gst_scheduler_dispose), (gst_scheduler_create_task),
4471         (gst_scheduler_factory_create):
4472         * gst/gstscheduler.h:
4473         * gst/gststructure.c: (gst_structure_get_type),
4474         (gst_structure_copy_conditional):
4475         * gst/gststructure.h:
4476         * gst/gsttaginterface.h:
4477         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4478         (gst_task_init), (gst_task_dispose), (gst_task_create),
4479         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4480         (gst_task_pause):
4481         * gst/gsttask.h:
4482         * gst/gstthread.c:
4483         * gst/gstthread.h:
4484         * gst/gsttypes.h:
4485         * gst/schedulers/Makefile.am:
4486         * gst/schedulers/cothreads_compat.h:
4487         * gst/schedulers/entryscheduler.c:
4488         * gst/schedulers/faircothreads.c:
4489         * gst/schedulers/faircothreads.h:
4490         * gst/schedulers/fairscheduler.c:
4491         * gst/schedulers/gstbasicscheduler.c:
4492         * gst/schedulers/gstoptimalscheduler.c:
4493         * gst/schedulers/gthread-cothreads.h:
4494         * gst/schedulers/threadscheduler.c:
4495         (gst_thread_scheduler_task_get_type),
4496         (gst_thread_scheduler_task_class_init),
4497         (gst_thread_scheduler_task_init),
4498         (gst_thread_scheduler_task_start),
4499         (gst_thread_scheduler_task_stop),
4500         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4501         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4502         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4503         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4504         (plugin_init):
4505         * libs/gst/Makefile.am:
4506         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4507         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4508         (gst_file_pad_parent_set):
4509         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4510         (gst_dp_event_from_packet):
4511         * tests/complexity.c: (main):
4512         * tests/mass_elements.c: (main):
4513         * testsuite/states/locked.c: (message_received), (main):
4514         * testsuite/states/parent.c: (main):
4515         * tools/gst-inspect.c: (print_element_flag_info),
4516         (print_implementation_info), (print_pad_info):
4517         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4518         (main):
4519         * tools/gst-md5sum.c: (event_loop), (main):
4520         * tools/gst-typefind.c: (main):
4521         * tools/gst-xmlinspect.c: (print_element_info):
4522         Next big merge.
4523         Added GstBus for mainloop integration.
4524         Added GstMessage for sending notifications on the bus.
4525         Added GstTask as an abstraction for pipeline entry points.
4526         Removed GstThread.
4527         Removed Schedulers.
4528         Simplified GstQueue for multithreaded core.
4529         Made _link threadsafe, removed old capsnego.
4530         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4531         Added pad blocking functions.
4532         Reworked scheduling functions in GstPad to prepare for
4533         scheduling updates soon.
4534         Moved events out of data stream.
4535         Simplified GstEvent types.
4536         Added return values to push/pull.
4537         Removed clocking from GstElement.
4538         Added prototypes for state change function for next merge.
4539         Removed iterate from bins and state change management.
4540         Fixed some elements, disabled others for now.
4541         Fixed -inspect and -launch.
4542         Added check for GstBus.
4543
4544 2005-03-10  Wim Taymans  <wim@fluendo.com>
4545
4546         * docs/design/part-MT-refcounting.txt:
4547         * docs/design/part-clocks.txt:
4548         * docs/design/part-gstelement.txt:
4549         * docs/design/part-gstobject.txt:
4550         * docs/design/part-standards.txt:
4551         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4552         (gst_bin_remove_func), (gst_bin_remove):
4553         * gst/gstbin.h:
4554         * gst/gstbuffer.c:
4555         * gst/gstcaps.h:
4556         * testsuite/clock/clock1.c: (main):
4557         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4558         (main):
4559         * testsuite/dlopen/loadgst.c: (do_test):
4560         * testsuite/refcounting/bin.c: (add_remove_test1),
4561         (add_remove_test2), (main):
4562         * testsuite/refcounting/element.c: (main):
4563         * testsuite/refcounting/element_pad.c: (main):
4564         * testsuite/refcounting/pad.c: (main):
4565         * tools/gst-launch.c: (sigint_handler_sighandler):
4566         * tools/gst-typefind.c: (main):
4567         Doc updates.
4568         Added doc about clock.
4569         removed gst_bin_iterate_recurse_up(), marked methods
4570         for removal.
4571         Fix more testsuites.
4572
4573 2005-03-09  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/gstpad.c: (gst_pad_get_direction),
4576         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4577         (gst_pad_collect_valist):
4578         * testsuite/bins/interface.c: (main):
4579         * testsuite/caps/audioscale.c: (test_caps):
4580         * testsuite/caps/caps.c: (test1), (test2), (test3):
4581         * testsuite/caps/deserialize.c: (main):
4582         * testsuite/caps/enumcaps.c: (main):
4583         * testsuite/caps/filtercaps.c: (main):
4584         * testsuite/caps/intersect2.c: (main):
4585         * testsuite/caps/random.c: (main):
4586         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4587         * testsuite/caps/sets.c: (check_caps):
4588         * testsuite/caps/simplify.c: (check_caps), (main):
4589         * testsuite/caps/subtract.c: (check_caps):
4590         Fix _pad_get_direction wrt ghostpads.
4591         Fix caps testsuite.
4592
4593 2005-03-09  Wim Taymans  <wim@fluendo.com>
4594
4595         * check/Makefile.am:
4596         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4597         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4598         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4599         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4600         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4601         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4602         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4603         (bin_element_is_sink), (gst_bin_iterate_sinks),
4604         (gst_bin_iterate_all_by_interface):
4605         * gst/gstbin.h:
4606         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4607         (gst_element_change_state), (gst_element_dispose),
4608         (gst_element_finalize), (gst_element_set_loop_function):
4609         * gst/gstelement.h:
4610         * gst/gstiterator.c: (find_custom_fold_func):
4611         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4612         (gst_pad_collectv), (gst_pad_collect_valist),
4613         (gst_pad_template_new):
4614         * gst/gstpipeline.c: (gst_pipeline_class_init),
4615         (gst_pipeline_dispose), (gst_pipeline_set_property),
4616         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4617         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4618         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4619         * gst/gstutils.h:
4620         * gst/schedulers/entryscheduler.c:
4621         * gst/schedulers/gstbasicscheduler.c:
4622         (gst_basic_scheduler_cothreaded_chain),
4623         (gst_basic_scheduler_chain_add_element):
4624         * testsuite/bins/interface.c: (main):
4625         Added GstBin test.
4626         Added GstSystemClock test.
4627         Implemented clock distribution code in GstBin.
4628         Implemented iterate sinks method for future use.
4629         Rearranged gstelement.h
4630         Fix GstIterator comparison bug.
4631         Moved some code to GstPipeline, mostly clocking related.
4632
4633 2005-03-09  Wim Taymans  <wim@fluendo.com>
4634
4635         * configure.ac:
4636         * gst/gst_private.h:
4637         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4638         (gst_bin_remove_func), (gst_bin_remove),
4639         (gst_bin_get_by_name_recurse_up):
4640         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4641         (gst_clock_id_compare_func), (gst_clock_id_wait),
4642         (gst_clock_id_wait_async), (gst_clock_init),
4643         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4644         * gst/gstelement.h:
4645         * gst/gstinfo.c: (_gst_debug_init):
4646         * gst/gstobject.h:
4647         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4648         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4649         * gst/gstpad.h:
4650         Bump version number, we're now 0.9.0
4651         Add future debugging category.
4652         Fix NULL _unref() in _get_by_name_recurse_up
4653         Rearrange gstpad.h.
4654         Update some docs.
4655
4656 2005-03-08  Wim Taymans  <wim@fluendo.com>
4657
4658         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4659         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4660         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4661         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4662         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4663         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4664         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4665         * gst/elements/gstidentity.c: (gst_identity_class_init):
4666         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4667         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4668         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4669         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4670         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4671         (gst_tee_link):
4672         * gst/gstelement.c: (gst_element_class_init),
4673         (gst_element_base_class_init), (gst_element_init),
4674         (gst_element_get_random_pad), (gst_element_wait_state_change),
4675         (gst_element_change_state), (gst_element_dispose),
4676         (gst_element_finalize), (gst_element_set_loop_function):
4677         * gst/gstelement.h:
4678         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4679         * gst/gstthread.c: (gst_thread_class_init),
4680         (gst_thread_release_children_locks), (gst_thread_change_state):
4681         * gst/schedulers/gstbasicscheduler.c:
4682         (gst_basic_scheduler_loopfunc_wrapper),
4683         (gst_basic_scheduler_chain_wrapper),
4684         (gst_basic_scheduler_src_wrapper),
4685         (gst_basic_scheduler_remove_element):
4686         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4687         Remove threadsafe properties. Fix elements because GObject
4688         complains when installing a property before declaring a
4689         set/get_property handler.
4690         Rearrange gstelement.h file, use STATE macros for state locks.
4691         Free mutexes in the finalize method instead of dispose.
4692
4693 2005-03-08  Wim Taymans  <wim@fluendo.com>
4694
4695         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4696         * gst/gstthread.c: (gst_thread_release_children_locks):
4697         Added parentage check.
4698         Fix build og GstThread again.
4699
4700 2005-03-08  Wim Taymans  <wim@fluendo.com>
4701
4702         * docs/design/part-MT-refcounting.txt:
4703         * docs/design/part-conventions.txt:
4704         * docs/design/part-gstobject.txt:
4705         * docs/design/part-relations.txt:
4706         * docs/design/part-standards.txt:
4707         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4708         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4709         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4710         (gst_bin_iterate_all_by_interface):
4711         * gst/gstbuffer.h:
4712         * gst/gstclock.h:
4713         * gst/gstelement.c: (gst_element_class_init),
4714         (gst_element_change_state), (gst_element_set_loop_function):
4715         * gst/gstelement.h:
4716         * gst/gstiterator.c:
4717         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4718         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4719         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4720         (gst_object_set_parent), (gst_object_unparent),
4721         (gst_object_check_uniqueness):
4722         * gst/gstobject.h:
4723         Docs updates, clean up some headers.
4724
4725 2005-03-07  Wim Taymans  <wim@fluendo.com>
4726
4727         * check/.cvsignore:
4728         * check/Makefile.am:
4729         * check/gst-libs/.cvsignore:
4730         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4731         * check/gst/.cvsignore:
4732         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4733         (START_TEST), (gstbus_suite), (main):
4734         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4735         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4736         (gst_data_suite), (main):
4737         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4738         (add_fold_func), (gstiterator_suite), (main):
4739         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4740         (thread_name_object), (thread_name_object_default),
4741         (gst_object_name_compare), (gst_object_suite), (main):
4742         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4743         (gst_pad_suite), (main):
4744         * check/gstcheck.c: (gst_check_log_message_func),
4745         (gst_check_log_critical_func), (gst_check_init):
4746         * check/gstcheck.h:
4747         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4748         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4749         Added checks.
4750
4751 2005-03-07  Wim Taymans  <wim@fluendo.com>
4752
4753         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4754         (gst_list_iterator_next), (gst_list_iterator_resync),
4755         (gst_list_iterator_free), (gst_iterator_new_list),
4756         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4757         (gst_iterator_free), (gst_iterator_push), (filter_next),
4758         (filter_resync), (filter_uninit), (filter_free),
4759         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4760         (gst_iterator_foreach), (find_custom_fold_func),
4761         (gst_iterator_find_custom):
4762         * gst/gstiterator.h:
4763         Added missing files.
4764
4765 2005-03-07  Wim Taymans  <wim@fluendo.com>
4766
4767         * Makefile.am:
4768         * configure.ac:
4769         * docs/design/part-MT-refcounting.txt:
4770         * docs/design/part-conventions.txt:
4771         * docs/design/part-gstobject.txt:
4772         * docs/design/part-relations.txt:
4773         * examples/mixer/mixer.c: (main):
4774         * examples/thread/thread.c: (eos), (main):
4775         * gst/Makefile.am:
4776         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4777         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4778         (gst_spider_plug_from_srcpad):
4779         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4780         (gst_spider_identity_change_state),
4781         (gst_spider_identity_sink_loop_type_finding):
4782         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4783         * gst/elements/gstidentity.c: (gst_identity_init):
4784         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4785         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4786         * gst/elements/gsttypefindelement.c: (free_entry):
4787         * gst/gst.c:
4788         * gst/gst.h:
4789         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4790         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4791         (gst_bin_set_index), (gst_bin_set_element_sched),
4792         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4793         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4794         (gst_bin_iterate_elements), (iterate_child_recurse),
4795         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4796         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4797         (compare_interface), (gst_bin_get_by_interface),
4798         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4799         * gst/gstbin.h:
4800         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4801         (gst_buffer_default_free), (gst_buffer_default_copy),
4802         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4803         (gst_buffer_create_sub):
4804         * gst/gstbuffer.h:
4805         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4806         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4807         (gst_caps_unref), (gst_static_caps_get),
4808         (gst_caps_remove_and_get_structure), (gst_caps_append),
4809         (gst_caps_append_structure), (gst_caps_remove_structure),
4810         (gst_caps_copy_nth), (gst_caps_set_simple),
4811         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4812         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4813         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4814         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4815         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4816         (gst_caps_structure_figure_out_union),
4817         (gst_caps_switch_structures), (gst_caps_do_simplify),
4818         (gst_caps_replace), (gst_caps_from_string),
4819         (gst_caps_copy_conditional):
4820         * gst/gstcaps.h:
4821         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4822         (_gst_clock_id_free), (gst_clock_id_unref),
4823         (gst_clock_id_compare_func), (gst_clock_id_wait),
4824         (gst_clock_id_wait_async), (gst_clock_class_init),
4825         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4826         (gst_clock_get_time), (gst_clock_set_time_adjust),
4827         (gst_clock_set_property), (gst_clock_get_property):
4828         * gst/gstclock.h:
4829         * gst/gstcompat.h:
4830         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4831         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4832         * gst/gstdata.h:
4833         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4834         (gst_element_requires_clock), (gst_element_provides_clock),
4835         (gst_element_set_clock), (gst_element_clock_wait),
4836         (gst_element_wait), (gst_element_set_time_delay),
4837         (gst_element_is_indexable), (gst_element_add_pad),
4838         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4839         (pad_compare_name), (gst_element_get_static_pad),
4840         (gst_element_request_pad), (gst_element_get_request_pad),
4841         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4842         (gst_element_class_get_pad_template_list),
4843         (gst_element_class_get_pad_template), (gst_element_error_func),
4844         (gst_element_get_random_pad), (gst_element_get_event_masks),
4845         (gst_element_send_event), (gst_element_seek),
4846         (gst_element_get_query_types), (gst_element_query),
4847         (gst_element_get_formats), (gst_element_convert),
4848         (gst_element_is_locked_state), (gst_element_set_locked_state),
4849         (gst_element_sync_state_with_parent), (gst_element_change_state),
4850         (gst_element_finalize), (gst_element_yield),
4851         (gst_element_interrupt), (gst_element_set_scheduler),
4852         (gst_element_get_scheduler), (gst_element_set_loop_function):
4853         * gst/gstelement.h:
4854         * gst/gstevent.h:
4855         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4856         (gst_format_get_by_nick), (gst_format_get_details),
4857         (gst_format_iterate_definitions):
4858         * gst/gstformat.h:
4859         * gst/gstindex.c: (gst_index_gtype_resolver):
4860         * gst/gstinfo.c:
4861         * gst/gstinfo.h:
4862         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4863         (gst_mem_chunk_free):
4864         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4865         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4866         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4867         (gst_object_dispatch_properties_changed),
4868         (gst_object_set_name_default), (gst_object_set_name),
4869         (gst_object_get_name), (gst_object_set_name_prefix),
4870         (gst_object_get_name_prefix), (gst_object_set_parent),
4871         (gst_object_get_parent), (gst_object_unparent),
4872         (gst_object_check_uniqueness), (gst_object_save_thyself),
4873         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4874         (gst_object_set_property), (gst_object_get_property),
4875         (gst_object_get_path_string):
4876         * gst/gstobject.h:
4877         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4878         (gst_real_pad_init), (gst_real_pad_get_property),
4879         (gst_pad_custom_new), (gst_pad_get_direction),
4880         (gst_pad_set_active), (gst_pad_is_active),
4881         (gst_pad_set_event_function), (gst_pad_is_linked),
4882         (gst_pad_link_free), (gst_pad_link_intersect),
4883         (gst_pad_link_fixate), (gst_pad_set_caps),
4884         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4885         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4886         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4887         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4888         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4889         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4890         (gst_pad_realize), (gst_pad_get_allowed_caps),
4891         (gst_real_pad_dispose), (gst_real_pad_finalize),
4892         (gst_pad_collectv), (gst_pad_collect_valist),
4893         (gst_pad_template_dispose), (gst_pad_template_new),
4894         (gst_pad_get_internal_links):
4895         * gst/gstpad.h:
4896         * gst/gstpipeline.c: (gst_pipeline_dispose),
4897         (gst_pipeline_change_state):
4898         * gst/gstpipeline.h:
4899         * gst/gstplugin.c:
4900         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4901         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4902         * gst/gstpluginfeature.h:
4903         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4904         * gst/gstquery.c: (_gst_query_type_initialize),
4905         (gst_query_type_register), (gst_query_type_get_by_nick),
4906         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4907         * gst/gstquery.h:
4908         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4909         * gst/gstscheduler.c: (gst_scheduler_add_element),
4910         (gst_scheduler_factory_create):
4911         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4912         (gst_structure_free), (gst_structure_set_name),
4913         (gst_structure_id_set_value), (gst_structure_set_value),
4914         (gst_structure_set_valist), (gst_structure_remove_field),
4915         (gst_structure_remove_fields),
4916         (gst_structure_remove_fields_valist),
4917         (gst_structure_remove_all_fields), (gst_structure_foreach),
4918         (gst_structure_map_in_place),
4919         (gst_caps_structure_fixate_field_nearest_int),
4920         (gst_caps_structure_fixate_field_nearest_double):
4921         * gst/gststructure.h:
4922         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4923         (gst_system_clock_init), (gst_system_clock_dispose),
4924         (gst_system_clock_async_thread),
4925         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4926         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4927         * gst/gstsystemclock.h:
4928         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4929         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4930         * gst/gsttaginterface.c:
4931         * gst/gstthread.c: (gst_thread_dispose),
4932         (gst_thread_release_children_locks), (gst_thread_change_state),
4933         (gst_thread_main_loop):
4934         * gst/gsttrashstack.h:
4935         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4936         * gst/gsttypes.h:
4937         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4938         (gst_element_request_pad), (gst_element_get_pad_from_template),
4939         (gst_element_request_compatible_pad),
4940         (gst_element_get_compatible_pad_filtered),
4941         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4942         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4943         (gst_element_link_many), (gst_element_link),
4944         (gst_element_link_pads), (gst_element_unlink_pads),
4945         (gst_element_unlink_many), (gst_element_unlink),
4946         (gst_pad_can_link_filtered), (gst_pad_can_link),
4947         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4948         (gst_object_default_error), (gst_bin_add_many),
4949         (gst_bin_remove_many), (gst_element_populate_std_props),
4950         (gst_element_class_install_std_props), (gst_buffer_merge),
4951         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4952         (link_fold_func), (gst_pad_proxy_setcaps):
4953         * gst/gstutils.h:
4954         * gst/gstvalue.c: (gst_value_deserialize_string):
4955         * gst/parse/grammar.y:
4956         * gst/schedulers/gstbasicscheduler.c:
4957         (gst_basic_scheduler_cothreaded_chain),
4958         (gst_basic_scheduler_chain_recursive_add),
4959         (gst_basic_scheduler_pad_link):
4960         * gst/schedulers/gstoptimalscheduler.c:
4961         (get_group_schedule_function),
4962         (gst_opt_scheduler_state_transition),
4963         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4964         * libs/gst/bytestream/bytestream.c:
4965         * libs/gst/dataprotocol/dataprotocol.c:
4966         (gst_dp_header_from_buffer):
4967         * po/nb.po:
4968         * po/ru.po:
4969         * tests/threadstate/threadstate2.c: (eos):
4970         * tools/gst-compprep.c: (main):
4971         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4972         (print_pad_info), (print_children_info):
4973         * tools/gst-launch.c: (idle_func), (main):
4974         * tools/gst-md5sum.c: (idle_func), (main):
4975         * tools/gst-xmlinspect.c: (print_element_info):
4976         First THREADED backport attempt, focusing on adding locks and
4977         making sure the API is threadsafe. Needs more work. More docs
4978         follow this week.
4979
4980 2005-02-24  Andy Wingo  <wingo@pobox.com>
4981
4982         * tests/bench-complexity.scm:
4983         * tests/complexity.gnuplot: New files, good for running complexity
4984         benchmarks.
4985
4986         * tests/Makefile.am:
4987         * tests/complexity.c: New test, sets up N elements, at each level
4988         teeing into M streams per element. Eeeenteresting.
4989
4990         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4991         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4992         running bench-mass_elements.scm.
4993
4994         * tests/bench-mass_elements.scm: New script, runs mass_elements
4995         for various numbers of identities, outputting the results to a
4996         file. Requires guile 1.6. Just for testing.
4997
4998 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4999
5000         * gst/schedulers/fairscheduler.c:
5001           compile with debug disabled
5002
5003 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5004
5005         * configure.ac:
5006           hunting season on 0.9 is now OPEN
5007
5008 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5009
5010         * docs/libs/tmpl/gstcontrol.sgml:
5011         * docs/libs/tmpl/gstdparam.sgml:
5012         * docs/libs/tmpl/gstdplinint.sgml:
5013         * docs/libs/tmpl/gstdpman.sgml:
5014         * docs/libs/tmpl/gstdpsmooth.sgml:
5015         * docs/libs/tmpl/gstunitconvert.sgml:
5016           more docs for the state of dparams
5017
5018 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5019
5020         * gst/gstelementfactory.c: (gst_element_factory_create):
5021         * gst/gstobject.c: (gst_object_init),
5022         (gst_object_set_name_default), (gst_object_set_name):
5023           name objects by default, not in gst_element_factory_create. Allows
5024           using elements created with g_object_new. (fixes #167283)
5025
5026 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5027
5028         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5029           make the time that debugging functions print relative to when
5030           gst_init was called
5031
5032 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5033
5034         * gst/gsttaginterface.c:
5035           Fix inline docs: tag setter vararg functions are NULL-terminated,
5036           GST_TAG_INVALID doesn't exist any more.
5037
5038 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5039
5040         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5041         Allocate the 1 byte more memory that was forgotten!!!!!
5042         fixes memory corruption on 64bit platforms
5043
5044 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5045
5046         * docs/pwg/building-pads.xml:
5047         * docs/pwg/intro-basics.xml:
5048           fixed a few typos, relabeled introductionary list of types
5049         * docs/random/ensonic/dparams.txt:
5050           more notes abut dparam changes
5051         * libs/gst/control/dparam.c: (gst_dparam_attach):
5052         * libs/gst/control/dparammanager.c:
5053         * libs/gst/control/dparammanager.h:
5054           - many comments and notes on dparam implementation
5055           - new dparams are were not initialized to the default value
5056             from param spec
5057
5058 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5059
5060         submitted by: Peter Astakhov
5061
5062         * po/LINGUAS:
5063         * po/ru.po:
5064           adding Russian translation
5065
5066 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5067
5068         * configure.ac:
5069         * docs/gst/Makefile.am:
5070         * docs/libs/Makefile.am:
5071           make sure popt is added to gtk-doc flags.  Fixes #147782.
5072
5073 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5074
5075         * docs/faq/using.xml:
5076           Fix typo in FAQ (artssink => artsdsink)
5077
5078 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5079
5080         * tools/gst-launch.1.in:
5081           Fix typo (#166699).
5082
5083 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5084
5085         * docs/faq/using.xml:
5086           Add -v argument to fakesrc/fakesink gst-launch line,
5087           so that the promised output will actually show up.
5088
5089 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5090
5091         * gst/gstthread.c: (gst_thread_change_state):
5092           Implement state-change error handling (#166073).
5093
5094 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5095
5096         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5097           Release interrupt after handling (#166250).
5098
5099 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * configure.ac:
5102           back to HEAD
5103
5104 === release 0.8.9 ===
5105
5106 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5107
5108         * NEWS:
5109         * RELEASE:
5110         * configure.ac:
5111           releasing 0.8.9, "Like Eating Glass"
5112
5113 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         submitted by: Clytie Siddall
5116
5117         * po/vi.po: Added Vietnamese translation
5118
5119 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5120
5121         patch by: Tim Philipp-Müller
5122
5123         * configure.ac:
5124         * gst/gstpad.c:
5125           unref data when probe function returns FALSE.  Fixes #166362
5126
5127 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5128
5129         * gst/gst.c: (gst_init_get_popt_table):
5130           Fix typo (#166269).
5131
5132 2005-02-04  Andy Wingo  <wingo@pobox.com>
5133
5134         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5135         the debugging on whether the caps are compatible.
5136
5137 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5138
5139         * docs/manual/basics-elements.xml:
5140           Fix two typos.
5141
5142 2005-02-02  Wim Taymans  <wim@fluendo.com>
5143
5144         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5145         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5146         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5147         Remove some FIXMEs after analysing and commenting why they
5148         are not issues.
5149
5150 2005-02-02  Wim Taymans  <wim@fluendo.com>
5151
5152         * gst/schedulers/gstoptimalscheduler.c:
5153         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5154         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5155         (get_invalid_call), (chain_invalid_call),
5156         (get_group_schedule_function), (loop_group_schedule_function),
5157         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5158         (gst_opt_scheduler_state_transition),
5159         (gst_opt_scheduler_add_element),
5160         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5161         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5162         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5163         (gst_opt_scheduler_show):
5164         Added lock to protect scheduler data structures.
5165
5166 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5167
5168         * testsuite/threads/threadi.c: (cb_data):
5169           Fix buglet in test.
5170
5171 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5172
5173         * testsuite/threads/Makefile.am:
5174         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5175           On Wim's request, split the test in three separately-compiled
5176           tests that each test a very specific bug. Two of them still fail,
5177           will create bugs for those. threadi.c indicates why they fail.
5178
5179 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5180
5181         * gst/schedulers/gstoptimalscheduler.c:
5182         (get_group_schedule_function):
5183           Try to work with the threading mess that queue_link is.
5184
5185 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5186
5187         * gst/gstbin.c: (gst_bin_remove_func):
5188           Explicitely make an element release locks in a group when being
5189           remove from a bin.
5190         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5191           If there's no scheduler, always return immediately (similar to
5192           gst_element_interrupt).
5193
5194 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5195
5196         * gst/gstbin.c: (gst_bin_child_state_change_func):
5197           Remove a piece of code that could never be reached.
5198         * docs/gst/gstreamer-sections.txt:
5199         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5200         (gst_pad_call_get_function):
5201         * gst/gstpad.h:
5202         * testsuite/pad/Makefile.am:
5203           Fix #150546, enable tests.
5204
5205 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5206
5207         * docs/pwg/advanced-types.xml:
5208           Fix description for buffer-frames=0.
5209         * docs/gst/tmpl/gstbin.sgml:
5210         * gst/gstbin.c: (gst_bin_child_state_change_func),
5211         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5212         * gst/gstbin.h:
5213         * testsuite/threads/Makefile.am:
5214         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5215         (cb_state), (cb_play), (main):
5216           Fix non-recursive state changes to *really* change the state
5217           of the object, and not just call parent_class->state_change.
5218           Fix a lot of lockups caused by this. Fixes #132775. Add test
5219           for the problem. Also enable test to show #142588 (fixed).
5220         * gst/gstthread.c: (gst_thread_change_state),
5221         (gst_thread_child_state_change):
5222           Don't exit the thread if we go to NULL and are inside thread
5223           context. Instead, return control to the main thread context
5224           and exit from there.
5225         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5226           Don't unset virtual functions, since those may still be used.
5227           That's not necessarily correct, but suffices for now.
5228         * configure.ac:
5229         * testsuite/Makefile.am:
5230         * testsuite/pad/Makefile.am:
5231         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5232         (gst_test_sink_base_init), (gst_test_sink_chain),
5233         (gst_test_sink_init), (main):
5234         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5235         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5236         (main):
5237         * testsuite/pad/link.c: (gst_test_element_class_init),
5238         (gst_test_element_base_init), (gst_test_src_get),
5239         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5240         (gst_test_filter_loop), (gst_test_filter_init),
5241         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5242         (cb_error), (main):
5243           Add tests to show #150546. Pass, but should fail (currently
5244           disabled from the testsuite).
5245         * gst/gstscheduler.c: (gst_scheduler_dispose):
5246           Dereference child schedulers on dispose (#94464).
5247         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5248           Fix typo.
5249         * testsuite/threads/thread.c: (main):
5250           Add more debug.
5251
5252 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5253
5254         * gst/gstpad.c: (gst_pad_push):
5255           Oops, revert previous commit, broke testsuite...
5256
5257 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5258
5259         * gst/gstpad.c: (gst_pad_push):
5260           Add check that the pad on which the push is performed is not a
5261           get-based pad (#150546).
5262
5263 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5264
5265         * gst/elements/gsttypefindelement.c:
5266         (gst_type_find_element_handle_event):
5267           Fix buffer pushing if stream EOSes during typefinding.
5268
5269 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5270
5271         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5272
5273         * gst/gstvalue.c: (gst_string_wrap):
5274           Allow NULL-strings as argument (#165365).
5275
5276 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5277
5278         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5279
5280         * gst/schedulers/faircothreads.c:
5281         (gst_fair_scheduler_cothread_queue_show):
5282           Fix build without debug enabled.
5283
5284 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5285
5286         * docs/gst/gstreamer-sections.txt:
5287         * docs/libs/gstreamer-libs-docs.sgml:
5288         * docs/libs/gstreamer-libs-sections.txt:
5289         * docs/libs/tmpl/gstcontrol.sgml:
5290         * docs/libs/tmpl/gstdparam.sgml:
5291         * docs/libs/tmpl/gstdplinint.sgml:
5292         * docs/libs/tmpl/gstdpman.sgml:
5293         * docs/libs/tmpl/gstdpsmooth.sgml:
5294         * docs/libs/tmpl/gstputbits.sgml:
5295         * docs/libs/tmpl/gstunitconvert.sgml:
5296         * libs/gst/control/dparam.c:
5297         * libs/gst/control/dparam.h:
5298         * libs/gst/control/dparammanager.c:
5299         (gst_dpman_add_required_dparam_callback),
5300         (gst_dpman_add_required_dparam_direct),
5301         (gst_dpman_add_required_dparam_array),
5302         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5303         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5304         (gst_dpman_get_manager)
5305           restructured DParam docs
5306
5307 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5308
5309         * gst-element-check.m4:
5310           Only check for gst-inspect if we haven't already
5311           found it in previous element check runs
5312
5313 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5314
5315         * docs/gst/Makefile.am:
5316         * docs/libs/Makefile.am:
5317           fixed install rules to treat style.css as optional
5318
5319 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5320
5321         * docs/gst/Makefile.am:
5322         * docs/libs/Makefile.am:
5323           install style.css along with docs
5324         * docs/gst/tmpl/gstbin.sgml:
5325         * docs/gst/tmpl/gstclock.sgml:
5326         * docs/gst/tmpl/gstdata.sgml:
5327         * docs/gst/tmpl/gstelement.sgml:
5328         * gst/gstbin.h:
5329         * gst/gstelement.c: (gst_element_class_init):
5330         * gst/gstelement.h:
5331           fixing incomplete docs
5332
5333 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5334
5335         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5336           Don't unref seek event twice when fflush() fails
5337           
5338 2005-01-22  David Schleef  <ds@schleef.org>
5339
5340         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5341
5342 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5343
5344         * docs/gst/Makefile.am:
5345         * docs/libs/Makefile.am:
5346           added params for deprecation guards
5347         * gst/gst.c:
5348         * gst/gst.h:
5349         * gst/gsterror.c: (_gst_resource_errors_init),
5350         (_gst_stream_errors_init):
5351         * gst/gsterror.h:
5352           documented some more enums
5353
5354 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5355         * gst/autoplug/gstspideridentity.c:
5356         Cosmetic fix - spider_find_peek should be static
5357         * gst/parse/parse.l:
5358         Applying fix for #164261
5359
5360 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5361
5362         * docs/gst/gstreamer-sections.txt:
5363         * docs/gst/tmpl/gstplugin.sgml:
5364         * docs/libs/gstreamer-libs-sections.txt:
5365         * docs/libs/tmpl/gstcontrol.sgml:
5366         * gst/gstbuffer.h:
5367         * gst/gsttag.h:
5368         * gst/gstvalue.c:
5369           added docs for the TAG defines
5370
5371 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5372
5373         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5374           Only unref entry if there is an entry.
5375
5376 2005-01-17  Wim Taymans  <wim@fluendo.com>
5377
5378         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5379         (remove_from_group), (schedule_group), (normalize_group),
5380         (gst_opt_scheduler_iterate):
5381         Also ref/unref decoupled elements before iterating the
5382         group since they are not added to the list of elements.
5383
5384 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5385
5386         * docs/manual/highlevel-components.xml:
5387           Add subtitle/streamselection as new features to playbin.
5388
5389 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5390
5391         * docs/manual/manual.xml:
5392           Re-enable dataaccess docs (oops).
5393
5394 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5395
5396         * docs/pwg/advanced-types.xml:
5397         * docs/random/mimetypes:
5398           Add documentation on libsndfile types (#163309), by Steve Baker
5399           <steve@stevebaker.org>.
5400         * gst/gstelement.c: (gst_element_release_request_pad):
5401           If an element has no explicit function, just remove the pad.
5402
5403 2005-01-17  Luca Ognibene  <luogni@tin.it>
5404
5405         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5406
5407         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5408           Fix memleak (#163801).
5409
5410 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5411
5412         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5413           I think this is actually more correct...
5414
5415 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5416
5417         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5418           Another workaround for memory access while destroyed in callback.
5419           Please, someone with refcount knowledge, have a look at this.
5420
5421 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * docs/faq/faq.xml:
5424         * docs/faq/legal.xml:
5425           move the legal Q&A here
5426
5427 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5428
5429         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5430         (gst_tee_request_new_pad):
5431           Fix negotiation.
5432
5433 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5434
5435         * docs/random/omega/caps2:
5436         * testsuite/caps/caps_strings:
5437           replace framerate aproximations by their real value
5438           (24000/1001, 30000/1001, 60000/1001)
5439           Partially fixes bug #164049
5440
5441 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5442
5443         * docs/gst/Makefile.am:
5444           don't fail on the stupid GstPoptOption
5445
5446 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5447
5448         * gst/gstpad.h:
5449         * gst/gstprobe.c:
5450           allow probes to work on ghost pads by realizing the pad
5451           probe debugging
5452
5453 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5454
5455         * docs/gst/gstreamer-sections.txt:
5456         * docs/gst/tmpl/gstpad.sgml:
5457         * gst/gstpad.c: (gst_pad_set_active_recursive):
5458         * gst/gstpad.h:
5459           Add gst_pad_set_active_recursive().
5460
5461 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5462
5463         * docs/random/release:
5464           updates
5465         * gst/gst_private.h:
5466         * gst/gstinfo.c:
5467         * gst/gstobject.c:
5468           move deep_notify logging to a new category
5469         * gst/gstprobe.c:
5470         * gst/gstprobe.h:
5471           add stuff so bindings can wrap probes
5472
5473 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5474
5475         * gst/gstplugin.c: (gst_plugin_load):
5476           Fix plugin loading if plugin/lib was already loaded. Fixes
5477           #163383
5478
5479 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5480
5481         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5482
5483         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5484           Protect plugin loading by a mutex so it's threadsafe. Fixes
5485           #163234.
5486
5487 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5488
5489         * gst/gstevent.c: (_gst_event_copy):
5490           Reference source object when copying events, since it'll be
5491           dereferenced on event dereferencing as well.
5492
5493 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5494
5495         * docs/gst/gstreamer-sections.txt:
5496         * docs/gst/tmpl/gstevent.sgml:
5497         * gst/gstevent.c: (gst_event_new_filler_stamped),
5498         (gst_event_filler_get_duration):
5499         * gst/gstevent.h:
5500           Add two new functions for filler events (which are used to
5501           synchronize streams if one of them is not having any data
5502           for a while) without interrupting the actual data-stream.
5503           Basically a no-op.
5504         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5505         (gst_queue_link_sink), (gst_queue_link_src),
5506         (gst_queue_change_state):
5507           Allow for renegotiation while filled. Required for stream
5508           switching while playing.
5509
5510 2005-01-08  Benjamin Otte  <otte@gnome.org>
5511
5512         * gst/gstelement.c: (gst_element_link_many):
5513           fix up g_return_if_fail's
5514         * po/LINGUAS:
5515         * po/de.po:
5516           add German translation, that was somehow not included
5517
5518 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5519
5520         * docs/random/mimetypes:
5521           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5522           do not add them to riff-lib as they are not common
5523
5524 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5525
5526         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5527           Check for existence of probe after performing the probe before
5528           re-accessing it to prevent segfaults caused by removal of the
5529           probe in the callback.
5530
5531 2005-01-05  David Schleef  <ds@schleef.org>
5532
5533         * testsuite/registry/Makefile.am:
5534         * testsuite/registry/gst-print-formats.c:
5535         (print_pad_templates_info), (print_element_list),
5536         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5537         (g_list_uniqify), (get_pad_templates_info),
5538         (get_element_mime_list), (print_mime_list), (main): A little
5539         program that looks through the registry to find elements of
5540         a given type.  Not particularly interesting as a test, except
5541         that there's no other test covering the same area.
5542
5543 2005-01-05  David Schleef  <ds@schleef.org>
5544
5545         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5546         (fault_handler_sigaction), (fault_spin),
5547         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5548         in signal.h-type signal handlers by not calling forbidden functions,
5549         including gst_element_set_state().
5550
5551 2005-01-05  David Schleef  <ds@schleef.org>
5552
5553         * gst/gstvalue.h: Mark _gst_reserved[] as private
5554
5555 2005-01-05  David Schleef  <ds@schleef.org>
5556
5557         * gst/gstvalue.c: Fix doc build problem.
5558
5559 2005-01-05  David Schleef  <ds@schleef.org>
5560
5561         * gst/gstvalue.c: Add some documentation
5562
5563 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5564
5565         * docs/README:
5566           another shell oneliner for empty return value docs
5567         * gst/gstcaps.c:
5568         * gst/gstvalue.c:
5569         * libs/gst/control/dparam.c:
5570           more doc fixes (parameters and return values)
5571
5572 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5573
5574         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5575
5576         * gst/gstregistry.h:
5577         * gst/registries/gstxmlregistry.c:
5578           Fix macro's for Mingw (fixes #162276).
5579
5580 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5581
5582         * docs/README:
5583           quick shell oneliner to find undocumented members
5584         * docs/gst/tmpl/gstplugin.sgml:
5585         * docs/gst/tmpl/gstscheduler.sgml:
5586         * docs/gst/tmpl/gstthread.sgml:
5587           more enumtypes cleanup
5588         * gst/gsterror.h:
5589           activated documentation comments, now someone needs to document
5590           the enums :(
5591
5592 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5593
5594         * docs/manual/manual.xml:
5595           Add dataaccess part (doh!).
5596
5597 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5598
5599         * docs/manual/advanced-autoplugging.xml:
5600           Fix typo (intiate -> initiate).
5601
5602 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5603
5604         * docs/random/bbb/streamselection:
5605           Add some notes on how to handle multi-subtitle/-audio streams.
5606
5607 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5608
5609         * docs/gst/gstreamer-docs.sgml:
5610         * docs/gst/gstreamer-sections.txt:
5611         * docs/gst/tmpl/gstenumtypes.sgml:
5612         * docs/gst/tmpl/gsterror.sgml:
5613         * docs/gst/tmpl/gstevent.sgml:
5614         * docs/gst/tmpl/gstpad.sgml:
5615         * docs/gst/tmpl/gstpadtemplate.sgml:
5616         * docs/gst/tmpl/gstthread.sgml:
5617           removed gstenumtypes section from docs and put all the enums into
5618           their sections
5619
5620 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5621
5622         * gst/gstplugin.c:
5623           document gst_library_load a bit more (riff special case + return
5624           value if already loaded)
5625         * testsuite/bytestream/filepadsink.c:
5626           plugin name is 'gstbytestream', not 'bytestream'
5627
5628 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5629
5630         * docs/random/bbb/subtitles:
5631           Add some first mind rumblings on proper subtitle support.
5632
5633 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5634
5635         * po/ca.po:
5636         * po/sv.po:
5637           updated translations
5638
5639 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5640
5641         * docs/manual/advanced-dataaccess.xml:
5642           Add section on how to use fakesrc/fakesink/identity in your
5643           application, plus section on how to embed plugins. Also mention
5644           probes.
5645         * docs/manual/appendix-checklist.xml:
5646         * docs/manual/appendix-debugging.xml:
5647         * docs/manual/appendix-gnome.xml:
5648         * docs/manual/appendix-integration.xml:
5649           Debug -> checklist, GNOME -> integration, add sections on Linux,
5650           KDE integration and add other things useful for application
5651           development.
5652         * docs/manual/manual.xml:
5653           Remove some fixmes, update some file pointers.
5654         * docs/pwg/appendix-checklist.xml:
5655           Fix typo.
5656         * docs/pwg/building-boiler.xml:
5657           Remove ugly header and add commented fixme.
5658         * docs/pwg/pwg.xml:
5659           Add fixme.
5660         * examples/manual/Makefile.am:
5661           Add example for added docs.
5662
5663 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5664
5665         * configure.ac:
5666           back to HEAD
5667
5668 === release 0.8.8 ===
5669
5670 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5671
5672         * NEWS:
5673         * RELEASE:
5674         * configure.ac:
5675           Releasing 0.8.8, "I'll Take Care Of You"
5676
5677 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5678
5679         * configure.ac:
5680           second prerelease
5681
5682 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5683
5684         patch by: Wim Taymans
5685
5686         * gst/gstbin.c:
5687           Fix for #159852 - make iterate emission threadsafe
5688
5689 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5690
5691         * docs/faq/cvs.xml:
5692           notes about new fdo account request
5693
5694 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5695
5696         * docs/gst/gstreamer-docs.sgml:
5697         * docs/gst/tmpl/gstenumtypes.sgml:
5698         * docs/gst/tmpl/gstplugin.sgml:
5699         * docs/libs/gstreamer-libs-docs.sgml:
5700           Added missing short docs. Added ids for navigation.
5701
5702 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5703
5704         * docs/manual/advanced-autoplugging.xml:
5705         * docs/manual/advanced-schedulers.xml:
5706         * docs/manual/advanced-threads.xml:
5707           Rewrites. Remove cothreads, go a bit into opt specifically,
5708           document threads and their gotchas, and do some technical stuff
5709           on autoplugging plus add some working examples. Fixes #157395.
5710         * examples/manual/Makefile.am:
5711           Add typefind/autoplugger example (one that actually works).
5712           Remove queue example since it's a duplicate of the thread one.
5713
5714 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5715
5716         * gst/gstvalue.c: (gst_value_deserialize_string):
5717           use deprecated g_value_set_string_take_ownership to keep compatible
5718           with glib 2.2
5719
5720 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5721
5722         * gst/gstvalue.c: (gst_value_deserialize_string):
5723           revert last patch, only dom a g_utf8_validate now before accepting
5724           the string - caps parsing strips " from strings so we can't rely on
5725           them
5726         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5727           disable a test that tested the above and comment it
5728
5729 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5730
5731         Patch reviewed by David Schleef  <ds@schleef.org>
5732
5733         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5734         bug #153882)
5735         * win32/gstenumtypes.h: same
5736
5737 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5738
5739         * gst/gstpad.c: (gst_pad_query):
5740           Do query on realized pad, similar to how convert/send_event handle
5741           this. Also makes sense, since this pad belongs to the function to
5742           which this query will be sent. Fixes #158163.
5743
5744 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5745
5746         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5747
5748 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5749
5750         * docs/faq/general.xml: fix pipeline to actually work
5751
5752 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5753
5754         * gst/gstvalue.c: (gst_value_deserialize_string):
5755           check that a simple string that gets deserialized does not contain
5756           invalid characters
5757         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5758           remove a test that tested a wring behaviour
5759
5760 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5761
5762         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5763
5764         * docs/manual/intro-motivation.xml:
5765           Fix typos.
5766
5767 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5768
5769         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5770
5771         * docs/gst/tmpl/gstprobe.sgml:
5772           Fix documentation of probe callback - it is supposed to return
5773           FALSE, not TRUE, to remove data from the stream (#159087).
5774
5775 2004-12-16  Daniel Gazard  <dany42@free.fr>
5776
5777         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5778
5779         * gst/gstelementfactory.c: (gst_element_factory_create):
5780           Fix compile failure if compiling without libxml2 support (#149936).
5781
5782 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5783
5784         * docs/manual/advanced-autoplugging.xml:
5785         * docs/manual/highlevel-components.xml:
5786           Move spider from autoplugging to components. Autoplugging is for
5787           internals, not for solutions. ;-).
5788
5789 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5790
5791         * docs/random/ds/0.9-suggested-changes:
5792           Make note on device/location/uri property names.
5793
5794 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5795
5796         * docs/manual/advanced-autoplugging.xml:
5797         * docs/manual/advanced-clocks.xml:
5798         * docs/manual/advanced-interfaces.xml:
5799         * docs/manual/advanced-metadata.xml:
5800         * docs/manual/advanced-position.xml:
5801         * docs/manual/advanced-schedulers.xml:
5802         * docs/manual/advanced-threads.xml:
5803         * docs/manual/appendix-gnome.xml:
5804         * docs/manual/appendix-programs.xml:
5805         * docs/manual/appendix-quotes.xml:
5806         * docs/manual/autoplugging.xml:
5807         * docs/manual/basics-bins.xml:
5808         * docs/manual/basics-data.xml:
5809         * docs/manual/basics-elements.xml:
5810         * docs/manual/basics-helloworld.xml:
5811         * docs/manual/basics-init.xml:
5812         * docs/manual/basics-pads.xml:
5813         * docs/manual/basics-plugins.xml:
5814         * docs/manual/bins-api.xml:
5815         * docs/manual/bins.xml:
5816         * docs/manual/buffers-api.xml:
5817         * docs/manual/buffers.xml:
5818         * docs/manual/clocks.xml:
5819         * docs/manual/components.xml:
5820         * docs/manual/cothreads.xml:
5821         * docs/manual/debugging.xml:
5822         * docs/manual/dparams-app.xml:
5823         * docs/manual/dynamic.xml:
5824         * docs/manual/elements-api.xml:
5825         * docs/manual/elements.xml:
5826         * docs/manual/factories.xml:
5827         * docs/manual/gnome.xml:
5828         * docs/manual/goals.xml:
5829         * docs/manual/helloworld.xml:
5830         * docs/manual/helloworld2.xml:
5831         * docs/manual/highlevel-components.xml:
5832         * docs/manual/highlevel-xml.xml:
5833         * docs/manual/init-api.xml:
5834         * docs/manual/intro-basics.xml:
5835         * docs/manual/intro-motivation.xml:
5836         * docs/manual/intro-preface.xml:
5837         * docs/manual/intro.xml:
5838         * docs/manual/links-api.xml:
5839         * docs/manual/links.xml:
5840         * docs/manual/manual.xml:
5841         * docs/manual/motivation.xml:
5842         * docs/manual/pads-api.xml:
5843         * docs/manual/pads.xml:
5844         * docs/manual/plugins-api.xml:
5845         * docs/manual/plugins.xml:
5846         * docs/manual/programs.xml:
5847         * docs/manual/queues.xml:
5848         * docs/manual/quotes.xml:
5849         * docs/manual/schedulers.xml:
5850         * docs/manual/states-api.xml:
5851         * docs/manual/states.xml:
5852         * docs/manual/threads.xml:
5853         * docs/manual/typedetection.xml:
5854         * docs/manual/win32.xml:
5855         * docs/manual/xml.xml:
5856           Try 2. This time, include a short preface as a "general
5857           introduction", also add code blocks around all code samples
5858           so they get compiled. We still need a way to tell readers
5859           the filename of the code sample. In some cases, don't show
5860           all code in the documentation, but do include it in the generated
5861           code. This allows for focussing on specific bits in the docs,
5862           while still having a full test application available.
5863         * examples/manual/Makefile.am:
5864           Fix up examples for new ADM. Add several of the new examples that
5865           were either added or were missing from the build system.
5866         * examples/manual/extract.pl:
5867           Allow nameless blocks.
5868
5869 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5870
5871         * docs/manual/elements-api.xml:
5872         * docs/manual/helloworld.xml:
5873         * examples/manual/extract.pl:
5874           fix last example.  Add example of adding code blocks that are not
5875           shown in docbook output.
5876
5877 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5878
5879         * docs/manual/dynamic.xml:
5880         * docs/manual/elements-api.xml:
5881         * docs/manual/gnome.xml:
5882         * docs/manual/helloworld2.xml:
5883         * docs/manual/init-api.xml:
5884         * docs/manual/queues.xml:
5885         * docs/manual/threads.xml:
5886         * docs/manual/xml.xml:
5887         * examples/manual/extract.pl:
5888           Make it possible to extract example code from separate blocks.
5889           Should make Ronald happy.
5890
5891 2004-12-15  Wim Taymans  <wim@fluendo.com>
5892
5893         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5894         (remove_from_group), (group_elements_set_visited),
5895         (normalize_group), (gst_opt_scheduler_iterate):
5896         Fix bug where a flag was not updated on a decoupled entry point 
5897         because we were just checking the group element list and decoupled
5898         elements are not in that list..
5899
5900 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5901
5902         * docs/manual/advanced-autoplugging.xml:
5903         * docs/manual/advanced-clocks.xml:
5904         * docs/manual/advanced-dparams.xml:
5905         * docs/manual/advanced-interfaces.xml:
5906         * docs/manual/advanced-metadata.xml:
5907         * docs/manual/advanced-position.xml:
5908         * docs/manual/advanced-schedulers.xml:
5909         * docs/manual/advanced-threads.xml:
5910         * docs/manual/appendix-debugging.xml:
5911         * docs/manual/appendix-gnome.xml:
5912         * docs/manual/appendix-programs.xml:
5913         * docs/manual/appendix-quotes.xml:
5914         * docs/manual/appendix-win32.xml:
5915         * docs/manual/autoplugging.xml:
5916         * docs/manual/basics-bins.xml:
5917         * docs/manual/basics-data.xml:
5918         * docs/manual/basics-elements.xml:
5919         * docs/manual/basics-helloworld.xml:
5920         * docs/manual/basics-init.xml:
5921         * docs/manual/basics-pads.xml:
5922         * docs/manual/basics-plugins.xml:
5923         * docs/manual/bins-api.xml:
5924         * docs/manual/bins.xml:
5925         * docs/manual/buffers-api.xml:
5926         * docs/manual/buffers.xml:
5927         * docs/manual/clocks.xml:
5928         * docs/manual/components.xml:
5929         * docs/manual/cothreads.xml:
5930         * docs/manual/debugging.xml:
5931         * docs/manual/dparams-app.xml:
5932         * docs/manual/dynamic.xml:
5933         * docs/manual/elements-api.xml:
5934         * docs/manual/elements.xml:
5935         * docs/manual/factories.xml:
5936         * docs/manual/gnome.xml:
5937         * docs/manual/goals.xml:
5938         * docs/manual/helloworld.xml:
5939         * docs/manual/helloworld2.xml:
5940         * docs/manual/highlevel-components.xml:
5941         * docs/manual/highlevel-xml.xml:
5942         * docs/manual/init-api.xml:
5943         * docs/manual/intro-motivation.xml:
5944         * docs/manual/intro-preface.xml:
5945         * docs/manual/intro.xml:
5946         * docs/manual/links-api.xml:
5947         * docs/manual/links.xml:
5948         * docs/manual/manual.xml:
5949         * docs/manual/motivation.xml:
5950         * docs/manual/pads-api.xml:
5951         * docs/manual/pads.xml:
5952         * docs/manual/plugins-api.xml:
5953         * docs/manual/plugins.xml:
5954         * docs/manual/programs.xml:
5955         * docs/manual/queues.xml:
5956         * docs/manual/quotes.xml:
5957         * docs/manual/schedulers.xml:
5958         * docs/manual/states-api.xml:
5959         * docs/manual/states.xml:
5960         * docs/manual/threads.xml:
5961         * docs/manual/typedetection.xml:
5962         * docs/manual/win32.xml:
5963         * docs/manual/xml.xml:
5964           First try at rewriting the ADM. Needs lotsamore work, but some
5965           parts might already be somewhat useful.
5966         * docs/pwg/advanced-interfaces.xml:
5967           Remove properties interface, it never actually existed (except for
5968           on my HD...).
5969
5970 2004-12-13  David Schleef  <ds@schleef.org>
5971
5972         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5973         be NULL (bug #160220).
5974
5975 2004-12-13  David Schleef  <ds@schleef.org>
5976
5977         * configure.ac: remove all mmx stuff, because it's not used.
5978         * docs/random/ds/0.9-suggested-changes: additional notes
5979         * include/Makefile.am: we don't use these anymore
5980         * include/mmx.h: remove
5981         * include/sse.h: remove
5982
5983 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5984
5985         * docs/random/mimetypes:
5986           Add FOURCC code for h264 codec (VSSH)
5987           Add alternate FOURCC codes for h263 related codecs
5988
5989 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5990
5991         * docs/manual/programs.xml:
5992           Added more gst-launch examples.
5993
5994 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5995
5996         * gst/gstqueue.c: (gst_queue_handle_src_query):
5997           Check for availability again.
5998
5999 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6000
6001         * gst/gstcaps.c: (gst_caps_compare_structures):
6002           Simple caps go first. This has the nice side-effect of fixing an
6003           obscure warning.
6004
6005 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6006
6007         * gst/gstversion.h.in:
6008           Protect header.
6009
6010 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6011
6012         * gst/schedulers/gstoptimalscheduler.c:
6013         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6014         (gst_opt_scheduler_get_wrapper):
6015           When we're recursing into a chain run, only run the directly
6016           related group, not all queued ones. This will fix a possible
6017           deadlock in chains with more than two groups.
6018
6019 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6020
6021         * autogen.sh:
6022           remove patch if autopoint fails
6023
6024 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6025
6026         * docs/gst/gstreamer-sections.txt:
6027           Document Thomas' addition, fix build, make Luis the sheriff happy.
6028
6029 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6030
6031         * gst/gstplugin.c:
6032         * gst/gstplugin.h:
6033           add accessor for version field
6034
6035 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6036
6037         submitted by: Luca Ferretti <elle.uca@infinito.it>
6038
6039         * po/LINGUAS:
6040         * po/it.po:
6041           New tranlation added: Italian
6042
6043 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6044
6045         * gst/gstpad.c: (gst_pad_is_negotiated),
6046         (gst_pad_get_negotiated_caps):
6047           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6048           it doesn't actually check the contents), so be sure to hand it
6049           a RealPad else we'll crash.
6050
6051 2004-12-03  Wim Taymans  <wim@fluendo.com>
6052
6053         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6054         (gst_queue_link), (gst_queue_handle_src_query):
6055         Reverted to 1.110 until this makes the testsuite and various
6056         apps work.
6057
6058 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6059
6060         * docs/upload.mak: fix included CVS conflict strings
6061
6062 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6063
6064         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6065
6066         * gst/gstelement.c: (gst_element_error_full):
6067           Use g_error_new_literal because error text may have
6068           percentage signs in it. Fixes #160019.
6069
6070 2004-12-01  Benjamin Otte  <otte@gnome.org>
6071
6072         * gst/elements/gstbufferstore.c:
6073         (gst_buffer_store_add_buffer_func):
6074           don't try to make subbuffers bigger than they can be. (fixes
6075           #159970)
6076
6077 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6078
6079         * docs/gst/gstreamer-sections.txt:
6080         * docs/gst/tmpl/gstvalue.sgml:
6081           Add new function to docs to fix build.
6082
6083 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6084
6085         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6086         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6087         (_gst_pad_default_fixate_foreach):
6088         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6089         * gst/gstvalue.h:
6090           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6091           in some cases (arrays), the fixedness depends on the content.
6092         * gst/gstqueue.c: (gst_queue_handle_src_query):
6093           Check for availability before doing something.
6094
6095 2004-11-29  Wim Taymans  <wim@fluendo.com>
6096
6097         * testsuite/threads/Makefile.am:
6098         * testsuite/threads/signals.c: (gst_test_get_type),
6099         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6100         (gst_test_set_property), (gst_test_get_property),
6101         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6102         (gst_test_do_prop), (run_thread), (main):
6103         Added a bunch of testcases that show threadsafety bugs in glib.
6104
6105 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6106
6107         * docs/manual/programs.xml:
6108           Added a first batch of gst-launch examples, as provided by Ronald
6109           and others from the devel-mlist
6110
6111 2004-11-28  Benjamin Otte  <otte@gnome.org>
6112
6113         * gst/gstelement.c: (gst_element_negotiate_pads):
6114           simplify
6115         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6116         (gst_value_serialize_string), (gst_value_deserialize_string):
6117           add unwrapping of previously wrapped strings. Fix bug in wrapping
6118           while at it.
6119         * testsuite/caps/value_serialize.c: (test1),
6120         (test_string_serialization), (test_string_deserialization), (main):
6121           add tests for string (de)serialization
6122
6123 2004-11-26  Wim Taymans  <wim@fluendo.com>
6124
6125         * testsuite/threads/159566.c: (object_deep_notify), (main):
6126         * testsuite/threads/Makefile.am:
6127         Added testsuite to show bug #159566
6128
6129 2004-11-25  Wim Taymans  <wim@fluendo.com>
6130
6131         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6132         (gst_thread_child_state_change), (gst_thread_main_loop):
6133         Ref the thread object in the GThread mainloop. Break out of the
6134         thread mainloop if it holds the last ref. This properly exits
6135         the threads when disposing the thread from its own context. It
6136         also avoids possible deadlocks in the dispose function.
6137
6138 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6139
6140         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6141         it is necessary to wait.
6142
6143 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6144
6145         * docs/pwg/building-boiler.xml:
6146           Make description somewhat clearer.
6147
6148 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6149
6150         * docs/upload.mak:
6151           Apparently docs changed location on FDO's server.
6152
6153 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6154
6155         * docs/pwg/appendix-checklist.xml:
6156           Add some random notes on things to check when writing an element.
6157           This list can be extended as people see fit.
6158
6159 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6160
6161         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6162         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6163         pad. The queue will now wait until it is empty and forward the new
6164         caps to the source.
6165         * gst/gstbin.c (gst_bin_set_element_sched)
6166         (gst_bin_unset_element_sched): Make sure that all elements and
6167         links are registered and unregistered with the scheduler exactly
6168         once. This elaborates on a fix by Benjamin Otte, but
6169         guarantees that decoupled elements are also registered.
6170
6171 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6172
6173         * docs/manual/quotes.xml:
6174           add a quote
6175         * configure.ac:
6176         * gst/gst.c:
6177         * gst/gstinfo.c:
6178           add LIBDIR and move init message higher up so it's at the start
6179
6180 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6181
6182         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6183         * gstreamer.spec.in: add fair
6184
6185 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6186
6187         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6188         * gst/elements/gstidentity.c: (gst_identity_class_init):
6189           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6190           <teuf@gnome.org> (#157263).
6191         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6192         (gst_type_find_handle_src_query):
6193           Subtract size of internally stored data from position queries.
6194
6195 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6196
6197         * gst/schedulers/fairscheduler.c:
6198         * gst/schedulers/faircothreads.c:
6199         * gst/schedulers/faircothreads.h:
6200         New cothread based scheduler: Fair scheduler.
6201         * gst/schedulers/gthread-cothreads.h: 
6202         Add the standard #if around the whole file.
6203         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6204         compilation of the functions defined in this file. This is
6205         necessary to be able to use this file as a normal header.
6206         * gst/schedulers/Makefile.am: Add compiling support for fair
6207         scheduler.
6208         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6209         scheduler cothreads layer from documentation generation.
6210
6211 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6212
6213         * gst/autoplug/gstspideridentity.c:
6214         (gst_spider_identity_sink_loop_type_finding):
6215           Don't crash if that function is not implemented.
6216
6217 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6218
6219         * docs/pwg/advanced-types.xml:
6220           Another typo.
6221
6222 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6223
6224         * docs/pwg/intro-preface.xml:
6225           Hm, ok, so the brackets weren't really useful...
6226         * docs/pwg/other-ntoone.xml:
6227           Fix embarassing typo.
6228
6229 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6230
6231         * docs/pwg/intro-preface.xml:
6232           Rewrite preface.
6233
6234 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6235
6236         * docs/pwg/advanced-scheduling.xml:
6237         * docs/pwg/advanced-tagging.xml:
6238         * docs/pwg/advanced-types.xml:
6239         * docs/pwg/building-boiler.xml:
6240         * docs/pwg/building-chainfn.xml:
6241         * docs/pwg/building-signals.xml:
6242         * docs/pwg/building-state.xml:
6243         * docs/pwg/building-testapp.xml:
6244         * docs/pwg/intro-basics.xml:
6245         * docs/pwg/other-manager.xml:
6246         * docs/pwg/other-source.xml:
6247           Typo fixes.
6248         * docs/pwg/other-manager.xml:
6249           Add some first content. No example code yet.
6250         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6251           Remove double newlines.
6252
6253 2004-11-04  Wim Taymans  <wim@fluendo.com>
6254
6255         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6256         (remove_from_group), (normalize_group), (group_migrate_connected),
6257         (gst_opt_scheduler_iterate):
6258         * testsuite/schedulers/.cvsignore:
6259         * testsuite/schedulers/Makefile.am:
6260         * testsuite/schedulers/queue_link.c: (main):
6261         Added testcase for scheduler segfault.
6262         Fix scheduler segfault when removing a decoupled
6263         entry point as the last element from a group.
6264
6265 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6266
6267         * gst/gstmarshal.list: add missing marshaller, fixes build
6268
6269 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6270
6271         * docs/random/signal: added notes about using BOXED for GstBuffer
6272         signal marshallers, not POINTER
6273
6274 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6275
6276         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6277         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6278         POINTER=>BOXED changes to marshal GstBuffers
6279
6280 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6281
6282         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6283         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6284
6285 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6286
6287         * docs/gst/gstreamer-sections.txt:
6288         * docs/gst/tmpl/gstcaps.sgml:
6289         * docs/gst/tmpl/gsterror.sgml:
6290         * docs/gst/tmpl/gstinfo.sgml:
6291         * docs/gst/tmpl/gstmacros.sgml:
6292         * docs/gst/tmpl/gstutils.sgml:
6293         * docs/random/ensonic/interfaces.txt:
6294         * gst/gstinfo.h:
6295           added some more docs, removed two obsolete defines
6296
6297 2004-11-02  Kjartan Maraas <as at gnome.org>
6298
6299         reviewed by: Wim Taymans, Ronald Bultje.
6300
6301         * gst/cothreads.c: (cothread_create):
6302         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6303         (gst_bin_child_state_change_func):
6304         * gst/gstbuffer.c: (gst_buffer_span):
6305         * gst/gstelement.c: (gst_element_get_index),
6306         (gst_element_get_event_masks), (gst_element_get_query_types),
6307         (gst_element_get_formats):
6308         * gst/gsterror.c: (_gst_core_errors_init),
6309         (_gst_library_errors_init), (_gst_resource_errors_init),
6310         (_gst_stream_errors_init):
6311         * gst/gstobject.c: (gst_object_default_deep_notify):
6312         * gst/gstpad.c: (gst_pad_get_event_masks),
6313         (gst_pad_get_internal_links_default):
6314         * gst/gstplugin.c: (gst_plugin_register_func),
6315         (gst_plugin_get_module):
6316         * gst/gststructure.c: (gst_structure_get_string),
6317         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6318         (gst_structure_to_abbr):
6319         * gst/gstutils.c: (gst_print_element_args):
6320         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6321         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6322         Aplied part of patch #157127: Cleanup of issues reported by 
6323         sparse.
6324         Also do not try to use cothreads when there is no cothread
6325         context yet.
6326
6327 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6328
6329         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6330         (gst_opt_scheduler_iterate):
6331         Applied patch #154061. Running a pipeline in which an element 
6332         calls GST_ELEMENT_ERROR in the chain function, the opt 
6333         scheduler doesn't unref the chain so it never gets freed.
6334
6335 2004-11-02  Wim Taymans  <wim@fluendo.com>
6336
6337         * gst/gststructure.c: (gst_structure_get_abbrs),
6338         (gst_structure_from_abbr), (gst_structure_to_abbr):
6339         Remove that ugly if-then thing in the code that converts
6340         between strings and types.
6341
6342 2004-11-02  Wim Taymans  <wim@fluendo.com>
6343
6344         * gst/gstscheduler.c: (gst_scheduler_add_element),
6345         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6346         Aplied clock distribution patch, this should fix bug
6347         #148787.
6348
6349 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6350
6351         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6352
6353         * po/LINGUAS:
6354         * po/nb.po:
6355           Added Norwegian Bokmaal translation
6356
6357 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6358
6359         * tools/gst-inspect.c: (print_signal_info):
6360           print signal arguments as pointers if they are
6361
6362 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * docs/pwg/building-boiler.xml:
6365           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6366
6367 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6368
6369         * gst/parse/parse.l:
6370         * testsuite/parse/parse1.c: (main):
6371         Since parse can do 'element name=a:b' make 'a:b.' work as
6372         well. 
6373         Added testcase to verify fix.
6374
6375 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6376
6377         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6378         Use the realpad when printing the direction.
6379         Add extra \n when printing extensions of typefind factories.
6380
6381 2004-10-13  David Schleef  <ds@schleef.org>
6382
6383         * examples/manual/Makefile.am: $< isn't portable in Makefile
6384         rules.
6385
6386 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6387
6388         * docs/gst/tmpl/gstobject.sgml:
6389         * docs/gst/tmpl/gstplugin.sgml:
6390         * docs/gst/tmpl/gstpluginfeature.sgml:
6391         * docs/gst/tmpl/gstregistry.sgml:
6392         * docs/gst/tmpl/gstversion.sgml:
6393         * gst/gstbin.c:
6394           more api documentation
6395         * gst/gstplugin.c: (gst_plugin_register_func),
6396         (gst_plugin_check_file), (gst_plugin_load_file):
6397           better error signaling and logging
6398
6399 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6400
6401         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6402           Subtract current queue contents from position queries.
6403
6404 2004-10-11  Johan Dahlin  <johan@gnome.org>
6405
6406         * gst/gsturi.c (gst_uri_get_location): unescape string
6407         (gst_uri_construct): escape string.
6408
6409 2004-10-11  Benjamin Otte  <otte@gnome.org>
6410
6411         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6412         (gst_pad_try_set_caps_nonfixed):
6413           allow renegotiation of unconnected pads (as inside spider). Simply
6414           return OK if unconnected - mimic try_set_caps there.
6415
6416 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6417
6418         * gst/gstbin.c: (gst_bin_sync_children_state):
6419           Add missing break.
6420
6421 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6422
6423         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6424         Set element to EOS before sending EOS event
6425
6426 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6427
6428         * gst/elements/gsttypefindelement.c:
6429         (gst_type_find_element_handle_event):
6430         Handle EOS events when doing the transition from
6431         typefind to data passing. This should fix the
6432         infinite loops in short files.
6433
6434 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6435
6436         * gst/gstthread.c: (gst_thread_change_state),
6437         (gst_thread_child_state_change):
6438         Make sure no iteration happens while performing
6439         the state change as it could mess up the internal
6440         consistency of the thread state.
6441
6442 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6443
6444         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6445         (gst_thread_change_state), (gst_thread_child_state_change):
6446         Do not try to grab the iterate lock in the state change method
6447         when we are in the same thread as the iterate or else we
6448         could deadlock. Some other cleanups.
6449
6450 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6451
6452         * configure.ac:
6453           bump nano to cvs
6454
6455 === release 0.8.7 ===
6456
6457 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6458
6459         * configure.ac:
6460         * NEWS:
6461         * RELEASE:
6462         * configure.ac:
6463           releasing 0.8.7, "A Cruise"
6464
6465 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6466
6467         * docs/random/mimetypes:
6468         Add an entry for Sony ATRAC3 audio format with mime-type
6469         used by rmdemux et riff-read
6470
6471 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6472
6473         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6474         Push the buffer store instead of clearing it in case that
6475         the stream is not seekable.
6476
6477 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6478
6479         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6480         (gst_thread_main_loop):
6481         Lock the iteration and the state change so that automatic
6482         negotiation and fixation does not happen at the same time
6483         as the in stream negotiation.
6484
6485 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6486
6487         * configure.ac:
6488           bump nano to cvs
6489
6490 === release 0.8.6 ===
6491
6492 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * configure.ac:
6495         * NEWS:
6496         * RELEASE:
6497         * configure.ac:
6498           releasing 0.8.6, "Narc"
6499
6500 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6501
6502         * configure.ac:
6503           prerel bump
6504
6505 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         patch by: Steve Lhomme
6508
6509         * gst/elements/gstfakesrc.c:
6510         * gst/elements/gstidentity.c:
6511         * gst/gstthread.c:
6512           Fix for #153881
6513
6514 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6515
6516         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6517         Fix threadsafety of the crc checking function.
6518
6519 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6520
6521         patch by: Ronald Bultje
6522
6523         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6524         (gst_type_find_element_handle_event),
6525         (gst_type_find_element_chain):
6526         * gst/elements/gsttypefindelement.h:
6527          #153657.
6528          Filter out discont event from seekable sources when typefind
6529          asks them to seek.  Fixes typefind with demuxers for
6530          avi, asf and matroska.
6531
6532 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6533
6534         * docs/gst/gstreamer-sections.txt:
6535         * gst/gstcaps.c:
6536         * gst/gstcaps.h:
6537         * gst/gstpad.c:
6538           Revert preferred caps: (#147789)
6539
6540 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6541
6542         * win32/dirent.c:
6543           fix a memory leak
6544
6545 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6546
6547         * configure.ac:
6548           bump for prerelease
6549
6550 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6551
6552         * docs/Makefile.am:
6553         * docs/manual/elements-api.xml:
6554           restructure so that common stuff is shown first
6555         * docs/manual/init-api.xml:
6556           convert to examples
6557         * docs/manual/manual.xml:
6558         * docs/manuals.mak:
6559         * docs/url.entities:
6560           link to API on the website, possibly override later in build
6561         * examples/manual/.cvsignore:
6562           ignore more
6563         * examples/manual/Makefile.am:
6564           add more examples
6565         * examples/manual/extract.pl:
6566           error out on failure
6567
6568 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * docs/gst/tmpl/gstthread.sgml:
6571         * docs/manual/init-api.xml:
6572         * examples/manual/Makefile.am:
6573           convert two code bits to examples
6574
6575 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6576
6577         * gst/gstelement.c: (gst_element_change_state):
6578           Well, actually, I was about to remove this insane assert when
6579           I noticed Wim already did that. A warning is nice so we can
6580           fix actual ugs (using --g-fatal-warnings and backtraces), so
6581           I added that instead.
6582
6583 2004-09-06  Wim Taymans  <wim@fluendo.com>
6584
6585         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6586         (gst_element_threadsafe_properties_post_run),
6587         (gst_element_set_state), (gst_element_change_state):
6588         Added extra refcounting around various places. 
6589
6590 2004-09-06  Wim Taymans  <wim@fluendo.com>
6591
6592         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6593         Fix debug info.
6594
6595 2004-09-06  Wim Taymans  <wim@fluendo.com>
6596
6597         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6598         (remove_from_group):
6599         Some more debug info.
6600
6601 2004-09-03  Wim Taymans  <wim@fluendo.com>
6602
6603         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6604         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6605         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6606         (gst_fakesrc_get), (gst_fakesrc_change_state):
6607         * gst/elements/gstfakesrc.h:
6608         * gst/elements/gstidentity.c: (gst_identity_class_init),
6609         (gst_identity_init), (gst_identity_chain),
6610         (gst_identity_set_property), (gst_identity_get_property),
6611         (gst_identity_change_state):
6612         * gst/elements/gstidentity.h:
6613         Added datarate properties to limit the datarate.
6614
6615 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6616
6617         * gst/autoplug/gstspider.c: (plugin_init):
6618           don't set a rank. We don't want to autoplug by inserting spiders.
6619
6620 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6621
6622         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6623         (gst_spider_identity_plug):
6624           add a template for spider's sink
6625         * gst/gst.c: (gst_register_core_elements):
6626           queue's rank should be NULL, we don't want spider to add it.
6627
6628 2004-08-18  David Schleef  <ds@schleef.org>
6629
6630         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6631         * docs/libs/Makefile.am: same
6632         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6633         * docs/random/ds/0.9-planning: random additions
6634         * docs/random/ds/0.9-suggested-changes: same
6635         * gst/gstxml.h: remove vestigal GstXMLNs definition
6636
6637         Preferred caps: (#147789)
6638         * docs/gst/gstreamer-sections.txt: Add symbols
6639         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6640         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6641         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6642         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6643         (gst_caps_get_preferred), (gst_caps_set_preferred),
6644         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6645         (gst_caps_use_preferred): Handle caps preferences
6646         * gst/gstcaps.h: Add caps preferences
6647         * gst/gstpad.c: (gst_pad_link_get_preferred),
6648         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6649         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6650         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6651         negotiation.
6652
6653 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6654
6655         * gst/autoplug/gstspideridentity.c:
6656         (gst_spider_identity_request_new_pad):
6657         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6658         (gst_aggregator_init):
6659         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6660         (gst_fakesink_init):
6661         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6662         (gst_fakesrc_init):
6663         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6664         (gst_fdsink_init):
6665         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6666         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6667         (gst_filesink_init):
6668         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6669         (gst_filesrc_init):
6670         * gst/elements/gstidentity.c: (gst_identity_base_init),
6671         (gst_identity_init):
6672         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6673         (gst_multifilesrc_init):
6674         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6675         (gst_pipefilter_init):
6676         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6677         (gst_statistics_init):
6678         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6679         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6680           s/gst_pad_new/&_from_template/
6681           register pad templates in the base_init function
6682           add static pad template definitions
6683
6684 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6685
6686         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6687         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6688         * testsuite/refcounting/pad.c: (main):
6689         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6690           s/gst_pad_new/&_from_template/
6691           prepare deprecation of gst_pad_new
6692
6693 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6694
6695         patch by: Luca Ognibene <skaboy81@virgilio.it>
6696
6697         * gst/gstcaps.c:
6698         * gst/gstelement.c:
6699         * gst/gstpad.c:
6700         * gst/gstxml.c:
6701           fix memleaks.  Fixes #150001
6702
6703 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6704
6705         * docs/random/ds/0.9-suggested-changes:
6706           add notes - mostly about pad templates
6707
6708 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6709
6710         * win32/GStreamer.vcproj:
6711           temporary locale files are .gmo not .mo
6712
6713 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6714
6715         * configure.ac: bump nano to cvs
6716
6717 === release 0.8.5 ===
6718
6719 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6720
6721         * configure.ac:
6722           releasing 0.8.5, "Stuttgart"
6723         * NEWS:
6724         * RELEASE:
6725         * configure.ac:
6726         * docs/random/release:
6727           updates for release
6728
6729 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6730
6731         patch by: Wim Taymans (wim@fluendo.com)
6732
6733         * gst/gstbuffer.c:
6734         * gst/gstindex.h:
6735         * libs/gst/dataprotocol/dataprotocol.c:
6736           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6737
6738 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6739
6740         * Makefile.am:
6741         * win32/MANIFEST:
6742           add win32 dir to the build.  Fixes #149981.
6743
6744 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6745
6746         * configure.ac:
6747           bump libtool versioning
6748         * gst/gststructure.c:
6749           mark function as static
6750         * po/af.po:
6751         * po/az.po:
6752         * po/ca.po:
6753         * po/cs.po:
6754         * po/en_GB.po:
6755         * po/fr.po:
6756         * po/nl.po:
6757         * po/sq.po:
6758         * po/sr.po:
6759         * po/sv.po:
6760         * po/tr.po:
6761         * po/uk.po:
6762           translations update
6763         * win32/README.txt:
6764           trademark protection
6765
6766 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6767
6768         * configure.ac:
6769           fix GST_ORIGIN
6770           set GST_PACKAGE to source, and distinguish between release and other
6771         * tools/gst-inspect.c:
6772           print out plugin an element factory is part of so we see this info
6773
6774 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6775
6776         * docs/gst/gstreamer-sections.txt:
6777         * docs/gst/tmpl/gstbuffer.sgml:
6778         * docs/gst/tmpl/gstschedulerfactory.sgml:
6779           reorder docs a little, make GstBuffer's more sensible.
6780         * gst/gstbuffer.h:
6781           API: added GST_BUFFER_FLAG_DELTA_UNIT
6782         * gst/gstscheduler.c:
6783           comment API addition
6784
6785 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6786
6787         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6788           work with non-regular files that can be mmapped (like /dev/zero)
6789         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6790           get rid of typefinds that require a seek when we can't seek instead
6791           of trying them over and over again
6792         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6793           return non-zero failure value when the pipeline was interrupted or
6794           an error occurred
6795
6796 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6797
6798         * win32/config.h:
6799         * win32/GStreamer.vcproj:
6800           compile and install the locales
6801
6802 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6803
6804         * gst/gstvalue.c:
6805           fix a possible memory leak under Windows
6806
6807 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6808
6809         * win32/GStreamer.vcproj:
6810           fix a memory leak that occured under Windows
6811         * win32/gstreamer.def:
6812           add gst_scheduler_register
6813
6814 2004-08-11  Benjamin Otte  <otte@gnome.org>
6815
6816         * docs/gst/gstreamer-sections.txt:
6817         * gst/gstscheduler.c: (gst_scheduler_register):
6818         * gst/gstscheduler.h:
6819           API:
6820           add gst_scheduler_register shortcut similar to gst_element_register
6821         * gst/schedulers/entryscheduler.c: (plugin_init):
6822         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6823         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6824           use it
6825
6826 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6827
6828         * gst/gstvalue.h:
6829           fix a memory leak that occured under Windows
6830
6831 2004-08-10  Colin Walters  <walters@redhat.com>
6832
6833         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6834         Don't use O_EXCL to open temporary registry.  It will prevent
6835         registry creation if a temporary one already exists, which
6836         is unnecessary.
6837
6838 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6839
6840         * docs/gst/gstreamer-sections.txt:
6841         * docs/gst/tmpl/gstvalue.sgml:
6842           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6843
6844 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6845
6846         * win32/gstbytestream.vcproj:
6847         * win32/gstelements.vcproj:
6848         * win32/gstgetbits.vcproj:
6849         * win32/gst-inspect.vcproj:
6850         * win32/gst-launch.vcproj:
6851         * win32/gstoptimalscheduler.vcproj:
6852         * win32/GStreamer.vcproj:
6853         * win32/gst-register.vcproj:
6854         * win32/gstspider.vcproj:
6855           update the include and lib dirs to fit standard libraries as
6856           described in the Win32 manual
6857
6858 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6859
6860         * win32/config.h:
6861         * win32/gstversion.h:
6862           enable NLS again, push the version number for the coming 0.8.5 release
6863
6864 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6865
6866         * gst/gstvalue.h:
6867           export gst_type_XXX for windows DLLs
6868
6869 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6870
6871         * docs/faq/gst-uninstalled:
6872           fix PKG_CONFIG_PATH and PYTHONPATH
6873         * gst/schedulers/Makefile.am:
6874           cleanup
6875         * libs/gst/bytestream/bytestream.c:
6876           remove newline
6877         * po/LINGUAS:
6878         * po/sq.po:
6879           adding Albanian translation (Laurent Dhima)
6880         * po/cs.po:
6881           updated
6882
6883 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6884
6885         * po/ca.po:
6886         * po/sv.po:
6887           updated translations
6888
6889 2004-08-04  Benjamin Otte  <otte@gnome.org>
6890
6891         * tests/mass_elements.c: (main):
6892           allow specifying src and sink element explicitly, so I can test
6893           videotestsrc instead of fakesrc
6894
6895 2004-08-04  Benjamin Otte  <otte@gnome.org>
6896
6897         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6898         (gst_structure_id_empty_new), (gst_structure_empty_new),
6899         (gst_structure_copy):
6900           add gst_structure_id_empty_new_with_size to allow preallocating
6901           value array sizes. Use this in gst_structure_copy to get rid of
6902           reallocs.
6903           don't do quark=>string=>quark when copying structures
6904
6905 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6906
6907         * docs/manual/win32.xml:
6908         * win32/README.txt:
6909           update documentation with the clean version of dependencies
6910
6911 2004-08-03  Benjamin Otte  <otte@gnome.org>
6912
6913         * gst/schedulers/entryscheduler.c:
6914         (gst_entry_scheduler_remove_element):
6915           fix for GST_DISABLE_DEBUG
6916         * tools/gst-launch.c: (print_tag):
6917           fixes for G_DISABLE_ASSERT
6918
6919 2004-08-03  Benjamin Otte  <otte@gnome.org>
6920
6921         * gst/gst.c: (gst_register_core_elements):
6922           fix for G_DISABLE_ASSERT
6923         * gst/gstinfo.c: (__gst_in_valgrind):
6924           add for GST_DISABLE_DEBUG
6925
6926 2004-08-03  Benjamin Otte  <otte@gnome.org>
6927
6928         * gst/parse/parse.l:
6929           fix for G_DISABLE_ASSERT
6930
6931 2004-08-03  Wim Taymans  <wim@fluendo.com>
6932
6933         * gst/gstbin.c: (gst_bin_get_type),
6934         (gst_bin_child_state_change_func):
6935         * gst/gstthread.c: (gst_thread_change_state):
6936         Backported some debug logging from a reverted patch
6937         Don't try to destroy the thread twice. Added some more
6938         debugging in GstThread. Unlock and signal even if we
6939         are in the thread context.
6940
6941 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6942
6943         * po/uk.po:
6944           updated translation
6945
6946 2004-07-30  David Schleef  <ds@schleef.org>
6947
6948         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6949
6950 2004-07-29  David Schleef  <ds@schleef.org>
6951
6952         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6953         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6954
6955 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6956
6957         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6958         (gst_bin_add_func), (gst_bin_remove_func),
6959         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6960         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6961         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6962         (gst_bin_sync_children_state):
6963         * gst/gstbin.h:
6964         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6965         (gst_thread_change_state):
6966         * testsuite/states/Makefile.am:
6967           revert state change patches as agreed so we can rework them
6968           gradually
6969
6970 2004-07-29  Benjamin Otte  <otte@gnome.org>
6971
6972         * libs/gst/control/Makefile.am:
6973           link to libgstreamer (fixes Debian bug 262019, see
6974           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6975
6976 2004-07-29  Wim Taymans  <wim@fluendo.com>
6977
6978         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6979         (check_from_fraction_convert), (transform_test), (main):
6980         Make the test less pedantic about float roundoff errors.
6981
6982 2004-07-29  Benjamin Otte  <otte@gnome.org>
6983
6984         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6985         (gst_filesrc_srcpad_event):
6986           make seek events to before start/after end of file not fail, but
6987           seek to start/end instead
6988         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6989           add more output
6990
6991 2004-07-29  Benjamin Otte  <otte@gnome.org>
6992
6993         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6994           check that caps are fixed
6995         * gst/gstpad.c: (gst_pad_template_new):
6996           don't try to simplify caps, costs too much time on gst_init
6997         * gst/gstplugin.c: (gst_plugin_add_feature):
6998           G_ERROR if features are added twice
6999         * gst/gsttypefind.c: (gst_type_find_register):
7000         * gst/gstelementfactory.c: (gst_element_register):
7001           don't add features twice
7002         * docs/random/ds/0.9-suggested-changes:
7003           add note about possible gst_init optimization
7004
7005 2004-07-28  David Schleef  <ds@schleef.org>
7006
7007         * testsuite/elements/Makefile.am:
7008         * testsuite/elements/struct_i386.h:
7009         * testsuite/elements/struct_size.c: (main):  A little test
7010         to keep distcheck from working if someone changes a structure
7011         size accidentally.
7012
7013 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7014
7015         * docs/libs/Makefile.am:
7016         * docs/libs/gstreamer-libs-docs.sgml:
7017         * docs/libs/gstreamer-libs-sections.txt:
7018         * docs/libs/tmpl/gstbytestream.sgml:
7019         * docs/libs/tmpl/gstcontrol.sgml:
7020         * docs/libs/tmpl/gstdataprotocol.sgml:
7021         * docs/libs/tmpl/gstgetbits.sgml:
7022         * libs/gst/bytestream/Makefile.am:
7023         * libs/gst/bytestream/bytestream.c:
7024         * libs/gst/bytestream/bytestream.h:
7025         * libs/gst/control/Makefile.am:
7026         * libs/gst/dataprotocol/Makefile.am:
7027         * libs/gst/getbits/Makefile.am:
7028         * libs/gst/getbits/getbits.h:
7029           various doc and style fixes, adding bytestream to libs docs.
7030
7031 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7032
7033         * docs/gst/gstreamer-docs.sgml:
7034         * docs/libs/Makefile.am:
7035         * docs/libs/gstreamer-libs-docs.sgml:
7036         * docs/libs/gstreamer-libs-sections.txt:
7037         * libs/gst/control/dparam.c:
7038           more doc fixes.  gst-libs docs now build the same way as gst.
7039
7040 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7041
7042         * configure.ac:
7043         * testsuite/Makefile.am:
7044         * testsuite/bins/Makefile.am:
7045         * testsuite/caps/Makefile.am:
7046         * testsuite/cleanup/Makefile.am:
7047         * testsuite/clock/Makefile.am:
7048         * testsuite/debug/Makefile.am:
7049         * testsuite/dlopen/Makefile.am:
7050         * testsuite/dynparams/Makefile.am:
7051         * testsuite/elements/.cvsignore:
7052         * testsuite/elements/Makefile.am:
7053         * testsuite/enumcaps/Makefile.am:
7054         * testsuite/enumcaps/enumcaps.c:
7055         * testsuite/ghostpads/Makefile.am:
7056         * testsuite/indexers/Makefile.am:
7057         * testsuite/negotiation/Makefile.am:
7058         * testsuite/parse/Makefile.am:
7059         * testsuite/plugin/Makefile.am:
7060         * testsuite/refcounting/Makefile.am:
7061         * testsuite/schedulers/.cvsignore:
7062         * testsuite/states/Makefile.am:
7063         * testsuite/tags/Makefile.am:
7064         * testsuite/threads/Makefile.am:
7065           fold enumcaps into caps dir
7066           clean up Makefile.am's for testsuite
7067
7068 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7069
7070         * docs/gst/Makefile.am:
7071         * docs/libs/Makefile.am:
7072           clean up docs build.  Fixes needless rebuilding of template files.
7073
7074 2004-07-28  Wim Taymans  <wim@fluendo.com>
7075
7076         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7077         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7078         Make sure that a bin state change tries to keep the children
7079         in sync. 
7080         Added debug logging to the thread.
7081
7082 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7083
7084         * win32/GStreamer.vcproj:
7085         * win32/gstreamer.def:
7086           more exports for the plugins
7087
7088 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7089
7090         * win32/gstgetbits.vcproj:
7091         * win32/gstgetbits.def:
7092         * win32/msvc71.sln:
7093           add support for the getbits plugin
7094
7095 2004-07-27  Wim Taymans  <wim@fluendo.com>
7096
7097         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7098         (gst_value_transform_fraction_double), (_gst_value_initialize):
7099         * testsuite/caps/Makefile.am:
7100         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7101         (check_from_fraction_convert), (transform_test), (main):
7102         Added transform functions between double and fraction.
7103         Added testcase to verify transforms
7104
7105 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7106
7107         * win32/GStreamer.vcproj:
7108           rename GStreamer-0.8.lib to libgstreamer.lib
7109
7110 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7111
7112         * win32/gstelements.vcproj:
7113         * win32/gstoptimalscheduler.vcproj:
7114           fixes for the Release build
7115
7116 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7117
7118         * win32/config.h:
7119           update the version number
7120
7121 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7122
7123         * win32/GStreamer.vcproj:
7124           add gstinterface to the build
7125
7126 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7127
7128         * win32/gstreamer.def:
7129           add many definitions needed by plugins,
7130           GST_CAT_DEFAULT only available in the Debug build ?
7131
7132 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7133
7134         * gst/gstelement.c: (gst_element_set_eos_recursive):
7135           various whitespace fixes.
7136           doc fix, fixes #148497
7137
7138 2004-07-25  Benjamin Otte  <otte@gnome.org>
7139
7140         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7141           don't delay links on the sink elements, it causes unnegotiated
7142           links.
7143         * gst/elements/gsttypefindelement.c:
7144         (gst_type_find_element_base_init):
7145           add our padtemplates, we indeed do have some.
7146         * gst/elements/gsttypefindelement.c:
7147         (gst_type_find_element_handle_event),
7148         (gst_type_find_element_chain):
7149           don't push data when typefinding failed.
7150         * gst/gstpad.c: (gst_pad_link_fixate):
7151           check that no fixate function returns empty caps.
7152         * gst/gstpad.c: (gst_pad_push):
7153           check that the link is negotiated before data gets pushed.
7154         * tools/gst-register.c: (main):
7155           don't assert (fixes #148283)
7156
7157 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7158
7159         * docs/gst/gstreamer-sections.txt:
7160         * docs/gst/tmpl/gstconfig.sgml:
7161           add GST_PLUGIN_EXPORT definition
7162
7163 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7164
7165         * gst/gstplugin.h:
7166         * gst/gstconfig.h.in:
7167         * win32/gstconfig.h:
7168         * win32/gstelements.def:
7169         * win32/gstelements.vcproj:
7170         * win32/gstoptimalscheduler.def:
7171         * win32/gstoptimalscheduler.vcproj:
7172         * win32/gstspider.def:
7173         * win32/gstspider.vcproj:
7174           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7175
7176 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7177
7178         * docs/gst/gstreamer-sections.txt:
7179           remove GST_CAT_DEFAULT because the type has changed
7180
7181 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7182
7183         * win32/gstbytestream.vcproj:
7184         * win32/gstelements.vcproj:
7185         * win32/gst-inspect.vcproj:
7186         * win32/gst-launch.vcproj:
7187         * win32/gstoptimalscheduler.vcproj:
7188         * win32/GStreamer.vcproj:
7189         * win32/gst-register.vcproj:
7190         * win32/gstspider.vcproj:
7191         * win32/msvc71.sln:
7192           Copy the files where needed after building, The testsuite will be
7193           built separately
7194
7195 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7196
7197         * win32/config.h:
7198         * win32/README.txt:
7199         * docs/manual/win32.xml:
7200         Fixed the plugin and GStreamer location
7201
7202 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7203
7204         * win32/gstreamer.def:
7205         More exports for the plugins
7206
7207 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7208
7209         * gst/gstinfo.h:
7210         Marc was right, we need to export literally GST_CAT_DEFAULT
7211
7212 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7213
7214         * win32/config.h:
7215         NLS crashes in gettext, disabled until this is solved
7216
7217 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7218
7219         * win32/gst-inspect.vcproj:
7220         * win32/gst-launch.vcproj:
7221         Should use NLS when available
7222
7223 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7224
7225         * gst/registries/gstxmlregistry.c:
7226         removing the file doesn't seem to be a good idea on Linux
7227
7228 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7229
7230         * gst/registries/gstxmlregistry.c:
7231         Remove the registry before renaming the tempfile (needed for Windows)
7232
7233 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7234
7235         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7236         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7237         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7238         * gst/elements/gstmultifilesrc.h:
7239         Added newmedia property so it generates newmedia events between each
7240         file when property is set, as well as fixed eos handling
7241
7242 2004-07-22  David Schleef  <ds@schleef.org>
7243
7244         * gst/gststructure.c: (gst_structure_id_empty_new),
7245         (gst_structure_empty_new):  Set type field correctly.
7246         * gst/gststructure.h: Check type field correctly.
7247         * testsuite/caps/Makefile.am:
7248         * testsuite/caps/structure.c: (test1), (main): Add a very small
7249         test for structures.
7250
7251 2004-07-22  David Schleef  <ds@schleef.org>
7252
7253         * docs/random/ds/0.9-suggested-changes: more comments
7254         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7255
7256 2004-07-22  Benjamin Otte  <otte@gnome.org>
7257
7258         * gst/gstelementfactory.c: (gst_element_register):
7259           set the factory in the class struct, so gst_element_get_factory
7260           actually works
7261         * gst/parse/grammar.y:
7262           set element to playing when it gets unlocked as we can't rely on the
7263           bin state - all elements in the bin state might still be locked in
7264           NULL)
7265
7266 2004-07-22  Benjamin Otte  <otte@gnome.org>
7267
7268         * gst/gstelement.c: (gst_element_set_state_func):
7269           make this a static function
7270
7271 2004-07-22  Wim Taymans  <wim@fluendo.com>
7272
7273         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7274         (gst_opt_scheduler_pad_link):
7275         fix 147894-2 and the group_link problem.
7276
7277 2004-07-22  Wim Taymans  <wim@fluendo.com>
7278
7279         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7280         (handoff_identity), (main):
7281         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7282         (handoff_identity), (main):
7283         * testsuite/schedulers/Makefile.am:
7284         * testsuite/schedulers/group_link.c: (main):
7285         Show bug in scheduler when linking chain and loop based element 
7286         where the chain based element was not yet in a group.
7287
7288 2004-07-21  Benjamin Otte  <otte@gnome.org>
7289
7290         * gst/.cvsignore:
7291         * gst/autoplug/.cvsignore:
7292         * gst/elements/.cvsignore:
7293         * gst/indexers/.cvsignore:
7294         * libs/gst/bytestream/.cvsignore:
7295         * libs/gst/control/.cvsignore:
7296         * libs/gst/getbits/.cvsignore:
7297         * testsuite/states/.cvsignore:
7298         * testsuite/threads/.cvsignore:
7299           keep this up to date, since I seem to be the only one who cares
7300           about not missing files on commits (editor's note: no you don't,
7301           but feel free to change them at the time you add stuff instead
7302           of later on)
7303
7304 2004-07-21  Benjamin Otte  <otte@gnome.org>
7305
7306         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7307         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7308         (gst_bin_child_state_change_func), (set_kid_state_func),
7309         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7310           make state changes work correctly and reentrant (so removing
7311           elements from bins during state changes of bins doesn't cause
7312           segfaults or even wrong states)
7313           add debugging category and debugging output to print children states
7314         * gst/gstbin.c: (gst_bin_dispose): 
7315           add some assertion checks
7316         * gst/gstbin.h:
7317         * gst/gstbin.c: (gst_bin_sync_children_state):
7318           deprecate this function - it just does gst_bin_set_state (bin,
7319           GST_STATE (bin)) 
7320         * testsuite/threads/queue.c: (main):
7321           don't use gst_bin_sync_children_state anymore
7322         * testsuite/states/Makefile.am:
7323         * testsuite/states/bin.c:
7324           test that the state changes of bins work as expected
7325         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7326           some adjustments to change states correctly, too
7327         * gst/gstthread.c: (gst_thread_change_state):
7328           don't enable/disable "threadsafe" properties, they're unused and
7329           cause random segfaults
7330         * testsuite/threads/Makefile.am:
7331           the queue check randomly passes now, ignore it
7332
7333 2004-07-21  Benjamin Otte  <otte@gnome.org>
7334
7335         * gst/gstpad.c:
7336           check if data is NULL before outputting debug info. (fixes #145100)
7337
7338 2004-07-21  Benjamin Otte  <otte@gnome.org>
7339
7340         * gst/schedulers/entryscheduler.c:
7341         (gst_entry_scheduler_loop_wrapper),
7342         (gst_entry_scheduler_chain_wrapper),
7343         (gst_entry_scheduler_get_wrapper):
7344           reset the state when the cothread starts, so we don't get assertion
7345           failures on restarting of cothreads
7346
7347 2004-07-20  Benjamin Otte  <otte@gnome.org>
7348
7349         * gst/gstelement.c: (gst_element_link_pads_filtered):
7350           use correct sinkpad, if only sinkpad is specified, but not srcpad
7351           (fixes #147889)
7352         * gst/gstelement.c: (gst_element_set_state_func),
7353         (gst_element_change_state): ref/unref the element, signal handlers
7354         could get rid of the element otherwise
7355
7356 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7357
7358         * docs/random/ds/0.9-suggested-changes:
7359           Make note about renaming fixed-list to array.
7360         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7361         (_gst_value_initialize):
7362           Add array intersections.
7363         * testsuite/caps/intersect2.c: (main):
7364           Add test for array intersections.
7365
7366 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * configure.ac: back to cvs
7369
7370 === release 0.8.4 ===
7371
7372 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7373
7374         * configure.ac:
7375           releasing 0.8.4, "Paella"
7376           bump libtool versioning
7377
7378 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7379
7380         * po/LINGUAS:
7381         * po/ca.po:
7382           adding Catalan translation (Jordi Mallach)
7383
7384 2004-07-20  Wim Taymans  <wim@fluendo.com>
7385
7386         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7387         (handoff_identity), (main):
7388         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7389         (handoff_identity), (main):
7390         * testsuite/schedulers/Makefile.am:
7391         Added failing testcase for variant of #147894
7392
7393 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         patch by: David Moore
7396
7397         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7398         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7399         (group_migrate_connected):
7400         * testsuite/schedulers/Makefile.am:
7401           fix for #142813 (Deadlock in optimal scheduler)
7402
7403 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7404
7405         patch by: Wim Taymans
7406
7407         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7408         (gst_opt_scheduler_schedule_run_queue),
7409         (gst_opt_scheduler_get_wrapper), (get_group),
7410         (group_migrate_connected):
7411         * testsuite/schedulers/Makefile.am:
7412           fix for #147819 (Add some checks in the opt scheduler)
7413
7414 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7415
7416         patch by: Benjamin Otte
7417
7418         * gst/gstelementfactory.c: (__gst_element_details_set):
7419           fix for #147929: running gst-register in non-utf8 locale can cause
7420           invalid registry
7421
7422 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         patch by: Wim Taymans
7425
7426         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7427         (group_has_element), (element_get_reachables_func),
7428         (group_migrate_connected):
7429           fix for #147894 (opt scheduler decoupled elements mismanagement)
7430         * testsuite/schedulers/Makefile.am:
7431           testsuite app now passes
7432
7433 2004-07-19  Wim Taymans  <wim@fluendo.com>
7434
7435         * testsuite/schedulers/147819.c: (handoff_identity1),
7436         (handoff_identity2), (main):
7437         * testsuite/schedulers/Makefile.am:
7438         Added testcase for bug 147819
7439
7440 2004-07-19  Wim Taymans  <wim@fluendo.com>
7441
7442         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7443         (handoff_identity), (main):
7444         * testsuite/schedulers/Makefile.am:
7445         Added testcase for bug 147894
7446
7447 2004-07-16  Wim Taymans  <wim@fluendo.com>
7448
7449         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7450         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7451         * testsuite/schedulers/Makefile.am:
7452         Added testsuite for bug 142183 in its two incarnations. Refcount
7453         is not increased for scheduled elements and threadsafe properties
7454         mutexes are not properly unlocked.
7455
7456 2004-07-16  Wim Taymans  <wim@fluendo.com>
7457
7458         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7459         (create_chain), (destroy_chain), (create_group), (destroy_group),
7460         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7461         (group_dec_link), (gst_opt_scheduler_pad_link),
7462         (group_inc_links_for_element), (group_migrate_connected):
7463         Call group_inc_link with the proper src->sink ordering -- 
7464         break this, and we break sort_chain. patch from wingo for bug
7465         147713.
7466         Partially revert patch 1.89. When adding a loop based element to 
7467         the scheduler, the links to other groups are automatically followed
7468         and incremented. This should not happen because the bin will call
7469         pad_link explicitly for those connection, resulting in them counted 
7470         twice. Results in assertion failure on pipeline cleanup.
7471
7472 2004-07-16  Wim Taymans  <wim@fluendo.com>
7473
7474         * testsuite/schedulers/143777-2.c: (main):
7475         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7476         (main):
7477         * testsuite/schedulers/Makefile.am:
7478         Added cleanup code to testcase 143777-2.
7479         Added testcase to show bug 147713, does not really show the
7480         deadlock as I can't figure out how to trigger it, but it does
7481         demonstrate bad ordering in the scheduler.
7482
7483 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7484
7485         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7486           change strndup to g_strndup.  Fixes #147707
7487
7488 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7489
7490         * po/af.po:
7491         * po/az.po:
7492         * po/cs.po:
7493         * po/en_GB.po:
7494         * po/fr.po:
7495         * po/nl.po:
7496         * po/sr.po:
7497         * po/sv.po:
7498         * po/tr.po:
7499         * po/uk.po:
7500           updated translations
7501
7502 2004-07-16  Benjamin Otte  <otte@gnome.org>
7503
7504         * gst/gstvalue.c: (gst_greatest_common_divisor):
7505           use ints and return ints, fractions only use ints, too, so this
7506           avoids accidently casting multiplications to unsigned
7507         (gst_value_lcopy_fraction): it's ints, not uint32
7508         (gst_value_set_fraction): disallow minint, multiplying and negation
7509           are broken with it
7510         (gst_value_fraction_multiply): fix to make large numbers work and get
7511         rid of the assumption that the multiplication of two ints fits an
7512         int64 - dunno if that's true for all systems
7513         * testsuite/caps/Makefile.am:
7514         * testsuite/caps/fraction-multiply-and-zero.c:
7515         (check_multiplication), (check_equal), (zero_test), (main):
7516           add tests for all the stuff above
7517         * testsuite/caps/value_compare.c: (test1):
7518           fix comment
7519         * tests/.cvsignore:
7520         * testsuite/caps/.cvsignore:
7521         * testsuite/debug/.cvsignore:
7522         * testsuite/dlopen/.cvsignore:
7523         * testsuite/states/.cvsignore:
7524           get up to date
7525
7526 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7527
7528         * docs/manual/bins-api.xml:
7529         * docs/manual/factories.xml:
7530         * docs/manual/helloworld.xml:
7531         * docs/manual/links-api.xml: 
7532           fixes for out of date info, incorrect info and grammar
7533
7534 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7535
7536         * docs/manual/pads.xml:
7537         * docs/manual/pads-api.xml: grammar fix
7538
7539 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7540
7541         * docs/manual/pads-api.xml: typo + grammar fix
7542
7543 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * docs/gst/gstreamer-sections.txt:
7546           add new symbols
7547         * docs/gst/tmpl/gstelement.sgml:
7548         * docs/gst/tmpl/gstpad.sgml:
7549         * docs/gst/tmpl/gsttypes.sgml:
7550         * docs/gst/tmpl/gstvalue.sgml:
7551           update docs
7552         * gst/gststructure.c: (gst_structure_set_valist),
7553         (gst_structure_from_abbr), (gst_structure_to_abbr):
7554         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7555         (gst_greatest_common_divisor), (gst_value_init_fraction),
7556         (gst_value_copy_fraction), (gst_value_collect_fraction),
7557         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7558         (gst_value_get_fraction_numerator),
7559         (gst_value_get_fraction_denominator),
7560         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7561         (gst_value_deserialize_fraction),
7562         (gst_value_transform_fraction_string),
7563         (gst_value_transform_string_fraction),
7564         (gst_value_compare_fraction), (_gst_value_initialize):
7565         * gst/gstvalue.h:
7566           adding GstFraction GValue type, get/set, and multiply
7567         * testsuite/caps/Makefile.am:
7568         * testsuite/caps/fraction.c: (test), (main):
7569         * testsuite/caps/string-conversions.c: (main):
7570         * testsuite/caps/value_compare.c: (test1), (main):
7571           add regression tests for GstFraction
7572
7573 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7574         
7575         * docs/manual/init-api.xml: Grammar fix
7576
7577 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7578
7579         * docs/manual/states.xml: Fix inconsistent information
7580
7581 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7582
7583         * gst/gstelement.c: (gst_element_set_state):
7584         * gst/gstpad.c: (gst_pad_try_set_caps):
7585         * gst/gststructure.c:
7586         * gst/gstthread.c: (gst_thread_child_state_change):
7587         * gst/gstvalue.c: (gst_value_compare_double):
7588         * gst/gstvalue.h:
7589         * testsuite/parse/parse1.c: (main):
7590           debugging additions and style cleanups
7591
7592 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7593
7594         * docs/manual/states.xml: Grammar fix
7595
7596 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7597
7598         * docs/manual/pads.xml: Grammar fix
7599
7600 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7601
7602         * docs/manual/elements.xml: Fixed image reference
7603
7604 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7605
7606         * docs/manual/goals.xml: Grammar fix
7607
7608 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7609
7610         * docs/manual/motivation.xml:
7611         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7612
7613 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7614
7615         * docs/manual/motivation.xml: Fix spelling
7616
7617 2004-07-15  Benjamin Otte  <otte@gnome.org>
7618
7619         * gst/gstelement.h: 
7620           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7621           strings.
7622         * gst/gstelement.c (gst_element_class_init):
7623           GError's are boxed, not objects
7624         * gst/gstmarshal.list:
7625           update list for the fixed error signal
7626
7627 2004-07-14  Andy Wingo  <wingo@pobox.com>
7628
7629         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7630         there all along, but the function wasn't. (guile-gstreamer's build
7631         system uses the address of the function -- I wasn't actually
7632         trying to use this.)
7633
7634 2004-07-14  Andy Wingo  <wingo@pobox.com>
7635
7636         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7637         as gst_pad_proxy_pad_link) just link to every other pad when they
7638         are called. In the case where the graph has cycles, this will mean
7639         that a call to try_set_caps will recurse. Allow this recursion
7640         and return OK, while we wait for the first try_set_caps to give a
7641         proper return value.
7642         (gst_pad_link_call_link_functions): Since this function is the
7643         only one to set the NEGOTIATING flag on a pad, if the flag is set
7644         it means that the link functions have indirectly recursed. If this
7645         happens, error out to avoid infinite recursion and an eventual
7646         SEGV.
7647         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7648         (gst_pad_proxy_getcaps): Intersect the result with the template
7649         caps to ensure that the return value is valid.
7650
7651 2004-07-14  Andy Wingo  <wingo@pobox.com>
7652
7653         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7654         one refcount, the calling function is the owner of the buffer.
7655
7656 2004-07-14  Wim Taymans  <wim@fluendo.com>
7657
7658         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7659         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7660         Fix stupid warning when an element is to be migrated but
7661         is already migrated.
7662
7663 2004-07-14  Wim Taymans  <wim@fluendo.com>
7664
7665         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7666         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7667         Make sure that a single non-loop-based element does not 
7668         end up in a group. This fixes the testsuite again.
7669
7670 2004-07-14  Wim Taymans  <wim@fluendo.com>
7671
7672         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7673         (add_to_group), (merge_groups), (schedule_group),
7674         (gst_opt_scheduler_get_wrapper), (group_elements),
7675         (group_dec_link), (gst_opt_scheduler_pad_link),
7676         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7677         (gst_opt_scheduler_iterate):
7678         move isolated groups to a new chain.
7679         Emit a warning instead of segfaulting in some error cases.
7680         Fix a bug where the link count between groups was not calculated 
7681         correctly. Fixes #144510.
7682
7683 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7684         * gst/elements/gstfilesrc.c:
7685           Binary files support under Windows now OK
7686       
7687 2004-07-13  Benjamin Otte  <otte@gnome.org>
7688
7689           compatibility fixes for Solaris 8/gcc 2.95
7690         * configure.ac:
7691           include libintl libs in LDFLAGS
7692         * gstvalue.c (gst_value_deserialize_buffer):
7693           cast isxdigit stuff to int to silence compiler warning
7694
7695 2004-07-12  Benjamin Otte  <otte@gnome.org>
7696
7697         * gst/gsttypes.h:
7698           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7699           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7700           just causes support madness
7701         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7702           make it work without this
7703         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7704         (gst_file_index_commit):
7705           glib IO channels don't want binary mode
7706         * testsuite/bytestream/filepadsink.c: (main):
7707         * testsuite/bytestream/test1.c: (read_param_file):
7708           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7709
7710 2004-07-12  Benjamin Otte  <otte@gnome.org>
7711
7712         * gst/gstelement.c: (gst_element_class_init),
7713         (gst_element_set_state), (gst_element_set_state_func):
7714           virutalize gst_element_set_state, use set_state member in class
7715           struct that was already added in 0.7 for this.
7716         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7717         (gst_bin_change_state):
7718           make gst_bin_foreach works similar to other foreach functions, plug
7719           memleaks in it. Make functions using it work with the new approach.
7720           Document gst_bin_foreach, so it can be exported if we want to
7721         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7722           use virtualized set_state to make set_state on bins set the state of
7723           all its children.
7724
7725 2004-07-12  Benjamin Otte  <otte@gnome.org>
7726
7727         * configure.ac:
7728           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7729           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7730         * gst/gstpad.c: (gst_pad_alloc_buffer):
7731           allow buffer_alloc functions to return NULL and allocate a normal
7732           buffer in that case
7733
7734 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7735         * gst/elements/gstfilesink.c:
7736         * gst/elements/gstfilesrc.c:
7737         * gst/indexers/gstfileindex.c:
7738         * gst/gsttypes.h:
7739         * testsuite/bytestream/filepadsink.c:
7740         * testsuite/bytestream/test1.c:
7741           Handle binary files under Windows
7742
7743 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7744         * docs/manual/win32.xml:
7745         * win32/config.h:
7746         * win32/gst-register.vcproj:
7747         * win32/gstreamer.def:
7748           Update to another gettext public build
7749
7750 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7751         * gst/gstplugin.c:
7752           Fix an impossible C syntax
7753         * win32/config.h:
7754           Disable i18n under Windows for the moment
7755         * win32/gst-register.vcproj:
7756           Use this configuration
7757
7758 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7759         * docs/manual/quotes.xml:
7760           Keep the quotes file alive
7761         * docs/random/ds/0.9-suggested-changes:
7762           Add the suggestion of including a 'rowstride' as part of video
7763           format caps
7764
7765 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * gst/gstelement.c: (gst_element_set_state),
7768         (gst_element_change_state):
7769           d'oh.  Set PENDING state correctly before forcing bin to change.
7770         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7771         (gst_structure_parse_fixed_list):
7772         * gst/schedulers/gstoptimalscheduler.c:
7773         (gst_opt_scheduler_state_transition):
7774         * testsuite/states/parent.c: (main):
7775           remove comment now that it's fixed.
7776
7777 2004-07-11  Benjamin Otte  <otte@gnome.org>
7778
7779         * gst/gstclock.h:
7780           GST_SECOND shouldn't cause a conversion to unsigned.
7781         * testsuite/clock/.cvsignore:
7782         * testsuite/clock/Makefile.am:
7783         * testsuite/clock/signedness.c: (main):
7784           make sure it never will again
7785
7786 2004-07-11  Andy Wingo  <wingo@pobox.com>
7787
7788         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7789         whose state is higher than the bin state, raise the bin state to
7790         ensure that bin state := highest child state.
7791         
7792 2004-07-11  Andy Wingo  <wingo@pobox.com>
7793
7794         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7795         procedure on the children of a bin. Assumes that the procedure can
7796         change the set of children.
7797         (set_kid_state_func): New static function.
7798         (gst_bin_change_state): Use gst_bin_foreach to call
7799         set_kid_state_func. Fixes a bug: if a child had a state-change
7800         handler that removes it from the bin, there would be a segfault.
7801         Hopefully it should also work in the case where the state-change
7802         handler on one child adds or removes other children. In any case,
7803         fixes should go to gst_bin_foreach.
7804
7805 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7806
7807         * gst/gstelement.c: (gst_element_set_state):
7808           compatibility fix for latest plugins release.  Change loop back
7809           to while {}
7810
7811 2004-07-09  Wim Taymans  <wim@fluendo.com>
7812
7813         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7814         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7815         (gst_thread_main_loop):
7816         Since remove is virtual in GstBin we must not assume the 
7817         elements GList to have anothing useful.
7818         Add some more logging to GstThread and be a bit more paranoid
7819         when resetting the scheduler.
7820         Set the state of the bin to NULL before removing the children.
7821
7822 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7823
7824         * testsuite/threads/Makefile.am:
7825         * testsuite/threads/threadg.c:
7826           added test to check if problem when removing all elements from a
7827           GstThread before setting GstThread state to NULL
7828
7829 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7830
7831         * docs/gst/tmpl/gstelement.sgml:
7832         * docs/gst/tmpl/gsttypes.sgml:
7833         * gst/gstbin.c: (gst_bin_change_state):
7834         * gst/gstelement.c: (gst_element_set_state),
7835         (gst_element_change_state):
7836           rework so that for bins we try to set the state on all children
7837           as well even if the bin is in the correct state already.
7838           change while to do so at least one iteration is done.
7839           For regular elements, we fall back to the previous behaviour for
7840           now since we first need a new plugins release.
7841         * testsuite/states/parent.c: (main):
7842           test for this case
7843           Fixes #123774
7844
7845 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7846
7847         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7848         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7849         (gst_queue_release_locks), (gst_queue_change_state),
7850         (gst_queue_set_property):
7851           add proper lock debugging.  Change dispose to finalize, since
7852           we're freeing mutexes and other stuff which should happen only once.
7853
7854 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7855
7856         * docs/gst/tmpl/gstelement.sgml:
7857         * docs/gst/tmpl/gstplugin.sgml:
7858         * docs/gst/tmpl/gsttypes.sgml:
7859         * docs/pwg/building-state.xml:
7860         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7861         * gst/gstelement.c: (gst_element_change_state):
7862         * gst/gstthread.c: (gst_thread_change_state):
7863           catch wrong state changes in element base class.
7864
7865 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7866
7867         * gst/gstinfo.h:
7868           clean up layout a little.
7869
7870 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7871
7872         * configure.ac:
7873         * testsuite/Makefile.am:
7874         * testsuite/states/Makefile.am:
7875         * testsuite/states/parent.c: (main):
7876           re-enable states testsuite dir.  Add test for state changes and
7877           parent behaviour
7878
7879 2004-07-09  Wim Taymans  <wim@fluendo.com>
7880
7881         * gst/schedulers/gstoptimalscheduler.c:
7882         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7883         (element_get_reachables_func), (element_get_reachables),
7884         (debug_element), (rechain_group), (group_migrate_connected),
7885         (gst_opt_scheduler_pad_unlink):
7886         Do not try to migrate decoupled elements to a new group since
7887         they are not added to groups.
7888
7889 2004-07-08  Benjamin Otte  <otte@gnome.org>
7890
7891         * gst/gstelement.c: (gst_element_error_func):
7892           make reentrant (= allow removing elements in error handler)
7893
7894 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7895
7896         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7897         (gst_pad_send_event), (gst_pad_call_chain_function):
7898           events sent to elements below PAUSED cannot be handled, so
7899           don't try to
7900
7901 2004-07-08  Wim Taymans  <wim@fluendo.com>
7902
7903         * gst/schedulers/gstoptimalscheduler.c:
7904         (chain_recursively_migrate_group), (create_group),
7905         (schedule_group), (gst_opt_scheduler_pad_link),
7906         (group_elements_set_visited), (element_get_reachables_func),
7907         (element_get_reachables), (group_can_reach_group), (debug_element),
7908         (rechain_group), (group_migrate_connected),
7909         (gst_opt_scheduler_pad_unlink):
7910         * testsuite/schedulers/Makefile.am:
7911         Implemented group splitting and rechaining.
7912         Fixes 143777 and 143777-2 in the testsuite.
7913
7914 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7915
7916         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7917           extra debugging
7918         * gst/gstevent.h:
7919         * gst/gstinfo.c: (gst_debug_log_default):
7920           print time nicely.  add thread pointer until someone figures out
7921           a completely portable way of getting at thread id's.
7922         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7923         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7924         (gst_pad_call_chain_function):
7925           extra debugging
7926         * gst/schedulers/gstoptimalscheduler.c:
7927         (get_group_schedule_function), (loop_group_schedule_function),
7928         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7929         (pad_clear_queued), (gst_opt_scheduler_iterate):
7930           rename BUFPEN and friends to DATAPEN since that's what they are.
7931
7932 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7933
7934         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7935         * gst/gstbuffer.h:
7936         * gst/gstpad.c:
7937           cleanups and debugging
7938
7939 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7940
7941         * configure.ac:
7942         * gst/gstvalue.c: (gst_value_compare_enum),
7943         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7944         (gst_value_can_compare), (gst_value_compare):
7945         * testsuite/Makefile.am:
7946         * testsuite/enumcaps/Makefile.am:
7947         * testsuite/enumcaps/enumcaps.c:
7948           Fix enum serialization, deserialization, comparison in caps, add
7949           a test to ensure that this continues working in the future.
7950
7951 2004-07-06  David Schleef  <ds@schleef.org>
7952
7953         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7954         Fix memleak.
7955
7956 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7957
7958         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7959         * gst/gstplugin.h:
7960         * gst/registries/gstxmlregistry.c:
7961         (plugin_times_older_than_recurse), (plugin_times_older_than),
7962         (gst_xml_registry_parse_padtemplate):
7963           only rebuild registry when actual plugins have a newer time than
7964           the registry.  Fixes #145520
7965
7966 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7967
7968         * docs/manual/manual.xml:
7969         * docs/manual/win32.xml:
7970           add chapter on win32 building.  fixes #142422
7971
7972 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7973
7974         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7975
7976         * gst/autoplug/gstspider.c: (gst_spider_init),
7977         (gst_spider_dispose):
7978           fix spider memleaks.  fixes #137863
7979
7980 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7981
7982         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7983
7984         * gst/schedulers/gstoptimalscheduler.c:
7985         (gst_opt_scheduler_pad_unlink):
7986           fix SIGBUS error, fixes #145338
7987
7988 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7989
7990         * gst/gstobject.c: (gst_object_replace):
7991         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7992         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7993           clean up clock lifecycle.  Fixes #109831
7994
7995 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * po/LINGUAS:
7998         * po/cs.po:
7999           added Czech translation (Miloslav Trmac)
8000
8001 2004-07-04  David Schleef  <ds@schleef.org>
8002
8003         * tools/Makefile.am:
8004         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8005
8006 2004-07-04  David Schleef  <ds@schleef.org>
8007
8008         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8009
8010 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8011
8012         * gst/gstbin.c: (gst_bin_restore_thyself):
8013           chain to parent restore so the bins get restored correctly
8014           in the editor
8015
8016 2004-07-03  David Schleef  <ds@schleef.org>
8017
8018         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8019         Actually do something in these functions, like before the big
8020         caps change.  (bug #145137)
8021
8022 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8023
8024         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8025         (gst_element_get_compatible_pad_filtered):
8026         * gst/gstthread.c: (gst_thread_main_loop):
8027           more debugging
8028
8029 2004-07-02  David Schleef  <ds@schleef.org>
8030
8031         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8032         * gst/gstobject.h:
8033         * gst/gstparse.h:
8034         * gst/gsttrace.h:
8035         * gst/gstxml.h:
8036
8037 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8038
8039         * gst/gstpad.c: (gst_pad_check_schedulers),
8040         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8041         (gst_pad_link_prepare):
8042           revert until testsuite is fixed
8043
8044 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8045
8046         * testsuite/Makefile.am:
8047         * testsuite/caps/filtercaps.c: (main):
8048         * testsuite/clock/clock1.c: (main):
8049         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8050           fix some more tests
8051
8052 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8053
8054         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8055         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8056         * testsuite/cleanup/cleanup4.c: (main):
8057           fix testsuite
8058
8059 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * libs/gst/control/control.c:
8062         * libs/gst/control/dparam.c:
8063         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8064         * libs/gst/control/dparammanager.c:
8065         * libs/gst/control/dparammanager.h:
8066         * testsuite/dynparams/Makefile.am:
8067         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8068         (gst_dptest_change_state), (gst_dptest_chain), (main):
8069           fix testcase for dparams
8070           add debugging category
8071
8072 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8073
8074         * testsuite/Rules:
8075           change path
8076
8077 2004-07-02  Benjamin Otte  <otte@gnome.org>
8078
8079         * tests/.cvsignore:
8080         * tests/Makefile.am:
8081         * tests/mass_elements.c: (gst_get_current_time), (main):
8082           add simple benchmark to test various speeds of fakesrc ! identity !
8083           identity ! ... ! fakesink.
8084           Usage: mass_elements [num_identities] [num_buffers]
8085           If not specified they default to 1000.
8086
8087 2004-07-02  Benjamin Otte  <otte@gnome.org>
8088
8089         * gst/gstpad.c: (gst_pad_check_schedulers),
8090         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8091         (gst_pad_link_prepare):
8092           check that pads that get linked belong to the same manager. The old
8093           code allowed linking elements before putting them into bins, so it
8094           worked to link them and then put them in different threads, which
8095           lead to weird behaviour.
8096           Since this effectively disallows linking elements before putting
8097           them in a bin, some applications might not work after this and error
8098           out. If these applications are too critical, we might need to revert
8099           that patch. Please test this before the next release...
8100
8101 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8102
8103         * gst/gstpad.c: (gst_pad_get_caps):
8104           throw an error if the getcaps function does not return a subset of
8105           the template caps.
8106         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8107           make disconts without position info an error in debugging
8108         * tests/spidey_bench.c: (handoff), (main):
8109           don't count first try when averaging
8110
8111 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8112
8113         * gst/gstplugin.c: (gst_plugin_load_file):
8114           figure out problem with dynamic test
8115
8116 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8117
8118         * docs/gst/Makefile.am:
8119           fix docs build
8120
8121 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * po/POTFILES.in:
8124         * po/af.po:
8125         * po/az.po:
8126         * po/en_GB.po:
8127         * po/fr.po:
8128         * po/nl.po:
8129         * po/sr.po:
8130         * po/sv.po:
8131         * po/tr.po:
8132         * po/uk.po:
8133         * tools/gst-register.c: (plugin_added_func), (main):
8134           i18n-ize -register, fix plural
8135
8136 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8137
8138         * gst/elements/gstidentity.c: (gst_identity_class_init),
8139         (gst_identity_init), (gst_identity_chain),
8140         (gst_identity_set_property), (gst_identity_get_property):
8141         * gst/elements/gstidentity.h:
8142           check for perfect stream
8143
8144 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * gst/elements/gstidentity.c: (gst_identity_chain):
8147           print offset_end
8148
8149 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * docs/gst/Makefile.am:
8152         * docs/gst/gstreamer-docs.sgml:
8153           doc fixes
8154
8155 2004-06-24  David Schleef  <ds@schleef.org>
8156
8157         * autogen.sh:  Remove call to env, since the buildbot isn't
8158         broken anymore.
8159
8160 2004-06-24  Wim Taymans  <wim@fluendo.com>
8161
8162         * gst/elements/Makefile.am:
8163         * gst/elements/gstelements.c:
8164         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8165         (gst_multifdsink_class_init), (gst_multifdsink_init),
8166         (gst_multifdsink_add), (gst_multifdsink_remove),
8167         (gst_multifdsink_clear), (gst_multifdsink_chain),
8168         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8169         * gst/elements/gstmultifdsink.h:
8170         Added an element that writes to multiple filedescriptors at once.
8171
8172 2004-06-24  Benjamin Otte  <otte@gnome.org>
8173
8174         * gst/parse/grammar.y:
8175           don't try to link elements before they have been added to bins
8176
8177 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8178
8179         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8180         (gst_file_pad_get_length):
8181         * libs/gst/bytestream/filepad.h:
8182           add 2 new functions
8183
8184 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8185
8186         * docs/gst/gstreamer-sections.txt:
8187         remove from docs, the define that Benjamin removed from gstelement.h
8188
8189 2004-06-22  Benjamin Otte  <otte@gnome.org>
8190
8191         * gst/gstelement.h:
8192           remove define that referenced a nonexisting GstElement struct member
8193
8194 2004-06-20  Benjamin Otte  <otte@gnome.org>
8195
8196         * gst/gstdata.c: (gst_data_is_writable):
8197           whoops, return values were wrong, so writable data was marked as
8198           non-writable and vice versa. (fixes #143953, spotted by Francis
8199           Labonte)
8200           Shows how rarely we need to copy data ;)
8201
8202 2004-06-20  Benjamin Otte  <otte@gnome.org>
8203
8204         * testsuite/schedulers/.cvsignore:
8205         * testsuite/schedulers/Makefile.am:
8206         * testsuite/schedulers/143777-2.c: (main):
8207           add test for opt breakage in bug #143777
8208
8209 2004-06-20  Benjamin Otte  <otte@gnome.org>
8210
8211         * gst/gstpad.c: (gst_pad_call_chain_function):
8212           check for if we were unlinked while inside the chainfunction (fixes
8213           entrygthread having issues with #143777)
8214         * testsuite/schedulers/143777.c: (main):
8215         * testsuite/schedulers/Makefile.am:
8216           add a test for that fix
8217
8218 2004-06-20  Benjamin Otte  <otte@gnome.org>
8219
8220         * gst/gstvalue.c: (gst_value_set_int_range):
8221           test that start is smaller then end
8222         * libs/gst/bytestream/Makefile.am:
8223         * libs/gst/bytestream/filepad.c: 
8224         * libs/gst/bytestream/filepad.h:
8225           add GstFilePad - a pad that behaves like a FILE*
8226         * testsuite/bytestream/.cvsignore:
8227         * testsuite/bytestream/Makefile.am:
8228         * testsuite/bytestream/filepadsink.c: 
8229           test for the GstFilePad
8230
8231 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         * gst/elements/gstidentity.c: (gst_identity_class_init),
8234         (gst_identity_init), (gst_identity_set_clock),
8235         (gst_identity_chain), (gst_identity_set_property),
8236         (gst_identity_get_property):
8237         * gst/elements/gstidentity.h:
8238         * gst/gstclock.c: (gst_clock_id_wait):
8239           add a "sync" property to sync to the clock
8240
8241 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8242
8243         * gst/gstelementfactory.c: (gst_element_factory_create):
8244           make the freakin "elementfactory bla has no type" message more
8245           useful. So we actually can do something when someone shows up
8246           complaining about it.
8247
8248 2004-06-15  Johan Dahlin  <johan@gnome.org>
8249
8250         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8251         found. This matches the old behavior better. Thanks to Thomas for
8252         pointing out.
8253
8254 2004-06-14  David Schleef  <ds@schleef.org>
8255
8256         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8257         -fomit-frame-pointer.  Appears to generate correct code in
8258         other cases as well.
8259
8260 2004-06-14  Johan Dahlin  <johan@gnome.org>
8261
8262         * tools/gst-inspect.c (main): Add two new command line options: -a
8263         to print all elements and -n to print the name on each line. Also
8264         fix some error reporting.
8265         (main): Simplify, remove -n and always print names if -a is specified
8266
8267 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8268
8269         * win32/gstconfig.h:
8270         * win32/GSTreamer.vcproj:
8271         * win32/Makefile:
8272         * gst/gstconfig.h.in:
8273         * gst/gst.h:
8274         * gst/gstbin.h:
8275         * gst/gstelement.h:
8276         * gst/gstevent.h:
8277         * gst/gstobject.h:
8278         * gst/gstpad.h:
8279         * docs/gst/gstreamer-sections.txt:
8280         * docs/gst/tmpl/gstconfig.sgml:
8281           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8282
8283 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8284         * docs/gst/gstreamer-sections.txt:
8285         * docs/gst/tmpl/gstconfig.sgml:
8286         Add the GSTREAMER_EXPORT macro to the docs
8287
8288 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8289
8290         * tools/gst-compprep.c: (handle_xmlerror), (main):
8291         Add a check for the version that introduced SetStructuredError to fix
8292         the build on FC1
8293
8294 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8295
8296         * win32/msvc71.sln:
8297         * win32/testsuite/:
8298           prepare to compile the testsuite with MSVC
8299
8300 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8301
8302         * docs/manual/win32.xml:
8303           attempt to transform the Win32 README into an XML doc
8304
8305 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8306
8307         * gst/gst.c:
8308         * gst/gstbin.*:
8309         * gst/config.h.in:
8310         * gst/gstelement.*:
8311         * gst/gstevent.h:
8312         * gst/gstobject.*:
8313         * gst/gstpad.h:
8314         * tools/gst-register.c:
8315         * win32/gstreamer.def:
8316           extern symbols are now exported for the Windows DLL
8317
8318 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8319
8320         * gst/gstinfo.h:
8321           fix a problem to enable/disable DEBUG under MSVC
8322
8323 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8324
8325         * win32/:
8326           enable more debug code in DEBUG build
8327
8328 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8329
8330         * win32/config.h:
8331         * gst/gst-i18n-app.h:
8332           enable NLS under Windows
8333
8334 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8335         * tools/gst-compprep.c: (handle_xmlerror), (main):
8336           Make an error that baffled me a bit clearer
8337
8338 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8339
8340         * gst/gstqueue.c:
8341           don't use g_queue_get_length () because it's 2.4, use ->length
8342
8343 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8344
8345         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8346
8347         * tools/gst-inspect.c: (print_signal_info):
8348           don't free random data twice. (fixes #144185)
8349
8350 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * gst/gstqueue.c:
8353         * gst/gstqueue.h:
8354           fix removing from the wrong queue on event timeout
8355           fix disposing of the event queue by casting correctly
8356           add mutexes for handling the event queue
8357           someone was sleeping when fixing queue last time around :)
8358
8359 2004-06-10  Johan Dahlin  <johan@gnome.org>
8360
8361         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8362         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8363
8364 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8365
8366         * docs/random/gdp:
8367         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8368         * libs/gst/dataprotocol/dataprotocol.c:
8369         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8370         (gst_dp_buffer_from_header):
8371         * libs/gst/dataprotocol/dataprotocol.h:
8372         * libs/gst/dataprotocol/dp-private.h:
8373           rev version to 0.1, add buffer flags and copy them
8374
8375 2004-06-09  Johan Dahlin  <johan@gnome.org>
8376
8377         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8378         the flags from the buffer we're copying.
8379
8380 2004-06-09  Wim Taymans  <wim@fluendo.com>
8381
8382         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8383         * gst/elements/gstidentity.c: (gst_identity_init),
8384         (gst_identity_chain):
8385         Print more buffer info in fakesink.
8386         Make identity output similar to fakesink.
8387
8388 2004-06-07  Daniel Gazard  <dany42@free.fr>
8389
8390         reviewed by Benjamin Otte  <otte@gnome.org>
8391
8392         * configure.ac:
8393           fix cross compiling not working. (fixes #143741)
8394
8395 2004-06-07  Benjamin Otte  <otte@gnome.org>
8396
8397         * gst/gstelement.c: (gst_element_set_time_delay):
8398           add failure check
8399         * gst/gstinfo.h:
8400           put brackets around macro arguments of GST_TIME_ARGS, add note to
8401           move it to correct header in 0.9
8402
8403 2004-06-07  Benjamin Otte  <otte@gnome.org>
8404
8405         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8406         (gst_file_index_load), (_file_index_id_save_entries),
8407         (gst_file_index_commit), (gst_file_index_add_association),
8408         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8409         (gst_file_index_plugin_init):
8410           make debugging use a default category
8411
8412 2004-06-06  David Moore  <dcm@acm.org>
8413
8414         reviewed by Benjamin Otte  <otte@gnome.org>
8415
8416         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8417         (gst_fdsrc_change_state):
8418           reset offset counter when going READY => PAUSED. (fixes #142903)
8419
8420 2004-06-06  ed@catmur.co.uk
8421
8422         reviewed by Benjamin Otte  <otte@gnome.org>
8423
8424         * gst/registries/gstxmlregistry.c:
8425         (gst_xml_registry_rebuild_recurse):
8426           don't rely on g_dir_open to figure out if a file is a directory, use
8427           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8428           directories. (fixes #142850)
8429
8430 2004-06-06  Benjamin Otte  <otte@gnome.org>
8431
8432         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8433           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8434         * libs/gst/bytestream/adapter.c:
8435         * libs/gst/bytestream/adapter.h:
8436           fix copyright in header and typo in debugging category name
8437
8438 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8439
8440         * configure.ac:
8441           bump nano to cvs
8442
8443 === release 0.8.3 ===
8444
8445 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8446
8447         * configure.ac:
8448           update libtool versioning
8449           do a new release
8450         * docs/gst/tmpl/gstelement.sgml:
8451         * docs/gst/tmpl/gsttypes.sgml:
8452         * gst/gstinfo.c: (_gst_debug_init):
8453           put back GST_CAT_DATAFLOW to fix API breakage
8454
8455 2004-06-04  David Schleef  <ds@schleef.org>
8456
8457         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8458
8459 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8460
8461         * configure.ac:
8462           bump nano to cvs
8463
8464 === release 0.8.2 ===
8465
8466 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8467
8468         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8469           check GST_DEBUG environment variable which is parsed the same way
8470           as --gst-debug=
8471
8472 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8473
8474         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8475                             gstmd5sink.c gstshaper.c gsttee.c
8476                             gsttypefindelement.c
8477         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8478
8479           - removing trailing commas at end of enums
8480             it is correct C99 code but C90 compilers would complain
8481             (AIX, Forte, ...)
8482             ('should' fix #143290, at least partially)
8483
8484 2004-05-27  Wim Taymans  <wim@fluendo.com>
8485
8486         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8487         (chain_group_set_enabled), (create_group), (add_to_group),
8488         (merge_groups), (setup_group_scheduler), (group_elements),
8489         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8490         Don't try to follow the pad connections with other groups
8491         when a loop based element is added to the scheduler because
8492         the bin will inform the scheduler about the pad links a little
8493         later.
8494
8495 2004-05-27  Wim Taymans  <wim@fluendo.com>
8496
8497         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8498         (remove_from_chain), (chain_group_set_enabled),
8499         (setup_group_scheduler), (group_element_set_enabled),
8500         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8501         (gst_opt_scheduler_show):
8502         Elements without a group can do a state change as well, just wait
8503         with the setup of the scheduling function when it is added to a
8504         chain.
8505
8506 2004-05-27  Wim Taymans  <wim@fluendo.com>
8507
8508         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8509         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8510         (merge_groups), (setup_group_scheduler),
8511         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8512         (gst_opt_scheduler_show):
8513         Fixes to maintain internal consistency of the scheduler data
8514         structures. 
8515          - adding an enabled group to a chain should increment the
8516            number of enabled elements in that chain.
8517          - removing an enabled group from a chain could disable the
8518            chain.
8519          - removing a disabled group from a chain could enable the
8520            chain.
8521          - add g_assert when internal inconsistency is detected.
8522          - adding an element to a group could increase the number of
8523            links this group has with other groups.
8524          - merging two groups also merges the chains.
8525          - also show group links in the _show method.
8526            
8527
8528 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8529
8530         * gst/gstcaps.c: (gst_caps_structure_simplify):
8531           don't print error messages when there is no error
8532         * gst/gstvalue.c: (gst_value_compare_int_range):
8533           compare the second value, too
8534         * testsuite/caps/Makefile.am:
8535         * testsuite/caps/random.c: (assert_on_error), (main):
8536           add tests to make sure the two things above are checked for
8537
8538 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8539
8540         * configure.ac:
8541         * libs/gst/dataprotocol/Makefile.am:
8542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8543         * libs/gst/dataprotocol/dataprotocol.h:
8544           wrap header in GST_ENABLE_NEW.  make code use it
8545
8546 2004-05-23  Johan Dahlin  <johan@gnome.org>
8547
8548         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8549         so verbose and print GstElement signal names all the time.
8550
8551 2004-05-22  David Schleef  <ds@schleef.org>
8552
8553         * gst/registries/gstxmlregistry.c:
8554         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8555         (bug #142957)
8556
8557 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * configure.ac:
8560           scrub cflags for glib2 so gcc doesn't complain when glib is in
8561           /usr/local
8562
8563 2004-05-21  Johan Dahlin  <johan@gnome.org>
8564
8565         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8566         __GNUC__, patch from Brian Cameron, fixes bug #142804
8567
8568 2004-05-20  David Schleef  <ds@schleef.org>
8569
8570         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8571         comparison code.  (bug #142819)
8572
8573 2004-05-20  Wim Taymans  <wim@fluendo.com>
8574
8575         * gst/gstbuffer.c: (gst_buffer_default_copy):
8576         * gst/gstbuffer.h:
8577         Added Comment to a flag.
8578         copy relevant flags in _buffer_copy.
8579
8580 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8581
8582         reviewed by: Wim Taymans <wim at fluendo dot com>
8583
8584         * gst/gstbuffer.h:
8585           add GST_BUFFER_IN_CAPS buffer flag
8586         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8587         (gst_structure_parse_any_list), (gst_structure_parse_list),
8588         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8589         * gst/gstvalue.c: (gst_value_serialize_any_list),
8590         (gst_value_transform_any_list_string),
8591         (gst_value_list_prepend_value), (gst_value_list_append_value),
8592         (gst_value_list_get_size), (gst_value_list_get_value),
8593         (gst_value_transform_list_string),
8594         (gst_value_transform_fixed_list_string),
8595         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8596         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8597         (_gst_value_initialize):
8598         * gst/gstvalue.h:
8599           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8600           < , > as a format.
8601         * testsuite/caps/string-conversions.c: (main):
8602           add regression tests for < >
8603
8604 2004-05-20  Johan Dahlin  <johan@gnome.org>
8605
8606         * docs/gst/Makefile.am (all-local): Re-add
8607
8608 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8609
8610         * docs/gst/Makefile.am:
8611         * docs/gst/gstreamer-docs.sgml:
8612         * docs/libs/Makefile.am:
8613         * docs/libs/gstreamer-libs-docs.sgml:
8614           fix distcheck issues
8615
8616 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8617
8618         * libs/gst/dataprotocol/Makefile.am:
8619           add to autotest
8620
8621 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * libs/gst/dataprotocol/Makefile.am:
8624         * libs/gst/dataprotocol/dataprotocol.c:
8625         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8626         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8627         * libs/gst/dataprotocol/dp-private.h:
8628           use GST macros to read/write fixed length ints
8629           add some more asserts
8630
8631 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8632
8633         * docs/libs/gstreamer-libs-docs.sgml:
8634         * docs/libs/gstreamer-libs-sections.txt:
8635           remove idct and putbits
8636         * configure.ac:
8637         * docs/libs/tmpl/gstdataprotocol.sgml:
8638         * libs/gst/Makefile.am:
8639         * libs/gst/dataprotocol/Makefile.am:
8640         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8641         (buffer_test), (caps_test), (event_test), (main):
8642         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8643         (gst_dp_dump_byte_array), (gst_dp_init),
8644         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8645         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8646         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8647         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8648         (gst_dp_validate_header), (gst_dp_validate_payload),
8649         (gst_dp_validate_packet), (plugin_init):
8650         * libs/gst/dataprotocol/dataprotocol.h:
8651         * libs/gst/dataprotocol/dp-private.h:
8652           add dataprotocol
8653
8654 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8655
8656         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8657           fix int variable deserialization and add a helper so we can actually
8658           debug this.
8659
8660 2004-05-18  David Schleef  <ds@schleef.org>
8661
8662         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8663           argv[0].  Calling yourself is probably not the best way to
8664           construct a test like this, btw.
8665
8666 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8667
8668         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8669           don't claim to be more intelligent than a scheduler when the
8670           scheduler claims the pipeline is stopped
8671         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8672         (safe_cothread_destroy),
8673         (gst_entry_scheduler_remove_all_cothreads),
8674         (gst_entry_scheduler_reset), (_remove_cothread),
8675         (gst_entry_scheduler_state_transition):
8676           hold off cothread destruction if we're not in main cothread
8677         * configure.ac:
8678         * testsuite/Makefile.am:
8679           add new test dir
8680         * testsuite/schedulers/.cvsignore:
8681         * testsuite/schedulers/Makefile.am:
8682           add tests
8683         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8684           check relinking and adding/removing elements from a running pipeline
8685         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8686           check unlinking in a running pipeline
8687         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8688           check unreffing a running pipeline
8689         * testsuite/schedulers/useless_iteration.c: (main):
8690           check iterating a pipeline that contains running threads works
8691
8692 2004-05-18  David Schleef  <ds@schleef.org>
8693
8694         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8695           is false.
8696
8697 2004-05-18  Wim Taymans  <wim@fluendo.com>
8698
8699         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8700         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8701         Fixed an error introduced with patch for 1.63. When setting
8702         a get based element as the entry point in a group, make sure
8703         to mark the group as GET based.
8704
8705 2004-05-18  Wim Taymans  <wim@fluendo.com>
8706
8707         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8708         (setup_group_scheduler), (loop_group_schedule_function),
8709         (gst_opt_scheduler_pad_link):
8710         Added some more debug info and fixed a bug where the group
8711         type was set to LOOP but it was in fact unknown.
8712
8713 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8714
8715         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8716           make resetting scheduler work twice in a row
8717
8718 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8719
8720         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8721         (CREATE_USERIALIZATION), (_gst_value_initialize),
8722         (gst_value_compare_float), (gst_value_serialize_float),
8723         (gst_value_deserialize_float), (gst_value_compare_enum),
8724         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8725           add serialization and comparison functions for long, int64, enum and
8726           float values
8727         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8728           use best serialization function in type hierarchy instead of only a
8729           matching one. This is required for enums to work.
8730         * gst/parse/grammar.y:
8731           use gst_caps_deserialize
8732         * testsuite/parse/Makefile.am:
8733           parse1 now works
8734         * testsuite/parse/parse1.c: (main):
8735           remove aggregator check, aggregator is broken, this test works now
8736           but fails because of bug #138012
8737         * testsuite/parse/parse2.c: (main):
8738           s/xvideosink/xvimagesink - this test looks a lot like we should
8739           disable it
8740
8741 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8742
8743         * gst/gstelement.c: (gst_element_class_init):
8744           whoops, store the signal id correctly
8745         * gst/schedulers/gstbasicscheduler.c:
8746         (gst_basic_scheduler_chain_wrapper):
8747           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8748           chain function isn't linked
8749
8750 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8751         * configure.ac:
8752         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8753         support until we decide where the flags should be used
8754         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8755         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8756         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8757         Output refused caps in the debug info
8758
8759 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8760
8761         * gst/elements/gstidentity.c: (gst_identity_chain):
8762           add duration debug
8763         * gst/gstinfo.c: (gst_debug_log_default):
8764           add timestamp
8765
8766 2004-05-13  Benjamin Otte  <otte@gnome.org>
8767
8768         * gst/gstpipeline.c: (gst_pipeline_dispose),
8769         (gst_pipeline_change_state):
8770           call gst_scheduler_reset on dispose (fixes #141416)
8771
8772 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8773
8774         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8775           compute mapsize correctly
8776         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8777           use correct datatypes when calling a varargs function
8778         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8779           push a DISCONT event as first thing
8780         * gst/gst_private.h:
8781         * gst/gstinfo.c: (_gst_debug_init):
8782           remove GST_DATAFLOW debugging category
8783         * gst/gstbin.c: (gst_bin_iterate):
8784           use GST_SCHEDULING category
8785         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8786         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8787         (gst_pad_call_get_function):
8788           add GST_DATAFLOW to easily track flow of buffers or events.
8789         * gst/gstqueue.c: (gst_queue_get_type),
8790         (gst_queue_handle_pending_events), (gst_queue_chain),
8791         (gst_queue_get), (gst_queue_handle_src_event):
8792           use own static debugging category GST_DATAFLOW for dataflow,
8793           use DEBUG category for showing which path events go, use LOG
8794           category for buffers.
8795
8796 2004-05-10  David Schleef  <ds@schleef.org>
8797
8798         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8799
8800 2004-05-10  David Schleef  <ds@schleef.org>
8801
8802         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8803         symbols, because otherwise we don't know what they are.  Thanks,
8804         the GStreamer team.
8805         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8806
8807 2004-05-10  David Schleef  <ds@schleef.org>
8808
8809         (from Steve Lhomme)
8810         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8811         are deleted.  Fix.
8812         * win32/Makefile.inspect:
8813         * win32/Makefile.launch:
8814         * win32/Makefile.register:
8815
8816 2004-05-10  David Schleef  <ds@schleef.org>
8817
8818         * gst/gstinfo.h: Add missing inline function.
8819         * gst/gsttrace.c: add include
8820         * gst/parse/grammar.y: remove unused code
8821         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8822         more portable.
8823         * tools/gst-register.c: wrap unistd.h
8824         
8825         More additions/fixes from Steve for the MSVC build.
8826         * win32/GStreamer.vcproj:
8827         * win32/Makefile:
8828         * win32/Makefile.inspect:
8829         * win32/Makefile.launch:
8830         * win32/Makefile.register:
8831         * win32/README.txt:
8832         * win32/gst-inspect.vcproj:
8833         * win32/gst-launch.vcproj:
8834         * win32/gst-register.vcproj:
8835         * win32/gstbytestream.def:
8836         * win32/gstbytestream.vcproj:
8837         * win32/gstconfig.h:
8838         * win32/gstelements.def:
8839         * win32/gstelements.vcproj:
8840         * win32/gstenumtypes.c:
8841         * win32/gstenumtypes.h:
8842         * win32/gstoptimalscheduler.def:
8843         * win32/gstoptimalscheduler.vcproj:
8844         * win32/gstreamer.def:
8845         * win32/gstspider.def:
8846         * win32/gstspider.vcproj:
8847         * win32/gstversion.h:
8848         * win32/msvc71.sln:
8849
8850 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8851
8852         * gst/gstelement.c: (gst_element_class_init),
8853         (gst_element_no_more_pads):
8854         * gst/gstelement.h:
8855           add gst_element_no_more_pads and the "no-more-pads" signal
8856
8857 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8858
8859         * gst/gstregistry.c: (gst_registry_add_plugin):
8860           refuse to add plugins when a plugin with same name is already
8861           registered. Fixes a bunch of "How to remove plugins?" issues.
8862           May lead to other problems though, let's test
8863
8864 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8865
8866         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8867         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8868         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8869
8870 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8871
8872         * tests/Makefile.am: fix am16 issue
8873
8874 2004-05-09  Benjamin Otte  <otte@gnome.org>
8875
8876         * libs/gst/bytestream/Makefile.am:
8877           we should indeed add .c files to makefiles or they won't be built
8878           (d'oh)
8879
8880 2004-05-08  Benjamin Otte  <otte@gnome.org>
8881
8882         * gst/gstpad.c: (gst_pad_proxy_fixate):
8883           really reduce the set of caps
8884
8885 2004-05-08  Benjamin Otte  <otte@gnome.org>
8886
8887         * tests/Makefile.am:
8888         * tests/spidey_bench.c: (handoff), (main):
8889           add benchmark to test how long spider needs to create a pipeline
8890
8891 2004-05-08  Benjamin Otte  <otte@gnome.org>
8892
8893         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8894           mark links as unengaged when unnegotiating instead of deactivating.
8895           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8896
8897 2004-05-08  Benjamin Otte  <otte@gnome.org>
8898
8899         * docs/manual/helloworld.xml:
8900           s/audiosink/osssink (patch by Patrick Guimond)
8901
8902 2004-05-07  David Schleef  <ds@schleef.org>
8903
8904         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8905         since it contains important stuff.
8906
8907 2004-05-07  David Schleef  <ds@schleef.org>
8908
8909         * testsuite/caps/caps.c: (test3), (main): A check for appending
8910         ANY caps.
8911
8912 2004-05-07  David Schleef  <ds@schleef.org>
8913
8914         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8915         which may contain commas.  Fixes detection of -Wa,-mregnames
8916
8917 2004-05-06  David Schleef  <ds@schleef.org>
8918
8919         Changes to handle compilers that don't have variadic macro
8920         support.  In particular, glib headers define some inlines
8921         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8922         builds.
8923         * gst/Makefile.am:
8924         * gst/cothreads.c:
8925         * gst/elements/gstfdsink.c:
8926         * gst/elements/gstfdsrc.c:
8927         * gst/elements/gstfilesink.c:
8928         * gst/elements/gstfilesrc.c:
8929         * gst/gst_private.h:
8930         * gst/gstatomic.c:
8931         * gst/gstcaps.c: (gst_caps_append):
8932         * gst/gstcpu.c: (gst_cpuid_i386):
8933         * gst/gstelement.c:
8934         * gst/gsterror.c:
8935         * gst/gstfilter.c:
8936         * gst/gstinfo.h:
8937         * gst/gstprobe.c:
8938         * gst/gstquery.c:
8939         * gst/gstregistry.c:
8940         * gst/gststructure.c:
8941         * gst/gsttaginterface.c:
8942         * gst/gsttrace.c: (gst_trace_new):
8943         * gst/gsttrashstack.c:
8944         * gst/gsturi.c:
8945         * gst/gstvalue.c:
8946         * gst/parse/grammar.y:
8947         * gst/parse/parse.l:
8948         * tools/gst-inspect.c: (main):
8949         * tools/gst-launch.c: (main):
8950         * tools/gst-xmlinspect.c: (PUT_STRING):
8951
8952 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8953
8954         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8955         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8956         * gst/elements/gstfilesrc.h:
8957           send NEW_MEDIA events correctly
8958         * gst/elements/gsttypefindelement.c: (start_typefinding),
8959         (gst_type_find_element_handle_event):
8960           restart typefinding when we get a NEW_MEDIA event
8961         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8962         (gst_bin_dispose):
8963           don't die when someone removes elements in callbacks
8964         * gst/gstelement.c: (gst_element_change_state):
8965           improve debugging
8966         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8967           we need a NEW_MEDIA event to engage a link
8968         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8969           don't g_print debugging stuff
8970         * testsuite/caps/simplify.c: (check_caps):
8971
8972 2004-05-04  Benjamin Otte  <otte@gnome.org>
8973
8974         * gst/parse/grammar.y:
8975           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8976
8977 2004-05-04  Benjamin Otte  <otte@gnome.org>
8978
8979         * testsuite/caps/renegotiate.c: (main):
8980           improve output in error case
8981
8982 2004-05-04  Benjamin Otte  <otte@gnome.org>
8983
8984         * gst/parse/grammar.y:
8985           fix assert to not trigger when there's no error argument
8986         * gst/parse/parse.l:
8987           fix definition of caps to allow more than two structures
8988         * testsuite/caps/Makefile.am:
8989         * testsuite/caps/renegotiate.c: (main):
8990           it's sinesrc and works in that case
8991
8992 2004-05-04  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8995         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8996         when removing an element from a group, we always need to
8997         decrement the link count that this group had with other 
8998         groups through the element.
8999         added an extra assert to catch inconsistencies when decrementing
9000         the link count.
9001
9002 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9003
9004         * configure.ac:
9005         * docs/gst/Makefile.am:
9006         * docs/gst/gstreamer-sections.txt:
9007         * docs/gst/tmpl/gstcompat.sgml:
9008         * examples/appreader/Makefile.am:
9009         * examples/cutter/Makefile.am:
9010         * examples/events/Makefile.am:
9011         * examples/helloworld/Makefile.am:
9012         * examples/helloworld2/Makefile.am:
9013         * examples/launch/Makefile.am:
9014         * examples/manual/Makefile.am:
9015         * examples/mixer/Makefile.am:
9016         * examples/pingpong/Makefile.am:
9017         * examples/plugins/Makefile.am:
9018         * examples/queue/Makefile.am:
9019         * examples/queue2/Makefile.am:
9020         * examples/queue3/Makefile.am:
9021         * examples/queue4/Makefile.am:
9022         * examples/retag/Makefile.am:
9023         * examples/thread/Makefile.am:
9024         * examples/typefind/Makefile.am:
9025         * examples/xml/Makefile.am:
9026         * gst/Makefile.am:
9027         * gst/autoplug/Makefile.am:
9028         * gst/elements/Makefile.am:
9029         * gst/gstcompat.h:
9030         * gst/indexers/Makefile.am:
9031         * gst/parse/Makefile.am:
9032         * gst/registries/Makefile.am:
9033         * gst/schedulers/Makefile.am:
9034         * libs/gst/bytestream/Makefile.am:
9035         * libs/gst/control/Makefile.am:
9036         * libs/gst/getbits/Makefile.am:
9037         * po/af.po:
9038         * po/az.po:
9039         * po/en_GB.po:
9040         * po/fr.po:
9041         * po/nl.po:
9042         * po/sr.po:
9043         * po/sv.po:
9044         * po/tr.po:
9045         * po/uk.po:
9046         * tests/Makefile.am:
9047         * tests/bufspeed/Makefile.am:
9048         * tests/instantiate/Makefile.am:
9049         * tests/memchunk/Makefile.am:
9050         * tests/muxing/Makefile.am:
9051         * tests/negotiation/Makefile.am:
9052         * tests/probes/Makefile.am:
9053         * tests/sched/Makefile.am:
9054         * tests/seeking/Makefile.am:
9055         * tests/threadstate/Makefile.am:
9056         * testsuite/caps/Makefile.am:
9057         * testsuite/cleanup/Makefile.am:
9058         * testsuite/dlopen/Makefile.am:
9059         * testsuite/dynparams/Makefile.am:
9060         * testsuite/plugin/Makefile.am:
9061         * testsuite/states/Makefile.am:
9062         * tools/Makefile.am:
9063           reorganize compile/link flags to be consistent
9064           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9065
9066 2004-05-04  David Schleef  <ds@schleef.org>
9067
9068         The "once more, with feeling" check-in.
9069         * testsuite/caps/Makefile.am: dist caps_strings
9070         * testsuite/caps/renegotiate.c: (main): This test triggers a
9071           segfault in the core.  Marking as failing.
9072
9073 2004-05-03  David Schleef  <ds@schleef.org>
9074
9075         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9076           by the build bots.
9077         * testsuite/caps/renegotiate.c: (main): Same.
9078
9079 2004-05-03  David Schleef  <ds@schleef.org>
9080
9081         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9082
9083 2004-05-03  David Schleef  <ds@schleef.org>
9084
9085         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9086           variable to find our source file.
9087
9088 2004-05-03  David Schleef  <ds@schleef.org>
9089
9090         * configure.ac:  Link plugins with libgstreamer and dependent
9091           libraries
9092         * testsuite/caps/Makefile.am:
9093         * testsuite/caps/caps_strings:
9094         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9095           through a file of caps strings and test each one
9096
9097 2004-05-04  Benjamin Otte  <otte@gnome.org>
9098
9099         * libs/gst/bytestream/Makefile.am:
9100         * libs/gst/bytestream/adapter.c: 
9101         * libs/gst/bytestream/adapter.h:
9102           add GstAdapter, similar to bytestream, but doesn't require ugly event
9103           handling or uglier loopbased elements
9104
9105 2004-05-03  David Schleef  <ds@schleef.org>
9106
9107         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9108         * testsuite/caps/erathostenes.c:
9109         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9110
9111 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9112
9113         * docs/pwg/pwg.xml:
9114           remove hardcoded stylesheet path (duh)
9115         * docs/random/release:
9116         * docs/gst/gstreamer-sections.txt:
9117         * gst/Makefile.am:
9118         * gst/gst.h:
9119         * gst/gst_private.h:
9120         * gst/gstcaps.c:
9121         * gst/gstevent.c:
9122         * gst/gstformat.c:
9123         * gst/gstinfo.c:
9124         * gst/gstinfo.h:
9125         * gst/gstinterface.c:
9126         * gst/gstmemchunk.c:
9127         * gst/gstprobe.c:
9128         * gst/gstquery.c:
9129         * gst/gstregistry.c:
9130         * gst/gstregistrypool.c:
9131         * gst/gststructure.c:
9132         * gst/gsttaginterface.c:
9133         * gst/gstthread.c:
9134         * gst/gsttrace.c:
9135         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9136         * gst/gsturi.c:
9137         * gst/gstvalue.c:
9138           deprecate gst_info; remove gstlog.h
9139    
9140
9141 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9142
9143         * Makefile.am:
9144         * po/en_GB.po:
9145         * po/sv.po:
9146         * po/uk.po:
9147           updated translations
9148
9149 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9150
9151         * gst/gstbin.c: (gst_bin_dispose):
9152           better debugging
9153
9154 2004-05-03  Johan Dahlin  <johan@gnome.org>
9155
9156         * gst/schedulers/gstoptimalscheduler.c
9157         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9158         really is a GstElement. Avoids critical when running gst-launch -v
9159         and a oggdemux/decoding pipeline.
9160
9161 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9162
9163         * docs/gst/tmpl/gstpipeline.sgml :
9164         * docs/manual/elements-api.xml :
9165                 doc fix by Patrick Guimond (Protector) from devel ML
9166                 reviewed by ronald
9167
9168 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9169
9170         * docs/gst/Makefile.am :
9171         * docs/libs/Makefile.am :
9172                 apply a patch from Arwed v. Merkatz so that gtk-doc
9173                 generated docs install (same for .devhelp file)
9174                 (fixes part 1 of #138836)
9175
9176 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9177
9178         * docs/faq/dependencies.xml: typo
9179         * docs/faq/getting.xml :
9180             - fix download URL for new gstreamer site
9181             - hide sf.net download page as latest version aren't there
9182             - fix apt URLs
9183             - fill "get via CVS" paragraph (link to dev page on the site)
9184         * docs/faq/general.xml:
9185             hide status tables as they no more exists
9186             change case on plugins license file to reflect reality
9187         * docs/faq/troubleshooting.xml:
9188             remove the wiki question/answer as there is no more wiki
9189
9190 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * gst/gsterror.h:
9193           include the headers needed for declarations used in this header
9194
9195 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9196
9197         * docs/random/uraeus/gstreamer_and_midi.txt :
9198           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9199           (fixes #132288)
9200
9201 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9202
9203         reviewed by Benjamin Otte  <otte@gnome.org>
9204
9205         * gst/schedulers/gthread-cothreads.h:
9206           free allocated data for main cothread, too when destroying context
9207           (fixes #141417)
9208
9209 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9210
9211         * docs/manual/goals.xml : remove duplicated paragraph at end 
9212         of doc page (fixes #141448)
9213
9214 2004-04-29  David Schleef  <ds@schleef.org>
9215
9216         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9217         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9218
9219 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9222           fix property
9223         * gst/gstcaps.c:
9224           fix doc string
9225         * po/POTFILES.in:
9226           rename typefind source file
9227
9228 2004-04-28  David Schleef  <ds@schleef.org>
9229
9230         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9231         * win32/GStreamer.vcproj:
9232         * win32/Makefile:
9233         * win32/config.h:
9234         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9235         (_trewinddir), (_ttelldir), (_tseekdir):
9236         * win32/dirent.h:
9237         * win32/gst-inspect.vcproj:
9238         * win32/gst-launch.vcproj:
9239         * win32/gst-register.vcproj:
9240         * win32/gstbytestream.vcproj:
9241         * win32/gstelements.vcproj:
9242         * win32/gstoptimalscheduler.vcproj:
9243         * win32/gstspider.vcproj:
9244         * win32/gtchar.h:
9245         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9246         * win32/mman.h:
9247         * win32/mman.inl:
9248         * win32/msvc71.sln:
9249
9250 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9251
9252         * gst/gst.c: (init_post):
9253         * gst/gstinfo.c:
9254           remove useless _gst_progname stuff
9255         * tools/gst-inspect.c: (print_field), (print_caps):
9256           improve caps output
9257
9258 2004-04-28  David Schleef  <ds@schleef.org>
9259
9260         Disable parsing of a lot of files that aren't part of the
9261         exported API.  Move corresponding template files to old/,
9262         waiting for removal when they don't contain anything
9263         interesting.
9264         * docs/gst/Makefile.am:
9265         * docs/gst/gstreamer-sections.txt:
9266         * docs/gst/tmpl/cothreads.sgml:
9267         * docs/gst/tmpl/cothreads_compat.sgml:
9268         * docs/gst/tmpl/gettext.sgml:
9269         * docs/gst/tmpl/gobject2gtk.sgml:
9270         * docs/gst/tmpl/grammar.tab.sgml:
9271         * docs/gst/tmpl/gst-i18n-app.sgml:
9272         * docs/gst/tmpl/gst-i18n-lib.sgml:
9273         * docs/gst/tmpl/gst_private.sgml:
9274         * docs/gst/tmpl/gstaggregator.sgml:
9275         * docs/gst/tmpl/gstarch.sgml:
9276         * docs/gst/tmpl/gstatomic_impl.sgml:
9277         * docs/gst/tmpl/gstbufferstore.sgml:
9278         * docs/gst/tmpl/gstdata_private.sgml:
9279         * docs/gst/tmpl/gstdisksink.sgml:
9280         * docs/gst/tmpl/gstdisksrc.sgml:
9281         * docs/gst/tmpl/gstelementfactory.sgml:
9282         * docs/gst/tmpl/gstextratypes.sgml:
9283         * docs/gst/tmpl/gstfakesink.sgml:
9284         * docs/gst/tmpl/gstfakesrc.sgml:
9285         * docs/gst/tmpl/gstfdsink.sgml:
9286         * docs/gst/tmpl/gstfdsrc.sgml:
9287         * docs/gst/tmpl/gstfilesink.sgml:
9288         * docs/gst/tmpl/gstfilesrc.sgml:
9289         * docs/gst/tmpl/gsthttpsrc.sgml:
9290         * docs/gst/tmpl/gstidentity.sgml:
9291         * docs/gst/tmpl/gstindexfactory.sgml:
9292         * docs/gst/tmpl/gstmarshal.sgml:
9293         * docs/gst/tmpl/gstmd5sink.sgml:
9294         * docs/gst/tmpl/gstmultidisksrc.sgml:
9295         * docs/gst/tmpl/gstmultifilesrc.sgml:
9296         * docs/gst/tmpl/gstpadtemplate.sgml:
9297         * docs/gst/tmpl/gstpipefilter.sgml:
9298         * docs/gst/tmpl/gstschedulerfactory.sgml:
9299         * docs/gst/tmpl/gstsearchfuncs.sgml:
9300         * docs/gst/tmpl/gstshaper.sgml:
9301         * docs/gst/tmpl/gstspider.sgml:
9302         * docs/gst/tmpl/gstspideridentity.sgml:
9303         * docs/gst/tmpl/gststatistics.sgml:
9304         * docs/gst/tmpl/gsttee.sgml:
9305         * docs/gst/tmpl/gsttimecache.sgml:
9306         * docs/gst/tmpl/gsttypefind.sgml:
9307         * docs/gst/tmpl/gsttypefindfactory.sgml:
9308         * docs/gst/tmpl/gstxmlregistry.sgml:
9309         * docs/gst/tmpl/gthread-cothreads.sgml:
9310         * docs/gst/tmpl/old/cothreads.sgml:
9311         * docs/gst/tmpl/old/cothreads_compat.sgml:
9312         * docs/gst/tmpl/old/gettext.sgml:
9313         * docs/gst/tmpl/old/gobject2gtk.sgml:
9314         * docs/gst/tmpl/old/grammar.tab.sgml:
9315         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9316         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9317         * docs/gst/tmpl/old/gst_private.sgml:
9318         * docs/gst/tmpl/old/gstaggregator.sgml:
9319         * docs/gst/tmpl/old/gstarch.sgml:
9320         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9321         * docs/gst/tmpl/old/gstbufferstore.sgml:
9322         * docs/gst/tmpl/old/gstdata_private.sgml:
9323         * docs/gst/tmpl/old/gstdisksink.sgml:
9324         * docs/gst/tmpl/old/gstdisksrc.sgml:
9325         * docs/gst/tmpl/old/gstelementfactory.sgml:
9326         * docs/gst/tmpl/old/gstextratypes.sgml:
9327         * docs/gst/tmpl/old/gstfakesink.sgml:
9328         * docs/gst/tmpl/old/gstfakesrc.sgml:
9329         * docs/gst/tmpl/old/gstfdsink.sgml:
9330         * docs/gst/tmpl/old/gstfdsrc.sgml:
9331         * docs/gst/tmpl/old/gstfilesink.sgml:
9332         * docs/gst/tmpl/old/gstfilesrc.sgml:
9333         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9334         * docs/gst/tmpl/old/gstidentity.sgml:
9335         * docs/gst/tmpl/old/gstindexfactory.sgml:
9336         * docs/gst/tmpl/old/gstmarshal.sgml:
9337         * docs/gst/tmpl/old/gstmd5sink.sgml:
9338         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9339         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9340         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9341         * docs/gst/tmpl/old/gstpipefilter.sgml:
9342         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9343         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9344         * docs/gst/tmpl/old/gstshaper.sgml:
9345         * docs/gst/tmpl/old/gstspider.sgml:
9346         * docs/gst/tmpl/old/gstspideridentity.sgml:
9347         * docs/gst/tmpl/old/gststatistics.sgml:
9348         * docs/gst/tmpl/old/gsttee.sgml:
9349         * docs/gst/tmpl/old/gsttimecache.sgml:
9350         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9351         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9352         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9353         * docs/gst/tmpl/old/types.sgml:
9354         * docs/gst/tmpl/types.sgml:
9355
9356         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9357         gtkdoc-scan doesn't like files with the same name in different
9358         directories.
9359         * gst/elements/Makefile.am:
9360         * gst/elements/gstelements.c:
9361         * gst/elements/gsttypefind.c: 
9362         * gst/elements/gsttypefind.h:
9363         * gst/elements/gsttypefindelement.c:
9364         * gst/elements/gsttypefindelement.h:
9365
9366 2004-04-28  David Schleef  <ds@schleef.org>
9367
9368         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9369         patch (bug #141317):
9370         * gst/gst-i18n-lib.h: Allow disabling gettext.
9371         * gst/gstatomic_impl.h: disable warning when it's dumb.
9372         * gst/gstclock.c: fix include
9373         * gst/gstcompat.h: fix variadic macro
9374         * gst/gstinfo.c: fix include
9375         * gst/gstmacros.h: add defines for inlines on MSVC
9376         * gst/gstplugin.c: fix includes
9377         * gst/gstregistry.c: fix includes
9378         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9379         * gst/gstsystemclock.c: fix include
9380         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9381         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9382         * gst/registries/gstxmlregistry.c:
9383         (gst_xml_registry_parse_element_factory): fix use of non-portable
9384         functions
9385         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9386         * libs/gst/control/dparammanager.h: same
9387
9388 2004-04-28  David Schleef  <ds@schleef.org>
9389
9390         Move a bunch of unused files to old/ with names that are
9391         not case-insensitive-unique.  These files still contain some
9392         useful information that needs to be merged into gstbin.sgml,
9393         etc., so they shouldn't be deleted yet.
9394         * docs/gst/tmpl/GstBin.sgml:
9395         * docs/gst/tmpl/GstBuffer.sgml:
9396         * docs/gst/tmpl/GstCaps.sgml:
9397         * docs/gst/tmpl/GstClock.sgml:
9398         * docs/gst/tmpl/GstCompat.sgml:
9399         * docs/gst/tmpl/GstData.sgml:
9400         * docs/gst/tmpl/GstElement.sgml:
9401         * docs/gst/tmpl/GstEvent.sgml:
9402         * docs/gst/tmpl/GstIndex.sgml:
9403         * docs/gst/tmpl/GstStructure.sgml:
9404         * docs/gst/tmpl/GstTag.sgml:
9405         * docs/gst/tmpl/old/GstBin.sgml:
9406         * docs/gst/tmpl/old/GstBuffer.sgml:
9407         * docs/gst/tmpl/old/GstCaps.sgml:
9408         * docs/gst/tmpl/old/GstClock.sgml:
9409         * docs/gst/tmpl/old/GstCompat.sgml:
9410         * docs/gst/tmpl/old/GstData.sgml:
9411         * docs/gst/tmpl/old/GstElement.sgml:
9412         * docs/gst/tmpl/old/GstEvent.sgml:
9413         * docs/gst/tmpl/old/GstIndex.sgml:
9414         * docs/gst/tmpl/old/GstStructure.sgml:
9415         * docs/gst/tmpl/old/GstTag.sgml:
9416
9417 2004-04-28  David Schleef  <ds@schleef.org>
9418
9419         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9420         (gst_caps_append), (gst_caps_append_structure),
9421         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9422         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9423         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9424         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9425         (gst_caps_intersect), (gst_caps_normalize),
9426         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9427         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9428         * gst/gstcaps.h: use GST_IS_CAPS().
9429
9430 2004-04-26  David Schleef  <ds@schleef.org>
9431
9432         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9433         assembly.  gcc doesn't handle it correctly. (bug #141083)
9434         * gst/gsttrashstack.h: same
9435
9436 2004-04-25  Benjamin Otte  <otte@gnome.org>
9437
9438         * gst/gstelement.c: (gst_element_change_state):
9439           fix assertion to do an int comparison
9440
9441 2004-04-25  Benjamin Otte  <otte@gnome.org>
9442
9443         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9444           better debugging output on error
9445
9446 2004-04-25  Benjamin Otte  <otte@gnome.org>
9447
9448         * gst/gstcaps.c: (gst_caps_subtract):
9449           fix memleak
9450
9451 2004-04-23  Benjamin Otte  <otte@gnome.org>
9452
9453         * gst/gstvalue.c: (gst_value_compare_buffer),
9454         (_gst_value_initialize):
9455           add comparison function for buffers
9456
9457 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9458
9459         * docs/pwg/pwg.xml:
9460           Just found out that this so-called "ima-wav" format is really
9461           just "dvi adpcm" (according to the MS WAV documentation). So
9462           renaming it. We didn't use it yet anyway.
9463
9464 2004-04-23  Benjamin Otte  <otte@gnome.org>
9465
9466         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9467           call gst_caps_is_subset
9468
9469 2004-04-23  Benjamin Otte  <otte@gnome.org>
9470
9471         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9472         (gst_caps_is_subset):
9473           add documentation
9474
9475 2004-04-23  Benjamin Otte  <otte@gnome.org>
9476           
9477         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9478         (gst_caps_structure_subtract), (gst_caps_subtract),
9479         (gst_caps_structure_figure_out_union),
9480         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9481           fix simplifying and subtracting not working correctly with optional
9482           properties
9483           solve assorted problems that make it now simplify ebven more
9484         * docs/gst/tmpl/gstcaps.sgml:
9485         * gst/gstcaps.h:
9486           make gst_caps_do_simplify return a bool to indicate if it simplified
9487         * testsuite/caps/simplify.c: (main):
9488           add more checks. The tests is quite a bit useless right now because
9489           the core is heavily simplifying itself.
9490         * testsuite/caps/caps.h:
9491           fix caps to contain all optional properties
9492
9493 2004-04-22  Benjamin Otte  <otte@gnome.org>
9494
9495         * docs/gst/tmpl/gstcaps.sgml:
9496         * docs/gst/tmpl/gstfilesrc.sgml:
9497         * docs/gst/tmpl/gststructure.sgml:
9498         * docs/gst/tmpl/gstvalue.sgml:
9499           update for recent API changes
9500         * gst/gstcaps.c: (gst_caps_do_simplify):
9501           fix to stop trying with a freed structure
9502         * gst/gstpad.c: (gst_pad_link_fixate):
9503           simplify caps
9504         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9505           remove C++ comment
9506         * gst/gstpad.h:
9507           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9508         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9509         (gst_structure_to_string):
9510           keep the correct type when using lists of ranges
9511         * gst/gstvalue.c: (gst_value_list_prepend_value),
9512         (gst_value_list_append_value):
9513           copy the value before adding to the list (d'oh)
9514         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9515         (gst_value_subtract_int_range_int_range):
9516           handle overflows correctly
9517         * gst/gstvalue.c: (gst_value_subtract_from_list):
9518           fix memleak
9519         * testsuite/caps/caps.h:
9520           add a caps that caused segfaults
9521
9522 2004-04-22  Benjamin Otte  <otte@gnome.org>
9523
9524         * testsuite/refcounting/pad.c: (main):
9525           fix test
9526
9527 2004-04-22  Benjamin Otte  <otte@gnome.org>
9528
9529         * gst/gstcaps.c: (gst_caps_subtract):
9530           allow subtracting ANY and EMPTY from ANY caps
9531
9532 2004-04-22  Benjamin Otte  <otte@gnome.org>
9533
9534         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9535         (gst_caps_union):
9536           only simplify in functions that create new caps. Simplifying in
9537           gst_caps_append breaks tests.
9538
9539 2004-04-22  Benjamin Otte  <otte@gnome.org>
9540
9541         * gst/gstcaps.c: (gst_caps_structure_simplify):
9542           unset GValue after use
9543         * gst/gstcaps.c: (gst_caps_append), 
9544         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9545           use gst_caps_simplify (reduces registry size by 30%)
9546         * gst/gstpad.c: (gst_pad_template_new):
9547           don't allow NULL caps
9548
9549 2004-04-22  Benjamin Otte  <otte@gnome.org>
9550
9551         * docs/gst/gstreamer-sections.txt:
9552           add gst_caps_do_simplify
9553         * gst/gstcaps.c:
9554           add documentation for gst_caps_do_simplify
9555         * gst/gstvalue.h:
9556           fix typo in gst_value_register_subtract_func declaration for gst-doc
9557
9558 2004-04-22  Benjamin Otte  <otte@gnome.org>
9559
9560         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9561           fix bug when converting from empty string.
9562         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9563         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9564           use gst_caps_new_empty to allocate a new caps. Only that function
9565           allocates memory for caps now.
9566         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9567         (gst_caps_remove_structure):
9568           add ability to remove one structure (but not to header yet)
9569         * gst/gstcaps.c: (gst_caps_compare_structures),
9570         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9571         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9572         * gst/gstcaps.h:
9573           add gst_caps_do_simplify that tries to simplify a caps in place.
9574           Deprecate old gst_caps_simplify function.
9575         * testsuite/caps/caps.h:
9576           add caps.h containing a common set of caps to test against.
9577         * testsuite/caps/sets.c: (check_caps), (main):
9578           use it.
9579         * testsuite/caps/.cvsignore:
9580         * testsuite/caps/Makefile.am:
9581         * testsuite/caps/simplify.c: (check_caps), (main):
9582           add test to check correctness and efficency of caps simplification.
9583
9584 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9585
9586         reviewed by Benjamin Otte  <otte@gnome.org>
9587
9588         * gst/gstparse.c: (_gst_parse_escape):
9589           Free the GString used in _gst_parse_escape()
9590
9591 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9592
9593         * gst/gstpad.c: (gst_pad_link_negotiate):
9594           refuse to link if the link is not possible
9595         * configure.ac:
9596         * testsuite/Makefile.am:
9597         * testsuite/negotiation/.cvsignore:
9598         * testsuite/negotiation/Makefile.am:
9599         * testsuite/negotiation/pad_link.c: (main):
9600           add test that checks the above behaviour
9601
9602 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * docs/gst/gstreamer-sections.txt:
9605           add newly added API
9606
9607 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9608
9609         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9610         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9611         (gst_filesrc_open_file), (gst_filesrc_close_file),
9612         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9613         * gst/elements/gstfilesrc.h:
9614           add support for non-regular files (#140734)
9615
9616 2004-04-21  Benjamin Otte  <otte@gnome.org>
9617
9618         * gst/gstpad.c: (gst_pad_link_fixate):
9619           add sophisticated error checking code to see if fixation functions
9620           did their fixation right
9621
9622 2004-04-21  Benjamin Otte  <otte@gnome.org>
9623
9624         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9625           check for ANY caps before appending/unioning
9626         * gst/gstcaps.c: (gst_caps_is_subset),
9627         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9628         (gst_caps_structure_subtract), (gst_caps_subtract):
9629         * gst/gstcaps.h:
9630           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9631           the API. deprecate gst_caps_is_equal_fixed
9632         * gst/gstpad.c: (gst_pad_try_set_caps):
9633         * gst/gstqueue.c: (gst_queue_link):
9634           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9635         * gst/gststructure.c: (gst_structure_get_name_id):
9636         * gst/gststructure.h:
9637           add function gst_structure_get_name_id
9638         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9639         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9640         (gst_value_subtract_int_range_int_range),
9641         (gst_value_subtract_double_double_range),
9642         (gst_value_subtract_double_range_double),
9643         (gst_value_subtract_double_range_double_range),
9644         (gst_value_subtract_from_list), (gst_value_subtract_list),
9645         (gst_value_can_intersect), (gst_value_subtract),
9646         (gst_value_can_subtract), (gst_value_register_subtract_func),
9647         (_gst_value_initialize):
9648         * gst/gstvalue.h:
9649           add support for subtracting values from each other. Note that
9650           subtracting means subtracting as in set theory. Required for caps
9651           stuff above.
9652         * testsuite/caps/.cvsignore:
9653         * testsuite/caps/Makefile.am:
9654         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9655         * testsuite/caps/sets.c: (check_caps), (main):
9656         * testsuite/caps/subtract.c: (check_caps), (main):
9657           add tests for subtraction and equality code.
9658
9659 2004-04-20  David Schleef  <ds@schleef.org>
9660
9661         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9662         * gst/indexers/Makefile.am:
9663         * gst/schedulers/Makefile.am:
9664         * libs/gst/bytestream/Makefile.am:
9665         * libs/gst/control/Makefile.am:
9666         * libs/gst/getbits/Makefile.am:
9667
9668 2004-04-20  David Schleef  <ds@schleef.org>
9669
9670         * common/as-libtool.mak: Fine-tune DLL building.
9671         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9672         (like gst-plugins)
9673         * examples/plugins/Makefile.am: remove plugindir
9674         * gst/autoplug/Makefile.am: DLL building fixes
9675         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9676         Windows.
9677         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9678         * gst/indexers/Makefile.am: DLL building fixes
9679         * gst/schedulers/Makefile.am: DLL building fixes.
9680         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9681         * libs/gst/control/Makefile.am: same
9682         * libs/gst/getbits/Makefile.am: same
9683         * testsuite/Makefile.am: New dlopen directory
9684         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9685         when dlopened.
9686         * testsuite/dlopen/dlopen_gst.c: (main): same
9687         * testsuite/dlopen/loadgst.c: (do_test): same
9688
9689 2004-04-20  David Schleef  <ds@schleef.org>
9690
9691         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9692         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9693
9694 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * gst/gstelement.c: (gst_element_wait),
9697         (gst_element_set_time_delay), (gst_element_change_state):
9698           Use GST_TIME_*
9699
9700 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9701
9702         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9703         (gst_spider_identity_plug):
9704           improve debugging messages
9705         * gst/gstbin.c: (gst_bin_remove_func):
9706           make sure the state_change function is only called with simple state
9707           transitions
9708
9709 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9710
9711         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9712         (gst_fakesink_set_property), (gst_fakesink_chain):
9713         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9714         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9715         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9716         * gst/elements/gstidentity.c: (gst_identity_chain),
9717         (gst_identity_set_property):
9718         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9719         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9720           add warnings to _set_property for unknown arguments
9721           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9722
9723 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9724
9725         * Makefile.am:
9726         * docs/manuals.mak:
9727           add .po file download snippet
9728           fix a bug in the doc makefile
9729
9730 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * Makefile.am:
9733         * po/LINGUAS:
9734         * po/en_GB.po:
9735           Added en_GB translation (Gareth Owen)
9736
9737 2004-04-20  Johan Dahlin  <johan@gnome.org>
9738
9739         * gst/gstpad.c (_invent_event): Clean up
9740
9741 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9742
9743         * testsuite/caps/filtercaps.c: (main):
9744           fix test to test things correctly (caps are complicated)
9745
9746 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9747
9748         * testsuite/caps/Makefile.am:
9749         * testsuite/caps/filtercaps.c: (main):
9750           add test (that doesn't work right now, but should)
9751
9752 2004-04-19  David Schleef  <ds@schleef.org>
9753
9754         * configure.ac: Add test for allowing unaligned access.  Add define
9755         to put in gstconfig.h.
9756         * docs/gst/gstreamer-sections.txt: New symbols
9757         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9758         * docs/gst/tmpl/gstfilesrc.sgml:
9759         * docs/gst/tmpl/gstparse.sgml:
9760         * docs/gst/tmpl/gsttypes.sgml:
9761         * docs/gst/tmpl/gstutils.sgml:
9762         * docs/gst/tmpl/gstvalue.sgml:
9763         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9764         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9765         on most !i386/!powerpc architectures.  From Daniel Gazard
9766         <daniel.gazard@free.fr>.  (bug #140156)
9767         * po/af.po: Check in changes made by gettext.
9768         * po/az.po:
9769         * po/fr.po:
9770         * po/nl.po:
9771         * po/sr.po:
9772         * po/sv.po:
9773
9774 2004-04-20  Benjamin Otte  <otte@gnome.org>
9775
9776         * gst/schedulers/entryscheduler.c: 
9777         (gst_entry_scheduler_yield):
9778           refuse to yield when decoupled elements insist on doing that.
9779           At least it's better than crashing
9780
9781 2004-04-19  David Schleef  <ds@schleef.org>
9782
9783         * docs/libs/Makefile.am: Change sinclude to include
9784         * docs/gst/Makefile.am: same
9785         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9786
9787 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9788
9789         * po/LINGUAS:
9790         * po/uk.po:
9791           Added Ukrainian translation (Maxim V. Dziumanenko)
9792
9793 2004-04-19  Johan Dahlin  <johan@gnome.org>
9794
9795         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9796         checking here, do it before calling the function.
9797         Clean up, use for loops instead of while loops while iterating
9798         over lists.
9799
9800         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9801         in debug message.
9802         (gst_spider_create_and_plug): Improve debug message.
9803         General: Replace while loops which iterates over GLists with for
9804         loops. Which are much cleaner, improves readability, especially
9805         for gst_spider_identity_plug
9806
9807         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9808         fixes bug 140477
9809
9810 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * po/LINGUAS:
9813         * po/tr.po:
9814           Added Turkish translation (Baris Cicek)
9815
9816 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9817
9818         * docs/faq/troubleshooting.xml:
9819           Mention gst-register in the FAQ (fixes 139045).
9820
9821 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * docs/gst/gstreamer-sections.txt:
9824
9825 2004-04-17  Benjamin Otte  <otte@gnome.org>
9826
9827         * gst/gstelement.c: (gst_element_dispose):
9828           simplify
9829         * gst/gstpad.c: (gst_pad_call_chain_function):
9830           don't create loads of events due to bad macro usage
9831
9832 2004-04-16  David Schleef  <ds@schleef.org>
9833
9834         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9835         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9836         * gst/gstvalue.c: (gst_value_serialize_buffer),
9837         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9838         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9839         to indicate types that are fixed wrt caps or not.  Switching to
9840         this function fixes (bug #140298).
9841         * gst/gstvalue.h:
9842
9843 2004-04-16  David Schleef  <ds@schleef.org>
9844
9845         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9846         for GST_UNALIGNED_ACESS, since we essentially know which archs
9847         are ok.
9848
9849 2004-04-17  Benjamin Otte  <otte@gnome.org>
9850
9851         * docs/gst/Makefile.am:
9852           ignore gst/parse directory when building docs (fixes #140205)
9853
9854 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * testsuite/refcounting/mem.c: (vmsize):
9857           do error checking
9858
9859 2004-04-16  Johan Dahlin  <johan@gnome.org>
9860
9861         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9862         and gst_pad_call_get_function.
9863
9864 2004-04-15  David Schleef  <ds@schleef.org>
9865
9866         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9867         checks if we can access unaligned memory.
9868         * configure.ac: Use it.
9869
9870 2004-04-16  Benjamin Otte  <otte@gnome.org>
9871
9872         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9873         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9874         * gst/elements/gstfilesrc.h:
9875           s/seek_happened/need_discont/ and require discont before sending any
9876           data
9877
9878 2004-04-15  David Schleef  <ds@schleef.org>
9879
9880         * gst/gstvalue.c: (gst_value_serialize_buffer),
9881         (gst_value_deserialize_buffer), (_gst_value_initialize):
9882         Register these types as fundamental types. (bug #140015)
9883
9884 2004-04-16  Benjamin Otte  <otte@gnome.org>
9885
9886         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9887         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9888         (gst_pad_pull):
9889           implement enforcing discont events before buffers are passed. This
9890           allows state changes of only some elements and later correctly going
9891           on where they left off (or in short: you can now set audio sinks to
9892           NULL to release the device when the pipeline is paused)
9893         * gst/gstpad.c: (gst_pad_call_chain_function),
9894         (gst_pad_call_get_function):
9895         * gst/gstpad.h:
9896           add gst_pad_call_chain_function and gst_pad_call_get_function for
9897           scheduler interaction. They are required because of the changes
9898           above.
9899         * gst/schedulers/entryscheduler.c: (get_buffer),
9900         (gst_entry_scheduler_chain_wrapper),
9901         (gst_entry_scheduler_get_wrapper),
9902         (gst_entry_scheduler_state_transition),
9903         (gst_entry_scheduler_pad_link):
9904         * gst/schedulers/gstbasicscheduler.c:
9905         (gst_basic_scheduler_chain_wrapper),
9906         (gst_basic_scheduler_src_wrapper),
9907         (gst_basic_scheduler_chainhandler_proxy),
9908         (gst_basic_scheduler_gethandler_proxy),
9909         (gst_basic_scheduler_cothreaded_chain),
9910         (gst_basic_scheduler_chain_elements):
9911         * gst/schedulers/gstoptimalscheduler.c:
9912         (get_group_schedule_function), (pad_clear_queued),
9913         (gst_opt_scheduler_pad_link):
9914           use the new functions instead of calling get/chain-functions
9915           directly.
9916
9917 2004-04-15  David Schleef  <ds@schleef.org>
9918
9919         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9920         * docs/gst/tmpl/gstinfo.sgml: same
9921         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9922         gtk-doc put here.
9923         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9924         * examples/queue/queue.c: (main):  We iterate pipelines, not
9925         bins.  (bug #139996)
9926
9927 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9928
9929         * docs/pwg/advanced-types.xml:
9930           Add MS RLE support. Also document Qt RLE although I have no sample
9931           files for that yet. And document an extra property for ADPCM.
9932
9933 2004-04-15  David Schleef  <ds@schleef.org>
9934
9935         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9936         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9937         Windows.
9938
9939 2004-04-15  David Schleef  <ds@schleef.org>
9940
9941         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9942         symbol names to not conflict with new gstinfo.h symbols.
9943         * gst/gstinfo.h: Add inline functions for all those crazy
9944         compilers that don't know how to handle variadic macros (MSVC).
9945
9946 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9947
9948         * configure.ac: bump nano to 1
9949
9950 === release 0.8.1 ===
9951
9952 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * NEWS:
9955         * RELEASE:
9956         * configure.ac:
9957           releasing 0.8.1, "Snow Brigade"
9958
9959 2004-04-14  David Schleef  <ds@schleef.org>
9960
9961         * testsuite/Makefile.am: define tests_ignore
9962         * testsuite/Rules: Added new tests_ignore, which get compiled,
9963         but not run (generally because they're inconsistent or have
9964         heisenbugs).  Now we can ensure all the .c files compile in
9965         testsuite/.
9966         * testsuite/bins/Makefile.am: define tests_ignore
9967         * testsuite/bytestream/Makefile.am:
9968         * testsuite/caps/Makefile.am:
9969         * testsuite/clock/Makefile.am:
9970         * testsuite/debug/Makefile.am:
9971         * testsuite/debug/global.c: (gst_debug_log_one),
9972         (gst_debug_log_two): Fix compilation problem.
9973         * testsuite/dynparams/Makefile.am:
9974         * testsuite/elements/Makefile.am:
9975         * testsuite/ghostpads/Makefile.am:
9976         * testsuite/indexers/Makefile.am:
9977         * testsuite/parse/Makefile.am:
9978         * testsuite/plugin/Makefile.am:
9979         * testsuite/refcounting/Makefile.am:
9980         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9981         results, because it's not calculated correctly.
9982         * testsuite/refcounting/pad.c: (main): same
9983         * testsuite/states/Makefile.am:
9984         * testsuite/tags/Makefile.am:
9985         * testsuite/threads/Makefile.am:
9986
9987 2004-04-14  David Schleef  <ds@schleef.org>
9988
9989         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9990         generating bad code around the cpu detection asm code.
9991
9992 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9993
9994         * tools/gst-inspect.c: (print_element_info):
9995           print numeric version of rank as well, since we added some - 1
9996           rank values to elements
9997
9998 2004-04-13  David Schleef  <ds@schleef.org>
9999
10000         * configure.ac:  Disable various code when compiling for MinGW.
10001         * gst/elements/Makefile.am:
10002         * gst/elements/gstelements.c:
10003         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10004         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10005         * gst/registries/gstxmlregistry.c: (make_dir):
10006
10007 2004-04-13  David Schleef  <ds@schleef.org>
10008
10009         * gst/Makefile.am:
10010         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10011         assembly.
10012         * gst/gstcpuid_i386.s: remove
10013
10014 2004-04-13  David Schleef  <ds@schleef.org>
10015
10016         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10017         seems to think it needs to be done.
10018         * docs/gst/tmpl/gstfakesink.sgml:
10019         * docs/gst/tmpl/gstfakesrc.sgml:
10020         * docs/gst/tmpl/gstfdsink.sgml:
10021         * docs/gst/tmpl/gstfdsrc.sgml:
10022         * docs/gst/tmpl/gstfilesink.sgml:
10023         * docs/gst/tmpl/gstfilesrc.sgml:
10024         * docs/gst/tmpl/gstidentity.sgml:
10025         * docs/gst/tmpl/gstmd5sink.sgml:
10026         * docs/gst/tmpl/gstmultifilesrc.sgml:
10027         * docs/gst/tmpl/gstpipefilter.sgml:
10028         * docs/gst/tmpl/gstshaper.sgml:
10029         * docs/gst/tmpl/gstspider.sgml:
10030         * docs/gst/tmpl/gstspideridentity.sgml:
10031         * docs/gst/tmpl/gststatistics.sgml:
10032         * docs/gst/tmpl/gsttee.sgml:
10033         * docs/gst/tmpl/gsttypefind.sgml:
10034         * docs/gst/tmpl/gstutils.sgml:
10035
10036 2004-04-13  David Schleef  <ds@schleef.org>
10037
10038         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10039         and to build DLLs on Windows.
10040         * gst/Makefile.am:
10041         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10042         (gst_filesrc_open_file):
10043         * gst/schedulers/Makefile.am:
10044
10045 2004-04-13  David Schleef  <ds@schleef.org>
10046
10047         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10048         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10049         fixating lists.
10050
10051 2004-04-12  David Schleef  <ds@schleef.org>
10052
10053         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10054         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10055         to using it.
10056         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10057         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10058         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10059         * gst/gststructure.c: (gst_structure_set_valist),
10060         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10061         support for buffers.
10062         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10063         intended to be const.
10064         * gst/gsttag.h: same
10065         * gst/gstvalue.c: (gst_value_serialize_buffer),
10066         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10067         to (de)serialize buffers.
10068         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10069         * testsuite/caps/string-conversions.c: (main):
10070         * testsuite/caps/value_serialize.c: add new test
10071
10072 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10073
10074         * docs/pwg/advanced-types.xml:
10075           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10076
10077 2004-04-11  Benjamin Otte  <otte@gnome.org>
10078
10079         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10080           rename categories to basic_*
10081         * gst/schedulers/gstbasicscheduler.c: 
10082         (gst_basic_scheduler_chain_wrapper),
10083         (gst_basic_scheduler_chainhandler_proxy),
10084         (gst_basic_scheduler_gethandler_proxy),
10085         (gst_basic_scheduler_eventhandler_proxy):
10086           debugging category fixes - put common stuff in log category
10087         * gst/schedulers/gstbasicscheduler.c: 
10088         (gst_basic_scheduler_chain_elements):
10089           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10090           active and linking two active chains
10091
10092 2004-04-10  Benjamin Otte  <otte@gnome.org>
10093
10094         * docs/pwg/intro-preface.xml:
10095           fix dead links and remove reference to Wiki
10096
10097 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10098
10099         * gst/schedulers/gstbasicscheduler.c:
10100           make sure we can switch back to the main function if we're still in
10101           the main function (supposed to fix #139617)
10102         * gst/schedulers/gthread-cothreads.h:
10103           don't throw an error when switching to the same cothread
10104
10105 2004-04-09  Benjamin Otte  <otte@gnome.org>
10106
10107         * gst/gstbin.c: (gst_bin_get_type):
10108         * gst/gstclock.c: (gst_clock_get_type):
10109         * gst/gstindex.c: (gst_index_get_type):
10110         * gst/gstobject.c: (gst_object_get_type),
10111         (gst_signal_object_get_type):
10112         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10113         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10114         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10115         * gst/gstqueue.c: (gst_queue_get_type):
10116         * gst/gstregistry.c: (gst_registry_get_type):
10117         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10118         * gst/gstthread.c: (gst_thread_get_type):
10119           don't use memchunks for these objects, use malloc instead
10120
10121 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10122
10123         * docs/gst/.cvsignore:
10124         * docs/gst/Makefile.am:
10125         * docs/gst/gstreamer-sections.txt:
10126         * docs/gst/tmpl/gstaggregator.sgml:
10127         * docs/gst/tmpl/gstbuffer.sgml:
10128         * docs/gst/tmpl/gstclock.sgml:
10129         * docs/gst/tmpl/gstelement.sgml:
10130         * docs/gst/tmpl/gstfakesink.sgml:
10131         * docs/gst/tmpl/gstfakesrc.sgml:
10132         * docs/gst/tmpl/gstfdsink.sgml:
10133         * docs/gst/tmpl/gstfdsrc.sgml:
10134         * docs/gst/tmpl/gstfilesink.sgml:
10135         * docs/gst/tmpl/gstfilesrc.sgml:
10136         * docs/gst/tmpl/gstidentity.sgml:
10137         * docs/gst/tmpl/gstindex.sgml:
10138         * docs/gst/tmpl/gstinfo.sgml:
10139         * docs/gst/tmpl/gstmd5sink.sgml:
10140         * docs/gst/tmpl/gstmultifilesrc.sgml:
10141         * docs/gst/tmpl/gstpad.sgml:
10142         * docs/gst/tmpl/gstpipefilter.sgml:
10143         * docs/gst/tmpl/gstpipeline.sgml:
10144         * docs/gst/tmpl/gstpluginfeature.sgml:
10145         * docs/gst/tmpl/gstqueue.sgml:
10146         * docs/gst/tmpl/gstregistry.sgml:
10147         * docs/gst/tmpl/gstscheduler.sgml:
10148         * docs/gst/tmpl/gstshaper.sgml:
10149         * docs/gst/tmpl/gstspider.sgml:
10150         * docs/gst/tmpl/gstspideridentity.sgml:
10151         * docs/gst/tmpl/gststatistics.sgml:
10152         * docs/gst/tmpl/gstsystemclock.sgml:
10153         * docs/gst/tmpl/gsttee.sgml:
10154         * docs/gst/tmpl/gstthread.sgml:
10155         * docs/gst/tmpl/gsttypefind.sgml:
10156         * docs/gst/tmpl/gstutils.sgml:
10157           further doc build fixes
10158
10159 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10160
10161         * docs/gst/Makefile.am:
10162           make docs exit on scanning problems
10163           fix nonsrcdir build issues
10164         * docs/gst/gstreamer-sections.txt:
10165           adding stuff from -unused
10166         * gst/gstqueue.h:
10167           create GstQueueSize
10168         * gst/schedulers/cothreads_compat.h:
10169           fix cothread warnings
10170
10171 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10172
10173         * docs/gst/gstreamer-sections.txt:
10174           remove defines deprecated by Benjamin
10175
10176 2004-04-07  Benjamin Otte  <otte@gnome.org>
10177
10178         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10179           when the buffer is complete, don't check if other buffers are needed
10180         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10181           check that the offset is >0 so we don't try to read before the
10182           beginning of the file
10183         * gst/gstpad.c: (gst_pad_set_pad_template):
10184           sink the template, so we don't end up with 130k pad templates
10185
10186 2004-04-06  Benjamin Otte  <otte@gnome.org>
10187
10188         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10189           don't ref the element, adding already reffed it. And we didn't unref
10190           it later anyway... (huge memleak when you used many spider elements)
10191         * gst/gstelement.c: (gst_element_base_class_finalize):
10192         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10193         (gst_element_register):
10194         * gst/gsturi.c: (gst_element_make_from_uri):
10195           use gst_object_(un)ref instead of g_object(un)ref
10196
10197 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10198
10199         * gst/gstbuffer.h:
10200           remove macro that wouldn't work anymore because struct member has
10201           been removed.
10202         * gst/schedulers/entryscheduler.c: (schedule_forward):
10203           fix segfault for unconnected pads
10204         
10205 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10206
10207         reviewed by David Schleef <ds@schleef.org>
10208
10209         * gst/gstinfo.h:
10210           *_FORMAT modifiers should require putting a % in front of them for
10211           consistency reasons.
10212
10213 2004-04-05  Colin Walters  <walters@redhat.com>
10214
10215         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10216         space.
10217
10218 2004-04-05  Benjamin Otte  <otte@gnome.org>
10219
10220         * configure.ac:
10221         * gst/Makefile.am:
10222         * gst/gst_private.h:
10223         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10224           add support for detecting if GStreamer runs inside valgrind.
10225           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10226           print a big message in valgrind that GStreamer has detected it's
10227           running inside and might now use different code.
10228         * gst/gstmemchunk.c: (populate), (free_area),
10229         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10230         (gst_mem_chunk_free):
10231           flag memchunks for valgrind, so it can detect leaking of chunks.
10232           This allows detecting leaks of GstBuffer and GstEvent correctly
10233           inside valgrind.
10234
10235 2004-04-05  David Schleef  <ds@schleef.org>
10236
10237         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10238           jensgr@gmx.net (Jens Granseuer)
10239
10240 2004-04-05  David Schleef  <ds@schleef.org>
10241
10242         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10243         (gst_buffer_default_free), (gst_buffer_default_copy),
10244         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10245         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10246         structures in one place.
10247
10248 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10249
10250         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10251           (GST_TIME_FORMAT, GST_TIME_ARGS)
10252
10253 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * testsuite/elements/Makefile.am:
10256           disable test until it stops breaking make distcheck
10257
10258 2004-04-05  Johan Dahlin  <johan@gnome.org>
10259
10260         * po/sv.po: Updated translation
10261
10262 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10263
10264         * gst/gstplugin.c: (gst_plugin_load_file):
10265           fix segfault for when original plugin was loaded statically
10266
10267 2004-04-05  Benjamin Otte  <otte@gnome.org>
10268
10269         * testsuite/debug/category.c: (main):
10270         * testsuite/debug/commandline.c: (main):
10271         * testsuite/debug/output.c: (main):
10272           fix tests to work again with debugging enabled
10273
10274 2004-04-05  Benjamin Otte  <otte@gnome.org>
10275
10276         * gst/schedulers/gstbasicscheduler.c:
10277         (gst_basic_scheduler_pad_link):
10278           fix to work with recent scheduling changes
10279
10280 2004-04-05  Benjamin Otte  <otte@gnome.org>
10281
10282         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10283         prepareChangeLog doesn't work when cvs indents):
10284           don't throw an error when no element can be scheduled, there's too
10285           many weird reasons why it doesn't work. Return STOPPED instead.
10286           decoupled elemts' schedulability doesn't depend on bufpens.
10287
10288 2004-04-04  Benjamin Otte  <otte@gnome.org>
10289
10290         * gst/schedulers/gstbasicscheduler.c:
10291         (gst_basic_scheduler_pad_select):
10292           fix uninitialized variable warnings
10293
10294 2004-04-04  Benjamin Otte  <otte@gnome.org>
10295
10296         * gst/gstpad.c: (gst_pad_collect_valist):
10297           fix uninitialized variable warning
10298         * gst/schedulers/entryscheduler.c: (schedule_forward):
10299           fix shadowed variable
10300
10301 2004-04-04  Benjamin Otte  <otte@gnome.org>
10302
10303         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10304         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10305         (gst_pad_select):
10306         * gst/gstpad.h:
10307         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10308         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10309         * gst/gstscheduler.h:
10310           implement gst_pad_collect as replacement for gst_pad_select.
10311           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10312           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10313           new pad_select, lock and unlock calls.
10314         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10315         * gst/cothreads.h:
10316         * gst/schedulers/cothreads_compat.h:
10317         * gst/schedulers/gthread-cothreads.h:
10318           remove unused cothread_lock and cothread_unlock calls
10319         * gst/schedulers/entryscheduler.c:
10320         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10321         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10322         (gst_entry_scheduler_pad_select):
10323           update to new API
10324         * gst/schedulers/gstbasicscheduler.c:
10325         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10326         (gst_basic_scheduler_pad_select):
10327           remove useless lock and unlock calls, update pad_select to new API
10328           (untested)
10329         * gst/schedulers/gstoptimalscheduler.c:
10330         (gst_opt_scheduler_class_init):
10331           remove useless select, lock and unlock function calls
10332         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10333           use gst_pad_collect instead of gst_pad_select
10334
10335 2004-04-04  Benjamin Otte  <otte@gnome.org>
10336
10337         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10338         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10339         (schedule_next_element), (print_entry):
10340           add can_schedule_pad to handle element states.
10341           add schedule_forward to select the correct entry to schedule next
10342
10343 2004-04-03  Benjamin Otte  <otte@gnome.org>
10344
10345         * gst/schedulers/entryscheduler.c: 
10346           remove unused variable, fix error inside Rb, fix compile warning in
10347           unreachable code
10348
10349 2004-04-03  Benjamin Otte  <otte@gnome.org>
10350
10351         * gst/schedulers/entryscheduler.c:
10352           completely revamp the inner workings, so it's a lot easier to
10353           understand and extend
10354
10355 2004-04-03  Andy Wingo  <wingo@pobox.com>
10356
10357         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10358         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10359         This allows better introspection of pipeline topology.
10360         (add_to_chain): Don't do trickery to put loop elements first;
10361         rather, queue a chain sort by marking the chain as dirty.
10362         (remove_from_chain): Mark the chain dirty.
10363         (sort_chain): New function. Sorts the group list so that terminal
10364         sinks are first. This means elements on the sink side will be
10365         preferentially sscheduled before elements on the src side of the
10366         pipeline.
10367         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10368         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10369         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10370         (group_inc_link): Change argument and variable names to match the
10371         new link structure member names (src and sink).
10372         (group_dec_link): Add some description
10373
10374 2004-04-03  Benjamin Otte  <otte@gnome.org>
10375
10376         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10377         * gst/gstinfo.h:
10378         * testsuite/debug/category.c: (main):
10379         * testsuite/debug/commandline.c: (main):
10380         * testsuite/debug/output.c: (main):
10381         * testsuite/debug/printf_extension.c: (main):
10382           fix to successfully build and test with --disable-gst-debug
10383           configure switch (fixes #138705)
10384
10385 2004-04-03  Benjamin Otte  <otte@gnome.org>
10386
10387         * docs/pwg/building-boiler.xml:
10388           add cvs login line and s/anonymous/anoncvs/
10389
10390 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10391
10392         reviewed by Benjamin Otte  <otte@gnome.org>
10393
10394         * gst/gststructure.c: (gst_structure_free):
10395           memleak fix: free fields array (partial fix for #134839)
10396
10397 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10398
10399         * docs/random/ds/0.9-suggested-changes:
10400           Add a note to change handoff use in fakesrc to be usable in
10401           a more generic way (fakesrc should be renamed to appsrc or so).
10402         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10403           Change signal type to scope, so we can fill the buffer in the
10404           handoff handler (that's the whole use of this signal...).
10405
10406 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10407
10408         * docs/pwg/other-ntoone.xml:
10409           Document muxers and n-to-1 elements.
10410
10411 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10412
10413         * gst/registries/gstxmlregistry.c
10414         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10415         determine if a file is a G_MODULE. The old one discards paths
10416         containing "so" somewhere in the middle. My home directory is
10417         called "soto". Go figure...
10418
10419 2004-03-31  David Schleef  <ds@schleef.org>
10420
10421         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10422         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10423         * gst/gstbuffer.h:
10424
10425 2004-03-31  David Schleef  <ds@schleef.org>
10426
10427         * gst/gstvalue.c: (gst_value_union_int_int_range),
10428         (gst_value_union_int_range_int_range), (gst_value_can_union),
10429         (gst_value_union), (_gst_value_initialize):  Add some union
10430         implementations.  We didn't have any previously.
10431         * testsuite/caps/Makefile.am:
10432         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10433         (gst_audioscale_getcaps), (test_caps), (main): A little test
10434         that is the same as the caps manipulation in audioscale.
10435
10436 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10437
10438         * docs/faq/general.xml:
10439           add entry about "does gst support format X?"
10440
10441 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10442
10443         * gst/gstthread.c:
10444           fix docs
10445         * gst/gstutils.h:
10446           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10447
10448 2004-03-30  Benjamin Otte  <otte@gnome.org>
10449
10450         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10451           set the offset of the buffer to the requested offset
10452         * gst/elements/gsttypefind.c: (stop_typefinding):
10453           revert patch 1.18 (which I unfortunately don't know the reason for).
10454           This is needed to allow downstream elements to seek. Otherwise
10455           typefind might overwrite a previous seek by downstream elements.
10456           This lead to errors with id3tag and typefind on some mp3s.
10457         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10458         (gst_entry_scheduler_iterate):
10459           be more verbose when debugging
10460
10461 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10462
10463         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10464           make sure we don't get NULL strings
10465
10466 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10467
10468         * gst/gstcaps.c:
10469         * gst/gstelement.c:
10470         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10471         * gst/gstindex.c: (gst_index_resolver_get_type),
10472         (gst_index_get_type), (gst_index_factory_get_type):
10473         * gst/gstinfo.c:
10474         * gst/gstpad.c:
10475         * gst/gstplugin.c:
10476         * gst/gsturi.c: (gst_uri_handler_get_type):
10477         * gst/gstvalue.c:
10478           first batch of documentation fixes
10479
10480 2004-03-29  David Schleef  <ds@schleef.org>
10481
10482         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10483         * docs/gst/gstreamer-docs.sgml:  More hacking
10484         * docs/gst/gstreamer-sections.txt:
10485         * docs/gst/tmpl/cothreads_compat.sgml:
10486         * docs/gst/tmpl/gstcaps.sgml:
10487         * docs/gst/tmpl/gstclock.sgml:
10488         * docs/gst/tmpl/gstelement.sgml:
10489         * docs/gst/tmpl/gstevent.sgml:
10490         * docs/gst/tmpl/gstpad.sgml:
10491         * docs/gst/tmpl/gstutils.sgml:
10492         * docs/gst/tmpl/gstxml.sgml:
10493         * docs/gst/tmpl/gthread-cothreads.sgml:
10494         * docs/random/ds/0.9-suggested-changes:
10495         * gst/elements/gstfakesink.h: doc fixes
10496         * gst/elements/gstfakesrc.h: doc fixes
10497         * gst/gstcaps.c: doc fixes
10498         * gst/gstcaps.h: doc fixes
10499         * gst/gstelement.c: doc fixes
10500         * gst/gstelement.h: doc fixes
10501         * gst/gstindex.c: doc fixes
10502         * gst/gstinfo.c: doc fixes
10503         * gst/gstpad.c: doc fixes
10504         * gst/gstpad.h: doc fixes
10505         * gst/gstplugin.c: doc fixes
10506         * gst/gsttypefind.h: doc fixes
10507         * gst/gsturi.c: doc fixes
10508         * gst/gstvalue.c: doc fixes
10509
10510 2004-03-29  Colin Walters  <walters@redhat.com>
10511
10512         * gst/registries/gstxmlregistry.c (get_time)
10513         (plugin_times_older_than_recurse):
10514         Use the result of stat to determine whether a path is a file,
10515         so we don't attempt to opendir() files.
10516
10517 2004-03-29  Benjamin Otte  <otte@gnome.org>
10518
10519         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10520           print caps in debugging output when setting caps failed
10521         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10522         (schedule_next_element), (get_buffer), (run_chainhandler),
10523         (element_may_start), (gst_entry_scheduler_chain_handler),
10524         (gst_entry_scheduler_get_handler),
10525         (gst_entry_scheduler_state_transition),
10526         (gst_entry_scheduler_pad_link):
10527           make this scheduler a testcase for mandatory
10528           discont-before-first-buffer which is needed if we want to allow apps
10529           to release the sound device.
10530           add SCHED_ASSERT macro to print scheduler state before an assertion
10531           triggers.
10532
10533 2004-03-29  Benjamin Otte  <otte@gnome.org>
10534
10535         * COPYING:
10536           replace by LGPL (former COPYING.LIB). The core is completely
10537           licensed LGPL.
10538         * COPYING.LIB:
10539           remove
10540
10541 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10542
10543         * po/af.po:
10544         * po/sv.po:
10545           updated Afrikaans and Swedish
10546
10547 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10548
10549         * po/LINGUAS:
10550         * po/az.po:
10551           adding Azerbaijani (Mətin Əmirov)
10552
10553 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10554
10555         * gst/gstelement.h: 
10556         * gst/gstelement.c (gst_element_set_time_delay): New function for
10557         setting element time taking into account a hardware buffering
10558         delay.
10559         (gst_element_set_time): Now just an invocation of
10560         gst_element_set_time_delay.
10561         * gst/gstclock.h: 
10562         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10563         allowing to set event times in the future.
10564         (gst_clock_get_event_time): Now just an invocation of
10565         gst_clock_get_event_time_delay.
10566
10567 2004-03-28  Benjamin Otte  <otte@gnome.org>
10568
10569         * gst/gstbin.c: (gst_bin_set_element_sched),
10570         (gst_bin_unset_element_sched):
10571           don't add decoupled elements to schedulers - otherwise it's
10572           impossible to control if a link to a decoupled element was already
10573           removed from a scheduler or not.
10574         * gst/schedulers/cothreads_compat.h:
10575         * gst/schedulers/gthread-cothreads.h:
10576           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10577           is no "unused" warning.
10578         * gst/schedulers/Makefile.am:
10579         * gst/schedulers/entryscheduler.c:
10580           add new scheduler, based on ideas from talking to David and Martin.
10581           It's supposed to be small and correct. Currently it's also slow (but
10582           it's not noticable)
10583         * examples/retag/retag.c: (main):
10584         * testsuite/bytestream/test1.c: (main):
10585           fix missing NULLs at end of variadic functions
10586         * testsuite/elements/.cvsignore:
10587           update
10588
10589 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10590
10591         * gst/gstevent.h:
10592         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10593
10594 2004-03-25  David Schleef  <ds@schleef.org>
10595
10596         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10597         * docs/gst/tmpl/gstaggregator.sgml:
10598         * docs/gst/tmpl/gstautoplugfactory.sgml:
10599         * docs/gst/tmpl/gstbin.sgml:
10600         * docs/gst/tmpl/gstbuffer.sgml:
10601         * docs/gst/tmpl/gstbufferstore.sgml:
10602         * docs/gst/tmpl/gstfakesink.sgml:
10603         * docs/gst/tmpl/gstfakesrc.sgml:
10604         * docs/gst/tmpl/gstmd5sink.sgml:
10605         * docs/gst/tmpl/gstreamer-unused.sgml:
10606         * docs/gst/tmpl/gstsearchfuncs.sgml:
10607         * docs/gst/tmpl/gstshaper.sgml:
10608         * docs/gst/tmpl/gstspider.sgml:
10609         * docs/gst/tmpl/gsttee.sgml:
10610         * docs/gst/tmpl/gstutils.sgml:
10611         * docs/gst/tmpl/gstvalue.sgml:
10612         * docs/gst/tmpl/gstxml.sgml:
10613         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10614         and we don't support it.
10615         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10616         (gst_use_threads), (gst_has_threads): same
10617         * gst/gstthreaddummy.c: same
10618         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10619         * gst/autoplug/gstspider.h: same
10620         * gst/elements/gstaggregator.h: Remove bogus function from header
10621         * gst/elements/gstfakesink.h: same
10622         * gst/elements/gstfakesrc.h: same
10623         * gst/elements/gstmd5sink.h: same
10624         * gst/elements/gstshaper.h: same
10625         * gst/elements/gsttee.h: same
10626         * gst/gstbin.c: doc fixes
10627         * gst/gstbin.h: Remove unused definition.
10628         * gst/gstbuffer.c: doc fixes
10629         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10630         * gst/gstfilter.c: doc fixes
10631         * gst/gsttag.c: doc fixes
10632         * gst/gstvalue.c: doc fixes
10633
10634 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10635
10636         * docs/pwg/advanced-types.xml:
10637           Document typefinding.
10638         * docs/pwg/other-oneton.xml:
10639           Document one-to-n elements, demuxers and parsers.
10640
10641 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10642
10643         reviewed by: David Schleef  <ds@schleef.org>
10644
10645         * configure.ac: Check bison version (bug #127838)
10646
10647 2004-03-25  David Schleef  <ds@schleef.org>
10648
10649         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10650         * docs/gst/gstreamer-sections.txt:
10651         * docs/gst/tmpl/gstautoplug.sgml:
10652         * docs/gst/tmpl/gststaticautoplug.sgml:
10653         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10654         * docs/gst/tmpl/gstutils.sgml:
10655         * docs/gst/tmpl/gstxml.sgml:
10656
10657 2004-03-24  David Schleef  <ds@schleef.org>
10658
10659         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10660         manual being such complete crap, that I decided to do major
10661         hacking of it.  This checkin replaces any fine tuning that
10662         may have been done previously, with the benefit of actually
10663         being complete for much of the API that was changed since
10664         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10665         * docs/gst/gstreamer-sections.txt:
10666         * docs/gst/tmpl/GstBin.sgml:
10667         * docs/gst/tmpl/GstBuffer.sgml:
10668         * docs/gst/tmpl/GstCaps.sgml:
10669         * docs/gst/tmpl/GstClock.sgml:
10670         * docs/gst/tmpl/GstCompat.sgml:
10671         * docs/gst/tmpl/GstData.sgml:
10672         * docs/gst/tmpl/GstElement.sgml:
10673         * docs/gst/tmpl/GstEvent.sgml:
10674         * docs/gst/tmpl/GstIndex.sgml:
10675         * docs/gst/tmpl/GstStructure.sgml:
10676         * docs/gst/tmpl/GstTag.sgml:
10677         * docs/gst/tmpl/cothreads.sgml:
10678         * docs/gst/tmpl/cothreads_compat.sgml:
10679         * docs/gst/tmpl/gettext.sgml:
10680         * docs/gst/tmpl/grammar.tab.sgml:
10681         * docs/gst/tmpl/gst-i18n-app.sgml:
10682         * docs/gst/tmpl/gst-i18n-lib.sgml:
10683         * docs/gst/tmpl/gst.sgml:
10684         * docs/gst/tmpl/gst_private.sgml:
10685         * docs/gst/tmpl/gstaggregator.sgml:
10686         * docs/gst/tmpl/gstarch.sgml:
10687         * docs/gst/tmpl/gstatomic.sgml:
10688         * docs/gst/tmpl/gstatomic_impl.sgml:
10689         * docs/gst/tmpl/gstbin.sgml:
10690         * docs/gst/tmpl/gstbuffer.sgml:
10691         * docs/gst/tmpl/gstbufferstore.sgml:
10692         * docs/gst/tmpl/gstcaps.sgml:
10693         * docs/gst/tmpl/gstclock.sgml:
10694         * docs/gst/tmpl/gstcompat.sgml:
10695         * docs/gst/tmpl/gstconfig.sgml:
10696         * docs/gst/tmpl/gstcpu.sgml:
10697         * docs/gst/tmpl/gstdata.sgml:
10698         * docs/gst/tmpl/gstdata_private.sgml:
10699         * docs/gst/tmpl/gstelement.sgml:
10700         * docs/gst/tmpl/gstenumtypes.sgml:
10701         * docs/gst/tmpl/gsterror.sgml:
10702         * docs/gst/tmpl/gstevent.sgml:
10703         * docs/gst/tmpl/gstfakesink.sgml:
10704         * docs/gst/tmpl/gstfakesrc.sgml:
10705         * docs/gst/tmpl/gstfilesink.sgml:
10706         * docs/gst/tmpl/gstfilter.sgml:
10707         * docs/gst/tmpl/gstindex.sgml:
10708         * docs/gst/tmpl/gstinfo.sgml:
10709         * docs/gst/tmpl/gstinterface.sgml:
10710         * docs/gst/tmpl/gstlog.sgml:
10711         * docs/gst/tmpl/gstmacros.sgml:
10712         * docs/gst/tmpl/gstmarshal.sgml:
10713         * docs/gst/tmpl/gstmd5sink.sgml:
10714         * docs/gst/tmpl/gstmultifilesrc.sgml:
10715         * docs/gst/tmpl/gstobject.sgml:
10716         * docs/gst/tmpl/gstpad.sgml:
10717         * docs/gst/tmpl/gstparse.sgml:
10718         * docs/gst/tmpl/gstpipeline.sgml:
10719         * docs/gst/tmpl/gstplugin.sgml:
10720         * docs/gst/tmpl/gstpluginfeature.sgml:
10721         * docs/gst/tmpl/gstqueue.sgml:
10722         * docs/gst/tmpl/gstreamer-unused.sgml:
10723         * docs/gst/tmpl/gstregistry.sgml:
10724         * docs/gst/tmpl/gstregistrypool.sgml:
10725         * docs/gst/tmpl/gstscheduler.sgml:
10726         * docs/gst/tmpl/gstsearchfuncs.sgml:
10727         * docs/gst/tmpl/gstshaper.sgml:
10728         * docs/gst/tmpl/gstspider.sgml:
10729         * docs/gst/tmpl/gstspideridentity.sgml:
10730         * docs/gst/tmpl/gststructure.sgml:
10731         * docs/gst/tmpl/gstsystemclock.sgml:
10732         * docs/gst/tmpl/gsttag.sgml:
10733         * docs/gst/tmpl/gsttaginterface.sgml:
10734         * docs/gst/tmpl/gsttee.sgml:
10735         * docs/gst/tmpl/gstthread.sgml:
10736         * docs/gst/tmpl/gsttrace.sgml:
10737         * docs/gst/tmpl/gsttrashstack.sgml:
10738         * docs/gst/tmpl/gsttypefind.sgml:
10739         * docs/gst/tmpl/gsttypes.sgml:
10740         * docs/gst/tmpl/gsturi.sgml:
10741         * docs/gst/tmpl/gsturitype.sgml:
10742         * docs/gst/tmpl/gstutils.sgml:
10743         * docs/gst/tmpl/gstvalue.sgml:
10744         * docs/gst/tmpl/gstversion.sgml:
10745         * docs/gst/tmpl/gstxml.sgml:
10746         * docs/gst/tmpl/gstxmlregistry.sgml:
10747         * docs/gst/tmpl/gthread-cothreads.sgml:
10748         * docs/gst/tmpl/types.sgml:
10749
10750 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10751
10752         * docs/pwg/other-sink.xml:
10753         * docs/pwg/other-source.xml:
10754           Documentation on how to write source and sink elements. Other
10755           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10756           manager, autoplugger) are all still pending.
10757
10758 2004-03-25  Benjamin Otte  <otte@gnome.org>
10759
10760         * testsuite/elements/Makefile.am:
10761         * testsuite/elements/gst-compprep-check:
10762           add check to make sure gst-compprep works
10763         * testsuite/elements/gst-inspect-check.in:
10764           improve initialization output
10765         * testsuite/Makefile.am:
10766         * testsuite/gst-inspect-check:
10767           remove old file
10768
10769 2004-03-24  David Schleef  <ds@schleef.org>
10770
10771         * testsuite/elements/Makefile.am:
10772         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10773         to the testsuite.
10774
10775 2004-03-24  Benjamin Otte  <otte@gnome.org>
10776
10777         * libs/gst/control/dparam.c: (gst_dparam_attach),
10778         (gst_dparam_detach):
10779         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10780           fix lvalue casts for real
10781
10782 2004-03-24  Benjamin Otte  <otte@gnome.org>
10783
10784         * gst/schedulers/gstbasicscheduler.c:
10785         (gst_basic_scheduler_src_wrapper):
10786         * gst/schedulers/gstoptimalscheduler.c:
10787         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10788         (pad_clear_queued), (gst_opt_scheduler_add_element),
10789         (gst_opt_scheduler_remove_element):
10790           fix GStreamer to not have issues with lvalue casts anymore (fixes
10791           #136841)
10792
10793 2004-03-24  Benjamin Otte  <otte@gnome.org>
10794
10795         * gst/gstelement.c:
10796           add documentation about a gobject quirk where the object hasn't the
10797           correct class pointer set on initialization
10798         * gst/schedulers/gstbasicscheduler.c:
10799         (gst_basic_scheduler_src_wrapper):
10800           make sure to not run into an infinite loop
10801
10802 2004-03-22  Benjamin Otte  <otte@gnome.org>
10803
10804         * gst/gstutils.c: (gst_util_dump_mem):
10805         * gst/gstutils.h:
10806           first argument of gst_util_dump_mem should be const
10807
10808 2004-03-22  Johan Dahlin  <johan@gnome.org>
10809
10810         * gst/gstvalue.h: Clean up a little bit.
10811
10812 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10813
10814         reviewed by Benjamin Otte  <otte@gnome.org>
10815
10816         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10817         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10818         (gst_aggregator_class_init), (gst_aggregator_init):
10819         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10820         (gst_filesrc_dispose), (gst_filesrc_set_location):
10821         * gst/elements/gstidentity.c: (gst_identity_finalize),
10822         (gst_identity_class_init), (gst_identity_chain):
10823         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10824         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10825         (gst_statistics_class_init):
10826         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10827         (gst_tee_get_property):
10828           clean up used memory in this elements correctly on teardown (closes
10829           #137279)
10830
10831 2004-03-20  Colin Walters  <walters@redhat.com>
10832
10833         * gst/registries/gstxmlregistry.c:
10834         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10835         registry saving atomic.
10836
10837 2004-03-20  Colin Walters  <walters@redhat.com>
10838
10839         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10840         Just use
10841         access() instead of actually creating and deleting files.
10842
10843 2004-03-18  David Schleef  <ds@schleef.org>
10844
10845         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10846         (bug #137625)
10847
10848 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * po/sv.po: updated translation (Christian Rose)
10851
10852 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10855         (gst_filesink_get_query_types), (_do_init),
10856         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10857           return FALSE silently
10858         * po/af.po: updated translation (Petri Jooste)
10859
10860 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10861
10862         * Makefile.am:
10863         * configure.ac:
10864           dist common properly
10865         * po/af.po:
10866         * po/fr.po:
10867         * po/nl.po:
10868         * po/sr.po:
10869         * po/sv.po:
10870           refreshing translations
10871
10872 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * po/LINGUAS:
10875         * po/sv.po:
10876         * po/af.po:
10877           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10878
10879 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10880
10881         * Makefile.am: use common/release.mak
10882
10883 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10884
10885         * docs/faq/gst-uninstalled:
10886           adding gst-monkeysaudio to the list of possible plugin dirs
10887
10888 2004-03-16  David Schleef  <ds@schleef.org>
10889
10890         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10891         (gst_init_check_with_popt_table):  Fix some gettext strings to
10892         make them easier to translate.  Required making the strings
10893         non-const.
10894
10895 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10896
10897         * configure.ac: bump nano to 1
10898
10899 === release 0.8.0 ===
10900
10901 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10902
10903         * configure.ac: release 0.8.0, "Executive Slacks"
10904
10905 2004-03-16  Johan Dahlin  <johan@gnome.org>
10906
10907         * gst/schedulers/gstoptimalscheduler.c
10908         (gst_opt_scheduler_pad_unlink): Remove double ;,
10909         spotted by Scott Wheeler
10910
10911 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * configure.ac: bump libtool version
10914
10915 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * gst/gstcaps.h:
10918         * gst/gststructure.h:
10919           add reserved padding
10920
10921 2004-03-15  Benjamin Otte  <otte@gnome.org>
10922
10923         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10924           set the first parameter for select call correctly.
10925           (fixes #137230)
10926
10927 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10928
10929         * *.c,*.h: don't mix tabs and spaces
10930
10931 2004-03-15  Johan Dahlin  <johan@gnome.org>
10932
10933         * gst/schedulers/gstoptimalscheduler.c
10934         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10935         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10936
10937         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10938         
10939 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10940
10941         * testsuite/Rules:
10942           fix gst-register rules
10943
10944 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * testsuite/Rules:
10947           use versioned gst-register
10948
10949 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10950
10951         * docs/libs/gstreamer-libs-sections.txt:
10952           remove </SUBSECTION>
10953         * gst/gstplugin.c:
10954         * gst/gstregistry.c: (gst_registry_add_plugin):
10955         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10956         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10957           add debugging and fix some comment blocks
10958
10959 2004-03-15  Johan Dahlin  <johan@gnome.org>
10960
10961         * *.h: Revert indent changes.
10962         
10963 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10966           g_error_free the g_error
10967         * tools/gst-feedback-m.m:
10968           check for other versions of gstreamer
10969         * tools/gst-indent:
10970           use sh, not bash
10971
10972 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * tools/gst-register.c: do not spill paths when registries are not
10975           writable, until we fix the "user running gst-register" case.
10976
10977 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * *.c, *.h: commit of gst-indent run on core
10980
10981 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10982
10983         * tools/gst-indent:
10984         * tools/Makefile.am:
10985           add our indentation style as a script
10986
10987 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10988
10989         * po/sr.po:
10990         * po/LINGUAS:
10991           added Serbian translation
10992
10993 2004-03-13  Benjamin Otte  <otte@gnome.org>
10994
10995         * gst/gstelement.c:
10996           add documentation note about gst_element_found_tags_for_pad not
10997           being usable in getfunctions. (see #137042)
10998
10999 2004-03-12  David Schleef  <ds@schleef.org>
11000
11001         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11002         change API right now!  Readd gst_caps_is_simple() macro.
11003         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11004         uninitialized variable.  I'd bet this caused crashes.
11005         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11006
11007 2004-03-12  Johan Dahlin  <johan@gnome.org>
11008
11009         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11010         * gst/gstcaps.h: Clean up
11011
11012         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11013         _gst_caps_initalize()
11014
11015         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11016         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11017
11018         * gst/gststructure.c (gst_structure_get_type): Ditto
11019
11020         * gst/gststructure.h: Ditto
11021         
11022 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11023
11024         * gst/gstqueue.c: (gst_queue_init):
11025           Reset default max. values in queues. Reason is simply to avoid
11026           braindead use. If you want wider values, use the properties. The
11027           default is supposed to always work. Wider values would make this
11028           beast a memory hog by default (250 full-PAL RGB32 video frames?
11029           That's 440 MB! No thank you).
11030
11031 2004-03-10  David Schleef  <ds@schleef.org>
11032
11033         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11034         were found.  (bug #136793)
11035
11036 2004-03-10  Johan Dahlin  <johan@gnome.org>
11037
11038         * gst/schedulers/gstoptimalscheduler.c
11039         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11040         links to elements within the same group, so we can finally remove
11041         that annoying warning. Refactor the code a little bit
11042         (group_dec_links_for_element): Split out
11043
11044 2004-03-09  David Schleef  <ds@schleef.org>
11045
11046         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11047         (bug #134863)
11048
11049 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11050
11051         * configure.ac: first bug fix due to major/minor bump
11052
11053 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * configure.ac: bump nano to 1
11056
11057 === release 0.7.6 ===
11058
11059 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11060
11061         * NEWS:
11062         * RELEASE:
11063         * configure.ac:
11064           releasing 0.7.6, "Almost"
11065         * po/fr.po:
11066         * po/nl.po:
11067         * tools/Makefile.am:
11068         * tools/gst-feedback-m.m:
11069           unversioned source
11070
11071 2004-03-09  Johan Dahlin  <johan@gnome.org>
11072
11073         Reviewed by: Thomas Vander Stichele
11074
11075         * gst/gstelement.c (gst_element_class_init): register second
11076         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11077         language bindings can (de)marshall correctly.
11078
11079         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11080
11081         * gst/gsterror.c (gst_g_error_get_type): New function
11082
11083         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11084         with VOID:OBJECT,OBJECT,STRING 
11085
11086 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11087
11088         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11089         Free a leaked g_timer on early returns.
11090
11091 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11092
11093         * docs/pwg/advanced-types.xml:
11094           Add cinepak description.
11095
11096 2004-03-07  David Schleef  <ds@schleef.org>
11097
11098         * docs/random/mimetypes:  Added cinepak description
11099
11100 2004-03-07  Andy Wingo  <wingo@pobox.com>
11101
11102         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11103
11104         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11105         there are no links to other groups when a group is destroyed.
11106         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11107         removed from a group, make sure the link count to elements linked
11108         to other pads is appropriately decremented. This really fixes
11109         #135672.
11110
11111         The 1.60->1.61 patch has been reapplied in light of this fix.
11112
11113         * gst/gstelement.c (gst_element_dispose): Really protect against
11114         multiple invocations this time.
11115
11116 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11117
11118         * docs/gst/gstreamer-sections.txt:
11119         * docs/gst/tmpl/gsttag.sgml:
11120           remove some deprecated functions, document some existing ones
11121         * gst/gsttag.c: (gst_tag_get_flag):
11122         * gst/gsttag.h:
11123           add accessor function
11124
11125 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11126
11127         * docs/gst/gstreamer-sections.txt:
11128         * docs/gst/tmpl/gsttag.sgml:
11129         * docs/gst/tmpl/gstxml.sgml:
11130         * gst/gsttag.c: (gst_tag_get_flag):
11131         * gst/gsttag.h:
11132
11133 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11134
11135         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11136         leak
11137
11138 2004-03-05  David Schleef  <ds@schleef.org>
11139
11140         * REQUIREMENTS: Add bison and flex.
11141         * configure.ac: Fix comment about bison.
11142         * docs/random/ds/0.9-suggested-changes: yer ma
11143         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11144
11145 2004-03-05  Benjamin Otte  <otte@gnome.org>
11146
11147         * gst/gstelement.c: (gst_element_error_full):
11148           revert recent recursive state changing commit - messing with other
11149           elements' states is evil and should be done by apps only.
11150
11151 2004-03-05  Benjamin Otte  <otte@gnome.org>
11152
11153         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11154           check for empty intersection instead of NULL caps
11155         (gst_element_get_compatible_pad_filtered):
11156           remove old workaround that is only a bug nowadays
11157
11158 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * gst/gstelement.c: (gst_element_error_full):
11161           make elements try to recursively change state to PAUSED on all
11162           parents after an error to suppress ensuing warnings
11163         * gst/parse/grammar.y:
11164           make it check if it was able to sync the state, and throw an error
11165           if not, so stuff like
11166           oggdemux ! vorbisdec ! osssink gets caught
11167
11168 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11169
11170         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11171           it contains lib64; use AS_AC_EXPAND to handle it properly
11172
11173 2004-03-05  David Schleef  <ds@schleef.org>
11174
11175         * gst/gstcpuid_i386.s:  Remove unused code
11176         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11177         (gst_getbits_newbuf): Remove MMX code
11178         * libs/gst/getbits/getbits.h: Remove MMX code
11179
11180 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11181
11182         * debian/.cvsignore:
11183         * debian/README.Debian:
11184         * debian/changelog:
11185         * debian/control:
11186         * debian/control.in:
11187         * debian/copyright:
11188         * debian/gstreamer-core-libs-dev.files:
11189         * debian/gstreamer-core-libs.files:
11190         * debian/gstreamer-core.files:
11191         * debian/gstreamer-core.postinst:
11192         * debian/gstreamer-core.postrm:
11193         * debian/gstreamer-doc.files:
11194         * debian/gstreamer-doc.links:
11195         * debian/gstreamer-doc.lintian:
11196         * debian/gstreamer-runtime.files:
11197         * debian/gstreamer-runtime.manpages:
11198         * debian/gstreamer-runtime.postinst:
11199         * debian/gstreamer-runtime.postrm:
11200         * debian/gstreamer-tools.files:
11201         * debian/gstreamer-tools.manpages:
11202         * debian/libgstreamer-dev.files:
11203         * debian/libgstreamer0.4.1.files:
11204         * debian/libgstreamerVERSION.files:
11205         * debian/rules:
11206         Debian package info not maintained here.
11207
11208 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11209
11210         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11211         * gst/gstbin.c: (gst_bin_class_init):
11212         * gst/gstelement.c: (gst_element_class_init):
11213         * gst/gstindex.c: (gst_index_class_init):
11214         * gst/gstobject.c: (gst_object_class_init),
11215         (gst_signal_object_class_init):
11216         * gst/gstpad.c: (gst_pad_template_class_init):
11217         * gst/gstregistry.c: (gst_registry_class_init):
11218         * gst/gsturi.c: (gst_uri_handler_base_init):
11219         * gst/gstxml.c: (gst_xml_class_init):
11220         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11221         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11222           make all signal names use dashes instead of underscore
11223
11224 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11227
11228 2004-03-03  Benjamin Otte  <otte@gnome.org>
11229
11230         * gst/schedulers/gstoptimalscheduler.c:
11231           revert last commit by Andy Wingo. It causes segfaults on unreffing
11232           in Rhythmbox. (see bug #135672)
11233
11234 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11235
11236         * po/fr.po: fix typo
11237
11238 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11239
11240         * tools/gst-inspect.c: (main): 
11241         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11242
11243 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11244
11245         * configure.ac:
11246           get GLIB_ONLY and POPT flags for the nonversioned binaries
11247         * tools/Makefile.am:
11248           use them
11249
11250 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11251
11252         * gst/gst.c: (init_post):
11253           change so that GST_REGISTRY now is where the global registry gets
11254           saved, since that is where plugins now get attached to first, and
11255           spilled over to the user registry.  Note that in the case of using
11256           GST_REGISTRY env var, we don't want to affect any real registries
11257           beyond the one given by this var, and thus we don't set a user
11258           registry to spill to.  So make sure GST_REGISTRY is writable.
11259
11260 2004-03-01  David Schleef  <ds@schleef.org>
11261
11262         * AUTHORS:  Added some names.  Add yourself if you're missing.
11263
11264 2004-03-01  David Schleef  <ds@schleef.org>
11265
11266         * MAINTAINERS: Add
11267
11268 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11269
11270         * configure.ac:
11271           remove whitespace
11272         * docs/gst/tmpl/gstbuffer.sgml:
11273         * docs/gst/tmpl/gstdata.sgml:
11274         * docs/gst/tmpl/gstreamer-unused.sgml:
11275         * docs/gst/tmpl/gstxml.sgml:
11276           doc update
11277         * docs/manuals.mak:
11278           add a FIXME
11279         * docs/pwg/intro-preface.xml:
11280         * docs/pwg/pwg.xml:
11281           remove GNOME
11282         * gst/gst.c: (init_post):
11283           try GST_PLUGIN_PATH paths for the _global_registry first
11284         * gst/gstelement.h:
11285           add the error message as well, otherwise (null) debug info doesn't
11286           make much sense
11287         * tools/gst-register.c: (main):
11288           spill paths to next registry if this registry is not writable
11289         * po/fr.po:
11290         * po/nl.po:
11291           translation updates
11292
11293 2004-03-01  Johan Dahlin  <johan@gnome.org>
11294
11295         * gst/gstbuffer.c (_gst_buffer_initialize): 
11296         * gst/gstdata.c (gst_data_get_type): 
11297         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11298         instead of ref, since some applications that uses GBoxed
11299         routines depends on a function that actually returns a copy.
11300
11301 2004-02-27  Benjamin Otte  <otte@gnome.org>
11302
11303         * gst/gstbuffer.h:
11304           remove gst_buffer_free, use gst_data_unref
11305         * gst/gstdata.c: (gst_data_get_type):
11306           use refcounting in GstData GBoxed registration
11307         * gst/gstdata.h:
11308           remove gst_data_free, use gst_data_unref
11309
11310 2004-02-27  Johan Dahlin  <johan@gnome.org>
11311
11312         * gst/gstdata.c (gst_data_get_type): New function, register
11313         GstData as a GBoxed type.
11314
11315         * gst/gstdata.h (GST_TYPE_DATA): New macro
11316
11317 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11318
11319         * Makefile.am:
11320         * gstreamer.spec.in:
11321           put back RELEASE
11322         * gst/Makefile.am:
11323           clean up non-disting of built files
11324         * testsuite/debug/commandline.c:
11325           test fix for option rename
11326
11327 2004-02-26  David Schleef  <ds@schleef.org>
11328
11329         * configure.ac:  We don't really need glib-2.3.  Also remove
11330         some unneeded checks for library functions.
11331         * gst/Makefile.am:  Instead, we need to not dist files created
11332         by glib-genmarshal.
11333
11334 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11335
11336         * configure.ac:
11337           bump glib required version to 2.3.0 for g_value_takes_boxed
11338
11339  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11340
11341         * common/m4/gst-docs.m4
11342         change flavour text from enable to disable as enable is our default
11343         closes bug Bug 135304
11344
11345 === release 0.7.5 ===
11346  
11347  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11348  
11349         * NEWS:
11350           instate NEWS file
11351         * Makefile.am:
11352         * gstreamer.spec.in:
11353         * RELEASE:
11354           put back release
11355         * configure.ac:
11356         * docs/random/release:
11357           more updates
11358
11359 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * gst/gsttag.c: (_gst_tag_initialize):
11362         * po/fr.po:
11363         * po/nl.po:
11364           remove hyphen from codec tags
11365
11366 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11367
11368         * gst/parse/Makefile.am:
11369           fix dependency so that a make from a clean build works the first
11370           time
11371
11372 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11373
11374         * docs/random/release:
11375           update release strategy
11376         * po/fr.po:
11377           auto-update po file
11378         * po/nl.po:
11379           update dutch translation
11380
11381 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11382
11383         * docs/manual/debugging.xml:
11384         fix manual for new debugging system
11385
11386 2004-02-25  Andy Wingo  <wingo@pobox.com>
11387
11388         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11389         gst_pad_link_prepare. Please email the list with specific reasons
11390         for reverting.
11391
11392 2004-02-24  Andy Wingo  <wingo@pobox.com>
11393
11394         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11395         invocations.
11396
11397         * gst/schedulers/gstoptimalscheduler.c:
11398         I added a mess of prototypes at the top of the file by way of
11399         documentation. Some of the operations on chains and groups were
11400         re-organized.
11401
11402         (create_group): Added a type argument so if the group is enabled,
11403         the setup_group_scheduler knows what to do.
11404         (group_elements): Added a type argument here, too, to be passed on
11405         to create_group.
11406         (group_element_set_enabled): If an unlinked PLAYING element is
11407         added to a bin, we have to create a new group to hold the element,
11408         and this function will be called before the group is added to the
11409         chain. Thus we have a valid case for group->chain==NULL. Instead
11410         of calling chain_group_set_enabled, just set the flag on the group
11411         (the chain's status will be set when the group is added to it).
11412         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11413         Setup the group scheduler when the group is enabled, not
11414         specifically when an element goes PAUSED->PLAYING. This means
11415         PLAYING elements can be added, linked, and scheduled into a
11416         PLAYING pipeline, as was intended.
11417         (add_to_group): Don't ref the group twice. I don't know when this
11418         double-ref got in here. Removing it has the potential to cause
11419         segfaults if other parts of the scheduler are buggy. If you find
11420         that the scheduler is segfaulting for you, put in an extra ref
11421         here and see if that hacks over the underlying issue. Of course,
11422         then find out what code is unreffing a group it doesn't own...
11423         (create_group): Make the extra refcount floating, and remove it
11424         after adding the element. This means that...
11425         (unref_group): Destroy when the refcount reaches 0, not 1, like
11426         every other refcounted object in the known universe.
11427         (remove_from_group): When a group becomes empty, set it to be not
11428         active, and remove it from its chain. Don't unref it again,
11429         there's no floating reference any more.
11430         (destroy_group): We have to remove the group from the chain in
11431         remove_from_group (rather than here) to break refcounting cycles
11432         (the chain always has a ref on the group). So assert that
11433         group->chain==NULL.
11434         (ref_group_by_count): Removed, it was commented out anyway.
11435         (merge_chains): Use the remove_from_chain and add_to_chain
11436         primitives to do the reparenting, instead of rolling our own
11437         implementation.
11438         (add_to_chain): The first non-disabled group in the chain's group
11439         list will be the entry point for the chain. Because buffers can
11440         accumulate in loop elements' peer bufpens, we preferentially
11441         schedule loop groups before get groups to avoid unnecessary
11442         execution of get-based groups when the bufpens are already full.
11443         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11444         (get_group_schedule_function): Ditto.
11445         (loop_group_schedule_function): Ditto.
11446         (gst_opt_scheduler_loop_wrapper): Ditto.
11447         (gst_opt_scheduler_iterate): Ditto.
11448
11449         I understand the opt scheduler now, yippee!
11450
11451         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11452         (gst_pad_get_name, gst_pad_set_chain_function) 
11453         (gst_pad_set_get_function, gst_pad_set_event_function) 
11454         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11455         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11456         (gst_pad_set_query_function, gst_pad_get_query_types) 
11457         (gst_pad_get_query_types_default) 
11458         (gst_pad_set_internal_link_function) 
11459         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11460         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11461         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11462         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11463         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11464         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11465         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11466         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11467         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11468         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11469         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11470         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11471         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11472         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11473         argument checks, and some doc fixes.
11474
11475         (gst_pad_custom_new_from_template): Um, does anyone
11476         use these functions? Actually make a custom pad instead of a
11477         normal one.
11478         (gst_pad_try_set_caps): Transpose some checks.
11479         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11480         the pad is in negotiation.
11481         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11482         
11483         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11484
11485         * gst/gstelement.h: 
11486         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11487         on the list.
11488
11489 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11490
11491         * gst/gstbin.c: (gst_bin_add):
11492           add error for not being able to add elements
11493
11494 2004-02-22  Julien MOUTTE <julien@moutte.net>
11495
11496         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11497         audio-codec and video-codec.
11498
11499 2004-02-22  Benjamin Otte  <otte@gnome.org>
11500
11501         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11502
11503         * autogen.sh:
11504           replace test -e with test -x for mkinstalldirs to be more portable.
11505           (fixes #134816)
11506
11507 2004-02-22  Benjamin Otte  <otte@gnome.org>
11508
11509         * gst/gstpad.c:
11510           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11511           too noisy
11512         * gst/gsttag.c: (_gst_tag_initialize):
11513         * gst/gsttag.h:
11514           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11515         * libs/gst/control/dparam.c: (gst_dparam_attach):
11516         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11517           check that types for attached dparams match
11518
11519 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11520
11521         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11522         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11523         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11524           fix errors
11525
11526 2004-02-20  Andy Wingo  <wingo@pobox.com>
11527
11528         * gst/gstbin.c:
11529         * gst/gstbuffer.c:
11530         * gst/gstplugin.c:
11531         * gst/registries/gstxmlregistry.c: 
11532         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11533
11534         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11535         (gst_element_add_pad): DEBUG->INFO, some fixes.
11536         (gst_element_get_compatible_pad_template): Just see if the
11537         templates' caps intersect, not if one is a strict subset of the
11538         other. This conforms more to what gst_pad_link_intersect() does.
11539         (gst_element_class_add_pad_template): Don't memcpy the pad
11540         template, just ref it.
11541         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11542
11543         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11544         (gst_pad_link_filtered): Debug changes.
11545         (gst_pad_link_prepare): New function, consolidated from
11546         can_link_filtered and link_filtered.
11547
11548         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11549         look more like that of the functions in gstelement.c
11550
11551         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11552         object, and return the empty string if object is NULL.
11553
11554         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11555         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11556         LOG, not DEBUG. We still get flex info on debug.
11557
11558         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11559         debug string more verbose.
11560         (plugin_times_older_than): DEBUG->LOG.
11561
11562 2004-02-20  Julien MOUTTE <julien@moutte.net>
11563
11564         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11565         will emit found_tag for each stream they demux with the codec.
11566
11567 2004-02-20  Benjamin Otte  <otte@gnome.org>
11568
11569         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11570           copy navigation event correctly. Check freeing tag lists. 
11571         * gst/gstthread.c: (gst_thread_change_state):
11572           don't abort() on state changing mess - it might happen because of
11573           bugs.
11574         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11575           use boxed functions
11576         * gst/gstvalue.h:
11577           fix GST_VALUE_HOLDS_CAPS
11578
11579 2004-02-19  David Schleef  <ds@schleef.org>
11580
11581         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11582         and use it for GST_FUNCTION.  (bug #134750)
11583
11584 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11585
11586         * po/fr.po:
11587         * po/nl.po:
11588           updating translations
11589
11590 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11591
11592         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11593
11594 2004-02-18  kost@imn.htwk-leipzig.de
11595
11596         reviewed by: David Schleef  <ds@schleef.org>
11597
11598         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11599         for libgstcontrol.
11600
11601 2004-02-18  David Schleef  <ds@schleef.org>
11602
11603         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11604         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11605         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11606         * tools/gst-inspect.c: (print_element_info): Support dumping of
11607         double dparam information.
11608
11609 2004-02-17  David Schleef  <ds@schleef.org>
11610
11611         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11612         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11613         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11614         Use GST_TYPE_CAPS in signal prototype.
11615         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11616         Convert GST_TYPE_CAPS to boxed.
11617         * gst/gstelement.c: (gst_element_class_init):
11618         Use GST_TYPE_TAG_LIST in signal prototype.
11619         * gst/gstindex.c: (gst_index_class_init):
11620         * gst/gstindex.h:
11621         Add GST_TYPE_INDEX_ENTRY type.
11622         * gst/gstmarshal.list:
11623         Add necessary marshal types.
11624         * gst/gstpad.c: (gst_real_pad_class_init),
11625         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11626         (gst_pad_recover_caps_error):
11627         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11628         * gst/gststructure.c: (_gst_structure_initialize),
11629         (gst_structure_copy), (_gst_structure_copy_conditional):
11630         * gst/gststructure.h:
11631         Convert GST_TYPE_STRUCTURE to boxed.
11632         * gst/gsttag.c: (gst_tag_list_get_type):
11633         * gst/gsttag.h:
11634         Add GST_TYPE_TAG_LIST type.
11635
11636 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11637
11638         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11639         to what we agreed with david.
11640         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11641
11642 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * po/nl.po: update translation
11645
11646 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11647
11648         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11649           throw an error if spider is trying to play a mime type there is
11650           no decoder for
11651         * po/POTFILES.in:
11652           add gst/autoplug/gstspider.c for translation
11653
11654 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11655
11656         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11657         silently when the pad is negotiating.
11658
11659 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * docs/faq/Makefile.am:
11662           add script to run gstreamer uninstalled 
11663         * docs/faq/faq.xml:
11664         * docs/faq/developing.xml:
11665         * docs/faq/gst-uninstalled:
11666           extract script to run gstreamer uninstalled
11667         * docs/manuals.mak:
11668           add EXTRA_SOURCES variable for Makefile.am's to set to
11669           use additional SOURCE files for the doc build
11670
11671 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11672
11673         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11674
11675 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11676
11677         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11678         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11679         an error was thrown by osssink. Basically a state change failure for
11680         an element in a different scheduling group was considered as
11681         successful, which means that caps nego was going on and weird stuff
11682         happened. Like I wrote in the comment there, if someone wants to
11683         revert that please drop me a mail explaining why because I really see
11684         no point in keeping that broken behaviour there.
11685         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11686         be empty, we then return NULL which will trigger a nice error when 
11687         pulling from the pad.
11688
11689 2004-02-13  David Schleef  <ds@schleef.org>
11690
11691         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11692         (gst_dparam_get_property), (gst_dparam_set_property),
11693         (gst_dparam_do_update_default):
11694         * libs/gst/control/dparam.h:
11695         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11696         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11697         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11698         (gst_dpsmooth_do_update_double):
11699         * libs/gst/control/dparam_smooth.h:
11700         * libs/gst/control/dparammanager.c:
11701         (gst_dpman_inline_direct_update):
11702         Add support for double dparams.
11703
11704 2004-02-13  David Schleef  <ds@schleef.org>
11705
11706         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11707         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11708
11709 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11710
11711         reviewed by: David Schleef  <ds@schleef.org>
11712
11713         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11714         (gst_fdsrc_init), (gst_fdsrc_set_property),
11715         (gst_fdsrc_get_property), (gst_fdsrc_get):
11716         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11717         and sends an EOS event if file descriptor reading times out.
11718
11719 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11720
11721         * configure.ac:
11722           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11723
11724 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11725
11726         * configure.ac: pass required libxml version as argument
11727         (bug reported by Christophe Fergeau)
11728
11729 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11730   
11731         * docs/gst/gstreamer-docs.sgml:
11732         * docs/gst/tmpl/gstxml.sgml:
11733         * docs/libs/gstreamer-libs-docs.sgml:
11734           version API docs
11735
11736 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11737
11738         * gst/gstinfo.c:
11739         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11740         (gst_registry_pool_feature_filter):
11741         * gst/gstthread.c: (gst_thread_class_init):
11742         * gst/gstvalue.c:
11743           add includes exposed by building without libxml
11744         * gst/indexers/Makefile.am:
11745           do not build fileindex when LOADSAVE disabled; we should have
11746           a better libxml check later since fileindex depends on xml, not
11747           LOADSAVE or REGISTRY
11748         * libs/gst/control/Makefile.am:
11749           link with m
11750         * tools/Makefile.am:
11751           fix wrong source code for gst-xmlinspect
11752
11753 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11754
11755         * configure.ac:
11756           fix gcov help output
11757           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11758         * docs/random/release:
11759           some updated releasing notes
11760         * gstreamer.spec.in:
11761           more updates
11762
11763 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11764
11765         * docs/faq/faq.xml:
11766         * docs/manual/manual.xml:
11767         * docs/pwg/pwg.xml:
11768         * docs/pwg/titlepage.xml:
11769           put version in documentation
11770
11771 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11772
11773         * tools/Makefile.am: fix man page installation
11774
11775 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11776
11777         * configure.ac:
11778           don't check for libxml when load/save and registry disabled (#105844)
11779         * gstreamer.spec.in:
11780           sync with fedora candidate spec
11781
11782 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * po/fr.po:
11785         * po/nl.po:
11786           replace multidisksrc with multifilesrc
11787
11788 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11789
11790         * po/POTFILES.in:
11791           update to multidisksrc => multifilesrc file renaming (#134145)
11792
11793 2004-02-11  David Schleef  <ds@schleef.org>
11794
11795         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11796         * docs/gst/tmpl/gstpadtemplate.sgml: same
11797         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11798         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11799         fixing dance.
11800         * gst/gstutils.c: Remove disabled code that uses GstProps.
11801         * gst/registries/gstxmlregistry.h: same
11802         * docs/random/ds/0.9-suggested-changes: random notes
11803
11804 2004-02-11  kost@imn.htwk-leipzig.de
11805
11806         reviewed by: David Schleef  <ds@schleef.org>
11807
11808         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11809         initialisation of clock (bug #134128)
11810
11811 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11812
11813         * configure.ac:
11814         * gst/elements/Makefile.am:
11815         * gst/elements/gstelements.c:
11816         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11817         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11818         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11819         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11820         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11821         * gst/elements/gstmultifilesrc.h:
11822           rename multidisksrc to multifilesrc (part of #122200)
11823
11824 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11825
11826         * docs/manuals.mak:
11827           fix automake complaints
11828         * gst-element-check.m4:
11829           fix unquotedness
11830
11831 2004-02-11  David Schleef  <ds@schleef.org>
11832
11833         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11834         * gst/gstatomic_impl.h: Disable sparc implementation.
11835
11836 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11837
11838         * gst-element-check.m4:
11839           fix underquoted macros as reported by automake 1.8.x (#133800)
11840         * configure.ac:
11841           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11842           by autopoint (fixes #132996)
11843
11844 2004-02-10  Andy Wingo  <wingo@pobox.com>
11845
11846         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11847         way to do inheritance.
11848         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11849         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11850         Routine docs.
11851         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11852         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11853         doc.
11854         (gst_pad_unlink, gst_pad_is_linked): Docs.
11855         (gst_pad_renegotiate): A brief description of capsnego.
11856         (gst_pad_try_set_caps): Document.
11857         (gst_pad_try_set_caps_nonfixed): Document.
11858         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11859         (gst_pad_set_parent): Deprecated (although not out of the API).
11860         (gst_pad_get_parent): Deprecated, although many plugins use this.
11861         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11862         are private and will go away in 0.9.
11863         (gst_pad_perform_negotiate): Doc.
11864         (gst_pad_link_unnegotiate): I think this is meant to be static.
11865         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11866         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11867         (gst_pad_get_peer): Doc updates.
11868         (gst_pad_caps_change_notify): Doc.
11869         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11870         (gst_ghost_pad_new): Doc fixes.
11871
11872         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11873         (gst_object_check_uniqueness): 
11874
11875         * gst/gstelement.c (gst_element_add_pad) 
11876         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11877         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11878         (gst_element_get_static_pad, gst_element_get_pad_list) 
11879         (gst_element_class_get_pad_template_list) 
11880         (gst_element_class_get_pad_template): Work on the docs.
11881         (gst_element_get_pad_template_list): Uses the class method.
11882         (gst_element_get_compatible_pad_template): Docs, and consolidate
11883         some test conditions. 
11884         (gst_element_get_pad_from_template): New static function.
11885         (gst_element_request_compatible_pad): Docs, and work with
11886         non-request compatible templates. 
11887         (gst_element_get_compatible_pad_filtered): Docs and remove
11888         redundant checks.
11889         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11890         (gst_element_link_filtered, gst_element_link_many) 
11891         (gst_element_link, gst_element_link_pads) 
11892         (gst_element_unlink_many): Docs.
11893
11894 2004-02-05  Andy Wingo  <wingo@pobox.com>
11895
11896         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11897         s/pointer/boxed/.
11898
11899         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11900
11901         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11902         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11903         with the type=GST_TYPE_CAPS. This allows language bindings to know
11904         what kind of data they're dealing with.
11905
11906         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11907         to NULL when g_value_init is called. GstCaps, which rolls its own
11908         type implementation, now does the same instead of allocating empty
11909         caps.
11910         (_gst_caps_initialize, _gst_caps_collect_value,
11911         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11912         table methods. This allows G_VALUE_COLLECT to work.
11913
11914 2004-02-05  Andy Wingo  <wingo@pobox.com>
11915
11916         * configure.ac:
11917         * testsuite/Makefile.am (SUBDIRS): 
11918         * testsuite/ghostpads/Makefile.am: 
11919         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11920
11921         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11922         These two routines are the only ones that set
11923         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11924         pad template. They should be made static, depending on ABI needs.
11925         (gst_real_pad_dispose): Handle the case of ghost pads without a
11926         parent. Assert after dealing with ghost pads that the ghost pad
11927         list is empty.
11928         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11929         set after creation.
11930         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11931         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11932         functions. set_property will call add_ghost_pad/remove_ghost_pad
11933         as appropriate.
11934         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11935
11936         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11937         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11938         (gst_element_remove_pad): Handle ghost pads as well.
11939         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11940         depending on API-stability needs).
11941
11942 2004-02-05  Andy Wingo  <wingo@pobox.com>
11943
11944         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11945         of course they're const
11946
11947 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11948
11949         * tools/Makefile.am:
11950         * tools/gst-feedback:
11951         * tools/gst-feedback-0.7:
11952           make gst-feedback versioned too for consistency
11953
11954 2004-02-11  David Schleef  <ds@schleef.org>
11955
11956         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11957         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11958
11959 2004-02-10  Julien MOUTTE <julien@moutte.net>
11960
11961         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11962         the structure does not contain a valid tag list. Adding a safety check
11963         to remove a noisy warning in that case.
11964
11965 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11966
11967         * gst/gst.c: fix name to be in line with others
11968
11969 2004-02-09  Julien MOUTTE <julien@moutte.net>
11970
11971         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11972         not shout that loud when len is 0. Just return 0 silently.
11973
11974 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11975
11976         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11977         because data_unref has one and I prefer the debug to be symetric.
11978         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11979         were refed when added to the queue and unrefed only once when the queue
11980         was flushed. Now the flush handler unref the buffers two times : first
11981         unref for the ref added when pushing in the queue's tail and second
11982         unref to destroy the flushed buffer.
11983
11984 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11985
11986         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11987
11988 2004-02-06  David Schleef  <ds@schleef.org>
11989
11990         * docs/random/ds/0.9-suggested-changes: Random ramblings
11991         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11992         to int before printing.
11993         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11994         * gst/parse/parse.l: same.  See bug #129600
11995
11996 2004-02-06  David Schleef  <ds@schleef.org>
11997
11998         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11999         (gst_index_add_entry), (gst_index_add_associationv),
12000         (gst_index_add_association): Add gst_index_add_associationv()
12001         and clean up gst_index_add_association(). #127133
12002
12003 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12004
12005         * autogen.sh: check out common with right tag if CVS/Tag exists
12006
12007 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12008
12009         * testsuite/ghostpads/ghostpads.c: (main):
12010           fix testsuite from segfaulting
12011
12012 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12013
12014         * Makefile.am: add release target
12015         * configure.ac: bump nano to 1
12016         * docs/random/release:
12017
12018 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12019
12020         * gst/gstcaps.h:
12021         * gst/gstelement.c: (gst_element_base_class_init),
12022         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12023         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12024         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12025         (gst_real_pad_dispose):
12026         * gst/gststructure.c: (gst_structure_free),
12027         (gst_structure_from_string):
12028           put reverted patch back in
12029         * gst/gstelement.c: (gst_element_remove_pad):
12030           free explicit caps if they're set
12031         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12032           copy the structure when fixating
12033
12034 2004-02-05  David Schleef  <ds@schleef.org>
12035
12036         * gst/gstmarshal.list:
12037         * gst/gstpad.c: (gst_real_pad_class_init),
12038         (_gst_real_pad_fixate_accumulator):
12039         Revert POINTER->BOXED change in signal marshaller.
12040
12041 === release 0.7.4 ===
12042                                                                                 
12043 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12044                                                                                 
12045         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12046         * configure.ac: changed for release
12047
12048 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12049
12050         * gstreamer.spec.in:
12051           bump required version of gtk-doc
12052
12053 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12054
12055         * gst/gstcaps.h:
12056         * gst/gstelement.c: (gst_element_base_class_init),
12057         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12058         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12059         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12060         (gst_real_pad_dispose):
12061         * gst/gststructure.c: (gst_structure_free),
12062         (gst_structure_from_string):
12063           revert patch that breaks applications, reapply after release
12064           to get this fixed properly
12065
12066 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12067
12068         * gst/gsttag.c: (_gst_tag_initialize):
12069         * gst/gsttag.h:
12070           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12071
12072 2004-02-04  David Schleef  <ds@schleef.org>
12073
12074         Fix some memleaks:
12075         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12076         (gst_spider_plug_from_srcpad):
12077         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12078
12079 2004-02-04  David Schleef  <ds@schleef.org>
12080
12081         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12082         a GstRealPad before accessing its structure members.
12083
12084 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12085
12086         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12087         (gst_clock_get_speed):
12088         * gst/gstclock.h:
12089           reset padding, remove unused fields
12090
12091 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12092
12093         * gst/autoplug/gstspideridentity.c:
12094         (gst_spider_identity_sink_loop_type_finding):
12095           use get_allowed_caps, not get_caps (fixes #132519)
12096         * gst/elements/gsttypefind.c: (stop_typefinding):
12097           use correct order when sending buffers and seeking
12098
12099 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12100
12101         * configure.ac:
12102         * gst/gstelement.h:
12103         * gst/gstpad.h:
12104         * gst/gstqueue.h:
12105           upgrade libtool CURRENT, reset padding
12106
12107 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12108
12109         * configure.ac:
12110           bump to prerelease
12111           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12112
12113 2004-02-04  David Schleef  <ds@schleef.org>
12114
12115         * docs/random/ds/0.9-suggested-changes: random notes
12116         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12117         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12118         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12119         expansion.
12120         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12121         (gst_filesink_get_query_types): same
12122         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12123         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12124         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12125         to use new GST_PTR_FORMAT.
12126         * gst/gstelement.h: deprecate function factory macros
12127         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12128         These are our last variadic macros that can't be replaced with
12129         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12130         attempting to deprecate gst_element_clock_wait().
12131         * gst/gstevent.h: same
12132         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12133         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12134         * gst/gstpad.h: deprecate function factory macros similar to above.
12135
12136 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12137
12138         * configure.ac:
12139         * tools/Makefile.am:
12140         * tools/gst-run.c: (popt_callback), (hash_print_key),
12141         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12142         (get_candidates), (main):
12143           add new source file to generate non-versioned wrapper binaries
12144           for our tools.
12145
12146 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12147
12148         * gst/gstevent.c: (_gst_event_free):
12149           actually break; inside the switch statement
12150         * gst/parse/grammar.y:
12151           fix memleak where GValues weren't unset
12152
12153 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12154
12155         * gst/gststructure.c: (gst_structure_from_string):
12156           fix huge memleak
12157         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12158         (new_entry), (gst_type_find_element_chain):
12159         * gst/gstelement.c: (gst_element_base_class_init),
12160         (gst_element_class_set_details):
12161         * gst/gstpad.c: (gst_pad_can_link_filtered):
12162           fix smaller memleaks
12163         * gst/gstpad.c: (gst_real_pad_dispose):
12164           check that explicit caps are gone
12165         * gst/gststructure.c: (gst_structure_free):
12166           actually free the structure
12167         * gst/gstelement.c: (gst_element_clear_pad_caps):
12168           unset explicit caps
12169
12170 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12171
12172         * tools/Makefile.am:
12173           use AM_CFLAGS since all the CFLAGS are the same
12174           use AM_LDFAGS
12175
12176 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12177
12178         * docs/manual/gnome.xml:
12179           expand example a little
12180         * gst/gst.c: (gst_init_with_popt_table),
12181         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12182           make sure popt option displays are done with right textdomain
12183           use GstPoptOption type
12184         * gst/gst.h:
12185           create GstPoptOption type
12186
12187 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12188
12189         * gst/gsterror.c: (_gst_stream_errors_init):
12190         * gst/gsterror.h:
12191           adding error type for no codec
12192         * po/POTFILES.in:
12193           add gst-inspect
12194         * po/nl.po:
12195           update dutch translation
12196         * tools/gst-inspect.c: (print_element_list), (main):
12197           do proper internationalization
12198         * tools/gst-launch.c: (idle_func):
12199           remove commented out function call
12200
12201 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12202
12203         * docs/README:
12204           add some error fixing notes
12205         * docs/gst/gstreamer-sections.txt:
12206           remove double entries
12207         * docs/gst/tmpl/gstbin.sgml:
12208         * docs/gst/tmpl/gstclock.sgml:
12209           remove override
12210         * docs/gst/tmpl/gstelement.sgml:
12211         * docs/gst/tmpl/gstindex.sgml:
12212         * docs/gst/tmpl/gstobject.sgml:
12213         * docs/gst/tmpl/gstpadtemplate.sgml:
12214         * docs/gst/tmpl/gstreamer-unused.sgml:
12215         * docs/gst/tmpl/gsttag.sgml:
12216         * docs/gst/tmpl/gstthread.sgml:
12217         * docs/gst/tmpl/gstxml.sgml:
12218         * gst/gsttag.h:
12219           sync header prototypes with c decls
12220         * gst/gsttaginterface.c:
12221           fix doc headers
12222
12223 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12224
12225         * gst/parse/Makefile.am:
12226         * gst/gstobject.h:
12227           get rid of gstmarshal.h dependency. It's not needed.
12228         * gst/gst.h:
12229         * gst/elements/gstfakesink.c:
12230         * gst/elements/gstfakesrc.c:
12231         * gst/elements/gstidentity.c:
12232         * gst/gstbin.c:
12233         * gst/gstelement.c:
12234         * gst/gstindex.c:
12235         * gst/gstobject.c:
12236         * gst/gstpad.c:
12237         * gst/gstthread.c:
12238         * gst/gstxml.c:
12239         * libs/gst/control/dparam.c:
12240         * libs/gst/control/dparammanager.c:
12241           include gstmarshal.h.
12242         Fixes #132045
12243
12244 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12245
12246         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12247         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12248         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12249         * gst/elements/gstfilesrc.h:
12250           don't ref the filesrc when creating mmaped buffers. Don't keep a
12251           list of not-yet-destroyed buffers.
12252         * gst/gstbuffer.h:
12253           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12254
12255 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12256
12257         * gst/gst.c: (init_pre):
12258           remove textdomain
12259
12260 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12261
12262         * docs/pwg/advanced-events.xml:
12263         * docs/pwg/advanced-scheduling.xml:
12264         * docs/pwg/intro-basics.xml:
12265         * docs/pwg/other-manager.xml:
12266         * docs/pwg/other-nton.xml:
12267         * docs/pwg/other-ntoone.xml:
12268         * docs/pwg/other-oneton.xml:
12269         * docs/pwg/pwg.xml:
12270           All sort of documentation... Forgot what. Point is that I want this
12271           in before I leave. The 'other-*' will be the last section and will
12272           explain issues specific to these type of elements.
12273
12274 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12275
12276         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12277         (gst_filesrc_get_read):
12278           set all the values on buffers that we can
12279
12280 2004-02-02  David Schleef  <ds@schleef.org>
12281
12282         Change usage of isblah() to g_ascii_isblah() to be more locale
12283         independent.  (#133076)
12284         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12285         * gst/gstutils.c:
12286         * gst/parse/parse.l:
12287
12288 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12289
12290         reviewed by: David Schleef  <ds@schleef.org>
12291
12292         Fix memory leaks:
12293         * gst/gstcaps.c: (gst_caps_to_string):
12294         * gst/registries/gstxmlregistry.c:
12295         (gst_xml_registry_add_path_list_func),
12296         (gst_xml_registry_parse_padtemplate):
12297
12298 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12299
12300         * gst/gstelement.c: (gst_element_default_error):
12301           suffix error messages with period
12302
12303 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12304
12305         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12306         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12307         * gst/gsterror.c: (gst_error_get_message):
12308           Suffix with dots
12309         * po/fr.po:
12310         * po/nl.po:
12311           Update translation files
12312
12313 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12314
12315         * gst/autoplug/gstspideridentity.c:
12316         (gst_spider_identity_sink_loop_type_finding):
12317         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12318         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12319         (gst_filesink_close_file), (gst_filesink_handle_event),
12320         (gst_filesink_chain):
12321         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12322         (gst_filesrc_get_read), (gst_filesrc_open_file):
12323         * gst/elements/gstidentity.c: (gst_identity_chain):
12324         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12325         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12326         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12327         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12328         * gst/gsterror.c: (_gst_core_errors_init),
12329         (_gst_library_errors_init), (_gst_resource_errors_init),
12330         (_gst_stream_errors_init), (gst_error_get_message):
12331         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12332         (gst_pad_recover_caps_error), (gst_pad_pull):
12333         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12334         * gst/schedulers/gstbasicscheduler.c:
12335         (gst_basic_scheduler_chainhandler_proxy),
12336         (gst_basic_scheduler_gethandler_proxy),
12337         (gst_basic_scheduler_cothreaded_chain):
12338           Suffix error messages with period.
12339           Use (NULL) instead of NULL
12340
12341 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         * docs/gst/tmpl/gstelement.sgml:
12344         * docs/gst/tmpl/gstxml.sgml:
12345         * gst/gstelement.c: (gst_element_error_full):
12346           add element path to error
12347
12348 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12349
12350         * docs/random/mimetypes:
12351           update raw int/float info
12352         * gst/gsttag.c: (_gst_tag_initialize):
12353         * gst/gsttag.h:
12354           add GST_TAG_ENCODER
12355
12356 2004-01-30  David Schleef  <ds@schleef.org>
12357
12358         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12359           missing (#132991)
12360
12361 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12362
12363         reviewed by Benjamin Otte 
12364           parts of the patch submitted in bug #113913
12365
12366         * configure.ac:
12367           use AC_C_INLINE. Use = instead of == with test
12368         * examples/plugins/example.c:
12369         * gst/autoplug/gstspideridentity.c:
12370         * gst/elements/gstfdsrc.c:
12371         * gst/elements/gstfilesrc.c:
12372         * gst/elements/gstidentity.c:
12373         * gst/elements/gstmultidisksrc.c:
12374         * gst/elements/gststatistics.c:
12375         * gst/gstelement.c:
12376         * gst/gstobject.c:
12377         * gst/gstpad.c:
12378         * gst/gstpipeline.c:
12379         * gst/gstthread.c:
12380           don't end enums with a comma
12381         * gst/gstindex.c: (gst_index_compare_func):
12382           do explicit casting to gint
12383         * gst/gsttrace.c: (gst_trace_text_flush):
12384           #define strsize as a macro
12385
12386 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12387
12388         * docs/README:
12389         * docs/gst/gstreamer-docs.sgml:
12390         * docs/gst/gstreamer-sections.txt:
12391         * docs/gst/tmpl/gstelement.sgml:
12392         * docs/gst/tmpl/gsterror.sgml:
12393         * docs/gst/tmpl/gstinterface.sgml:
12394         * docs/gst/tmpl/gstreamer-unused.sgml:
12395         * docs/gst/tmpl/gststructure.sgml:
12396         * docs/gst/tmpl/gsttag.sgml:
12397         * docs/gst/tmpl/gsttaginterface.sgml:
12398         * docs/gst/tmpl/gstvalue.sgml:
12399         make sure all API ends up in the built docs
12400         * gst/gstinterface.c:
12401         * gst/gststructure.c: (gst_structure_id_set_value),
12402         (gst_structure_set_value), (gst_structure_id_get_value):
12403         * gst/gststructure.h:
12404         * gst/gstvalue.h:
12405         sync .h with .c declarations
12406
12407 2004-01-30  Julien Moutte  <julien@moutte.net>
12408
12409         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12410         Ronald will fix riffread.
12411
12412 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12413
12414         * docs/pwg/advanced-interfaces.xml:
12415           Added tuner interface docs.
12416
12417 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12418
12419         * docs/random/mimetypes:
12420           correct Theora information
12421         * gst/gstelement.h:
12422           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12423
12424 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12425
12426         * gst/gstelement.c: (gst_element_error_full):
12427         * gst/gstelement.h:
12428           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12429
12430 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12431
12432         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12433         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12434         again and even before DISCONT.
12435         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12436         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12437         bytestream so that it's not stopping to fill the bytestream if events
12438         different than EOS or DISCONT are received. Instead it process them so
12439         that they go downstream.
12440
12441 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12442
12443         * docs/gst/tmpl/gstelement.sgml:
12444         * docs/gst/tmpl/gstreamer-unused.sgml:
12445         * docs/gst/tmpl/gstxml.sgml:
12446         * gst/autoplug/gstspideridentity.c:
12447         (gst_spider_identity_sink_loop_type_finding):
12448         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12449         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12450         (gst_filesink_close_file), (gst_filesink_handle_event),
12451         (gst_filesink_chain):
12452         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12453         (gst_filesrc_get_read), (gst_filesrc_open_file):
12454         * gst/elements/gstidentity.c: (gst_identity_chain):
12455         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12456         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12457         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12458         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12459         * gst/gstelement.h:
12460         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12461         (gst_pad_recover_caps_error), (gst_pad_pull):
12462         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12463         * gst/schedulers/gstbasicscheduler.c:
12464         (gst_basic_scheduler_chainhandler_proxy),
12465         (gst_basic_scheduler_gethandler_proxy),
12466         (gst_basic_scheduler_cothreaded_chain):
12467           gst_element_error -> GST_ELEMENT_ERROR
12468
12469 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * docs/Makefile.am:
12472         * docs/gst/tmpl/gstelement.sgml:
12473         * docs/gst/tmpl/gstxml.sgml:
12474         * docs/manuals.mak:
12475         * docs/pwg/advanced-request.xml:
12476         * docs/pwg/advanced-scheduling.xml:
12477         * docs/pwg/advanced-tagging.xml:
12478           fix non-validating docbook using CDATA
12479           make sure make check-local gets run first to check if it validates
12480
12481 2004-01-29  Julien MOUTTE <julien@moutte.net>
12482
12483         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12484         handling (up and downstream).
12485         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12486         my_filter thing.
12487
12488 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12489
12490         * docs/pwg/advanced-tagging.xml:
12491           Add docs about tag writing.
12492
12493 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12494
12495         * docs/pwg/advanced-tagging.xml:
12496           Add a part about tag reading and application signalling... Tag
12497           writing still needs to be documented.
12498         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12499           We can set file locations in READY, too.
12500
12501 2004-01-29  Julien MOUTTE <julien@moutte.net>
12502
12503         * docs/random/ds/element-checklist: Adding some notes about src
12504         events.
12505
12506 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12507
12508         * docs/random/mimetypes:
12509           Update docs to point to correct elements for various mimetypes, and
12510           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12511           <stephane.loeuillet@tiscali.fr>.
12512
12513 2004-01-28  David Schleef  <ds@schleef.org>
12514
12515         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12516
12517 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12518
12519         * docs/random/mimetypes:
12520           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12521           undefined"
12522         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12523           make it only work in NULL.
12524         * gst/gstcaps.c:
12525           don't posion NULL caps
12526         * gst/gstelement.c: (gst_element_set_time):
12527           add debugging statement
12528         * gst/gstelement.c: (gst_element_emit_found_tag),
12529         (gst_element_found_tag_func), (gst_element_found_tags):
12530         * gst/gstelement.h:
12531           These functions take const taglists
12532         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12533           fix memleak
12534         * gst/gstpad.c: (gst_pad_event_default):
12535           make more effort on handling discont and clocks, g_warn if everything
12536           fails
12537         * gst/gststructure.c: (gst_structure_remove_fields),
12538         (gst_structure_remove_fields_valist):
12539         * gst/gststructure.h:
12540           add gst_structure_remove_fields(_valist)
12541         * gst/gsttag.c:
12542           fix doc glitch
12543
12544 2004-01-28  David Schleef  <ds@schleef.org>
12545
12546         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12547         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12548         Fix memory leakage of gst_caps_to_string().
12549
12550         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12551         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12552         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12553         (gst_spider_identity_sink_loop_type_finding):
12554         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12555         (find_suggest):
12556         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12557         (gst_pad_set_explicit_caps):
12558         * gst/parse/grammar.y:
12559
12560 2004-01-28  David Schleef  <ds@schleef.org>
12561
12562         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12563         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12564         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12565         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12566         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12567         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12568         (gst_debug_log_default), (_gst_info_printf_extension),
12569         (_gst_info_printf_extension_arginfo):  Add printf extension.
12570         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12571         * gst/gststructure.c: (gst_structure_to_string),
12572         (_gst_structure_parse_value): Use gst_value_deserialize() and
12573         remove old code.
12574         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12575         (gst_value_deserialize_boolean), (gst_strtoi),
12576         (gst_value_deserialize_int), (gst_value_deserialize_double),
12577         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12578         a bunch of deserialize functions and gst_value_deserialize.
12579         * gst/gstvalue.h: er, _de_serialize, not unserialize
12580         * testsuite/caps/string-conversions.c: (main): We don't currently
12581         handle (float) in caps, so convert these to (double).
12582         * testsuite/debug/Makefile.am: Add new test for the printf extension
12583         * testsuite/debug/printf_extension.c: (main): same
12584
12585 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12586
12587         * docs/random/company/time:
12588           Add some docs about clocking and time
12589
12590 2004-01-28  Julien MOUTTE <julien@moutte.net>
12591
12592         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12593
12594 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12595
12596         * docs/pwg/advanced-clock.xml:
12597         * docs/pwg/advanced-dparams.xml:
12598         * docs/pwg/advanced-events.xml:
12599         * docs/pwg/advanced-interfaces.xml:
12600         * docs/pwg/advanced-midi.xml:
12601         * docs/pwg/advanced-request.xml:
12602         * docs/pwg/advanced-scheduling.xml:
12603         * docs/pwg/advanced-tagging.xml:
12604         * docs/pwg/advanced-types.xml:
12605         * docs/pwg/appendix-checklist.xml:
12606         * docs/pwg/building-boiler.xml:
12607         * docs/pwg/building-chainfn.xml:
12608         * docs/pwg/building-filterfactory.xml:
12609         * docs/pwg/building-pads.xml:
12610         * docs/pwg/building-props.xml:
12611         * docs/pwg/building-signals.xml:
12612         * docs/pwg/building-state.xml:
12613         * docs/pwg/building-testapp.xml:
12614         * docs/pwg/intro-basics.xml:
12615         * docs/pwg/intro-preface.xml:
12616         * docs/pwg/other-autoplugger.xml:
12617         * docs/pwg/other-sink.xml:
12618         * docs/pwg/other-source.xml:
12619         * docs/pwg/titlepage.xml:
12620           fix up id's
12621
12622 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * docs/95NonPath:
12625         * docs/HACKING:
12626         * docs/README:
12627         * docs/building-the-docs-on-debian:
12628           collect relevant bits of doc info
12629
12630 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12631
12632         * docs/pwg/advanced_tagging.xml:
12633           Half-assed commit so Thomas can re-arrange document IDs here to be
12634           consistent, too.
12635
12636 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12637
12638         * docs/manual/autoplugging.xml:
12639         * docs/manual/bins-api.xml:
12640         * docs/manual/bins.xml:
12641         * docs/manual/buffers-api.xml:
12642         * docs/manual/buffers.xml:
12643         * docs/manual/clocks.xml:
12644         * docs/manual/components.xml:
12645         * docs/manual/cothreads.xml:
12646         * docs/manual/debugging.xml:
12647         * docs/manual/dparams-app.xml:
12648         * docs/manual/dynamic.xml:
12649         * docs/manual/elements-api.xml:
12650         * docs/manual/elements.xml:
12651         * docs/manual/factories.xml:
12652         * docs/manual/gnome.xml:
12653         * docs/manual/goals.xml:
12654         * docs/manual/helloworld.xml:
12655         * docs/manual/helloworld2.xml:
12656         * docs/manual/init-api.xml:
12657         * docs/manual/intro.xml:
12658         * docs/manual/links-api.xml:
12659         * docs/manual/links.xml:
12660         * docs/manual/manual.xml:
12661         * docs/manual/motivation.xml:
12662         * docs/manual/pads-api.xml:
12663         * docs/manual/pads.xml:
12664         * docs/manual/plugins-api.xml:
12665         * docs/manual/plugins.xml:
12666         * docs/manual/programs.xml:
12667         * docs/manual/queues.xml:
12668         * docs/manual/quotes.xml:
12669         * docs/manual/schedulers.xml:
12670         * docs/manual/states-api.xml:
12671         * docs/manual/states.xml:
12672         * docs/manual/threads.xml:
12673         * docs/manual/typedetection.xml:
12674         * docs/manual/xml.xml:
12675           use chapter, part, section or misc as id starts for all bits
12676
12677 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12678
12679         * docs/gst/gstreamer-sections.txt:
12680           Fix up TITLE of the sections
12681
12682 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12683
12684         * docs/pwg/advanced_interfaces.xml:
12685           Add documentation on propertyprobing.
12686         * docs/pwg/advanced_events.xml:
12687         * docs/pwg/advanced_tagging.xml:
12688         * docs/pwg/building_boiler.xml:
12689         * docs/pwg/building_filterfactory.xml:
12690         * docs/pwg/pwg.xml:
12691           Move filterfactory and tagging into their own chapter, add a chapter
12692           on events. all these are empty placeholders that will be filled in
12693           some day.
12694
12695 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12696
12697         * docs/pwg/advanced_interfaces.xml:
12698           Docs for mixer interface. Also a check for website uploading.
12699
12700 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12701
12702         * docs/HACKING:
12703         * docs/Makefile.am:
12704         * docs/faq/Makefile.am:
12705         * docs/gst/Makefile.am:
12706         * docs/gst/tmpl/gstelement.sgml:
12707         * docs/gst/tmpl/gstplugin.sgml:
12708         * docs/gst/tmpl/gstreamer-unused.sgml:
12709         * docs/libs/Makefile.am:
12710         * docs/manual/Makefile.am:
12711         * docs/manuals.mak:
12712         * docs/pwg/Makefile.am:
12713         * docs/upload.mak:
12714           Separate out upload target and make it similar for
12715           both docbook and gtk-doc docs
12716
12717 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12718
12719         * docs/manuals.mak:
12720           Fix upload target to work with freedesktop
12721
12722 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12723
12724         * docs/pwg/advanced_types.xml:
12725           Add notes on creating your own types.
12726         * docs/pwg/building_boiler.xml:
12727         * docs/pwg/building_pads.xml:
12728         * docs/pwg/building_state.xml:
12729           Add some stuff about how to retrieve values from structures, how
12730           that relates to types and change layout slightly again to be almost
12731           perfect.
12732
12733 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12734
12735         * docs/pwg/advanced_dparams.xml:
12736         * docs/pwg/advanced_scheduling.xml:
12737           Change index layout slightly.
12738
12739 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12740
12741         * docs/pwg/advanced_clock.xml:
12742         * docs/pwg/advanced_interfaces.xml:
12743         * docs/pwg/advanced_midi.xml:
12744           General placeholders for now.
12745         * docs/pwg/advanced_request.xml:
12746           Explanation about sometimes and request pads.
12747         * docs/pwg/advanced_scheduling.xml:
12748           Concept of bytestream, loopfunctions and schedulers.
12749         * docs/pwg/building_boiler.xml:
12750           Add something about plugin-init.
12751
12752 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12753
12754         * docs/pwg/building_pads.xml:
12755           Fix broken docbook
12756
12757 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12758
12759         * docs/pwg/advanced_interfaces.xml:
12760         * docs/pwg/pwg.xml:
12761           Add as a placeholder for future filling-in.
12762         * docs/pwg/basics_autoplugging.xml:
12763         * docs/pwg/basics_buffers.xml:
12764         * docs/pwg/basics_elements.xml:
12765         * docs/pwg/basics_events.xml:
12766         * docs/pwg/basics_plugins.xml:
12767         * docs/pwg/basics_types.xml:
12768           Remove, because unused (this is all in intro_basics.xml).
12769         * docs/pwg/building_signals.xml:
12770           Short intro to signals + reference to GObject docs - we really
12771           shouldn't go into these sort of things to deply because we don't
12772           use them that extensively anyway.
12773         * docs/pwg/building_state.xml:
12774           Explanation of states. Benjamin, please check.
12775         * docs/pwg/building_testapp.xml:
12776           Put everything in one page - putting only a few lines of content
12777           per page doesn't really make sense.
12778
12779           Time to get into the advanced topics. ;).
12780
12781 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12782
12783         * docs/pwg/advanced_types.xml:
12784           Finish documenting the current state of mimetypes.
12785         * docs/pwg/building_boiler.xml:
12786         * docs/pwg/building_chainfn.xml:
12787         * docs/pwg/building_pads.xml:
12788         * docs/pwg/building_props.xml:
12789         * docs/pwg/building_testapp.xml:
12790           Start documenting the "how to build a simple audio filter" part
12791           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12792           states and (maybe?) a short introduction to capsnego in the chapter
12793           on pads (building_pads.xml). Capsnego should probably be explained
12794           fully in advanced_capsnego.xml or so.
12795
12796 2004-01-26  David Schleef  <ds@schleef.org>
12797
12798         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12799         * gst/gstpad.h: Add new function to allow element to (somewhat)
12800         specify non-fixed caps on a pad.
12801         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12802         that I added a few weeks ago.
12803
12804 2004-01-26  David Schleef  <ds@schleef.org>
12805
12806         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12807           making try_set_caps() work with non-fixed caps.
12808
12809 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12810
12811         * docs/pwg/advanced_types.xml:
12812         * docs/pwg/intro_basics.xml:
12813         * docs/pwg/intro_preface.xml:
12814         * docs/pwg/pwg.xml:
12815         * docs/pwg/titlepage.xml:
12816           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12817           in here (docs/random/mimetypes), and will from there on work on both
12818           updating outdated parts and adding missing parts.
12819           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12820
12821 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12822
12823         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12824           policy is set
12825
12826 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12827
12828         * gst/gstelement.h:
12829           remove gst_element_factory_get_version. It doesn't exist anymore.
12830         * gst/gstplugin.c:
12831         * gst/gstplugin.h:
12832           remove gst_plugin_set_name and change gst_plugin_get_longname to
12833           gst_plugin_get_description to match code.
12834         * gst/gsterror.h:
12835           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12836         * gst/gstpad.c: (gst_pad_try_set_caps):
12837           make it work with nonfixed caps.
12838           Note that even in the nonfixed case the link function of the pad
12839           that tries to set caps isn't called.
12840
12841 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12842
12843         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12844           fix bug where buffer was not assembled correctly
12845         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12846           silence by default
12847         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12848           only seek if there's no more buffers that could work without seeking
12849
12850 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12851
12852         * gst/gsttag.c: (_gst_tag_initialize):
12853         * gst/gsttag.h:
12854           Add application tag (for encoding/muxing app).
12855
12856 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12857
12858         * autogen.sh:
12859           make autopoint force, and libtoolize not copy
12860         * common/m4/as-docbook.m4:
12861           added docbook xml catalog setup check
12862         * common/m4/gst-doc.m4:
12863           use docbook check
12864
12865 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12866
12867         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12868         * gst/gsttag.h:
12869           add GstTagFlag
12870
12871 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12872
12873         * docs/gst/gstreamer-sections.txt:
12874         * docs/gst/tmpl/gst.sgml:
12875         * docs/gst/tmpl/gstbuffer.sgml:
12876         * docs/gst/tmpl/gstclock.sgml:
12877         * docs/gst/tmpl/gstelement.sgml:
12878         * docs/gst/tmpl/gstreamer-unused.sgml:
12879         * docs/gst/tmpl/gstxml.sgml:
12880           sync latest API changes to docs
12881
12882 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12883
12884         * gst/gstpluginfeature.c:
12885           fix doc snippet
12886         * tools/gst-inspect.c: (print_element_list):
12887           fix output of typefind
12888           add GPL header
12889         * tools/gst-launch.c:
12890           add GPL header
12891
12892 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12893
12894         * gst/elements/Makefile.am:
12895         * gst/elements/gstelements.c:
12896         * gst/elements/gsttypefindelement.c:
12897         * gst/elements/gsttypefindelement.h:
12898         * po/POTFILES.in:
12899         * po/fr.po:
12900         * po/nl.po:
12901           renamed gsttypefindelement to gsttypefind, conserving CVS history
12902
12903 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12904
12905         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12906         * gst/gsttag.h:
12907           add some tags used in ogg as well
12908           fix _ in replaygain tags
12909
12910 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12911
12912         * gst/gsterror.h:
12913           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12914
12915 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12916
12917         * gst/gstelement.c: (gst_element_error_full):
12918         * gst/gstelement.h:
12919           change _extended to _full
12920
12921 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12922
12923         reviewed by: <delete if not using a buddy>
12924
12925         * docs/gst/tmpl/gst.sgml:
12926         * docs/gst/tmpl/gstbuffer.sgml:
12927         * docs/gst/tmpl/gstclock.sgml:
12928         * docs/gst/tmpl/gstelement.sgml:
12929         * docs/gst/tmpl/gstreamer-unused.sgml:
12930         * docs/gst/tmpl/gstxml.sgml:
12931         * gst/gstelement.c: (gst_element_error_full):
12932         * gst/gstelement.h:
12933
12934 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12935
12936         * gst/gstelement.h: fix _gst_element_error_printf prototype
12937
12938 2004-01-20  David Schleef  <ds@schleef.org>
12939
12940         * gst/gststructure.c: (gst_structure_to_string):
12941         Convert function to use gst_value_serialize().
12942         * gst/gstvalue.c: (gst_value_serialize_list),
12943         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12944         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12945         (gst_value_serialize_int), (gst_value_serialize_double),
12946         (gst_string_wrap), (gst_value_serialize_string),
12947         (gst_value_serialize), (gst_value_deserialize):
12948         * gst/gstvalue.h:
12949         Add implementations for serialize.
12950
12951 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12952
12953         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12954         we want to keep that one in the future or change xvidenc.c to use 
12955         another error.
12956
12957 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12958
12959         * gst/gstelement.c: (_gst_element_error_printf):
12960         * gst/gstelement.h:
12961           privatise function
12962
12963 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12964
12965         * docs/random/error:
12966           doc explaining error system
12967         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12968           cleanup
12969
12970 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12971
12972         * gst/gst-i18n-app.h:
12973         * gst/gst-i18n-lib.h:
12974           remove inclusion of config.h
12975         * po/POTFILES.in:
12976         * po/nl.po:
12977           add gst/gstelement.c
12978
12979 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12980
12981         * po/nl.po: updated Dutch translation
12982
12983 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12984
12985         * gst/gsterror.c: (_gst_core_errors_init),
12986         (_gst_library_errors_init), (_gst_resource_errors_init),
12987         (_gst_stream_errors_init):
12988         remove ending punctuation dots
12989
12990 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12993         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12994         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12995         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12996         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12997         use GST_ERROR_SYSTEM
12998
12999 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13000
13001         * gst/gstelement.c: (gst_element_error_printf),
13002         (gst_element_error_extended):
13003         * gst/gstelement.h:
13004           add a helper printf function so we can have NULL values passed.
13005
13006 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13007
13008         * gst/gstelement.h:
13009           add G_STMT macros to gst_element_error, which isn't strictly
13010           necessary but people tell me to anyway.
13011
13012 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13013
13014         * gst/Makefile.am:
13015         * gst/autoplug/gstspideridentity.c:
13016         (gst_spider_identity_sink_loop_type_finding):
13017         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13018         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13019         (gst_filesink_close_file), (gst_filesink_handle_event),
13020         (gst_filesink_chain):
13021         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13022         (gst_filesrc_map_region), (gst_filesrc_get_read),
13023         (gst_filesrc_open_file):
13024         * gst/elements/gstidentity.c: (gst_identity_chain):
13025         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13026         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13027         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13028         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13029         * gst/gst.h:
13030         * gst/gst_private.h:
13031         * gst/gstelement.c: (gst_element_class_init),
13032         (gst_element_default_error), (gst_element_error_func),
13033         (gst_element_error_extended):
13034         * gst/gstelement.h:
13035         * gst/gsterror.c: (_gst_core_errors_init),
13036         (_gst_library_errors_init), (_gst_resource_errors_init),
13037         (_gst_stream_errors_init), (gst_error_get_message):
13038         * gst/gsterror.h:
13039         * gst/gstinfo.c: (_gst_debug_init):
13040         * gst/gstmarshal.list:
13041         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13042         (gst_pad_recover_caps_error), (gst_pad_pull):
13043         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13044         * gst/schedulers/gstbasicscheduler.c:
13045         (gst_basic_scheduler_chainhandler_proxy),
13046         (gst_basic_scheduler_gethandler_proxy),
13047         (gst_basic_scheduler_cothreaded_chain):
13048         * po/POTFILES.in:
13049         * po/fr.po:
13050         * po/nl.po:
13051           change error signal
13052           add error categories
13053
13054 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13055
13056         * gst/gsttag.c: (_gst_tag_initialize):
13057         * gst/gsttag.h:
13058         Add replaygain tag
13059
13060 2004-01-18  Colin Walters  <walters@verbum.org>
13061
13062         * examples/retag/retag.c: Call gst_init before processing
13063         program args.  Add g_assert to _link_many call.
13064
13065 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13066
13067         * gst/gstpad.c: (gst_pad_alloc_buffer):
13068           Return a newly allocated buffer when the pad has no peer.
13069
13070 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13071
13072         * gst/gstclock.c: (gst_clock_get_time):
13073           make it compile with gcc 2.95 again.
13074           Patch by Scott Wheeler
13075
13076 2004-01-15  David Schleef  <ds@schleef.org>
13077
13078         * gst/gstcaps.h:
13079         Added gst_caps_is_simple() macro.
13080         * testsuite/caps/caps.c: (test1):
13081         * testsuite/caps/intersect2.c: (main):
13082         * testsuite/caps/intersection.c: (main):
13083         Fixes to make 'make check' work again after removing
13084         gst_caps_is_chained().
13085
13086 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13087
13088         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13089         and additions to the MIDI document.
13090
13091 2004-01-15  David Schleef  <ds@schleef.org>
13092
13093         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13094         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13095         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13096
13097 2004-01-15  David Schleef  <ds@schleef.org>
13098
13099         * gst/gstqueue.c:
13100         * gst/gstqueue.h:
13101         Fix the spelling of "treshold" and make min_threshold actually
13102         affect the queue.
13103
13104 2004-01-15  David Schleef  <ds@schleef.org>
13105
13106         * gst/gstcaps.c:
13107         Add lots of documentation.
13108         * gst/gstcaps.h:
13109         Deprecate a few functions.
13110         * gst/gstpad.c:
13111         Removed use of deprecated functions.
13112
13113 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13114
13115         * gst/gstpad.c: (gst_pad_is_linked):
13116         * gst/gstpad.h:
13117           implement gst_pad_is_linked
13118         * gst/gstelement.h:
13119           reserve space for initiate_state_change
13120
13121 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13122
13123         * gst/autoplug/gstspideridentity.c:
13124         (gst_spider_identity_sink_loop_type_finding):
13125           break infinite loop by just returning instead of looping
13126         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13127           set event time difference correctly. Set it to 1 second instead
13128           of 100ms to be more tolerant
13129         * gst/gstelement.c: (gst_element_set_time):
13130           add debugging output
13131
13132 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13133
13134         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13135           query if buffers are inside the pool, ignore events
13136
13137 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13138
13139         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13140         (gst_clock_set_speed), (gst_clock_set_active),
13141         (gst_clock_is_active), (gst_clock_reset),
13142         (gst_clock_handle_discont):
13143         * gst/gstclock.h:
13144           deprecate old interface and disable functions that aren't in use
13145           anymore.
13146         * gst/gstelement.h:
13147         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13148         (gst_element_set_time), (gst_element_adjust_time):
13149           add concept of "element time" and functions to get/set this time.
13150         * gst/gstelement.c: (gst_element_change_state):
13151           update element time correctly.
13152         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13153           This is a debug message, not a g_critical.
13154         * gst/gstpad.c: (gst_pad_event_default):
13155           handle discontinuous events right with element time.
13156         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13157           update to clocking fixes.
13158           set clocks on elements in READY=>PAUSED. The old behaviour caused
13159           a wrong element time on the first element that started playing.
13160         * gst/schedulers/gstbasicscheduler.c:
13161         (gst_basic_scheduler_class_init):
13162         * gst/schedulers/gstoptimalscheduler.c:
13163         (gst_opt_scheduler_class_init):
13164           remove code that just implements the default behaviour.
13165         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13166           update to use new clocking functions
13167         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13168         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13169           update to test new element time.
13170         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13171           use _get_allowed_caps instead of _get_caps. This catches filtered
13172           caps correctly.
13173         * testsuite/debug/commandline.c:
13174           update for new GST_DEBUG syntax.
13175         * testsuite/threads/Makefile.am:
13176           disable a test that only works sometimes.
13177
13178 2004-01-13  Julien MOUTTE <julien@moutte.net>
13179
13180         * po/LINGUAS: Adding fr.
13181         * po/fr.po: Adding french translation.
13182
13183 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13184
13185         * gst/parse/grammar.y:
13186         * po/POTFILES.in:
13187         * po/nl.po:
13188         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13189           translate parsing error messages
13190
13191 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13192
13193         * po/POTFILES.in: adding gst-launch
13194         * po/nl.po: updated translation, all 99 strings translated
13195         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13196         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13197           fix strings for translation
13198
13199 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13200
13201         * gst/gst.c:
13202           - capitalize beginnings of popt options
13203           - fix strings for translation
13204           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13205
13206 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13207
13208         * po/README: add some notes on how to update translations
13209
13210 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13211
13212         * ABOUT-NLS: removed, is autogenerated from autopoint
13213         * autogen.sh: add autopoint stuff
13214         * configure.ac: fix up gettext stuff
13215         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13216         * gst/elements/gsttypefindelement.c: add header include
13217         * gst/gettext.h: add header, copy from system-installed header
13218         * gst/gst-i18n-app.h: to be included by each app having translations
13219         * gst/gst-i18n-lib.h: to be included by each lib having translations
13220         * gst/gst.c: (init_pre): fix up gettext calls
13221         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13222         * po/LINGUAS: the new way to specify translations present
13223         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13224         * po/Makevars: the variables filled in for GStreamer
13225         * po/POTFILES.in: added new files with translations
13226         * po/de.po: has new strings
13227         * po/nl.po: readded, has new strings
13228
13229 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13230
13231         * gst/gsttag.c: fix some strings marked for translation
13232
13233 2004-01-13  Iain <iain@prettypeople.org>
13234
13235         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13236         group when we add an element to it, cos we unref it when we remove one
13237
13238 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13239
13240         * testsuite/debug/commandline.c: (debug_not_reached):
13241         * testsuite/debug/output.c: (check_message):
13242           fix testsuite
13243
13244 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13245
13246         * examples/cutter/.cvsignore:
13247         * examples/helloworld/.cvsignore:
13248         * examples/launch/.cvsignore:
13249         * examples/manual/.cvsignore:
13250         * examples/mixer/.cvsignore:
13251         * examples/pingpong/.cvsignore:
13252         * examples/plugins/.cvsignore:
13253         * examples/queue/.cvsignore:
13254         * examples/queue2/.cvsignore:
13255         * examples/queue3/.cvsignore:
13256         * examples/queue4/.cvsignore:
13257         * examples/retag/.cvsignore:
13258         * examples/thread/.cvsignore:
13259         * examples/typefind/.cvsignore:
13260         * examples/xml/.cvsignore:
13261         * gst/.cvsignore:
13262         * gst/autoplug/.cvsignore:
13263         * gst/elements/.cvsignore:
13264         * gst/indexers/.cvsignore:
13265         * gst/parse/.cvsignore:
13266         * gst/registries/.cvsignore:
13267         * gst/schedulers/.cvsignore:
13268         * libs/gst/bytestream/.cvsignore:
13269         * libs/gst/control/.cvsignore:
13270         * libs/gst/getbits/.cvsignore:
13271         * tests/.cvsignore:
13272         * tests/bufspeed/.cvsignore:
13273         * tests/instantiate/.cvsignore:
13274         * tests/memchunk/.cvsignore:
13275         * tests/muxing/.cvsignore:
13276         * tests/sched/.cvsignore:
13277         * tests/seeking/.cvsignore:
13278         * tests/threadstate/.cvsignore:
13279         * testsuite/.cvsignore:
13280         * testsuite/caps/.cvsignore:
13281         * testsuite/cleanup/.cvsignore:
13282         * testsuite/dynparams/.cvsignore:
13283         * testsuite/plugin/.cvsignore:
13284         * tools/.cvsignore:
13285           update - this is huge, because it includes *.bb, *.bbg and *.da files
13286           which are generated for gcov.
13287
13288 2004-01-11  David Schleef  <ds@schleef.org>
13289
13290         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13291         a function to parse integers in ways that strto[u]l() does not.
13292
13293 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13294
13295         * tools/gst-inspect.c: (print_caps):
13296           improve output of caps a bit
13297
13298 2004-01-11  David Schleef  <ds@schleef.org>
13299
13300         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13301         inherit correct flags (READONLY and DONTKEEP).
13302
13303 2004-01-11  David Schleef  <ds@schleef.org>
13304
13305         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13306         (gst_filesrc_map_region):
13307         * gst/gstbuffer.c: (_gst_buffer_initialize),
13308         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13309         (gst_buffer_new), (gst_buffer_create_sub),
13310         (gst_buffer_is_span_fast), (gst_buffer_span):
13311         * gst/gstbuffer.h:
13312         Change GstBuffer private structure element names. (all files)
13313         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13314         (gst_queue_link):
13315         * gst/gstqueue.h:
13316         Implement getcaps/pad_link functions that handle the case where
13317         there are data in the queue.
13318
13319 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13320
13321         * gst/elements/gstbufferstore.c:
13322           initialize debugging structure correctly
13323         * gst/elements/gsttee.c: (gst_tee_set_property):
13324           g_object_notify when property was changed
13325         * gst/elements/gsttypefindelement.c:
13326         (gst_type_find_element_change_state):
13327           clear caps correctly
13328
13329 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13330
13331         * gst/gstqueue.c: (gst_queue_init):
13332           Use better defaults for when a queue should block. This
13333           gets rid of jerky playback for quite a few files.
13334           It takes more memory.
13335
13336 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13337
13338         (gst_xml_registry_parse_padtemplate):
13339           make critical message slightly more useful
13340
13341 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13342
13343         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13344         (gst_debug_message_get), (gst_debug_log_default):
13345         * gst/gstinfo.h:
13346           Change gst_debug_log(_valist) to take a const format string.
13347           Change prototype of log function and functions using those to 
13348           take a GstDebugMessage instead of a string that requires using
13349           gst_debug_message_get.
13350
13351 2004-01-08  David Schleef  <ds@schleef.org>
13352
13353         * Makefile.am:
13354         * configure.ac:
13355         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13356         and -ftest-coverage, which allows gcov to show information about
13357         testsuite coverage.
13358
13359 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13360
13361         * gst/gstutils.h:
13362           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13363           GST_PARENT_CALL_WITH_DEFAULT
13364         * gst/elements/gstaggregator.c: 
13365         * gst/elements/gstbufferstore.c: 
13366         * gst/elements/gstfakesink.c: 
13367         * gst/elements/gstfakesrc.c: 
13368         * gst/elements/gstfdsink.c: 
13369         * gst/elements/gstfdsrc.c: 
13370         * gst/elements/gstfilesink.c: 
13371         * gst/elements/gstfilesrc.c: 
13372         * gst/elements/gstidentity.c: 
13373         * gst/elements/gstmd5sink.c: 
13374         * gst/elements/gstmultidisksrc.c:
13375         * gst/elements/gstpipefilter.c: 
13376         * gst/elements/gstshaper.c:
13377         * gst/elements/gststatistics.c:
13378         * gst/elements/gsttee.c:
13379         * gst/elements/gsttypefindelement.c:
13380           use them.
13381
13382 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13383
13384         * docs/gst/gstreamer-docs.sgml: remove props
13385         * docs/gst/gstreamer-sections.txt: remove props
13386         * docs/gst/tmpl/gst.sgml:
13387         * docs/gst/tmpl/gstbin.sgml:
13388         * docs/gst/tmpl/gstbuffer.sgml:
13389         * docs/gst/tmpl/gstcaps.sgml:
13390         * docs/gst/tmpl/gstclock.sgml:
13391         * docs/gst/tmpl/gstelement.sgml:
13392         * docs/gst/tmpl/gstindex.sgml:
13393         * docs/gst/tmpl/gstobject.sgml:
13394         * docs/gst/tmpl/gstpad.sgml:
13395         * docs/gst/tmpl/gstpadtemplate.sgml:
13396         * docs/gst/tmpl/gstreamer-unused.sgml:
13397         * docs/gst/tmpl/gstthread.sgml:
13398         * docs/gst/tmpl/gstxml.sgml:
13399           sync with code reorganization
13400
13401 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13402
13403         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13404         Make the 'Could not find compatible pad' message more informative.
13405
13406 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13407                                                                                 
13408         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13409           Fix for if we pass NULL as property to location.
13410         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13411         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13412           Fix for instantiate-test (see below).
13413         * gst/gststructure.c: (_gst_structure_parse_value):
13414           Fix compile error on gcc-2.96.
13415         * configure.ac:
13416         * tests/Makefile.am:
13417         * tests/instantiate/Makefile.am:
13418         * tests/instantiate/create.c: (create_all_elements), (main):
13419           Add a test that instantiates all elements. This makes it easy to
13420           track dead code for old API/design (like setting event functions
13421           on sink pads and so on).
13422
13423 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13424
13425         * gst/gstcaps.c: (gst_caps_append_structure):
13426           Move the poisoning to allow a NULL structure
13427         * gst/gstevent.c: (_gst_event_free):
13428           When freeing a navigation event, free the structure
13429           also
13430
13431 2004-01-04  David Schleef  <ds@schleef.org>
13432
13433         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13434         Remove usage of gst_pad_proxy_fixate.
13435         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13436         (gst_caps_split_one), (gst_caps_replace):
13437         Add poisoning code.
13438         * gst/gstmarshal.list:
13439         Add pointer__pointer for fixate signal
13440         * gst/gstpad.c: (gst_real_pad_class_init),
13441         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13442         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13443         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13444         Add poisoning code. Add fixate signal on RealPad. Change
13445         set_explicit_caps() to take const GstCaps, like try_set_caps().
13446         * gst/gstpad.h:
13447         * testsuite/caps/Makefile.am:
13448         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13449
13450 2004-01-03  David Schleef  <ds@schleef.org>
13451
13452         * gst/elements/gsttypefindelement.c:
13453         (gst_type_find_element_have_type), (gst_type_find_element_init):
13454         Use gst_pad_use_explicit_caps for src pad.
13455         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13456         before using it.
13457
13458 2004-01-03  David Schleef  <ds@schleef.org>
13459
13460         * gst/gstelement.c: (gst_element_link_pads_filtered),
13461         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13462         that linking was successful.
13463         * gst/gstpad.c: (gst_pad_link_free),
13464         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13465         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13466         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13467         GstPadLinkReturn correctly between functions, and don't fail
13468         when DELAYED is used (DELAYED is very important).  Better
13469         cleanup on unlinking and unnegotiation.  Should fix some spider
13470         bugs.
13471
13472 2004-01-02  David Schleef  <ds@schleef.org>
13473
13474         * gst/gstelement.c: (gst_element_class_init),
13475         (gst_element_base_class_init): ->padtemplates should be cleared
13476         in base_init, since we need to have a fresh list for every
13477         class.  (Alternately, we chould copy the list and share the
13478         actual pad templates (not the list), but that would require
13479         changing every plugin to move pad template registration from
13480         base_init to class_init.)
13481
13482 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13483
13484         * gst/gstelement.c: (gst_element_class_add_pad_template):
13485           Refuse registering a pad template if another pad template
13486           with the same name already exists (#114715).
13487
13488 2004-01-02  David Schleef  <ds@schleef.org>
13489
13490         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13491         (gst_caps_is_equal_fixed): Add new function.
13492         * gst/gstcaps.h: ditto.
13493         * gst/gstpad.c: (gst_real_pad_class_init),
13494         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13495         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13496         check new caps against existing caps -- if they're the same, return
13497         OK without renegotiating.  caps-nego-failed signal fixed so that
13498         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13499         to save an extra caps copy.  Don't complete negotiation if a pad
13500         link function returns DELAYED.
13501
13502 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13503
13504         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13505           Fix wrong g_return_if_fail
13506
13507 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13508
13509         * gst/gstbin.c: (gst_bin_class_init):
13510         Change the marshalling of element_added/element_removed
13511         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13512         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13513
13514 2004-01-01  David Schleef  <ds@schleef.org>
13515
13516         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13517         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13518         (gst_pad_use_explicit_caps):
13519         * gst/gstpad.h:
13520         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13521         to use an internal getcaps and link fuction so that negotiation
13522         always results in the explicitly set caps.
13523         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13524         are particularly useful for decoders.
13525
13526 2003-12-31  David Schleef  <ds@schleef.org>
13527
13528         * gst/elements/gstidentity.c: (gst_identity_class_init),
13529         (gst_identity_init), (gst_identity_chain),
13530         (gst_identity_set_property), (gst_identity_get_property):
13531         * gst/elements/gstidentity.h:
13532         * gst/gstqueue.c: (gst_queue_init):
13533           Negotiation fixes.
13534
13535 2003-12-31  David Schleef  <ds@schleef.org>
13536
13537         * gst/gstcaps.c: (gst_caps_intersect),
13538         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13539           Implement gst_caps_normalize().
13540         * testsuite/caps/normalisation.c: (main):
13541           Add an additional test
13542
13543 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13544
13545         * gst/gstqueue.c: (gst_queue_init):
13546           use gst_pad_proxy_getcaps()
13547
13548 2003-12-31  David Schleef  <ds@schleef.org>
13549
13550         * gst/elements/gstshaper.c: (gst_shaper_link):
13551         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13552         * gst/gstqueue.c: (gst_queue_link):
13553           Negotiation fixes.
13554
13555 2003-12-31  David Schleef  <ds@schleef.org>
13556
13557         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13558         * gst/gstpad.h: Add functions that are useful as default pad
13559         link and fixate functions for elements.
13560
13561 2003-12-30  David Schleef  <ds@schleef.org>
13562
13563         * gst/gstpad.c: (gst_pad_link_try):
13564           Fix segfault when attempting to return to old caps
13565
13566 2003-12-29  David Schleef  <ds@schleef.org>
13567
13568         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13569         (gst_caps_structure_simplify), (gst_caps_simplify):
13570         * gst/gstcaps.h:
13571           Add simplify function
13572         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13573         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13574         * gst/gstpad.h:
13575           Copy over srcnotify, sinknotify when calling old pad_link
13576           functions.  Add new is_negotiated() function.
13577         * gst/gststructure.c: (gst_structure_copy):
13578           Fix an incredibly stupid bug that should have been noticed
13579           weeks ago.  _copy() returned the argument, not the new copy.
13580
13581 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13582
13583         * gst/gstcaps.c: (gst_caps_append):
13584           add sanity checks
13585         * gst/gstcaps.h: (gst_caps_debug):
13586           remove, it doesn't exist anymore.
13587         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13588         (gst_element_threadsafe_properties_post_run):
13589           make debugging messages not clutter up THREAD debug category
13590         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13591         (gst_element_change_state):
13592           update to new caps API
13593         * gst/gstinterface.c: (gst_implements_interface_cast):
13594           don't put vital code in g_return_if_fail
13595         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13596         (gst_pad_link_filtered):
13597           add pst_pad_try_link and use it.
13598         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13599           implement correctly, deprecate first one.
13600         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13601           add and implement.
13602         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13603           implement.
13604         (gst_pad_get_negotiated_caps):
13605           add and implement. Make GST_PAD_CAPS call this function.
13606         (gst_pad_get_caps):
13607           remove unneeded check..
13608         (gst_pad_recover_caps_error):
13609           disable, always return FALSE.
13610         (gst_real_pad_dispose):
13611           don't free caps and appfilter anymore, they're unused.
13612         * gst/gstpad.h:
13613           Reflect changes mentioned above.
13614         * gst/gstsystemclock.c: (gst_system_clock_wait):
13615           Make 'clock is way behind' a debugging message.
13616         * gst/gstthread.c: (gst_thread_change_state):
13617           Fix debugging message
13618
13619 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13620
13621         * gst/gstinfo.h:
13622           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13623         * docs/gst/tmpl/gstreamer-unused.sgml:
13624           removed all traces of cvs conflicts
13625
13626 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13627
13628         * configure.ac:
13629         * gst/schedulers/cothreads_compat.h:
13630         * libs/Makefile.am:
13631           remove last instances of wingo cothread usage
13632
13633 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13634
13635         * gst/gstplugin.c:
13636         * gst/gstversion.h.in:
13637         * gst/parse/grammar.y:
13638           change comment block from /** to /* when not gtk-doc comments
13639
13640 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13641
13642         * gst/gst.c: whitespace and doc style fixes
13643
13644 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13645
13646         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13647
13648 2003-12-24  Colin Walters  <walters@verbum.org>
13649
13650         * gst/elements/gsttypefindelement.c:
13651           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13652           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13653           Don't double-free caps.
13654
13655 2003-12-23  David Schleef  <ds@schleef.org>
13656
13657         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13658           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13659           Many little fixes and additions of debug statements to
13660           get rhythmbox working.
13661
13662 2003-12-23  Colin Walters  <walters@verbum.org>
13663
13664         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13665         Use GST_PAD_LINK_SUCCESSFUL.
13666
13667 2003-12-23  David Schleef  <ds@schleef.org>
13668
13669         * gst/elements/gstaggregator.c:
13670         * gst/elements/gsttee.c:
13671           Use gst_pad_proxy_getcaps().
13672         * gst/gstpad.c:
13673         * gst/gstpad.h:
13674           Add gst_pad_proxy_getcaps(), which filter elements can use
13675           as a generic getcaps implementation.
13676           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13677           was advertised.
13678
13679 2003-12-23  David Schleef  <ds@schleef.org>
13680
13681         * gst/gstpad.c:
13682           Rearrange/rewrite much of the pad negotiation code, since it
13683           resembled pasta.  This actually changes the way some
13684           negotiation works, since the previous code was inconsistent
13685           depending on how it was invoked.  Add (internal) structure
13686           GstPadLink, which is used to hold some information (more in
13687           the future) about the link between two pads.  Fixes a number
13688           of bugs, including random lossage of filter caps when the
13689           initial negotiation is delayed.  A few functions are still
13690           unimplemented.
13691         * gst/gstpad.h:
13692           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13693           these when testing GstPadLinkReturn values instead of comparing
13694           directly.
13695
13696 2003-12-23  David Schleef  <ds@schleef.org>
13697
13698         * gst/gstvalue.c: 
13699         * gst/gstvalue.h:
13700           Rearrange lots of code.  Change registration of compare function
13701           into registration of compare/serialize/deserialize functions.
13702           Doesn't include implementation of gst_value_[de]serialize(),
13703           but that should be easy.
13704
13705 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13706
13707         * docs/gst/gstreamer-sections.txt:
13708         * docs/gst/tmpl/gstprops.sgml: removed
13709         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13710           David removed props and caps code, so let's remove their docs as well.
13711           Removed all no longer existing symbols from gstreamer-sections.txt
13712           
13713 2003-12-22  Colin Walters  <walters@verbum.org>
13714
13715         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13716           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13717           of tags directly.
13718
13719 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13720
13721         * gst/elements/gstelements.c:
13722           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13723         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13724           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13725           gst_caps (peer).
13726
13727 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13728
13729         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13730         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13731         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13732         (gst_spider_identity_sink_loop_type_finding):
13733         * gst/autoplug/gstspideridentity.h:
13734           Fix autoplugging in spider element, so it works with new caps.
13735           This was mainly caused by identifying empty caps incorrectly.
13736
13737 2003-12-22  David Schleef  <ds@schleef.org>
13738
13739         * gststructure.c, gstvalue.c, gstvalue.h: Add
13740           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13741           using g_value_copy()
13742
13743 2003-12-21  David Schleef  <ds@schleef.org>
13744
13745         * many, many files: Merge CAPS branch.  This includes:
13746           - implemention of GstValue and several GstValue types
13747           - implemention of GstStructure
13748           - entire rewrite of GstCaps
13749           - removal of GstProps
13750           - many changes to GstPad to compensate for new caps paradigm
13751           - removal of GstBufferpool
13752         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13753         gstvalue.h, gst/gstcaps[2]*.[ch]:
13754           - rename gstcaps2.[ch] to gstcaps.[ch]
13755
13756 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13757
13758         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13759         (gst_queue_chain), (gst_queue_handle_src_event):
13760           implement timeout for sending events. Workaround for if the
13761           pipeline on this queue is not passing any data.
13762
13763 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13764                                                                                 
13765         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13766         * moved CVS to freedesktop.org