gst/: Add padding to our base elements' class and instance structs and to GstIterator...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/base/gstadapter.h:
4         * gst/base/gstbasesink.h:
5         * gst/base/gstbasesrc.h:
6         * gst/base/gstbasetransform.h:
7         * gst/base/gstcollectpads.h:
8         * gst/base/gstpushsrc.h:
9         * gst/gstiterator.h:
10           Add padding to our base elements' class and instance structs and
11           to GstIterator (you will need to rebuild all plugins and apps!)
12
13 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14
15         * gst/gstbin.c: (bin_bus_handler):
16           Make default message forwarding from child->bus to bin->bus
17           threadsafe and make it not emit warnings if the parent has no bus.
18
19 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20
21         * gst/gstelement.c: (activate_pads):
22           On paused->ready, set pad->caps to NULL, as is the documented
23           behaviour in this state change. Fixes playback of series of
24           media files when visualization is enabled in Totem.
25
26 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27
28         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29           Allow NULL as filter-caps (which means "any").
30
31 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
32
33         * docs/libs/gstreamer-libs-sections.txt:
34         * libs/gst/controller/gst-controller.c:
35         * libs/gst/controller/gst-controller.h:
36         * libs/gst/controller/gst-helper.c:
37           adding more entries to the docs and fix small doc-bugs
38
39 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
40
41         * docs/gst/gstreamer-docs.sgml:
42         * docs/gst/gstreamer-sections.txt:
43         * docs/gst/gstreamer.types:
44         * docs/gst/tmpl/gstbasesink.sgml:
45         * docs/gst/tmpl/gstbasesrc.sgml:
46         * docs/gst/tmpl/gstbasetransform.sgml:
47         * docs/gst/tmpl/gstfakesrc.sgml:
48         * gst/base/gstcollectpads.c:
49         * gst/base/gstcollectpads.h:
50         * libs/gst/controller/gst-controller.c:
51         * libs/gst/controller/gst-controller.h:
52         * libs/gst/controller/gst-helper.c:
53         * libs/gst/controller/gst-interpolation.c:
54         * libs/gst/controller/lib.c:
55           added long/short desc for controller docs
56           added collectpads base class docs
57           added correct includes to base-class docs
58
59 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
60
61         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
62         (gst_test_mono_source_set_property),
63         (gst_test_mono_source_class_init), (GST_START_TEST),
64         (gst_controller_suite):
65         * docs/gst/gstreamer-docs.sgml:
66         * docs/gst/gstreamer-sections.txt:
67         * docs/gst/gstreamer.types:
68         * docs/libs/gstreamer-libs-docs.sgml:
69         * docs/libs/gstreamer-libs-sections.txt:
70         * gst/base/gstadapter.c:
71         * libs/gst/controller/gst-controller.c:
72         (gst_controlled_property_new), (gst_controlled_property_free),
73         (gst_controller_new_valist),
74         (gst_controller_remove_properties_valist),
75         (gst_controller_sink_values), (_gst_controller_finalize):
76         * libs/gst/controller/gst-controller.h:
77         * libs/gst/controller/gst-helper.c:
78         (gst_object_control_properties), (gst_object_uncontrol_properties),
79         (gst_object_get_controller), (gst_object_set_controller),
80         (gst_object_sink_values), (gst_object_get_value_arrays),
81         (gst_object_get_value_array):
82           more tests (and fixes) for the controller
83           more docs for the controller
84           integrated companies docs for the adapter 
85
86 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
87
88         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
89         (GST_START_TEST), (fakesrc_suite):
90           add tests for sizetype
91
92 2005-08-04  Andy Wingo  <wingo@pobox.com>
93
94         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
95         fixes buffer_alloc proxying among other things.
96
97         * gst/base/gstbasetransform.c:
98         * gst/base/gstbasetransform.h:
99         Revert patch to gstbasetransform from 7-28 removing
100         delay_configure.
101
102         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
103         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
104         Semantics changed, should return not the size of the output buffer
105         but the byte size of a buffer with a given caps.
106
107         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
108         debug object.
109         (gst_base_transform_configure_caps): Don't set out_size here: (in,
110         out) are not the pad caps until setcaps finishes.
111         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
112         not-in-place case as well. Deal with changing from in-place to
113         not-in-place within calling pad_alloc_buffer. Still a bit
114         concerned about the overhead here...
115
116 2005-08-03  Andy Wingo  <wingo@pobox.com>
117
118         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
119         fixating is an error.
120
121 2005-08-04  Edward Hervey  <edward@fluendo.com>
122
123         * gst/base/gstadapter.h: 
124         Added gst_adapter_get_type() to the header
125
126 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
127
128         * check/Makefile.am:
129         * check/gst-libs/controller.c:
130         * libs/gst/controller/gst-controller.c:
131         (gst_controller_new_valist):
132           added check test suite for the controller
133         * gst/base/gstpushsrc.c:
134           fixed a doc typo
135
136 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
137
138         * docs/gst/Makefile.am:
139         * docs/gst/gstreamer-docs.sgml:
140         * docs/gst/gstreamer-sections.txt:
141         * docs/gst/gstreamer.types:
142         * docs/gst/tmpl/gstfakesrc.sgml:
143         * gst/base/README:
144         * gst/base/gstbasesink.c:
145         * gst/base/gstbasesink.h:
146         * gst/base/gstbasesrc.c:
147         * gst/base/gstbasesrc.h:
148         * gst/base/gstbasetransform.c:
149         * gst/base/gstpushsrc.c:
150         * gst/base/gstpushsrc.h:
151           add short/long description docs to base classes
152           add pushsrc to the docs
153           remove consolidated doc fragments
154
155 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
156
157         * configure.ac:
158         * docs/libs/Makefile.am:
159         * docs/libs/gstreamer-libs-docs.sgml:
160         * docs/libs/gstreamer-libs-sections.txt:
161         * docs/libs/gstreamer-libs.types:
162         * examples/Makefile.am:
163         * examples/controller/.cvsignore:
164         * examples/controller/Makefile.am:
165         * examples/controller/audio-example.c: (main):
166         * libs/gst/Makefile.am:
167         * libs/gst/controller/.cvsignore:
168         * libs/gst/controller/Makefile.am:
169         * libs/gst/controller/gst-controller.c:
170         (on_object_controlled_property_changed), (gst_timed_value_compare),
171         (gst_timed_value_find),
172         (gst_controlled_property_set_interpolation_mode),
173         (gst_controlled_property_new), (gst_controlled_property_free),
174         (gst_controller_find_controlled_property),
175         (gst_controller_new_valist), (gst_controller_new),
176         (gst_controller_remove_properties_valist),
177         (gst_controller_remove_properties), (gst_controller_set),
178         (gst_controller_set_from_list), (gst_controller_unset),
179         (gst_controller_get), (gst_controller_get_all),
180         (gst_controller_sink_values), (gst_controller_get_value_arrays),
181         (gst_controller_get_value_array),
182         (gst_controller_set_interpolation_mode),
183         (_gst_controller_finalize), (_gst_controller_init),
184         (_gst_controller_class_init), (gst_controller_get_type):
185         * libs/gst/controller/gst-controller.h:
186         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
187         (g_object_uncontrol_properties), (g_object_get_controller),
188         (g_object_set_controller), (g_object_sink_values),
189         (g_object_get_value_arrays), (g_object_get_value_array):
190         * libs/gst/controller/gst-interpolation.c:
191         (gst_controlled_property_find_timed_value_node),
192         (interpolate_none_get), (interpolate_trigger_get),
193         (interpolate_trigger_get_value_array):
194         * libs/gst/controller/lib.c: (gst_controller_init):
195         * pkgconfig/Makefile.am:
196         * pkgconfig/gstreamer-control-uninstalled.pc.in:
197         * pkgconfig/gstreamer-control.pc.in:
198         * testsuite/Makefile.am:
199         * testsuite/controller/.cvsignore:
200         * testsuite/controller/Makefile.am:
201         * testsuite/controller/interpolator.c: (main):
202           added controller code
203           removed dparam pc files
204
205 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
206         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
207         (gst_collectpads_stop):
208           Broadcast the condition when shutting down, to make sure we wake all
209           threads up. Shut down pads on finalize, for safety.
210
211 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
212         * gst/base/gstbasetransform.c: (gst_base_transform_init),
213         (gst_base_transform_handle_buffer),
214         (gst_base_transform_change_state):
215           Handle PAUSED->READY->PAUSED transition after negotiation
216           occurred already.
217         * gst/gstmessage.c: (gst_message_init):
218           Extra piece of debug for new messages.
219
220 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
221
222         * configure.ac:
223         * docs/gst/tmpl/gstbasesrc.sgml:
224         * docs/gst/tmpl/gstelement.sgml:
225         * docs/gst/tmpl/gstevent.sgml:
226         * docs/gst/tmpl/gstfakesrc.sgml:
227         * docs/gst/tmpl/gstformat.sgml:
228         * docs/gst/tmpl/gstghostpad.sgml:
229         * docs/gst/tmpl/gstpad.sgml:
230         * docs/gst/tmpl/gstquery.sgml:
231         * docs/gst/tmpl/gststructure.sgml:
232         * docs/gst/tmpl/gsttaglist.sgml:
233         * docs/gst/tmpl/gstvalue.sgml:
234         * docs/libs/gstreamer-libs-docs.sgml:
235         * docs/libs/gstreamer-libs-sections.txt:
236         * docs/libs/gstreamer-libs.types:
237         * libs/gst/Makefile.am:
238         * libs/gst/control/.cvsignore:
239         * libs/gst/control/Makefile.am:
240         * libs/gst/control/control.c:
241         * libs/gst/control/control.h:
242         * libs/gst/control/dparam.c:
243         * libs/gst/control/dparam.h:
244         * libs/gst/control/dparam_smooth.c:
245         * libs/gst/control/dparam_smooth.h:
246         * libs/gst/control/dparamcommon.h:
247         * libs/gst/control/dparammanager.c:
248         * libs/gst/control/dparammanager.h:
249         * libs/gst/control/dplinearinterp.c:
250         * libs/gst/control/dplinearinterp.h:
251         * libs/gst/control/unitconvert.c:
252         * libs/gst/control/unitconvert.h:
253         * testsuite/Makefile.am:
254         * testsuite/dynparams/.cvsignore:
255         * testsuite/dynparams/Makefile.am:
256         * testsuite/dynparams/dparamstest.c:
257         * tools/Makefile.am:
258         * tools/gst-inspect.c: (print_element_info), (main):
259         * tools/gst-xmlinspect.c: (print_element_info), (main):
260           deactivate and remove dparams (libgstcontrol)
261
262 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
263
264         * gst/elements/gsttypefindelement.c:
265         (gst_type_find_element_have_type), (gst_type_find_element_init),
266         (stop_typefinding), (gst_type_find_element_handle_event),
267         (gst_type_find_element_chain), (gst_type_find_element_getrange):
268         * gst/elements/gsttypefindelement.h:
269           Set caps on all outgoing buffers, not just the first one.
270
271 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
272
273         * gst/elements/gsttypefindelement.c:
274         (gst_type_find_element_have_type),
275         (gst_type_find_element_check_set_buffer_caps),
276         (gst_type_find_element_init), (stop_typefinding),
277         (gst_type_find_element_handle_event),
278         (gst_type_find_element_chain), (gst_type_find_element_getrange):
279         * gst/elements/gsttypefindelement.h:
280           Set caps on first outgoing buffer when we've found the type.
281
282 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
283
284         * docs/gst/gstreamer-docs.sgml:
285         * docs/gst/gstreamer-sections.txt:
286         * docs/gst/tmpl/gstscheduler.sgml:
287         * docs/gst/tmpl/gstschedulerfactory.sgml:
288           Remove some old cruft from docs.
289
290 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
291
292         * gst/gstpad.h:
293           Fix inline docs for GstPadLinkReturn.
294           
295         * gst/gststructure.c: (gst_structure_has_name):
296         * gst/gststructure.h:
297         * docs/gst/gstreamer-sections.txt:
298           New API: gst_structure_has_name().
299
300 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
301
302         * configure.ac:
303           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
304           and _LARGEFILE_SOURCE in config.h as required. Do not 
305           export those flags in our .pc files any longer (#142209).
306
307           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
308
309         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
310         (gst_file_sink_do_seek), (gst_file_sink_event),
311         (gst_file_sink_get_current_offset), (gst_file_sink_render):
312           Redo seek/tell calls with large file support in mind; add some
313           debugging messages; add log message that tells us when large
314           file support is unavailable or not enabled for some reason.
315
316         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
317           Add log message that tells us when large file support 
318           is unavailable or not enabled for some reason.
319
320 2005-07-29  Wim Taymans  <wim@fluendo.com>
321
322         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
323         Added test for removing an element with ghostpad from a bin.
324         Fixed test as current implementation does the right thing.
325
326         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
327         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
328         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
329         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
330         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
331         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
332         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
333         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
334         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
335         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
336         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
337         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
338         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
339         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
340         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
341         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
342         * gst/gstghostpad.h:
343         Clean up ghostpads, remove properties for internal stuff.
344         Make threadsafe.
345         Fix refcounting.
346         Prepare for switching targets, not all use cases work yet.
347
348 2005-07-29  Wim Taymans  <wim@fluendo.com>
349
350         * docs/design/part-gstghostpad.txt:
351         Small update.
352
353         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
354         (gst_bin_remove_func):
355         Unlinking pads while holding the bin LOCK is not a good
356         idea.
357
358         * gst/gstpad.c: (gst_pad_class_init),
359         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
360         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
361         No prob setting template after creating the pad.
362
363 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
364
365         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
366         (gst_bus_peek), (gst_bus_source_dispatch),
367         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
368         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
369           gst_bus_poll may be called from other threads. Handle
370           this nicely by not making poll_data disappear off the
371           stack once gst_bus_poll returns.
372           gst_bus_peek now increments the refcount on the returned
373           message.
374
375 2005-07-29  Wim Taymans  <wim@fluendo.com>
376
377         * docs/design/part-gstghostpad.txt:
378         Overview of current GhostPad datastructures and use
379         cases for changing the target.
380
381 2005-07-28  Wim Taymans  <wim@fluendo.com>
382
383         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
384         Added checks for hierarchy consistency whan adding linked
385         elements to bins.
386
387         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
388         Added check to test element scheduling without bin/pipeline.
389
390         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
391         First add elements to bin, then link.
392         
393         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
394         (gst_bin_remove_func):
395         Unlink pads from elements added/removed from bin to maintain
396         hierarchy consistency.
397
398 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
399
400         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
401         (gst_base_transform_handle_buffer):
402         * gst/base/gstbasetransform.h:
403           Remove broken delay_configure (fixes renegotiation of software
404           scaling pipelines); remove some leftover printf()s.
405
406 2005-07-28  Wim Taymans  <wim@fluendo.com>
407
408         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
409         Added some more tests for wrong hierarchy
410
411         * docs/design/part-overview.txt:
412         Some updates.
413
414         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
415         Cleanups.
416
417         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
418         (gst_element_dispose):
419         Some more cleanups.
420
421         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
422         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
423         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
424         (gst_pad_set_caps), (gst_pad_send_event):
425         Check for correct hierarchy when linking pads. Moving to
426         strict requirement for ghostpads when linking elements in
427         different bins.
428
429         * gst/gstpad.h:
430         Clean ups. Added WRONG_HIERARCHY return value.
431
432 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
433
434         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
435           Better debug if no transform is possible.
436
437 2005-07-27  Wim Taymans  <wim@fluendo.com>
438
439         * docs/random/wtay/network-transp:
440         Some old doc I had.
441
442 2005-07-27  Wim Taymans  <wim@fluendo.com>
443
444         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
445         (gst_dp_event_from_packet):
446         Fix serialization of seek events.
447
448 2005-07-27  Wim Taymans  <wim@fluendo.com>
449
450         * check/gst-libs/gdp.c: (GST_START_TEST):
451         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
452         Fix compilation and fix event serialization.
453
454 2005-07-27  Wim Taymans  <wim@fluendo.com>
455
456         * CHANGES-0.9:
457         * docs/design/part-TODO.txt:
458         * docs/design/part-events.txt:
459         Some docs updates
460
461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
462         (gst_base_sink_event), (gst_base_sink_do_sync),
463         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
464         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
465         (gst_base_src_do_seek), (gst_base_src_event_handler),
466         (gst_base_src_loop):
467         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
468         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
469         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
470         (gst_base_transform_event), (gst_base_transform_handle_buffer),
471         (gst_base_transform_set_passthrough),
472         (gst_base_transform_is_passthrough):
473         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
474         * gst/elements/gstfilesink.c: (gst_file_sink_event):
475         Event updates.
476
477         * gst/gstbuffer.h:
478         Use faster casts.
479
480         * gst/gstelement.c: (gst_element_seek):
481         * gst/gstelement.h:
482         Update gst_element_seek.
483
484         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
485         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
486         (gst_event_new_flush_start), (gst_event_new_flush_stop),
487         (gst_event_new_eos), (gst_event_new_newsegment),
488         (gst_event_parse_newsegment), (gst_event_new_tag),
489         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
490         (gst_event_parse_qos), (gst_event_new_seek),
491         (gst_event_parse_seek), (gst_event_new_navigation):
492         * gst/gstevent.h:
493         Make GstEvent use GstStructure. Add parsing code, make sure the
494         API is sufficiently generic.
495         Mark possible directions of events and serialization.
496
497         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
498         (_gst_message_copy), (gst_message_new_segment_start),
499         (gst_message_new_segment_done), (gst_message_new_custom),
500         (gst_message_parse_segment_start),
501         (gst_message_parse_segment_done):
502         Small cleanups.
503
504         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
505         (gst_pad_set_caps), (gst_pad_send_event):
506         Update for new events. 
507         Catch events sent in wrong directions.
508
509         * gst/gstqueue.c: (gst_queue_link_src),
510         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
511         (gst_queue_handle_src_query):
512         Event updates.
513
514         * gst/gsttag.c:
515         * gst/gsttag.h:
516         Remove event code from this file.
517
518         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
519         (gst_dp_event_from_packet):
520         Event updates.
521
522 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
523
524         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
525         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
526         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
527           Make debugging actually useful.
528
529 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
530
531         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
532         (gst_pad_fixate_caps):
533           Implement default fixation once again, so that gst_pad_fixate()
534           actually does anything at all. This probably needs to be some
535           sort of a last resort, and use profile-based fixation first, but
536           since that doesn't exist yet, this is the best we have. Fixes
537           visualization in Totem.
538
539 2005-07-22  Wim Taymans  <wim@fluendo.com>
540
541         * docs/design/part-events.txt:
542         Small update.
543
544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
545         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
546         (gst_base_sink_activate_pull):
547         Some more comments.
548
549         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
550         (gst_fake_src_create):
551         Fix handoff marshall.
552
553         * gst/elements/gstidentity.c: (gst_identity_class_init),
554         (gst_identity_transform_ip):
555         We're a real inplace element.
556
557         * gst/gstbus.c: (gst_bus_post):
558         Added some comments.
559
560         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
561         * tests/muxing/case1.c: (main):
562         * tests/sched/dynamic-pipeline.c: (main):
563         * tests/sched/interrupt1.c: (main):
564         * tests/sched/interrupt2.c: (main):
565         * tests/sched/interrupt3.c: (main):
566         * tests/sched/runxml.c: (main):
567         * tests/sched/sched-stress.c: (main):
568         * tests/seeking/seeking1.c: (event_received), (main):
569         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
570         (main):
571         * tests/threadstate/threadstate3.c: (main):
572         * tests/threadstate/threadstate4.c: (main):
573         * tests/threadstate/threadstate5.c: (main):
574         Fix the tests.
575
576 2005-07-21  Wim Taymans  <wim@fluendo.com>
577
578         * docs/design/part-seeking.txt:
579         Some small additions.
580
581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
582         (gst_base_sink_get_times), (gst_base_sink_do_sync),
583         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
584         * gst/base/gstbasesink.h:
585         discont values are gint64, handle the math correctly.
586
587         * gst/base/gstbasesrc.c: (gst_base_src_loop):
588         Make the basesrc report error if the source pad is not linked.
589
590         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
591         (gst_queue_loop), (gst_queue_handle_src_query),
592         (gst_queue_src_activate_push):
593         Make queue collect data even if the srcpad is not linked.
594         Start pushing out data as soon as it is linked.
595
596         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
597         * gst/gstutils.h:
598         Added gst_flow_get_name() to ease error reporting.
599
600 2005-07-20  Wim Taymans  <wim@fluendo.com>
601
602         * gst/gstmessage.c: (gst_message_new_segment_start),
603         (gst_message_new_segment_done), (gst_message_parse_segment_start),
604         (gst_message_parse_segment_done):
605         * gst/gstmessage.h:
606         Added a bunch of messages for advanced seeking.
607
608         * gst/parse/grammar.y:
609         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
610         (gst_dpman_state_changed):
611         Fix some new-pad -> pad-added signals
612
613 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
614
615         * docs/manual/appendix-porting.xml:
616         * docs/pwg/appendix-porting.xml:
617           Document new-pad/state-change signal renames and the FixedList
618           type rename.
619
620 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
621
622         * docs/manual/advanced-autoplugging.xml:
623         * docs/manual/basics-helloworld.xml:
624         * docs/manual/basics-pads.xml:
625         * docs/random/ds/0.9-suggested-changes:
626         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
627         * gst/gstelement.h:
628         * gst/gstevent.h:
629         * gst/gstformat.h:
630         * gst/gstquery.h:
631         * gst/gststructure.c: (gst_structure_value_get_generic_type),
632         (gst_structure_parse_array), (gst_structure_parse_value):
633         * gst/gstvalue.c: (gst_type_is_fixed),
634         (gst_value_list_prepend_value), (gst_value_list_append_value),
635         (gst_value_list_get_size), (gst_value_list_get_value),
636         (gst_value_transform_array_string), (gst_value_serialize_array),
637         (gst_value_deserialize_array), (gst_value_intersect_array),
638         (gst_value_is_fixed), (_gst_value_initialize):
639         * gst/gstvalue.h:
640           GstElement::new-pad -> pad-added, GstElement::state-change ->
641           state-changed, GstValueFixedList -> GstValueArray, add format and
642           flags as their own arguments in gst_element_seek() (should improve
643           "bindeability"), remove function generators since they don't work
644           under a whole bunch of compilers (they were deprecated already
645           anyway).
646
647 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
648
649         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
650         (_gst_debug_register_funcptr):
651         * gst/gstinfo.h:
652           Fix illegal cast on some platforms (#309253).
653
654 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
655
656         * gst/gstmessage.c: (gst_message_new_custom):
657         * gst/gstmessage.h:
658           Add _new_custom, make _new_application a macro to _new_custom.
659
660 2005-07-20  Wim Taymans  <wim@fluendo.com>
661
662         * gst/base/gstbasesrc.c: (gst_base_src_init),
663         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
664         * gst/base/gstbasesrc.h:
665         Add a gboolean to decide when to push out a discont.
666
667         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
668         (gst_queue_loop), (gst_queue_handle_src_query),
669         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
670         (gst_queue_set_property), (gst_queue_get_property):
671         Some cleanups.
672
673         * tests/threadstate/threadstate1.c: (main):
674         Make a thread test compile and run... very silly..
675
676
677 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
678
679         * docs/manual/appendix-porting.xml:
680           Mention removal of libgstgconf-0.9.la and existence of gconf
681           elements.
682
683 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
684
685         * docs/pwg/advanced-clock.xml:
686         * docs/pwg/appendix-porting.xml:
687         * docs/pwg/intro-preface.xml:
688         * docs/pwg/other-base.xml:
689         * docs/pwg/other-manager.xml:
690         * docs/pwg/other-nton.xml:
691         * docs/pwg/other-ntoone.xml:
692         * docs/pwg/other-oneton.xml:
693         * docs/pwg/pwg.xml:
694           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
695           demuxer), remove n-to-n (was never written), fix some code examples
696           and links and update the porting section to include all this.
697
698 2005-07-19  Wim Taymans  <wim@fluendo.com>
699
700         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
701         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
702         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
703         (gst_queue_src_activate_push), (gst_queue_change_state),
704         (gst_queue_get_property):
705         * gst/gstqueue.h:
706         Propagate GstFlowReturn more intelligently upstream and output
707         an ERROR/EOS when streaming stopped due to fatal error.
708
709 2005-07-19  Wim Taymans  <wim@fluendo.com>
710
711         * tools/gst-launch.c: (check_intr), (event_loop), (main):
712         Don't block forever for the state change to complete, the
713         pipeline already did with a sensible timeout.
714
715 2005-07-19  Wim Taymans  <wim@fluendo.com>
716
717         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
718         Make sure we never call the create function is we
719         got deactivated.
720
721 2005-07-19  Andy Wingo  <wingo@pobox.com>
722
723         * gst/parse/parse.l: Attempt to solve bug #172815.
724
725 2005-07-19  Wim Taymans  <wim@fluendo.com>
726
727         * docs/design/part-clocks.txt:
728         * docs/design/part-events.txt:
729         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
730         Small docs updates.
731         Only update the seeking values when we are not
732         busy streaming.
733
734 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
735
736         * gst/base/gstbasesrc.c: (gst_base_src_loop):
737           Oops, ignore the result of gst_pad_push_event here.
738
739 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
740
741         * gst/base/gstbasesrc.c: (gst_base_src_loop),
742         (gst_base_src_activate_push):
743           Send discont event from the loop function, as pads
744           aren't activated yet in the activate_push handler.
745
746         * gst/gstbin.c: (bin_bus_handler):
747           Don't leak element name.
748
749 2005-07-18  Andy Wingo  <wingo@pobox.com>
750
751         * configure.ac: Use AS_LIBTOOL_TAGS.
752
753 2005-07-18  Wim Taymans  <wim@fluendo.com>
754
755         * docs/gst/gstreamer.types:
756         Remove deleted types.
757
758 2005-07-18  Wim Taymans  <wim@fluendo.com>
759
760         * check/elements/gstfakesrc.c: (GST_START_TEST):
761         * configure.ac:
762         * gst/Makefile.am:
763         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
764         (init_popt_callback):
765         * gst/gst.h:
766         * gst/gst_private.h:
767         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
768         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
769         * gst/gstbin.h:
770         * gst/gstbus.h:
771         * gst/gstconfig.h.in:
772         * gst/gstelement.c: (gst_element_class_init),
773         (gst_element_set_base_time), (gst_element_get_base_time),
774         (iterator_fold_with_resync), (gst_element_change_state),
775         (gst_element_dispose), (gst_element_get_bus):
776         * gst/gstelement.h:
777         * gst/gstelementfactory.h:
778         * gst/gsterror.c: (_gst_core_errors_init):
779         * gst/gsterror.h:
780         * gst/gstevent.h:
781         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
782         * gst/gstindex.c:
783         * gst/gstinfo.c: (_gst_debug_init):
784         * gst/gstmessage.c: (_gst_message_copy):
785         * gst/gstmessage.h:
786         * gst/gstminiobject.h:
787         * gst/gstobject.c:
788         * gst/gstobject.h:
789         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
790         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
791         * gst/gstpad.h:
792         * gst/gstparse.h:
793         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
794         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
795         (gst_pipeline_get_last_stream_time):
796         * gst/gstpipeline.h:
797         * gst/gstpluginfeature.h:
798         * gst/gstquery.h:
799         * gst/gstscheduler.c:
800         * gst/gstscheduler.h:
801         * gst/gststructure.h:
802         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
803         (gst_task_finalize), (gst_task_func), (gst_task_create),
804         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
805         (gst_task_stop), (gst_task_pause):
806         * gst/gsttask.h:
807         * gst/gsttypefind.h:
808         * gst/gsttypes.h:
809         * gst/registries/gstlibxmlregistry.c: (load_feature),
810         (gst_xml_registry_load), (gst_xml_registry_save_feature):
811         * gst/registries/gstxmlregistry.c:
812         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
813         * gst/schedulers/threadscheduler.c:
814         * libs/gst/control/dparammanager.h:
815         * tools/gst-inspect.c: (print_element_list),
816         (print_plugin_features), (print_element_features):
817         * tools/gst-xmlinspect.c: (print_element_list),
818         (print_plugin_info), (main):
819         Removed plugable schedulers.
820         Removed Scheduler/Manager from elements.
821         Removed gsttypes.h, rearranged includes.
822         Removed dependency pad<->element, element<>pipeline, and
823         various others,  fix includes.
824         implement gst_pad_get_parent() with gst_object_get_parent()
825         Make GstTask sefcontained.
826         Fix _get_state() on GstBin, it did not return ASYNC with a 0
827         timeout.
828         Fix endless loop in iterator_fold_with_resync.
829
830
831 2005-07-18  Wim Taymans  <wim@fluendo.com>
832
833         * gst/Makefile.am:
834         * gst/gstarch.h:
835         Remove old file.
836
837 2005-07-18  Wim Taymans  <wim@fluendo.com>
838
839         * gst/Makefile.am:
840         No more cothreads.h
841
842 2005-07-18  Wim Taymans  <wim@fluendo.com>
843
844         * gst/cothreads.c:
845         * gst/cothreads.h:
846         Let's remove these.
847
848 2005-07-18  Wim Taymans  <wim@fluendo.com>
849
850         * docs/design/part-dynamic.txt:
851         * docs/design/part-events.txt:
852         * docs/design/part-seeking.txt:
853         Some more docs in the works.
854
855         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
856         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
857         (gst_base_transform_setcaps), (gst_base_transform_get_size),
858         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
859         (gst_base_transform_handle_buffer),
860         (gst_base_transform_sink_activate_push),
861         (gst_base_transform_src_activate_pull),
862         (gst_base_transform_set_passthrough),
863         (gst_base_transform_is_passthrough):
864         Refcounting fixes.
865
866         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
867         Cleanups.
868
869         * gst/gstevent.c: (gst_event_finalize):
870         Set SRC to NULL.
871
872         * gst/gstutils.c: (gst_element_unlink),
873         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
874         (gst_pad_proxy_setcaps):
875         * gst/gstutils.h:
876         Add _get_parent_element() to get a pads parent as an element.
877
878 2005-07-18  Wim Taymans  <wim@fluendo.com>
879
880         * check/gst/gstbin.c: (GST_START_TEST):
881         Remove bogus test.
882
883 2005-07-18  Wim Taymans  <wim@fluendo.com>
884
885         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
886         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
887         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
888         (gst_base_sink_event), (gst_base_sink_do_sync),
889         (gst_base_sink_chain), (gst_base_sink_loop),
890         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
891         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
892         Refcounting fixes.
893         Fix logic for returning ASYNC when not prerolled.
894
895 2005-07-18  Wim Taymans  <wim@fluendo.com>
896
897         * gst/gstqueue.c: (gst_queue_handle_sink_event):
898         Fix nasty refcount bug.
899
900 2005-07-16 Philippe Khalaf <burger@speedy.org>
901         * gst/elements/gstfdsrc.c:
902         * gst/elements/gstfdsrc.h:
903         * gst/elements/gstelements.c:
904         * gst/elements/Makefile.am:
905         Ported fdsrc to 0.9.
906
907 2005-07-16  Wim Taymans  <wim@fluendo.com>
908
909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
910         (gst_base_sink_do_sync):
911         Fix compile error.
912
913 2005-07-16  Wim Taymans  <wim@fluendo.com>
914
915         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
916         (gst_base_sink_event), (gst_base_sink_get_times),
917         (gst_base_sink_do_sync), (gst_base_sink_change_state):
918         * gst/base/gstbasesink.h:
919         Store and use discont values when syncing buffers as described
920         in design docs.
921         
922         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
923         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
924         (gst_base_src_activate_push):
925         Push discont event when starting.
926
927         * gst/elements/gstidentity.c: (gst_identity_transform):
928         Small cleanups.
929
930         * gst/gstbin.c: (gst_bin_change_state):
931         Small cleanups in base_time  distribution.
932
933         * gst/gstelement.c: (gst_element_set_base_time),
934         (gst_element_get_base_time), (gst_element_change_state):
935         * gst/gstelement.h:
936         Added methods for the base_time of the element.
937         Some MT fixes.
938
939         * gst/gstpipeline.c: (gst_pipeline_send_event),
940         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
941         (gst_pipeline_get_last_stream_time):
942         * gst/gstpipeline.h:
943         MT fixes.
944         Handle seeking as described in design doc, remove stream_time
945         hack.
946         Cleanups clock and stream_time selection code. Added accessors
947         for the stream_time.
948         
949
950 2005-07-16  Andy Wingo  <wingo@pobox.com>
951
952         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
953         (#305291).
954
955 2005-07-16  Wim Taymans  <wim@fluendo.com>
956
957         * check/gst/gstbin.c: (GST_START_TEST):
958         Make elements silent as the deep_notify refs the
959         parent, which might make the test fail.
960
961         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
962         Don't hold the lock for too long.
963
964 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
965
966         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
967           Don't unref the caps we passed to gst_caps_make_writable() after
968           passing them. gst_caps_make_writable() will do that for us.
969
970 2005-07-15  Andy Wingo  <wingo@pobox.com>
971
972         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
973         (#157311).
974
975         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
976         own marshalling function for the handoff signal. Properly type the
977         buffer as a buffer. Fixes some warnings. Should do a more general
978         solution.
979         (gst_identity_class_init): Plug into the right marshaller.
980
981 2005-07-15  Wim Taymans  <wim@fluendo.com>
982
983         * docs/design/part-TODO.txt:
984         * docs/design/part-clocks.txt:
985         * docs/design/part-element-sink.txt:
986         * docs/design/part-events.txt:
987         * docs/design/part-gstpipeline.txt:
988         Updated docs, mostly DISCONT related.
989
990 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
991
992         * docs/pwg/building-pads.xml:
993           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
994
995 2005-07-15  Andy Wingo  <wingo@pobox.com>
996
997         * tools/gst-typefind.c: Update, add copyright block.
998
999         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1000         Normalize and truncate caps before fixation.
1001
1002         * gst/gstcaps.h:
1003         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1004         discards all but the first structure from its argument.
1005
1006 2005-07-15  Wim Taymans  <wim@fluendo.com>
1007
1008         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1009         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1010         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1011         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1012         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1013         (gst_base_transform_chain), (gst_base_transform_change_state),
1014         (gst_base_transform_set_passthrough),
1015         (gst_base_transform_is_passthrough):
1016         * gst/base/gstbasetransform.h:
1017         Make passthrough work using the bufferpools.
1018         Changed API a bit, subclasses have to write into a buffer
1019         provided by the base class.
1020         More debug info in nego functions.
1021         
1022         * gst/elements/gstidentity.c: (gst_identity_init),
1023         (gst_identity_transform):
1024         Port to new base class.
1025
1026 2005-07-15  Wim Taymans  <wim@fluendo.com>
1027
1028         * gst/gstmessage.c: (gst_message_new_state_changed):
1029         * tools/gst-launch.c: (event_loop), (main):
1030         Totally dump messages in -launch with the -m option.
1031         Fix message name for State messages,
1032
1033 2005-07-14  Wim Taymans  <wim@fluendo.com>
1034
1035         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1036         Post error messages on errors.
1037
1038 2005-07-14  Wim Taymans  <wim@fluendo.com>
1039
1040         * gst/gstcaps.c: (gst_caps_do_simplify):
1041         Remove debug info.
1042
1043         * gst/gsterror.h:
1044         Define error for stream stopped.
1045
1046         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1047         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1048         Do proper return values.
1049
1050         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1051         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1052         (gst_pad_get_range):
1053         Better return values.
1054
1055         * gst/gstpad.h:
1056         Reorganise return values, add macro to check for fatal errors.
1057
1058         * gst/gstqueue.c: (gst_queue_chain):
1059         Return proper GstFlowReturn values,
1060
1061 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         * docs/gst/gstreamer-sections.txt:
1064         * docs/gst/gstreamer.types:
1065         * docs/gst/tmpl/gst.sgml:
1066         * docs/gst/tmpl/gstbasesink.sgml:
1067         * docs/gst/tmpl/gstbasesrc.sgml:
1068         * docs/gst/tmpl/gstbasetransform.sgml:
1069         * docs/gst/tmpl/gstbin.sgml:
1070         * docs/gst/tmpl/gstbuffer.sgml:
1071         * docs/gst/tmpl/gstcaps.sgml:
1072         * docs/gst/tmpl/gstclock.sgml:
1073         * docs/gst/tmpl/gstcompat.sgml:
1074         * docs/gst/tmpl/gstconfig.sgml:
1075         * docs/gst/tmpl/gstelement.sgml:
1076         * docs/gst/tmpl/gstelementdetails.sgml:
1077         * docs/gst/tmpl/gstelementfactory.sgml:
1078         * docs/gst/tmpl/gstenumtypes.sgml:
1079         * docs/gst/tmpl/gsterror.sgml:
1080         * docs/gst/tmpl/gstevent.sgml:
1081         * docs/gst/tmpl/gstfakesink.sgml:
1082         * docs/gst/tmpl/gstfakesrc.sgml:
1083         * docs/gst/tmpl/gstfilesink.sgml:
1084         * docs/gst/tmpl/gstfilesrc.sgml:
1085         * docs/gst/tmpl/gstfilter.sgml:
1086         * docs/gst/tmpl/gstformat.sgml:
1087         * docs/gst/tmpl/gstghostpad.sgml:
1088         * docs/gst/tmpl/gstimplementsinterface.sgml:
1089         * docs/gst/tmpl/gstindex.sgml:
1090         * docs/gst/tmpl/gstindexfactory.sgml:
1091         * docs/gst/tmpl/gstinfo.sgml:
1092         * docs/gst/tmpl/gstiterator.sgml:
1093         * docs/gst/tmpl/gstmacros.sgml:
1094         * docs/gst/tmpl/gstmemchunk.sgml:
1095         * docs/gst/tmpl/gstminiobject.sgml:
1096         * docs/gst/tmpl/gstobject.sgml:
1097         * docs/gst/tmpl/gstpad.sgml:
1098         * docs/gst/tmpl/gstpadtemplate.sgml:
1099         * docs/gst/tmpl/gstparse.sgml:
1100         * docs/gst/tmpl/gstpipeline.sgml:
1101         * docs/gst/tmpl/gstplugin.sgml:
1102         * docs/gst/tmpl/gstpluginfeature.sgml:
1103         * docs/gst/tmpl/gstquery.sgml:
1104         * docs/gst/tmpl/gstqueue.sgml:
1105         * docs/gst/tmpl/gstregistry.sgml:
1106         * docs/gst/tmpl/gstregistrypool.sgml:
1107         * docs/gst/tmpl/gstscheduler.sgml:
1108         * docs/gst/tmpl/gstschedulerfactory.sgml:
1109         * docs/gst/tmpl/gststructure.sgml:
1110         * docs/gst/tmpl/gstsystemclock.sgml:
1111         * docs/gst/tmpl/gsttaglist.sgml:
1112         * docs/gst/tmpl/gsttagsetter.sgml:
1113         * docs/gst/tmpl/gsttrace.sgml:
1114         * docs/gst/tmpl/gsttrashstack.sgml:
1115         * docs/gst/tmpl/gsttypefind.sgml:
1116         * docs/gst/tmpl/gsttypefindfactory.sgml:
1117         * docs/gst/tmpl/gsttypes.sgml:
1118         * docs/gst/tmpl/gsturihandler.sgml:
1119         * docs/gst/tmpl/gsturitype.sgml:
1120         * docs/gst/tmpl/gstutils.sgml:
1121         * docs/gst/tmpl/gstvalue.sgml:
1122         * docs/gst/tmpl/gstversion.sgml:
1123         * docs/gst/tmpl/gstxml.sgml:
1124         * docs/libs/tmpl/gstcontrol.sgml:
1125         * docs/libs/tmpl/gstdataprotocol.sgml:
1126         * docs/libs/tmpl/gstdparam.sgml:
1127         * docs/libs/tmpl/gstdplinint.sgml:
1128         * docs/libs/tmpl/gstdpman.sgml:
1129         * docs/libs/tmpl/gstdpsmooth.sgml:
1130         * docs/libs/tmpl/gstgetbits.sgml:
1131         * docs/libs/tmpl/gstunitconvert.sgml:
1132         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1133         (gst_push_src_base_init), (gst_push_src_class_init),
1134         (gst_push_src_init), (gst_push_src_create):
1135         * gst/base/gstpushsrc.h:
1136         * gst/elements/gstelements.c:
1137         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1138         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1139         (gst_fake_sink_init), (gst_fake_sink_set_property),
1140         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1141         (gst_fake_sink_event), (gst_fake_sink_preroll),
1142         (gst_fake_sink_render), (gst_fake_sink_change_state):
1143         * gst/elements/gstfakesink.h:
1144         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1145         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1146         (gst_fake_src_base_init), (gst_fake_src_class_init),
1147         (gst_fake_src_init), (gst_fake_src_event_handler),
1148         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1149         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1150         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1151         (gst_fake_src_create_buffer), (gst_fake_src_create),
1152         (gst_fake_src_start), (gst_fake_src_stop):
1153         * gst/elements/gstfakesrc.h:
1154         * gst/elements/gstfilesink.c: (_do_init),
1155         (gst_file_sink_base_init), (gst_file_sink_class_init),
1156         (gst_file_sink_init), (gst_file_sink_dispose),
1157         (gst_file_sink_set_location), (gst_file_sink_set_property),
1158         (gst_file_sink_get_property), (gst_file_sink_open_file),
1159         (gst_file_sink_close_file), (gst_file_sink_query),
1160         (gst_file_sink_event), (gst_file_sink_render),
1161         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1162         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1163         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1164         * gst/elements/gstfilesink.h:
1165         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1166         (gst_file_src_class_init), (gst_file_src_init),
1167         (gst_file_src_finalize), (gst_file_src_set_location),
1168         (gst_file_src_set_property), (gst_file_src_get_property),
1169         (gst_file_src_map_region), (gst_file_src_map_small_region),
1170         (gst_file_src_create_mmap), (gst_file_src_create_read),
1171         (gst_file_src_create), (gst_file_src_is_seekable),
1172         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1173         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1174         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1175         (gst_file_src_uri_handler_init):
1176         * gst/elements/gstfilesrc.h:
1177           more autistic cleanliness in functions/names/defines
1178
1179 2005-07-13  Andy Wingo  <wingo@pobox.com>
1180
1181         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1182         source couldn't negotiate.
1183
1184         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1185         connections again.
1186
1187         * gst/gstutils.h:
1188         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1189         function. I am channeling Hades. Put your boots on suckers!!!
1190
1191 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1192
1193         * testsuite/caps/Makefile.am:
1194         * testsuite/caps/value_compare.c:
1195         * testsuite/caps/value_intersect.c:
1196         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1197           move two testsuite apps over to the check dir
1198
1199 2005-07-12  Wim Taymans  <wim@fluendo.com>
1200
1201         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1202         Added more debug info in the negotiate process.
1203
1204         * gst/gstmessage.h:
1205         Prepare for segment playback.
1206
1207         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1208         Better debugging.
1209
1210         * gst/gstutils.c:
1211         Some more docs.
1212
1213         * tools/gst-launch.c: (main):
1214         NULL pipeline on errors.
1215
1216 2005-07-12  Andy Wingo  <wingo@pobox.com>
1217
1218         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1219         not it comes from a malloc region. Make sure our copy gets freed.
1220
1221 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1224         * check/gst/gstmessage.c: (GST_START_TEST):
1225         * check/gst/gststructure.c: (GST_START_TEST),
1226         (gst_structure_suite), (main):
1227           more testing
1228         * gst/gstelement.c: (gst_element_message_full):
1229           clean up GError and debug string now that they get copied
1230         * gst/gstmessage.c: (gst_message_new_error),
1231         (gst_message_new_warning), (gst_message_parse_error),
1232         (gst_message_parse_warning):
1233           use GST_TYPE_G_ERROR for structure_new, and take copies of
1234           arguments, so that we don't mess up refcounting
1235
1236 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1237
1238         * check/Makefile.am:
1239           add per-test valgrind targets
1240         * check/gst-libs/gdp.c: (GST_START_TEST),
1241         (gst_data_protocol_suite), (main):
1242           clean up
1243
1244 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * check/Makefile.am:
1247           instate more valgrindable tests
1248         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1249         (GST_START_TEST), (fakesrc_suite):
1250         * check/gst/gstpad.c: (GST_START_TEST):
1251         * check/gst/gststructure.c: (GST_START_TEST):
1252           fix test leaks
1253         * docs/gst/tmpl/gstminiobject.sgml:
1254         * gst/gstpad.c: (gst_pad_finalize):
1255           fix the static mutex leak
1256
1257 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1258
1259         * check/Makefile.am:
1260           add two more tests for valgrinding
1261         * check/gst/gstvalue.c: (GST_START_TEST):
1262           test refcount of deserialized buffer, found a leak
1263         * docs/gst/gstreamer-docs.sgml:
1264         * docs/gst/gstreamer-sections.txt:
1265         * docs/gst/gstreamer.types:
1266         * docs/gst/tmpl/gstminiobject.sgml:
1267           add miniobject to docs
1268         * gst/gstminiobject.c:
1269           add some docs
1270         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1271         (gst_string_unwrap):
1272           fix a hard-to-find invalid write for one of the tests
1273           fix a leak for deserialized buffers
1274
1275 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1276
1277         * docs/pwg/advanced-events.xml:
1278         * docs/pwg/advanced-request.xml:
1279         * docs/pwg/advanced-scheduling.xml:
1280         * docs/pwg/appendix-porting.xml:
1281         * docs/pwg/building-boiler.xml:
1282         * docs/pwg/intro-preface.xml:
1283         * docs/pwg/other-ntoone.xml:
1284           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1285           of example code and explanation for pad activation, loop() and
1286           getrange() functions and a bit more. Remove old comments pointing
1287           to loop-functions.
1288         * examples/pwg/Makefile.am:
1289           Add loop/getrange examples.
1290
1291 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * configure.ac:
1294           check for valgrind binary + some fixes
1295         * check/gst.supp:
1296           valgrind suppressions for the tests
1297         * check/Makefile.am:
1298           add a valgrind: target that valgrinds the unit tests
1299         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1300         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1301         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1302         * check/gst/gstghostpad.c:
1303           added some cleanup
1304         * check/gst/gstdata.c:
1305           removed
1306         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1307         (thread_unref), (gst_mini_object_suite), (main):
1308           added
1309         * gst/gst.c: (gst_deinit):
1310         * gst/gst.h:
1311           add a method to clean up.
1312         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1313         (gst_system_clock_obtain):
1314           allow for disposing the system clock.
1315         * tools/gst-launch.c: (main):
1316           deinit
1317
1318 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1319
1320         * docs/gst/tmpl/gstbasesrc.sgml:
1321         * docs/gst/tmpl/gstfakesrc.sgml:
1322         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1323         (gst_base_src_init), (gst_base_src_set_property),
1324         (gst_base_src_get_property), (gst_base_src_get_range),
1325         (gst_base_src_start):
1326         * gst/base/gstbasesrc.h:
1327           add num-buffers property
1328         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1329         (gst_fakesrc_init), (gst_fakesrc_set_property),
1330         (gst_fakesrc_get_property), (gst_fakesrc_create),
1331         (gst_fakesrc_start):
1332           remove num-buffers property
1333
1334 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1335
1336         * docs/gst/gstreamer-sections.txt:
1337         * docs/gst/tmpl/gstbasesink.sgml:
1338         * docs/gst/tmpl/gstbasesrc.sgml:
1339         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1340         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1341         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1342         (gst_base_sink_set_property), (gst_base_sink_get_property),
1343         (gst_base_sink_handle_object), (gst_base_sink_event),
1344         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1345         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1346         (gst_base_sink_loop), (gst_base_sink_deactivate),
1347         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1348         (gst_base_sink_change_state):
1349         * gst/base/gstbasesink.h:
1350         * gst/base/gstbasesrc.h:
1351         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1352         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1353         (gst_filesink_init):
1354           more macro splitting
1355
1356 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1357
1358         * gst/gstelement.c: (gst_element_get_bus):
1359           add debug
1360         * tools/gst-launch.c: (check_intr), (event_loop):
1361           fix bus leaks
1362
1363 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1364
1365         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1366           fix a caps leak
1367
1368 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1369
1370         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1371         (gst_base_src_finalize):
1372           add finalize method and clean up properly
1373         * gst/gstpipeline.c: (gst_pipeline_dispose):
1374           add debug
1375
1376 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1377
1378         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1379         (gst_bin_suite):
1380           add more things to check
1381         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1382         * gst/gstelement.c:
1383           more debug
1384
1385 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1388         (GST_START_TEST), (fakesrc_suite):
1389         * check/gst-libs/gdp.c: (GST_START_TEST):
1390         * check/gst/gst.c: (GST_START_TEST):
1391         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1392         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1393         * check/gst/gstbus.c: (GST_START_TEST):
1394         * check/gst/gstcaps.c: (GST_START_TEST):
1395         * check/gst/gstdata.c: (GST_START_TEST):
1396         * check/gst/gstelement.c: (GST_START_TEST):
1397         * check/gst/gstghostpad.c: (GST_START_TEST):
1398         * check/gst/gstiterator.c: (GST_START_TEST):
1399         * check/gst/gstmessage.c: (GST_START_TEST):
1400         * check/gst/gstobject.c: (GST_START_TEST):
1401         * check/gst/gstpad.c: (GST_START_TEST):
1402         * check/gst/gststructure.c: (GST_START_TEST):
1403         * check/gst/gstsystemclock.c: (GST_START_TEST),
1404         (gst_systemclock_suite):
1405         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1406         * check/gst/gstvalue.c: (GST_START_TEST):
1407         * check/pipelines/cleanup.c: (GST_START_TEST):
1408         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1409         * check/states/sinks.c: (GST_START_TEST):
1410         * check/gstcheck.c: (gst_check_init):
1411         * check/gstcheck.h:
1412           add debugging category
1413           use GST_START_TEST now, so we add a debug line
1414
1415 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1418           add test for state change message on a bin
1419         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1420           add another test
1421         * gst/gstbin.c: (gst_bin_init):
1422         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1423         * gst/gstelement.c: (gst_element_post_message),
1424         (gst_element_set_state):
1425         * gst/gstelementfactory.c: (gst_element_factory_create):
1426         * gst/gstmessage.c: (gst_message_new):
1427         * gst/gstscheduler.c:
1428           various debugging additions and cleanups
1429
1430 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * check/Makefile.am:
1433         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1434         (main):
1435           adding tests for elements
1436         * gst/gstelement.c: (gst_element_dispose):
1437
1438 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1439
1440         * gst/registries/gstlibxmlregistry.c: (load_feature):
1441           plug more leaks.  A simple gst_init() now is leakfree, yay.
1442
1443 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1444
1445         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1446         (gst_xml_registry_load):
1447           plug another memleak
1448
1449 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1450
1451         * configure.ac:
1452           use GST_SET_ERROR_CFLAGS
1453         * docs/faq/cvs.xml:
1454           change to ERROR_CFLAGS
1455
1456 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         * configure.ac:
1459           make GST_ERROR_CFLAGS overridable and re-enable Werror
1460         * docs/faq/cvs.xml:
1461           add a note about error CFLAGS
1462         * docs/gst/tmpl/gstfakesrc.sgml:
1463         * gst/elements/gstfakesrc.c:
1464           comment out some unused code
1465         * gst/gst.c: (split_and_iterate):
1466         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1467         (load_feature):
1468           plug some memleaks
1469
1470 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1471
1472         * common/Makefile.am:
1473         * common/gtk-doc.mak:
1474         * docs/gst/Makefile.am:
1475           factor out gtk-doc.mak
1476
1477 2005-07-07  Wim Taymans  <wim@fluendo.com>
1478
1479         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1480         (gst_thread_scheduler_dispose):
1481         Unlock the STREAM_LOCK completely.
1482
1483 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1484
1485         * check/Makefile.am:
1486         * check/elements/.cvsignore:
1487         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1488         (START_TEST), (fakesrc_suite), (main):
1489         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1490         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1491         (gst_fakesrc_create), (gst_fakesrc_start):
1492         * gst/elements/gstfakesrc.h:
1493           adding a first element test
1494
1495 2005-07-07  Andy Wingo  <wingo@pobox.com>
1496
1497         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1498         debug message.
1499
1500 2005-07-07  Wim Taymans  <wim@fluendo.com>
1501
1502         * gst/gstquery.c:
1503         * gst/gstquery.h:
1504         Remove old types
1505
1506 2005-07-07  Wim Taymans  <wim@fluendo.com>
1507
1508         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1509         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1510         Allow subclasses to implement their own negotiation.
1511
1512 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1513
1514         * docs/design/part-gstbin.txt:
1515         * docs/design/part-gstpipeline.txt:
1516           Update design notes to reflect the movement of
1517           responsibility for bus handling from GstPipeline to
1518           GstBin
1519
1520 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1521
1522         * configure.ac:
1523           Remove unnecessary queue2/3/4 examples.
1524
1525 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1526
1527         * examples/Makefile.am:
1528         * examples/helloworld/helloworld.c: (event_loop), (main):
1529         * examples/queue/queue.c: (event_loop), (main):
1530         * examples/queue2/queue2.c: (main):
1531           Update a couple of the examples to work again.
1532
1533         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1534         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1535          Spelling corrections and extra debug.
1536         
1537         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1538         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1539         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1540         * gst/gstbin.h:
1541         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1542         (gst_pipeline_change_state):
1543         * gst/gstpipeline.h:
1544           Move the bus handler for children to the GstBin, and create a
1545           separate bus for receiving messages from children to the one the
1546           bus sends 'upwards' on.
1547
1548 2005-07-06  Wim Taymans  <wim@fluendo.com>
1549
1550         * gst/base/README:
1551         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1552         (gst_base_sink_handle_object), (gst_base_sink_loop),
1553         (gst_base_sink_change_state):
1554         * gst/base/gstbasesink.h:
1555         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1556         (gst_base_src_init), (gst_base_src_setcaps),
1557         (gst_base_src_getcaps), (gst_base_src_loop),
1558         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1559         (gst_base_src_start), (gst_base_src_change_state):
1560         * gst/base/gstbasesrc.h:
1561         Make basesrc negotiate.
1562         Handle the case where preroll fails in basesink.
1563         Update README.
1564
1565 2005-07-06  Wim Taymans  <wim@fluendo.com>
1566
1567         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1568         Implement the fixate function.
1569         Clean up acceptcaps.
1570
1571 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1572
1573         * docs/pwg/building-filterfactory.xml:
1574         * docs/pwg/pwg.xml:
1575           Remove never-written filter-factory chapter; I'll add the various
1576           base classes to part 4 ("other element types") later on.
1577
1578 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1579
1580         * docs/pwg/advanced-negotiation.xml:
1581         * docs/pwg/building-boiler.xml:
1582         * docs/pwg/building-pads.xml:
1583         * docs/pwg/pwg.xml:
1584         * examples/pwg/Makefile.am:
1585           Add a chapter on caps negotiation, simplify the original code
1586           samples a bit w.r.t. caps negotiation, add link to the advanced
1587           section. Add a bunch of examples showing different use cases of
1588           different types of caps negotiation. Upstream renegotiation isn't
1589           fully documented yet since nobody knows how that works.
1590
1591 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * check/gst/gstpad.c:
1594         * check/gstcheck.c:
1595         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1596           if pad has no parent, return NULL as list of internal links
1597
1598 2005-07-05  Andy Wingo  <wingo@pobox.com>
1599
1600         * gst/elements/gstfilesrc.c:
1601         * gst/elements/gstfakesrc.c: 
1602         * gst/base/gstpushsrc.c:
1603         * gst/base/gstbasesrc.h: 
1604         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1605         
1606 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1607
1608         * Makefile.am:
1609           better report generation target (lcov needs a patch)
1610
1611 2005-07-05  Andy Wingo  <wingo@pobox.com>
1612
1613         * gst/elements, testsuite: Null if we got it...
1614
1615 2005-07-05  Wim Taymans  <wim@fluendo.com>
1616
1617         * configure.ac:
1618         * libs/gst/dataprotocol/Makefile.am:
1619         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1620         * libs/gst/dataprotocol/dataprotocol.h:
1621         * pkgconfig/Makefile.am:
1622         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1623         * pkgconfig/gstreamer-dataprotocol.pc.in:
1624         Ported dataprotol to 0.9. 
1625         Added pkgconfig files.
1626
1627 2005-07-05  Andy Wingo  <wingo@pobox.com>
1628
1629         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1630         Default to returning TRUE for the case when tranform_caps returns
1631         a fixed caps, like for identity or volume.
1632
1633         * check/gst/gstbus.c (pound_bus_with_messages): 
1634         * check/gst/gstmessage.c (START_TEST): 
1635         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1636         message API change.
1637
1638         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1639         logic weaks here: always run transform_caps, trying passthrough
1640         operation only if the original caps intersects with the transform.
1641
1642         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1643         source and sink caps.
1644
1645         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1646         Intersect the peer caps with the pad template before going into
1647         transform_caps.
1648         (gst_base_transform_transform_caps): More debugging.
1649
1650         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1651         src argument.
1652
1653 2005-07-04  Edward Hervey  <edward@fluendo.com>
1654
1655         * gst/gstutils.c:
1656         * gst/gstutils.h:
1657         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1658         in bindings.
1659
1660 2005-07-04  Andy Wingo  <wingo@pobox.com>
1661
1662         * check/gst/gstpad.c: Only set explicit caps on pads.
1663
1664 2005-07-01  Andy Wingo  <wingo@pobox.com>
1665
1666         * tests/network-clock.scm: Commentary update.
1667
1668         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1669         Didn't really make sense, not implementable with basetransform,
1670         etc.
1671         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1672         attempt at implementing the sync property, needs an unlock method.
1673
1674         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1675         New func, by default returns the same caps (the identity
1676         transformation).
1677         (gst_base_transform_getcaps): Uses transform_caps to return
1678         something sensible.
1679         (gst_base_transform_setcaps): Complicated logic to get caps on
1680         both pads, even if they are different, and to call set_caps once
1681         for every time both pads get their caps set.
1682         (gst_base_transform_handle_buffer): Give the ref to the transform
1683         function. Allows in-place modification of the buffer.
1684
1685         * gst/base/gstbasetransform.h (transform_caps): New class method.
1686         Given caps on one side, what can I do on the other.
1687         (set_caps): Take two caps, one for each side of the element.
1688
1689         * gst/gstpad.h:
1690         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1691         caps in place. This is safe because we can check the mutability of
1692         the caps, and a good idea because fixate functions are just called
1693         as a matter of last resort. (Not actually implemented.)
1694         (gst_pad_set_caps): If the caps we're setting is actually the same
1695         as the existing pad caps, just update the pointer without calling
1696         setcaps. Assert that caps is either NULL or fixed, as per the
1697         docs.
1698
1699         * gst/gstghostpad.c: Update for fixate changes.
1700
1701 2005-07-02  Andy Wingo  <wingo@pobox.com>
1702
1703         * gst/gstcaps.c:
1704         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1705         two refcounts makes it immutable, which is enough. Doc more.
1706
1707 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1708
1709         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1710           Put the mini_object into GValue as a mini_object,
1711           not a gpointer, since that's how we declared
1712           the signal.
1713
1714 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1715
1716         * examples/pwg/Makefile.am:
1717           Fix buildbot again.
1718
1719 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1720
1721         * docs/pwg/building-testapp.xml:
1722           Add extra check.
1723         * examples/pwg/Makefile.am:
1724           Fix buildbot.
1725
1726 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1727
1728         * configure.ac:
1729         * examples/Makefile.am:
1730         * examples/pwg/Makefile.am:
1731         * examples/pwg/extract.pl:
1732           Enable building the PWG examples.
1733         * docs/pwg/advanced-interfaces.xml:
1734           Add URI interface stub.
1735         * docs/pwg/advanced-types.xml:
1736         * docs/pwg/other-autoplugger.xml:
1737         * docs/pwg/appendix-porting.xml:
1738         * docs/pwg/pwg.xml:
1739           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1740         * docs/pwg/building-boiler.xml:
1741         * docs/pwg/building-chainfn.xml:
1742         * docs/pwg/building-pads.xml:
1743         * docs/pwg/building-props.xml:
1744         * docs/pwg/building-state.xml:
1745         * docs/pwg/building-testapp.xml:
1746           Update the building-*.xml parts for 0.9 changes. All examples
1747           code blocks compile in examples/pwg/*.
1748
1749 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1750
1751         * docs/manual/advanced-autoplugging.xml:
1752         * docs/manual/appendix-checklist.xml:
1753         * docs/manual/appendix-integration.xml:
1754         * docs/manual/highlevel-components.xml:
1755           Fix playbin/decodebin examples, update docs a bit, mention bus
1756           instead of signals in various places, mention kmplayer and
1757           kaffeine since they have a working GStreamer backend in the KDE
1758           section.
1759
1760 2005-06-30  Wim Taymans  <wim@fluendo.com>
1761
1762         * CHANGES-0.9:
1763         * docs/design/draft-ghostpads.txt:
1764         * docs/design/draft-push-pull.txt:
1765         * docs/design/draft-query.txt:
1766         * docs/design/part-TODO.txt:
1767         * docs/design/part-query.txt:
1768         Added CHANGES-0.9 doc, updated status of other docs.
1769         
1770         * gst/gstquery.h:
1771         Remove "hmm" macro
1772
1773 2005-06-30  Wim Taymans  <wim@fluendo.com>
1774
1775         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1776         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1777         (gst_base_sink_change_state):
1778         * gst/base/gstbasesink.h:
1779         Some tweaks, only EOS and a buffer complete a preroll.
1780
1781 2005-06-30  Andy Wingo  <wingo@pobox.com>
1782
1783         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1784         activate_push down to the internal pad as well.
1785
1786 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1787
1788         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1789
1790         * gst/gsttaginterface.c:
1791           Some documentation fixes (#307394 and #307397).
1792
1793 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1794
1795         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1796
1797         * gst/gstvalue.c: (gst_value_intersect_list):
1798           Fix memleak (#309125).
1799
1800 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1801
1802         * docs/manual/advanced-dataaccess.xml:
1803           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1804         * docs/manual/basics-pads.xml:
1805           Add reference for filtered caps to above chapter.
1806
1807 2005-06-30  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1810         (gst_bin_change_state):
1811         Probes are gone.
1812         Lame attempt at making the state change function a bit
1813         more readable.
1814
1815 2005-06-30  Wim Taymans  <wim@fluendo.com>
1816
1817         * docs/design/part-clocks.txt:
1818         * docs/design/part-element-sink.txt:
1819         * docs/design/part-events.txt:
1820         * docs/design/part-preroll.txt:
1821         * docs/design/part-states.txt:
1822         Some more tweeks and additions to the docs.
1823
1824 2005-06-30  Wim Taymans  <wim@fluendo.com>
1825
1826         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1827         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1828         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1829         (gst_pad_check_pull_range), (gst_pad_get_range),
1830         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1831         * gst/gstpad.h:
1832         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1833         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1834         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1835         (gst_pad_remove_buffer_probe):
1836         Removed atomic operations, use existing LOCK.
1837         Move exception handling out of main code path.
1838
1839 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1840
1841         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1842         (silly_return_true_function), (gst_pad_class_init),
1843         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1844         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1845         (gst_pad_send_event):
1846           Fix accumulator, add default value by using _emitv() instead
1847           of _emit() for signal emission.
1848
1849 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1850
1851         * docs/manual/advanced-dataaccess.xml:
1852         * examples/manual/Makefile.am:
1853           Add probe example.
1854         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1855           Make work (??).
1856
1857 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1858
1859         * gst/elements/gstfilesink.c: (gst_filesink_render):
1860           Simplify code so that we don't have to handle short
1861           writes and return GST_FLOW_ERROR if an error occured.
1862
1863 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1864
1865         * docs/gst/gstreamer-docs.sgml:
1866           Remove probes more.
1867
1868 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1869
1870         * docs/gst/gstreamer-sections.txt:
1871         * docs/gst/tmpl/gstpad.sgml:
1872         * docs/gst/tmpl/gstprobe.sgml:
1873         * gst/Makefile.am:
1874         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1875         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1876         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1877         (gst_pad_push_event), (gst_pad_send_event):
1878         * gst/gstpad.h:
1879         * gst/gstutils.c: (gst_pad_add_data_probe),
1880         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1881         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1882         (gst_pad_remove_buffer_probe):
1883         * gst/gstutils.h:
1884           Remove old probes, add new g-signal-based probes and some utility
1885           functions.
1886
1887 2005-06-29  Edward Hervey  <edward@fluendo.com>
1888
1889         * gst/gstelementfactory.c:
1890         * gst/gstutils.h:
1891         * gst/gstutils.c:
1892         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1893         the definition to the header file.
1894
1895 2005-06-29  Andy Wingo  <wingo@pobox.com>
1896
1897         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1898         plugins from the source directory.
1899
1900 2005-06-29  Wim Taymans  <wim@fluendo.com>
1901
1902         * docs/gst/tmpl/gstbuffer.sgml:
1903         * docs/gst/tmpl/gstclock.sgml:
1904         Some fixings for blantently wrong text.
1905
1906 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1907
1908         * check/Makefile.am:
1909         * gst/gst.c: (add_path_func), (init_pre):
1910         * gst/gstregistry.c: (gst_registry_add_path):
1911           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1912           only scan the GST_PLUGIN_PATH locations, and not add
1913           system locations
1914
1915 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1916
1917         * docs/gst/gstreamer-sections.txt:
1918         * docs/gst/tmpl/gstbasesrc.sgml:
1919         * gst/gstelement.c:
1920         * gst/gstelement.h:
1921         * gst/gstevent.c:
1922         * gst/gstutils.c:
1923           doc fixes
1924
1925 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1926
1927         * docs/manual/advanced-autoplugging.xml:
1928           Fix autoplugging example.
1929
1930 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1931
1932         * docs/manual/advanced-autoplugging.xml:
1933         * docs/manual/mime-world.fig:
1934           Try to get autoplugging working, fix type detection. Fix text
1935           in hello-world image.
1936
1937 2005-06-29  Wim Taymans  <wim@fluendo.com>
1938
1939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1940         (gst_base_sink_change_state):
1941         Small debug line.
1942
1943         * gst/gstclock.h:
1944         map SIGNAL and BROADCAST to the right function.
1945
1946         * gst/gstobject.h:
1947         Remove redundant braces.
1948
1949         * gst/gstpad.c: (gst_pad_set_caps):
1950         Don't call setcaps function when reseting caps to NULL.
1951
1952         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1953         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1954         (gst_system_clock_id_unschedule):
1955         Use BROADCAST as this is what we do.
1956
1957 2005-06-29  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1960         We are actually prerolling before commiting the state
1961         change. 
1962
1963 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1964
1965         * docs/manual/advanced-clocks.xml:
1966         * docs/manual/advanced-interfaces.xml:
1967         * docs/manual/advanced-metadata.xml:
1968         * docs/manual/advanced-position.xml:
1969         * docs/manual/advanced-schedulers.xml:
1970         * docs/manual/advanced-threads.xml:
1971         * docs/manual/appendix-porting.xml:
1972         * docs/manual/basics-bins.xml:
1973         * docs/manual/basics-bus.xml:
1974         * docs/manual/basics-elements.xml:
1975         * docs/manual/basics-helloworld.xml:
1976         * docs/manual/basics-pads.xml:
1977         * docs/manual/highlevel-components.xml:
1978         * docs/manual/manual.xml:
1979         * docs/manual/thread.fig:
1980           Update (until threads/scheduling) Application Development Manual;
1981           remove GstThread, add GstBus, add simple porting checklist, add
1982           documentation for tag writing, clocks, make all examples until this
1983           part compile and run.
1984         * examples/manual/Makefile.am:
1985           Update from changes to Application Development Manual; add bus
1986           example, remove thread example.
1987
1988 2005-06-28  Wim Taymans  <wim@fluendo.com>
1989
1990         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1991         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1992         (gst_bus_source_dispatch):
1993         Add debugging messages.
1994         Make internal methods static.
1995         Handle the case where the bus is flushed in the handler.
1996         
1997         * gst/gstelement.c: (gst_element_get_bus):
1998         Fix refcount in _get_bus();
1999
2000         * gst/gstpipeline.c: (gst_pipeline_change_state),
2001         (gst_pipeline_get_clock_func):
2002         Clock refcounting fixes.
2003         Handle the case where preroll timed out more gracefully.
2004         
2005         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2006         Clean up the internal thread in dispose. This is needed
2007         for subclasses that actually get disposed.
2008         
2009         * gst/schedulers/threadscheduler.c:
2010         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2011         (gst_thread_scheduler_dispose):
2012         Free thread pool in dispose.
2013
2014 2005-06-28  Andy Wingo  <wingo@pobox.com>
2015
2016         * tests/network-clock-utils.scm (debug, print-event): New utils.
2017
2018         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2019         (*packet-loss*): Unified loss probability.
2020         (network-time): Report out-of-band events.
2021
2022         * tests/plot-data: Add support for out-of-band events. Hack it
2023         into this script instead of passing it down the pipe; should fix
2024         this later.
2025
2026 2005-06-28  Wim Taymans  <wim@fluendo.com>
2027
2028         * docs/gst/gstreamer.types:
2029         * docs/gst/tmpl/gstbasesrc.sgml:
2030         * docs/gst/tmpl/gstpad.sgml:
2031         Docs fixes.
2032
2033 2005-06-28  Wim Taymans  <wim@fluendo.com>
2034
2035         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2036         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2037         (gst_proxy_pad_do_fixatecaps):
2038         Correctly proxy the check_pull_range function.
2039
2040 2005-06-28  Andy Wingo  <wingo@pobox.com>
2041
2042         * tests/network-clock.scm: Removed need for slib.
2043         
2044 2005-06-28  Wim Taymans  <wim@fluendo.com>
2045
2046         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2047         (gst_basesink_preroll_queue_flush):
2048         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2049         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2050         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2051         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2052         (gst_proxy_pad_set_property):
2053         * gst/gstpad.c:
2054         * gst/gstpad.h:
2055         * gst/gstqueue.c: (gst_queue_init):
2056         The deprecated pad loop function is removed now.
2057
2058 2005-06-28  Andy Wingo  <wingo@pobox.com>
2059
2060         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2061         New parameters, simulate network packet loss.
2062
2063         * tests/network-clock-utils.scm: Initialize the RNG.
2064
2065 2005-06-28  Wim Taymans  <wim@fluendo.com>
2066
2067         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2068         (gst_basesink_event), (gst_basesink_deactivate):
2069         Flushing the preroll queue always needs to unlock the waiters.
2070
2071 2005-06-28  Edward Hervey  <edward@fluendo.com>
2072
2073         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2074         Wheen a seek was successful on a pipeline, set the stream_time to the
2075         seek offset in order to have a synchronized stream_time.
2076
2077 2005-06-28  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2080         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2081         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2082         (gst_proxy_pad_do_fixatecaps):
2083         Call wrapper function instead of just calling the function
2084         pointers. This takes care of any locking and whatmore.
2085
2086 2005-06-28  Wim Taymans  <wim@fluendo.com>
2087
2088         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2089         (gst_pad_pull_range):
2090         * gst/gstpad.h:
2091         CONNECTED -> LINKED.
2092
2093 2005-06-28  Andy Wingo  <wingo@pobox.com>
2094
2095         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2096         source-munging commit!!!
2097
2098         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2099         (gst_object_sink): Take gpointer arguments, not GstObject --
2100         avoids casts. Like GLib.
2101
2102         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2103         activate.
2104
2105 2005-06-27  Andy Wingo  <wingo@pobox.com>
2106
2107         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2108         remaining buffer.
2109
2110         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2111         returns a sorted copy of the trace list.
2112         (gst_alloc_trace_print_live): New API, only prints traces with
2113         live objects. Sort the list.
2114         (gst_alloc_trace_print_all): Sort the list.
2115         (gst_alloc_trace_print): Align columns.
2116
2117         * gst/elements/gstttypefindelement.c:
2118         * gst/elements/gsttee.c:
2119         * gst/base/gstbasesrc.c:
2120         * gst/base/gstbasesink.c:
2121         * gst/base/gstbasetransform.c:
2122         * gst/gstqueue.c: Adapt for pad activation changes.
2123
2124         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2125         sched.
2126         (gst_pipeline_dispose): Drop ref on sched.
2127
2128         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2129         (gst_pad_activate_default): Push mode by default.
2130         (pre_activate_switch, post_activate_switch): New stubs, things to
2131         do before and after switching activation modes on pads.
2132         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2133         the pad's activate function to choose which mode to activate.
2134         Shortcut on deactivation and call the right function directly.
2135         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2136         mode.
2137         (gst_pad_activate_push): New API, same for push mode.
2138         (gst_pad_set_activate_function) 
2139         (gst_pad_set_activatepull_function) 
2140         (gst_pad_set_activatepush_function): Setters for new API.
2141
2142         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2143         Trace all miniobjects.
2144         (gst_mini_object_make_writable): Unref the arg if we copy, like
2145         gst_caps_make_writable.
2146
2147         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2148
2149         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2150         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2151         Adapt for new pad API.
2152
2153         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2154
2155         * gst/gstelement.h:
2156         * gst/gstelement.c (gst_element_iterate_src_pads) 
2157         (gst_element_iterate_sink_pads): New API functions.
2158         
2159         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2160         should fold into gstiterator.c in some form.
2161         (gst_element_pads_activate): Simplified via use of fold and
2162         delegation of decisions to gstpad->activate.
2163
2164         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2165         help in debugging.
2166
2167         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2168         class once in init, like gstmessage. Didn't run into this issue
2169         but it seems correct. Don't initialize a trace, gstminiobject does
2170         that.
2171
2172         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2173         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2174         to the bus.
2175         (assert_live_count): New util function, uses alloc traces to check
2176         cleanup.
2177
2178         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2179         To be modified when unlink drops the internal pad.
2180
2181 2005-06-27  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2184         (gst_bin_change_state):
2185         Cleanup the get_state() function a little, make sure it
2186         iterates the same set of elements.
2187         Added stub iterate_state_order().
2188
2189 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2190
2191         * docs/gst/gstreamer-docs.sgml:
2192         * docs/gst/gstreamer-sections.txt:
2193         * docs/gst/gstreamer.types:
2194         * docs/gst/tmpl/gstbasesink.sgml:
2195         * docs/gst/tmpl/gstbasesrc.sgml:
2196         * docs/gst/tmpl/gstbasetransform.sgml:
2197         * docs/gst/tmpl/gstelement.sgml:
2198         * docs/gst/tmpl/gstiterator.sgml:
2199         * gst/base/gstbasesrc.c:
2200         * gst/base/gstbasesrc.h:
2201         * gst/base/gstbasetransform.h:
2202         * gst/gstelement.c:
2203         * gst/gstiterator.h:
2204           adding basetransform and iterator docs
2205
2206 2005-06-27  Andy Wingo  <wingo@pobox.com>
2207
2208         * docs/design/part-activation.txt: Notes on how activation should
2209         work -- not quite implemented yet.
2210
2211 2005-06-25  Wim Taymans  <wim@fluendo.com>
2212
2213         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2214         At least get the chain function correct, needs more
2215         fixing.
2216
2217 2005-06-25  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2220         (gst_basesink_handle_object), (gst_basesink_event),
2221         (gst_basesink_do_sync), (gst_basesink_handle_event),
2222         (gst_basesink_change_state):
2223         * gst/gsttask.h:
2224         Right, two problems here: ghostpads don't take locks and
2225         glib _rec_mutex_lock_full() with depth==0 still locks.
2226         Catch illegal locking and g_warn them.
2227
2228 2005-06-25  Wim Taymans  <wim@fluendo.com>
2229
2230         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2231         Have to check for completion now...
2232
2233 2005-06-25  Wim Taymans  <wim@fluendo.com>
2234
2235         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2236         (gst_basesink_handle_object), (gst_basesink_event),
2237         (gst_basesink_do_sync), (gst_basesink_handle_event),
2238         (gst_basesink_change_state):
2239         * gst/gstpad.h:
2240         Unlock STREAM_LOCK whatever the recursion was.
2241
2242 2005-06-25  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2245         (gst_basesink_preroll_queue_empty),
2246         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2247         (gst_basesink_event), (gst_basesink_do_sync),
2248         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2249         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2250         (gst_basesink_change_state):
2251         Reworked the base sink, handle event and buffer serialisation
2252         correctly and removed possible deadlock.
2253         Handle EOS correctly.
2254
2255 2005-06-25  Wim Taymans  <wim@fluendo.com>
2256
2257         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2258         (gst_pipeline_change_state):
2259         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2260         Allow elements to post EOS in the state change function.
2261         Fix up -launch, make it exit the poll loop when the
2262         pipeline actually changed state.
2263         Fix up warning parsing in -launch.
2264
2265 2005-06-25  Wim Taymans  <wim@fluendo.com>
2266
2267         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2268         (gst_tee_sink_activate):
2269         Core takes STREAM_LOCK for us now.
2270
2271 2005-06-25  Wim Taymans  <wim@fluendo.com>
2272
2273         * gst/gstelement.c: (gst_element_get_state_func),
2274         (gst_element_set_state):
2275         * gst/gstelement.h:
2276         * gst/gstmessage.c: (gst_message_parse_error),
2277         (gst_message_parse_warning):
2278         Keep track of current target state while performing a state
2279         change so that subclasses can do something interesting.
2280         Fix parsing of warning/error messages when GError is NULL.
2281
2282 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2283
2284         * docs/gst/Makefile.am:
2285         * docs/gst/gstreamer-docs.sgml:
2286         * docs/gst/gstreamer-sections.txt:
2287         * docs/gst/gstreamer.types:
2288         * docs/gst/tmpl/gstbasesink.sgml:
2289         * docs/gst/tmpl/gstbasesrc.sgml:
2290         * docs/gst/tmpl/gstbin.sgml:
2291         * docs/gst/tmpl/gstcompat.sgml:
2292         * docs/gst/tmpl/gstfakesink.sgml:
2293         * docs/gst/tmpl/gstfakesrc.sgml:
2294         * docs/gst/tmpl/gstfilesink.sgml:
2295         * docs/gst/tmpl/gstfilesrc.sgml:
2296         * docs/gst/tmpl/gstindex.sgml:
2297         * docs/manual/appendix-quotes.xml:
2298         * gst/base/gstbasesrc.h:
2299         * gst/elements/gstfakesrc.h:
2300         * gst/gstmessage.h:
2301           start pulling in base classes and elements in our docs
2302
2303 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2304
2305         * docs/gst/Makefile.am:
2306         * docs/libs/Makefile.am:
2307           fixed make distcheck with gtk-doc 1.3
2308
2309 2005-06-23  Wim Taymans  <wim@fluendo.com>
2310
2311         * gst/gstelement.c: (gst_element_get_state_func),
2312         (gst_element_set_state), (gst_element_change_state):
2313         When the state did not change, also report NO_PREROLL
2314         when it matters.
2315
2316 2005-06-23  Wim Taymans  <wim@fluendo.com>
2317
2318         * gst/gstpad.c: (gst_pad_event_default):
2319         * gst/gstqueue.c: (gst_queue_loop):
2320         No unsafe task pausing please.
2321
2322 2005-06-23  Wim Taymans  <wim@fluendo.com>
2323
2324         * gst/schedulers/threadscheduler.c:
2325         (gst_thread_scheduler_task_start),
2326         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2327         Ref the task before pushing it on the threadpool. This
2328         makes sure that we have a ref when the threadfunction is
2329         actually called.
2330
2331 2005-06-23  Andy Wingo  <wingo@pobox.com>
2332
2333         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2334         offset is greater than the file's size.
2335
2336         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2337         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2338         * gst/gstobject.c (gst_object_class_init): Make the class lock
2339         recursive. Wim won't let me drop deep_notify. Decodebin works
2340         again, whoopdy doo.
2341
2342         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2343         internal pad, and hacks accordingly. Doesn't do it on the target
2344         pad because we change its caps. Probably catches all cases of
2345         interest tho.
2346         (gst_ghost_pad_set_property): Connect to notify::caps as
2347         appropritate.
2348
2349         * tests/network-clock.scm (plot-simulation): Pipe data to the
2350         elite python skript.
2351
2352         * tests/network-clock-utils.scm (define-parameter): New macro,
2353         defines a parameter that can be set via the command line.
2354         (set-parameter!, parse-parameter-arguments): Command line args
2355         parser.
2356
2357         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2358         stdin.
2359
2360 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2361
2362         * gst/elements/gsttypefindelement.c:
2363         (gst_type_find_element_handle_event):
2364           Don't restart typefinding on a discont.
2365         * gst/gstelement.c: (gst_element_set_state):
2366           Debug spelling fix.
2367         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2368           Allow changing mode of an active pad.
2369           Debug output fixes.
2370         * gst/registries/gstlibxmlregistry.c: (load_feature):
2371           Don't cast a static pad template to a normal pad template.
2372
2373 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2374
2375         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2376         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2377           remove gst_strtoll completely, since it didn't actually do
2378           anything more than what g_ascii_strtoull already does.
2379           check for range errors when deserializing
2380           do a cast for the unsigned cases; but further fixing needs
2381           a decision on what the interpretation of "(int)" and
2382           deserialization should be for values that fall outside the
2383           type's boundaries (ie, refuse, or interpret as casting)
2384
2385 2005-06-23  Wim Taymans  <wim@fluendo.com>
2386
2387         * check/Makefile.am:
2388         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2389         * docs/design/part-live-source.txt:
2390         * docs/design/part-states.txt:
2391         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2392         (gst_basesrc_set_live), (gst_basesrc_is_live),
2393         (gst_basesrc_get_range), (gst_basesrc_activate),
2394         (gst_basesrc_change_state):
2395         * gst/base/gstbasesrc.h:
2396         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2397         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2398         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2399         * gst/gstelement.c: (gst_element_get_state_func),
2400         (gst_element_set_state):
2401         * gst/gstelement.h:
2402         * gst/gsttypes.h:
2403         * tools/gst-launch.c: (event_loop), (main):
2404         Added support for live sources and other elements that
2405         cannot do preroll.
2406         Updated design docs, added live-source design doc.
2407         Implemented live source functionality in basesrc
2408         Fix error condition in _bin_get_state()
2409         Implement live source handling in -launch.
2410         Added check for live sources.
2411         Fixed case in GstBin where elements were changed state
2412         multiple times.
2413
2414
2415 2005-06-23  Andy Wingo  <wingo@pobox.com>
2416
2417         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2418         borken refcounting.
2419
2420         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2421         gst_caps_replace takes care of this for us.
2422
2423         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2424         gst_pad_set_caps on the target, not just its setcaps() function.
2425
2426         * tests/network-clock.scm: 
2427         * tests/network-clock-utils.scm: A network clock simulator.
2428         Something of an algorithmic testbed before doing something in C.
2429
2430 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2431
2432         * check/Makefile.am:
2433         * check/gst/capslist.h:
2434           copy over from 0.8, and add two with bitmasks specified with
2435           (int) 0xFF...
2436         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2437           add test to parse everything from capslist.h
2438         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2439         (main):
2440           add test for structure deserialization
2441         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2442           add tests for deserialization of strings to int types
2443         * gst/gststructure.c: (gst_structure_nth_field_name):
2444         * gst/gststructure.h:
2445           add a way to get the name of a field referenced by index
2446         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2447           instead of checking if the resulting long long lies between
2448           min and max, we check if the long long would fit into
2449           a number of bytes for the final type.
2450           This fixes cases where a string represents 2^32 - 1, which
2451           when cast to int would be the (valid) -1, but is bigger than
2452           G_MAXINT
2453
2454 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2455
2456         * gst/parse/grammar.y:
2457           add a log line for type deserialization
2458
2459 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2460
2461         * check/gst/gstvalue.c: (START_TEST):
2462         * gst/gstvalue.c: (gst_value_deserialize):
2463           return long long, not int, so gint64 deserialization actually
2464           works.  Is there any flag that makes the compiler check this ?
2465           Fixes #308559
2466
2467 2005-06-22  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/gstbuffer.h:
2470         Added convenience macros for setting buffers in GValue.
2471
2472 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2473
2474         * check/gst/.cvsignore:
2475         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2476           add a test deserializing int64, and comment part out because
2477           it fails, yay !
2478
2479 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2480
2481         * check/Makefile.am:
2482         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2483         * testsuite/Makefile.am:
2484         * testsuite/caps/Makefile.am:
2485         * testsuite/caps/value_serialize.c:
2486         * testsuite/test_gst_init.c:
2487           move a value_serialize test over
2488
2489 2005-06-20  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstpad.c:
2492         Small doc updates.
2493         
2494         * gst/gstvalue.c: (gst_value_compare_buffer),
2495         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2496         (gst_value_compare_flags), (gst_value_serialize_flags),
2497         (gst_value_deserialize_flags), (_gst_value_initialize):
2498         Fix serialisation of buffers, they are not boxed types anymore
2499
2500 2005-06-20  Wim Taymans  <wim@fluendo.com>
2501
2502         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2503         Testcase to show error in buffer-on-caps serialisation.
2504
2505 2005-06-20  Andy Wingo  <wingo@pobox.com>
2506
2507         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2508         will be adding to later.
2509
2510         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2511         if its socks fill with rocks.
2512         (gst_system_clock_obtain): Set the name on object construction.
2513         Avoid double-checked locking.
2514
2515 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2516
2517         * gst/gsturi.c: (gst_element_make_from_uri):
2518           Fix potential endless loop.
2519
2520 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2521
2522         * check/Makefile.am:
2523           add gsttag
2524         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2525         (main):
2526           move over from testsuite dir and clean up
2527         * configure.ac:
2528         * gst/gsttag.c:
2529         * testsuite/Makefile.am:
2530         * testsuite/tags/.cvsignore:
2531         * testsuite/tags/Makefile.am:
2532         * testsuite/tags/merge.c:
2533           remove testsuite/tags
2534
2535 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * docs/gst/gstreamer-sections.txt:
2538         * docs/gst/tmpl/gstenumtypes.sgml:
2539         * win32/gstenumtypes.c:
2540           clean up documentation build a little
2541
2542 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2543
2544         * check/gstcheck.h:
2545           add macros for checking refcounts on objects and caps
2546         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2547           add some more unit tests
2548         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2549         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2550           fix leaked refcounts (I hope :)) so unittest works
2551         * gst/gstpad.h:
2552           whitespace removal
2553
2554 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2555
2556         * configure.ac: back to HEAD
2557
2558 === release 0.9.1 ===
2559
2560 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2561
2562         * NEWS:
2563         * RELEASE:
2564           updated
2565
2566 2005-06-17  Andy Wingo  <wingo@pobox.com>
2567
2568         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2569         assert; it's always possible that the pad gets deactivated in
2570         between the checks in gstpad.c and the implementation. Rely on
2571         finish_preroll() to return a FLUSHING or similar instead of on the
2572         assert.
2573         
2574         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2575         clock and post an EOS message if we come out of finish_preroll in
2576         the playing state.
2577
2578 2005-06-16  David Schleef  <ds@schleef.org>
2579
2580         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2581         (gst_capsfilter_set_property): Allow NULL as possible value
2582         for filter_caps property, indicating GST_CAPS_ANY.
2583
2584 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2585
2586         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2587           fix debug output
2588         * gst/schedulers/Makefile.am:
2589           use libgst prefix
2590         * gstreamer.spec.in:
2591           fix spec for it
2592
2593 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2594
2595         * gstreamer.spec.in:
2596           clean up
2597
2598 2005-06-08  Andy Wingo  <wingo@pobox.com>
2599
2600         * gst/gstutils.c: RPAD fixes all around.
2601         (gst_element_link_pads): Refcounting fixes.
2602
2603         * tools/gst-inspect.c:
2604         * tools/gst-xmlinspect.c:
2605         * parse/grammar.y:
2606         * gst/base/gsttypefindhelper.c:
2607         * gst/base/gstbasesink.c:
2608         * gst/gstqueue.c: RPAD fixes.
2609
2610         * gst/gstghostpad.h:
2611         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2612         pads. The tricky thing is they provide both source and sink
2613         interfaces, since they proxy the internal pad for the external
2614         pad, and vice versa. Implement with lower-level ProxyPad objects,
2615         with the interior proxy pad as a child of the exterior ghost pad.
2616         Should write a doc on this.
2617         
2618         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2619         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2620         gst_object API.
2621         
2622         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2623         pads are real pads. No ghost pads in this file. Not documenting
2624         the myriad s/RPAD/PAD/ and REALIZE fixes.
2625         (gst_pad_class_init): Add properties for "direction" and
2626         "template". Both are construct-only, so they can't change during
2627         the life of the pad. Fixes properly deriving from GstPad.
2628         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2629         derived objects, just set properties when creating the objects via
2630         g_object_new.
2631         (gst_pad_get_parent): Implement as a function, return NULL if the
2632         parent is not an element.
2633         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2634         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2635         
2636         * gst/gstobject.c (gst_object_class_init): Make name a construct
2637         property. Don't set it in the object init.
2638
2639         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2640         with UNKNOWN direction.
2641         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2642         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2643         (gst_element_remove_pad): Remove ghost-pad special cases.
2644         (gst_element_pads_activate): Remove rpad cruft.
2645
2646         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2647         catch the pad's-parent-not-an-element case.
2648
2649         * gst/gst.h: Include gstghostpad.h.
2650
2651         * gst/gst.c (init_post): No more real, ghost pads.
2652
2653         * gst/Makefile.am: Add gstghostpad.[ch].
2654
2655         * check/Makefile.am:
2656         * check/gst/gstbin.c:
2657         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2658         into a bin creates ghost pads, and that the refcounts are right.
2659         Partly moved from gstbin.c.
2660
2661 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2662
2663         * check/gst-libs/.cvsignore:
2664         * check/gst/.cvsignore:
2665         * check/pipelines/.cvsignore:
2666           ignore more
2667         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2668         (START_TEST), (cleanup_suite), (main):
2669           add some tests related to cleanup after running pipelines
2670
2671 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2672
2673         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2674           add a testsuite for GstBuffer
2675
2676 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2677
2678         * gst/gstminiobject.h:
2679           add defines for accessing the refcount
2680
2681 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2682
2683         * Makefile.am: added support for html unit test coverage reports
2684
2685 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2686
2687         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2688           Free existing caps if the capsfilter changes. Add a FIXME about
2689           setting those caps on the pads.
2690
2691         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2692           Before adding a ghost pad to a parent bin, check that there isn't
2693           already one for the element on the bin. Prevents infinite recursion
2694           when using decodebin in parse pipelines. Andy says he'll rewrite the
2695           way this works anyway, so ignore the hack.
2696
2697 2005-06-02  Andy Wingo  <wingo@pobox.com>
2698
2699         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2700         file size, pass it on to the type find helper.
2701
2702         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2703         segment_start and segment_end properly according to the seek
2704         method. Segment_end is still a bit flaky because offset can be
2705         negative for CUR and END cases, but it takes -1 as an "unset"
2706         value.
2707
2708 2005-06-02  Wim Taymans  <wim@fluendo.com>
2709
2710         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2711         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2712         (gst_basesink_activate):
2713         * gst/base/gstbasesink.h:
2714         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2715         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2716         (gst_pad_query), (gst_pad_start_task):
2717         * gst/gstpad.h:
2718         * gst/gstqueue.c: (gst_queue_bufferalloc),
2719         (gst_queue_handle_sink_event), (gst_queue_chain):
2720         Bufferalloc: return GstFlowReturn to more accuratly report
2721         why allocation failed.
2722
2723 2005-06-02  Wim Taymans  <wim@fluendo.com>
2724
2725         * gst/gstpipeline.c: (gst_pipeline_send_event):
2726         Take snapshot of state without blocking.
2727
2728 2005-06-02  Wim Taymans  <wim@fluendo.com>
2729
2730         * docs/design/part-TODO.txt:
2731         * docs/design/part-caps.txt:
2732         * docs/design/part-clocks.txt:
2733         * docs/design/part-negotiation.txt:
2734         * docs/design/part-preroll.txt:
2735         Small doc updates 
2736
2737 2005-05-30  Wim Taymans  <wim@fluendo.com>
2738
2739         * gst/elements/gstidentity.c: (gst_identity_event),
2740         (gst_identity_transform), (gst_identity_get_property):
2741         Protect last_message property as it is accessed from
2742         multiple threads.
2743
2744 2005-05-30  Wim Taymans  <wim@fluendo.com>
2745
2746         * gst/gstelement.c: (gst_element_init),
2747         (gst_element_pads_activate), (gst_element_change_state):
2748         Slicker pad activation code.
2749
2750 2005-05-30  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/Makefile.am:
2753         * gst/gstelement.h:
2754         * gst/gstelementfactory.h:
2755         * gst/gsttypes.h:
2756         Move elementfactory methods to separate .h file.
2757
2758 2005-05-30  Wim Taymans  <wim@fluendo.com>
2759
2760         * docs/design/part-overview.txt:
2761         * gst/gstsystemclock.h:
2762         Small typo fixes, doc updates.
2763
2764 2005-05-30  Wim Taymans  <wim@fluendo.com>
2765
2766         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2767         (init_popt_callback):
2768         Remove cpu-opt flag.
2769
2770 2005-05-30  Wim Taymans  <wim@fluendo.com>
2771
2772         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2773         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2774         * gst/gstbuffer.h:
2775         Avoid typechecking in places where not needed.
2776         Added accessor for malloc_data.
2777
2778 2005-05-30  Wim Taymans  <wim@fluendo.com>
2779
2780         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2781         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2782         (gst_pad_configure_sink), (gst_pad_configure_src),
2783         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2784         (gst_pad_start_task):
2785         Propagate errors from _set_caps() in configure_src/sink
2786         functions instead of returning TRUE.
2787         FLUSH events can travel up and downstream
2788
2789
2790 2005-05-30  Wim Taymans  <wim@fluendo.com>
2791
2792         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2793         (gst_basesink_activate):
2794         Handle EOS in preroll.
2795
2796 2005-05-30  Wim Taymans  <wim@fluendo.com>
2797
2798         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2799         (gst_queue_loop), (gst_queue_handle_src_event):
2800         Remove old pieces of code
2801         Flushing the queue in an upstream event is a very bad idea.
2802
2803 2005-05-26  Andy Wingo  <wingo@pobox.com>
2804
2805         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2806         gst_value_set_mini_object so as to add a ref on the object (which
2807         will be removed when the value is unset).
2808
2809         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2810         arg type in ::handoff.
2811
2812         * gst/gstelement.c (gst_element_change_state): Also deactivate
2813         pads in READY->NULL, just in case the element didn't make it to
2814         PAUSED. Wingo tested, Wim approved.
2815
2816 2005-05-26  Wim Taymans  <wim@fluendo.com>
2817
2818         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2819         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2820         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2821         A flushing pad cannot be used to alloc_buffer from.
2822
2823 2005-05-26  Wim Taymans  <wim@fluendo.com>
2824
2825         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2826         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2827         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2828         (gst_bus_create_watch), (gst_bus_add_watch_full):
2829         * gst/gstbus.h:
2830         Implement a real GSource and use g_main_context_wakeup() to
2831         signal new messages instead of the socketpair.
2832
2833 2005-05-25  Wim Taymans  <wim@fluendo.com>
2834
2835         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2836         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2837         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2838         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2839         (gst_pad_send_event), (gst_pad_start_task):
2840         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2841         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2842         (gst_queue_sink_activate), (gst_queue_src_activate),
2843         (gst_queue_change_state):
2844         * gst/gstqueue.h:
2845         Fix state changes for non sinks. We now change sinks, then elements
2846         with unconnected srcpads, then the rest.
2847         More efficient queue unlocking in flush and state changes.
2848         Set the pad activate mode even if it does not have an activate
2849         function.
2850
2851 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2852
2853         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2854           Don't go in pull mode for non-seekable sources.
2855         * gst/elements/gsttypefindelement.h:
2856         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2857         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2858         (free_entry), (stop_typefinding),
2859         (gst_type_find_element_handle_event), (find_peek),
2860         (gst_type_find_element_chain), (do_pull_typefind),
2861         (gst_type_find_element_change_state):
2862           Allow typefinding (w/o seeking) in push-mode, simplified version
2863           of what was in 0.8.
2864         * gst/gstutils.c: (gst_buffer_join):
2865         * gst/gstutils.h:
2866           gst_buffer_join() from 0.8.
2867
2868 2005-05-25  Wim Taymans  <wim@fluendo.com>
2869
2870         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2871         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2872         (gst_pad_send_event), (gst_pad_start_task):
2873         Disable attempt at mode switching until it is figured out.
2874
2875 2005-05-25  Wim Taymans  <wim@fluendo.com>
2876
2877         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2878         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2879         (gst_basesink_finish_preroll), (gst_basesink_chain),
2880         (gst_basesink_loop), (gst_basesink_activate),
2881         (gst_basesink_change_state):
2882         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2883         (gst_basesrc_get_range), (gst_basesrc_loop),
2884         (gst_basesrc_activate):
2885         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2886         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2887         (gst_real_pad_init), (gst_real_pad_set_property),
2888         (gst_real_pad_get_property), (gst_pad_set_active),
2889         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2890         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2891         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2892         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2893         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2894         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2895         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2896         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2897         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2898         (gst_pad_stop_task):
2899         * gst/gstpad.h:
2900         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2901         (gst_queue_loop), (gst_queue_src_activate):
2902         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2903         (gst_task_get_state):
2904         * gst/gsttask.h:
2905         * gst/schedulers/threadscheduler.c:
2906         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2907         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2908         in task function.
2909         Remove ACTIVE pad flag, use FLUSHING everywhere
2910         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2911         functions.
2912         Add locks around IS_FLUSHING when reading.
2913         Take STREAM lock in chain(), get_range() functions so plugins
2914         don't need to take it anymore.
2915         
2916
2917
2918 2005-05-25  Wim Taymans  <wim@fluendo.com>
2919
2920         * tools/gst-launch.c: (event_loop):
2921         Unref message after using its contents instead of
2922         before.
2923
2924 2005-05-24  Wim Taymans  <wim@fluendo.com>
2925
2926         * docs/design/draft-ghostpads.txt:
2927         * docs/design/draft-push-pull.txt:
2928         * docs/design/draft-query.txt:
2929         * docs/design/part-overview.txt:
2930         Docs updates, added general overview doc.
2931
2932 2005-05-21  David Schleef  <ds@schleef.org>
2933
2934         * docs/gst/tmpl/old/GstBin.sgml:
2935         * docs/gst/tmpl/old/GstBuffer.sgml:
2936         * docs/gst/tmpl/old/GstCaps.sgml:
2937         * docs/gst/tmpl/old/GstClock.sgml:
2938         * docs/gst/tmpl/old/GstCompat.sgml:
2939         * docs/gst/tmpl/old/GstData.sgml:
2940         * docs/gst/tmpl/old/GstElement.sgml:
2941         * docs/gst/tmpl/old/GstEvent.sgml:
2942         * docs/gst/tmpl/old/GstIndex.sgml:
2943         * docs/gst/tmpl/old/GstStructure.sgml:
2944         * docs/gst/tmpl/old/GstTag.sgml:
2945         * docs/gst/tmpl/old/cothreads.sgml:
2946         * docs/gst/tmpl/old/cothreads_compat.sgml:
2947         * docs/gst/tmpl/old/gettext.sgml:
2948         * docs/gst/tmpl/old/gobject2gtk.sgml:
2949         * docs/gst/tmpl/old/grammar.tab.sgml:
2950         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2951         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2952         * docs/gst/tmpl/old/gst_private.sgml:
2953         * docs/gst/tmpl/old/gstaggregator.sgml:
2954         * docs/gst/tmpl/old/gstarch.sgml:
2955         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2956         * docs/gst/tmpl/old/gstbufferstore.sgml:
2957         * docs/gst/tmpl/old/gstdata_private.sgml:
2958         * docs/gst/tmpl/old/gstdisksink.sgml:
2959         * docs/gst/tmpl/old/gstdisksrc.sgml:
2960         * docs/gst/tmpl/old/gstelementfactory.sgml:
2961         * docs/gst/tmpl/old/gstextratypes.sgml:
2962         * docs/gst/tmpl/old/gstfakesink.sgml:
2963         * docs/gst/tmpl/old/gstfakesrc.sgml:
2964         * docs/gst/tmpl/old/gstfdsink.sgml:
2965         * docs/gst/tmpl/old/gstfdsrc.sgml:
2966         * docs/gst/tmpl/old/gstfilesink.sgml:
2967         * docs/gst/tmpl/old/gstfilesrc.sgml:
2968         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2969         * docs/gst/tmpl/old/gstidentity.sgml:
2970         * docs/gst/tmpl/old/gstindexfactory.sgml:
2971         * docs/gst/tmpl/old/gstmarshal.sgml:
2972         * docs/gst/tmpl/old/gstmd5sink.sgml:
2973         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2974         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2975         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2976         * docs/gst/tmpl/old/gstpipefilter.sgml:
2977         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2978         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2979         * docs/gst/tmpl/old/gstshaper.sgml:
2980         * docs/gst/tmpl/old/gstspider.sgml:
2981         * docs/gst/tmpl/old/gstspideridentity.sgml:
2982         * docs/gst/tmpl/old/gststatistics.sgml:
2983         * docs/gst/tmpl/old/gsttee.sgml:
2984         * docs/gst/tmpl/old/gsttimecache.sgml:
2985         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2986         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2987         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2988         * docs/gst/tmpl/old/types.sgml:
2989           I didn't intend to add these or check them in.
2990
2991 2005-05-19  David Schleef  <ds@schleef.org>
2992
2993         * configure.ac: Use -no-common everywhere.  In a sane world, it
2994           would be the default in libtool, because without it, you can't
2995           build DLLs on Windows.
2996         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2997         * docs/gst/gstreamer-sections.txt:
2998         * docs/gst/tmpl/gstcpu.sgml:
2999         * docs/gst/tmpl/gstdata.sgml:
3000         * docs/gst/tmpl/gstthread.sgml:
3001
3002 2005-05-19  David Schleef  <ds@schleef.org>
3003
3004         * gst/gstminiobject.c: (gst_value_set_mini_object),
3005         (gst_value_take_mini_object), (gst_value_get_mini_object):
3006         * gst/gstminiobject.h: Add GValue set/get functions.
3007
3008 2005-05-19  Wim Taymans  <wim@fluendo.com>
3009
3010         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3011         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3012         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3013         * gst/gstbuffer.h:
3014         * gst/gstbus.c: (gst_bus_post):
3015         * gst/gstelement.c: (gst_element_get_random_pad):
3016         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3017         Make subbufer unref the parent in finalize.
3018         some more debugging info.
3019
3020
3021 2005-05-19  Wim Taymans  <wim@fluendo.com>
3022
3023         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3024         (gst_basesink_init), (gst_basesink_finalize),
3025         (gst_basesink_activate), (gst_basesink_change_state):
3026         Don't free preroll queue too early.
3027
3028 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3029
3030         * gst/Makefile.am:
3031         * gst/ROADMAP:
3032           Hi, I'm outdated. Please shoot me.
3033
3034 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3035
3036         * gst/gstpipeline.c: (gst_pipeline_send_event):
3037           Do not access variables after they have been deleted.
3038
3039 2005-05-19  Wim Taymans  <wim@fluendo.com>
3040
3041         * tools/gst-inspect.c: (print_plugin_features):
3042         A plugin feature does unfortunatly not use the
3043         object name yet...
3044
3045 2005-05-18  Wim Taymans  <wim@fluendo.com>
3046
3047         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3048         Port _span() functions to new subbuffers.
3049
3050 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3051
3052         * gst/gstbin.c: (gst_bin_add_func):
3053           Fix clock settery in bins when adding kids after the clock has
3054           been selected.
3055
3056 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3057
3058         * gst/elements/gstidentity.c: (gst_identity_class_init):
3059           Workaround until signals support GstMiniObject.
3060
3061 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3062
3063         * gst/gstbuffer.c:
3064         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3065
3066 2005-05-18  Wim Taymans  <wim@fluendo.com>
3067
3068         * gst/base/Makefile.am:
3069         * gst/base/gstadapter.c: (gst_adapter_base_init),
3070         (gst_adapter_class_init), (gst_adapter_init),
3071         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3072         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3073         (gst_adapter_flush), (gst_adapter_available),
3074         (gst_adapter_available_fast):
3075         * gst/base/gstadapter.h:
3076         Ported and added adapter to the base classes.
3077
3078 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3079
3080         * gst/gst.c:
3081         * gst/gstmessage.c:
3082           Make sure the class is reffed/unreffed once before threads can be
3083           used.  Fixes #304551.
3084
3085 2005-05-17  Wim Taymans  <wim@fluendo.com>
3086
3087         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3088         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3089         * gst/gstminiobject.c: (gst_mini_object_get_type),
3090         (gst_mini_object_free):
3091         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3092         (gst_pad_push), (gst_pad_push_event):
3093         * gst/gstqueue.c: (gst_queue_change_state):
3094         Don't queue buffers in basesink when we are flushing.
3095         Unref buffer when flushing in basesink.
3096         Flush queue when going to READY
3097         Unref buffer when _push() returns an error.
3098         Don't free MiniObject instance when refcount is incremented
3099         in _finalize() so that we can recover objects.
3100
3101 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * docs/manual/advanced-schedulers.xml:
3104         * docs/manual/appendix-checklist.xml:
3105         * docs/pwg/advanced-clock.xml:
3106         * docs/pwg/advanced-interfaces.xml:
3107         * docs/pwg/advanced-request.xml:
3108         * docs/pwg/advanced-types.xml:
3109         * docs/pwg/intro-preface.xml:
3110         * examples/plugins/example.c: (gst_example_get_type),
3111         (gst_example_class_init), (gst_example_chain),
3112         (gst_example_set_property), (gst_example_get_property),
3113         (gst_example_change_state), (plugin_init):
3114         * examples/plugins/example.h:
3115           small doc fixes
3116
3117 2005-05-17  Wim Taymans  <wim@fluendo.com>
3118
3119         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3120         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3121         * gst/gstqueue.c: (gst_queue_change_state):
3122         Clear queue when going to READY.
3123         Remove IN_SETCAPS flag too.
3124
3125 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3126
3127         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3128           Remove implicit cast from gboolean to GstElementStateReturn;
3129           make sure we still return failure in paused => ready case if
3130           the parent class fails to change state and our own stop 
3131           vfunc succeeds.
3132
3133 2005-05-17  Wim Taymans  <wim@fluendo.com>
3134
3135         * tools/gst-launch.c: (event_loop):
3136         Message was unreffed too soon.
3137
3138 2005-05-16  Andy Wingo  <wingo@pobox.com>
3139
3140         * gst/gstbin.c (sink_iterator_filter): Err... um...
3141
3142         * check/gst/gstbin.c (test_ghost_pads): New test for the
3143         ghosting-if-elements-not-in-same-bin behavior.
3144
3145 2005-05-16  David Schleef  <ds@schleef.org>
3146
3147         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3148         accessing refcount directly.
3149
3150 2005-05-15  David Schleef  <ds@schleef.org>
3151
3152         * check/Makefile.am: remove GstData checks
3153         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3154         * gst/Makefile.am: add miniobject, remove data
3155         * gst/gst.h: add miniobject, remove data
3156         * gst/gstdata.c: remove
3157         * gst/gstdata.h: remove
3158         * gst/gstdata_private.h: remove
3159         * gst/gsttypes.h: remove GstEvent and GstMessage
3160         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3161         * gst/gstmarshal.list: change BOXED -> OBJECT
3162
3163         Implement GstMiniObject.
3164         * gst/gstminiobject.c:
3165         * gst/gstminiobject.h:
3166
3167         Modify to be subclasses of GstMiniObject.
3168         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3169         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3170         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3171         (gst_subbuffer_get_type), (gst_subbuffer_init),
3172         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3173         (gst_buffer_span):
3174         * gst/gstbuffer.h:
3175         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3176         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3177         (_gst_event_copy), (gst_event_new):
3178         * gst/gstevent.h:
3179         * gst/gstmessage.c: (_gst_message_initialize),
3180         (gst_message_get_type), (gst_message_class_init),
3181         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3182         (gst_message_new), (gst_message_new_error),
3183         (gst_message_new_warning), (gst_message_new_tag),
3184         (gst_message_new_state_changed), (gst_message_new_application):
3185         * gst/gstmessage.h:
3186         * gst/gstprobe.c: (gst_probe_perform),
3187         (gst_probe_dispatcher_dispatch):
3188         * gst/gstprobe.h:
3189         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3190         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3191         (_gst_query_copy), (gst_query_new):
3192
3193         Update elements for GstData -> GstMiniObject changes
3194         * gst/gstquery.h:
3195         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3196         (gst_queue_chain), (gst_queue_loop):
3197         * gst/elements/gstbufferstore.c:
3198         (gst_buffer_store_add_buffer_func),
3199         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3200         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3201         (gst_fakesink_render):
3202         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3203         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3204         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3205         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3206         (gst_filesrc_create_read):
3207         * gst/elements/gstidentity.c: (gst_identity_class_init):
3208         * gst/elements/gsttypefindelement.c:
3209         (gst_type_find_element_src_event), (free_entry_buffers),
3210         (gst_type_find_element_handle_event):
3211         * libs/gst/dataprotocol/dataprotocol.c:
3212         (gst_dp_header_from_buffer):
3213         * libs/gst/dataprotocol/dataprotocol.h:
3214         * libs/gst/dataprotocol/dp-private.h:
3215
3216 2005-05-15  David Schleef  <ds@schleef.org>
3217
3218         * gst/elements/gstelements.c: Don't include headers that were
3219         just removed.
3220
3221 2005-05-15  David Schleef  <ds@schleef.org>
3222
3223         * gst/elements/Makefile.am: Remove some elements that don't
3224         need to be in the core (or even exist at all).
3225         * gst/elements/gstaggregator.c:
3226         * gst/elements/gstaggregator.h:
3227         * gst/elements/gstmd5sink.c:
3228         * gst/elements/gstmd5sink.h:
3229         * gst/elements/gstmultifilesrc.c:
3230         * gst/elements/gstmultifilesrc.h:
3231         * gst/elements/gstpipefilter.c:
3232         * gst/elements/gstpipefilter.h:
3233         * gst/elements/gstshaper.c:
3234         * gst/elements/gstshaper.h:
3235         * gst/elements/gststatistics.c:
3236         * gst/elements/gststatistics.h:
3237         * po/POTFILES.in: Remove above files.
3238
3239 2005-05-14  Andy Wingo  <wingo@pobox.com>
3240
3241         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3242         so as to get the refs right.
3243         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3244         unreffing objects that don't pass the filter.
3245
3246         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3247         gst_element_set_bus.
3248         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3249         normal cases, this will destroy the bus.
3250
3251         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3252         object.
3253
3254         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3255         has no sinks.
3256
3257 2005-05-13  Andy Wingo  <wingo@pobox.com>
3258
3259         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3260         gst_pad_link, call pad_link_maybe_ghosting,
3261         (pad_link_maybe_ghosting): Links pads, making sure that the
3262         elements being linked are in the same bin.
3263         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3264         Helpers for pad_link_maybe_ghosting.
3265
3266 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3267
3268         * configure.ac:
3269           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3270
3271 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3272
3273         * docs/design/part-element-source.txt:
3274           Mention GstPushSrc
3275
3276 2005-05-12  Wim Taymans  <wim@fluendo.com>
3277
3278         * gst/base/gstbasesink.c: (gst_basesink_init),
3279         (gst_basesink_activate):
3280         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3281         (gst_basesrc_is_seekable):
3282         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3283         (bin_element_is_sink), (gst_bin_change_state):
3284         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3285         * gst/gstelement.h:
3286         Identify sinks by their flag to avoid overly complicated
3287         checks (fow now).
3288         Do state changes even for elements not reachable from the
3289         sinks.
3290         BaseSink is a sink now :)
3291         Some more debugging info in the basesrc.
3292
3293
3294 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3295
3296         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3297           Implement _query on a bin, similar to _send_event.
3298
3299 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3302           Discont event offset format should be GST_FORMAT_BYTES,
3303           not GST_FORMAT_TIME.
3304
3305 2005-05-12  Wim Taymans  <wim@fluendo.com>
3306
3307         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3308         Same fix as Ronald's but without the signal. 
3309
3310 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3311
3312         * gst/gstutils.c: (gst_element_query_position):
3313           No, an element is not a pad.
3314
3315 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3316
3317         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3318         (gst_bin_get_state):
3319           If a child is removed from a bin while we remove the child from
3320           the bin and while we're retrieving its state, signal this to the
3321           get_state function so we abort the wait (instead of waiting for
3322           a timeout) and can immediately re-iterate over all other elements.
3323
3324 2005-05-12  Wim Taymans  <wim@fluendo.com>
3325
3326         * gst/base/Makefile.am:
3327         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3328         (gst_basesrc_start):
3329         * gst/base/gstbasesrc.h:
3330         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3331         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3332         (gst_pushsrc_init), (gst_pushsrc_create):
3333         * gst/base/gstpushsrc.h:
3334         Added is_seekable to BaseSrc
3335         Added simple PushSrc.
3336
3337 2005-05-11  Wim Taymans  <wim@fluendo.com>
3338
3339         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3340         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3341         (gst_element_link_pads), (gst_element_query_position),
3342         (gst_element_query_convert), (intersect_caps_func),
3343         (gst_pad_query_position), (gst_pad_query_convert):
3344         Fix refcounting in utils function.
3345         No point in trying to activate a pad when it's added, it could
3346         be added from the state change function and then we deadlock, the
3347         element has to decide what to do.
3348
3349 2005-05-10  Andy Wingo  <wingo@pobox.com>
3350
3351         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3352         *all* the arguments.
3353
3354         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3355         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3356         lock (according to the docs -- if this is wrong change the docs).
3357
3358         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3359         flush messages in the NULL state.
3360
3361         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3362         message immediately and return.
3363         (gst_bus_set_flushing): New function. If a bus is flushing, it
3364         flushes out any queued messages and immediately unrefs new
3365         messages. This is so when an element goes to NULL, all of the
3366         unhandled messages coming from it can be freed, and their
3367         references to the element dropped. In other words: message source
3368         ref considered harmful :P
3369
3370         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3371         we're finished with it.
3372
3373         * gst/gstmessage.c (gst_message_new_state_changed): 
3374
3375 2005-05-10  Wim Taymans  <wim@fluendo.com>
3376
3377         * gst/gstvalue.c: (gst_value_compare_flags),
3378         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3379         (_gst_value_initialize):
3380         Added flags serialize/deserialize/compare code.
3381
3382 2005-05-09  Andy Wingo  <wingo@pobox.com>
3383
3384         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3385         Intersect the peer's caps with our caps.
3386
3387 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3388
3389         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3390         * gst/elements/gsttypefindelement.c: (find_peek):
3391           Handle negative offsets better. Fixes decodebin.
3392
3393 2005-05-09  Wim Taymans  <wim@fluendo.com>
3394
3395         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3396         (gst_base_transform_event):
3397         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3398         Implement accept_caps.
3399         Fix silly lock/unlock mismatch in base class.
3400
3401 2005-05-09  Wim Taymans  <wim@fluendo.com>
3402
3403         * docs/design/draft-push-pull.txt:
3404         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3405         * gst/elements/gstfilesink.c: (gst_filesink_init),
3406         (gst_filesink_query):
3407         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3408         (gst_type_find_handle_src_query), (find_element_get_length):
3409         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3410         * gst/gstelement.h:
3411         * gst/gstmessage.c:
3412         * gst/gstmessage.h:
3413         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3414         (gst_real_pad_get_caps_unlocked),
3415         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3416         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3417         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3418         (gst_real_pad_dispose), (gst_real_pad_finalize),
3419         (gst_pad_load_and_link), (gst_pad_save_thyself),
3420         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3421         (gst_pad_check_pull_range), (gst_pad_pull_range),
3422         (gst_pad_template_get_type), (gst_pad_template_class_init),
3423         (gst_pad_template_init), (gst_pad_template_dispose),
3424         (name_is_valid), (gst_static_pad_template_get),
3425         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3426         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3427         (gst_pad_get_element_private), (gst_pad_start_task),
3428         (gst_pad_pause_task), (gst_pad_stop_task),
3429         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3430         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3431         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3432         (gst_ghost_pad_new):
3433         * gst/gstpad.h:
3434         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3435         (gst_query_new_position), (gst_query_set_position),
3436         (gst_query_parse_position), (gst_query_new_convert),
3437         (gst_query_set_convert), (gst_query_parse_convert):
3438         * gst/gstquery.h:
3439         * gst/gstqueryutils.c:
3440         * gst/gstqueryutils.h:
3441         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3442         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3443         (gst_queue_handle_src_query):
3444         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3445         (gst_element_query_position), (gst_element_query_convert),
3446         (intersect_caps_func), (gst_pad_query_position),
3447         (gst_pad_query_convert):
3448         * gst/gstutils.h:
3449         * tools/gst-inspect.c: (print_pad_info):
3450         * tools/gst-xmlinspect.c: (print_element_info):
3451         Remove old query functions. Ported old code.
3452         Added position/convert helper functions to gstutils.
3453         Reordered gstpad.c code, grouping relevant things.
3454         Remove gst_message_new(), always need to speficy a specific
3455         message.
3456
3457
3458 2005-05-09  Andy Wingo  <wingo@pobox.com>
3459
3460         * gst/gstiterator.h: Add some includes.
3461
3462         * gst/gstqueryutils.h: Include more headers.
3463
3464         * gst/gstpad.h:
3465         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3466         some uses of gst_pad_query.
3467
3468         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3469         NULL out parameters.
3470         (gst_query_new_position): New proc, allocates a new position
3471         query.
3472
3473         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3474         gstqueryutils.c to the build.
3475
3476         * gst/gststructure.c (gst_structure_set_valist): Implement with
3477         the generic G_VALUE_COLLECT.
3478         
3479 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3480
3481         * gst/Makefile.am: (gst_headers):
3482         Added gstqueryutils.h to the list of headers to install, that was
3483         a 'nachty' move wingo :)
3484
3485 2005-05-06  Andy Wingo  <wingo@pobox.com>
3486
3487         * gst/gstquery.h
3488         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3489         GstData, init a memchunk.
3490         (standard_definitions): Add a few query types, deprecate a few.
3491         (gst_query_get_type): New proc.
3492         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3493         implementation.
3494         (gst_query_new_application, gst_query_get_structure): New public
3495         procs.
3496
3497         * docs/design/draft-query.txt: Removed LINKS from the query types,
3498         because all the rest can be dispatched to other pads -- seemed
3499         ugly to have a query that couldn't be dispatched. internal_links
3500         is fine as a pad method.
3501
3502         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3503         in gstpad.c, but maintain binary compatibility for the moment.
3504         Will fix before 0.9 is out.
3505
3506         * gst/gstqueryutils.c: 
3507         * gst/gstqueryutils.h: New files, implement 3 methods for each
3508         query type: parse_query, parse_response, and set. Probably need an
3509         allocator as well.
3510
3511         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3512
3513         * gst/elements/gstfilesink.c (gst_filesink_query2):
3514         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3515         query_types, and formats methods.
3516
3517         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3518         (gst_pad_set_query2_function): New functions.
3519         (gst_real_pad_init): Set query2_default as the default query2
3520         function. Basically just dispatches to internally linked pads.
3521
3522         Needs review!
3523         
3524         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3525         without using the atomic operations. Only one thread can possibly
3526         be accessing the data at this point. Changed so as to avoid
3527         gst_atomic operations.
3528
3529 2005-05-06  Wim Taymans  <wim@fluendo.com>
3530
3531         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3532         Also set caps if we use the fallback buffer alloc.
3533
3534 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3535
3536         * docs/gst/Makefile.am:
3537         * docs/gst/gstreamer-docs.sgml:
3538         * docs/gst/gstreamer-sections.txt:
3539         * docs/gst/tmpl/gstatomic.sgml:
3540         * docs/gst/tmpl/gstmemchunk.sgml:
3541         * testsuite/elements/struct_i386.h:
3542         * win32/GStreamer.vcproj:
3543         * win32/Makefile:
3544           Purge GstAtomic stuff from docs and win32 makefiles as well
3545
3546 2005-05-06  Wim Taymans  <wim@fluendo.com>
3547
3548         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3549         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3550         * gst/gstpad.c: (gst_pad_peer_get_caps):
3551         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3552         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3553         (gst_queue_src_activate), (gst_queue_change_state):
3554         * gst/gstqueue.h:
3555         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3556         (intersect_caps_func):
3557         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3558         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3559         Some fixes for the peer_get_caps() change.
3560
3561 2005-05-06  Wim Taymans  <wim@fluendo.com>
3562
3563         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3564         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3565         (gst_basesink_activate):
3566         Actually do something with error codes returned from the push
3567         functions.
3568
3569 2005-05-06  Wim Taymans  <wim@fluendo.com>
3570
3571         * docs/design/part-element-sink.txt:
3572         * docs/design/part-element-source.txt:
3573         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3574         (gst_basesink_event), (gst_basesink_activate):
3575         * gst/base/gstbasesink.h:
3576         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3577         (gst_basesrc_activate):
3578         * gst/base/gstbasesrc.h:
3579         * gst/gstelement.c: (gst_element_pads_activate):
3580         Some more documentation.
3581         Fixed scheduling decision in _pads_activate().
3582
3583 2005-05-05  Andy Wingo  <wingo@pobox.com>
3584
3585         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3586         the test suite.
3587
3588 2005-05-05  Wim Taymans  <wim@fluendo.com>
3589
3590         * gst/base/Makefile.am:
3591         * gst/base/gstbasesink.h:
3592         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3593         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3594         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3595         (gst_collectpads_class_init), (gst_collectpads_init),
3596         (gst_collectpads_finalize), (gst_collectpads_new),
3597         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3598         (find_pad), (gst_collectpads_remove_pad),
3599         (gst_collectpads_is_active), (gst_collectpads_collect),
3600         (gst_collectpads_collect_range), (gst_collectpads_start),
3601         (gst_collectpads_stop), (gst_collectpads_peek),
3602         (gst_collectpads_pop), (gst_collectpads_available),
3603         (gst_collectpads_read), (gst_collectpads_flush),
3604         (gst_collectpads_chain):
3605         * gst/base/gstcollectpads.h:
3606         * gst/elements/Makefile.am:
3607         * gst/elements/gstelements.c:
3608         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3609         (gst_fakesink_get_times), (gst_fakesink_event),
3610         (gst_fakesink_preroll), (gst_fakesink_render):
3611         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3612         (gst_filesink_init), (gst_filesink_set_location),
3613         (gst_filesink_open_file), (gst_filesink_close_file),
3614         (gst_filesink_pad_query), (gst_filesink_event),
3615         (gst_filesink_render), (gst_filesink_change_state):
3616         * gst/elements/gstfilesink.h:
3617         Added object to help in making collect pad based elements.
3618         Ported filesink.
3619         Make event function in sink baseclass return gboolean.
3620
3621 2005-05-05  Wim Taymans  <wim@fluendo.com>
3622
3623         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3624         (gst_bin_get_by_name):
3625         * gst/gstbuffer.h:
3626         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3627         (gst_clock_finalize):
3628         * gst/gstdata.c: (gst_data_replace):
3629         * gst/gstdata.h:
3630         * gst/gstelement.c: (gst_element_request_pad),
3631         (gst_element_pads_activate):
3632         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3633         (gst_object_unref):
3634         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3635         (gst_pad_set_checkgetrange_function),
3636         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3637         (gst_pad_check_pull_range), (gst_pad_pull_range),
3638         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3639         (gst_pad_pause_task), (gst_pad_stop_task):
3640         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3641         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3642         Fix name lookup in GstBin.
3643         Added _data_replace() function and _buffer_replace()
3644         Use finalize method to clean up clock.
3645         Fix refcounting on request pads.
3646         Fix pad schedule mode error.
3647         Some more object refcounting debug info,
3648
3649
3650 2005-05-04  Andy Wingo <wingo@pobox.com>
3651
3652         * check/Makefile.am:
3653         * docs/gst/tmpl/gstatomic.sgml:
3654         * docs/gst/tmpl/gstplugin.sgml:
3655         * gst/base/gstbasesink.c: (gst_basesink_activate):
3656         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3657         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3658         (gst_basesrc_query), (gst_basesrc_set_property),
3659         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3660         (gst_basesrc_activate):
3661         * gst/base/gstbasesrc.h:
3662         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3663         (gst_base_transform_src_activate):
3664         * gst/elements/gstelements.c:
3665         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3666         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3667         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3668         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3669         (gst_type_find_element_checkgetrange),
3670         (gst_type_find_element_activate):
3671         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3672         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3673         (gst_caps_load_thyself):
3674         * gst/gstelement.c: (gst_element_pads_activate),
3675         (gst_element_save_thyself), (gst_element_restore_thyself):
3676         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3677         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3678         * gst/gstpad.h:
3679         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3680         (gst_xml_parse_file), (gst_xml_parse_memory),
3681         (gst_xml_get_element), (gst_xml_make_element):
3682         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3683         (_file_index_id_save_xml), (gst_file_index_commit):
3684         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3685         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3686         (load_paths):
3687         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3688         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3689         * tools/gst-complete.c: (main):
3690         * tools/gst-compprep.c: (main):
3691         * tools/gst-inspect.c: (print_element_properties_info):
3692         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3693         * tools/gst-xmlinspect.c: (print_element_properties):
3694         GCC 4 fixen.
3695         
3696 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * gst/gstplugin.c: (gst_plugin_check_module),
3699         (gst_plugin_check_file), (gst_plugin_load_file):
3700             apply patch from #172526 to make register work on MacOSX
3701
3702 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3703
3704         * docs/gst/tmpl/gstconfig.sgml:
3705         * gst/gstconfig.h.in:
3706           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3707         * testsuite/debug/printf_extension.c: (main):
3708           Do not use GST_PTR_FORMAT on pointers to types with
3709           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3710         * testsuite/elements/property.h:
3711           use correct printf format
3712
3713 2005-05-02  Wim Taymans  <wim@fluendo.com>
3714
3715         * docs/design/draft-push-pull.txt:
3716         * docs/design/draft-query.txt:
3717         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3718         (gst_basesrc_start):
3719         Added draft for new query API.
3720         Added draft for better selecting scheduling methods.
3721         Make basesrc ignore length if the subclass does not support
3722         it.
3723
3724 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3725
3726         * gst/Makefile.am:
3727           possible fixes for automake-1.5 - _LIBADD is reserved
3728
3729 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * docs/faq/Makefile.am:
3732         * docs/manual/Makefile.am:
3733         * docs/manuals.mak:
3734         * docs/pwg/Makefile.am:
3735         * gst/Makefile.am:
3736           possible fixes for automake-1.5
3737
3738 2005-04-28  Wim Taymans  <wim@fluendo.com>
3739
3740         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3741         (gst_basesink_pad_getcaps), (gst_basesink_init),
3742         (gst_basesink_do_sync):
3743         * gst/gstclock.c: (gst_clock_entry_new):
3744         * gst/gstevent.c: (gst_event_discont_get_value):
3745         * gst/gstpipeline.c: (pipeline_bus_handler),
3746         (gst_pipeline_change_state):
3747         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3748         Better debugging of clocking info.
3749         Allow NULL values when getting discont values.
3750
3751 2005-04-27  Wim Taymans  <wim@fluendo.com>
3752
3753         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3754         * check/gst/gstpad.c: (gst_pad_suite):
3755         Increase timeout for checks.
3756
3757 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3758
3759         * check/Makefile.am:
3760           fix the broken rule for cleanup.  Apparently this rule is
3761           only needed on FC2, so maybe this warrants further autotool
3762           inspection.
3763
3764 2005-04-26  Wim Taymans  <wim@fluendo.com>
3765
3766         * gst/gsttrashstack.h:
3767         Ooohh. a nasty one! After having a failed pop() from the stack,
3768         it's possible that the stack is empty. In that case, don't
3769         follow the NULL pointer.
3770
3771 2005-04-25  Wim Taymans  <wim@fluendo.com>
3772
3773         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3774         (gst_pad_set_checkgetrange_function),
3775         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3776         (gst_pad_check_pull_range), (gst_pad_pull_range),
3777         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3778         (gst_pad_pause_task), (gst_pad_stop_task):
3779         * gst/gstplugin.c: (gst_plugin_load):
3780         * gst/gstplugin.h:
3781         Remove gst_library_load as it does more harm than good with
3782         the new g_module flags.
3783         Revert bogus caps template check in pad linking, pad caps
3784         are important when linking not the template, which is more
3785         general than the current caps.
3786
3787 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3788
3789         * gst/autoplug/.cvsignore:
3790         * gst/autoplug/Makefile.am:
3791         * gst/autoplug/gstsearchfuncs.c:
3792         * gst/autoplug/gstsearchfuncs.h:
3793         * gst/autoplug/gstspider.c:
3794         * gst/autoplug/gstspider.h:
3795         * gst/autoplug/gstspideridentity.c:
3796         * gst/autoplug/gstspideridentity.h:
3797         * gst/autoplug/spidertest.c:
3798           Die, spider, die.
3799
3800 2005-04-25  Wim Taymans  <wim@fluendo.com>
3801
3802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3803         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3804         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3805         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3806         * gst/gstpad.h:
3807         Added stubs for unimplemented functions. 
3808
3809 2005-04-24  David Schleef  <ds@schleef.org>
3810
3811         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3812         please fix.
3813
3814 2005-04-24  David Schleef  <ds@schleef.org>
3815
3816         Convert everything from GstAtomicInt to g_atomic_int_*, and
3817         remove gstatomic.
3818         * gst/Makefile.am:
3819         * gst/gstatomic.c:
3820         * gst/gstatomic.h:
3821         * gst/gstatomic_impl.h:
3822         * gst/gstbuffer.c:
3823         * gst/gstcaps.c:
3824         * gst/gstcaps.h:
3825         * gst/gstclock.c:
3826         * gst/gstclock.h:
3827         * gst/gstdata.c:
3828         * gst/gstdata.h:
3829         * gst/gstdata_private.h:
3830         * gst/gstevent.c:
3831         * gst/gstinfo.c:
3832         * gst/gstinfo.h:
3833         * gst/gstmessage.c:
3834         * gst/gstobject.c:
3835         * gst/gstobject.h:
3836         * gst/gststructure.c:
3837         * gst/gststructure.h:
3838         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3839         * gst/gstutils.h:
3840
3841 2005-04-24  David Schleef  <ds@schleef.org>
3842
3843         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3844         make the regressions tests work.  Remove some code that is no
3845         longer true.
3846         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3847         Disable warning for pads without templates.
3848
3849 2005-04-24  David Schleef  <ds@schleef.org>
3850
3851         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3852         functions that handle filtered links.
3853         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3854         removed functions.
3855         * gst/gstutils.c: Fix/remove utility functions that handle
3856         filtered caps.
3857         * gst/gstutils.h:
3858         * gst/gstvalue.c: Add serialization/deserialization of caps
3859         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3860         requires fixing so that the filter caps notation creates
3861         a capsfilter element and sets the filter_caps property.  I
3862         think everyone probably wants to keep the shorthand notation.
3863         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3864         * docs/gst/tmpl/gstpad.sgml:
3865
3866         * gst/elements/gstelements.c: Register capsfilter element.
3867         * gst/Makefile.am: fix spacing
3868         * docs/random/ds/0.9-suggested-changes: random
3869
3870 2005-04-23  David Schleef  <ds@schleef.org>
3871
3872         * gst/elements/Makefile.am:
3873         * gst/elements/gstcapsfilter.c: New element that acts like an
3874         identity, but filters caps.  Will eventually replace filtered
3875         caps in pad linking.
3876         * gst/gstutils.c: (gst_element_create_all_pads): New function
3877         to create all the ALWAYS pads that are registered with an
3878         element class.  This functionality should eventually be
3879         merged in with GstElement initialization.
3880         * gst/gstutils.h:
3881         * testsuite/trigger/README: part of trigger test code that should
3882         have been checked in a long time ago.
3883
3884 2005-04-23  David Schleef  <ds@schleef.org>
3885
3886         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3887         needed with new versions of libtool (nobody will confirm this),
3888         and hard to carry around.
3889         * gst/autoplug/Makefile.am:
3890         * gst/base/Makefile.am:
3891         * gst/elements/Makefile.am:
3892         * gst/indexers/Makefile.am:
3893         * gst/schedulers/Makefile.am:
3894         * libs/gst/bytestream/Makefile.am:
3895         * libs/gst/control/Makefile.am:
3896         * libs/gst/dataprotocol/Makefile.am:
3897         * libs/gst/getbits/Makefile.am:
3898
3899 2005-04-21  Wim Taymans  <wim@fluendo.com>
3900
3901         * docs/design/draft-push-pull.txt:
3902         * docs/design/part-MT-refcounting.txt:
3903         * docs/design/part-TODO.txt:
3904         * docs/design/part-caps.txt:
3905         * docs/design/part-events.txt:
3906         * docs/design/part-gstbus.txt:
3907         * docs/design/part-gstpipeline.txt:
3908         * docs/design/part-messages.txt:
3909         * docs/design/part-push-pull.txt:
3910         * docs/design/part-query.txt:
3911         Some more docs.
3912
3913 2005-04-21  Wim Taymans  <wim@fluendo.com>
3914
3915         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3916         (gst_message_new), (gst_message_new_error),
3917         (gst_message_new_warning), (gst_message_new_tag),
3918         (gst_message_new_state_changed), (gst_message_new_application),
3919         (gst_message_get_structure):
3920         * gst/gstmessage.h:
3921         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3922         (gst_structure_copy_conditional):
3923         Use parent refcount in GstMessage to ensure GstStructure
3924         consistency.
3925         Cleaned up headers a bit.
3926         
3927
3928 2005-04-20  Wim Taymans  <wim@fluendo.com>
3929
3930         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3931         (gst_basesink_pad_getcaps), (gst_basesink_init),
3932         (gst_basesink_chain_unlocked):
3933         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3934         (gst_type_find_helper):
3935         * gst/elements/gsttypefindelement.c:
3936         (gst_type_find_element_have_type), (gst_type_find_element_init),
3937         (stop_typefinding), (gst_type_find_element_handle_event),
3938         (find_suggest), (gst_type_find_element_chain),
3939         (gst_type_find_element_checkgetrange),
3940         (gst_type_find_element_getrange), (do_typefind),
3941         (gst_type_find_element_activate):
3942         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3943         (gst_buffer_default_free), (gst_buffer_default_copy),
3944         (gst_buffer_set_caps):
3945         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3946         (gst_caps_replace):
3947         * gst/gstmessage.c: (gst_message_new),
3948         (gst_message_new_state_changed):
3949         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3950         (gst_pad_set_checkgetrange_function),
3951         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3952         (gst_pad_set_caps), (gst_pad_check_pull_range),
3953         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3954         * gst/gstpad.h:
3955         * gst/gsttypefind.c: (gst_type_find_register):
3956         Make gst_caps_replace() work like other _replace() functions.
3957         Use _caps_replace() where possible.
3958         Make sure _message_new() initialises its field.
3959         Add gst_static_pad_template_get_caps()
3960
3961
3962 2005-04-18  Andy Wingo  <wingo@pobox.com>
3963
3964         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3965         on the peer, not the pad. I think that was a typo. Pass an extra
3966         arg to see if random access is possible. Activate the pads as
3967         PULL_RANGE if possible.
3968
3969         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3970
3971         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3972         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3973         to PROP_....
3974
3975 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3976
3977         * docs/faq/using.xml:
3978           Add note on gstreamer-properties (#154996).
3979
3980 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3981
3982         * docs/random/bbb/optional-properties:
3983           Some analysis on optional properties.
3984
3985 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3986
3987         * docs/gst/tmpl/gstelementfactory.sgml:
3988         * gst/gstelement.h:
3989         * gst/gstelementfactory.c: (gst_element_factory_init),
3990         (gst_element_factory_cleanup), (gst_element_register),
3991         (__gst_element_factory_add_static_pad_template),
3992         (gst_element_factory_get_static_pad_templates),
3993         (gst_element_factory_can_src_caps),
3994         (gst_element_factory_can_sink_caps):
3995         * gst/registries/Makefile.am:
3996         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3997         (gst_xml_registry_class_init), (gst_xml_registry_init),
3998         (gst_xml_registry_new), (gst_xml_registry_set_property),
3999         (gst_xml_registry_get_property), (get_time), (make_dir),
4000         (gst_xml_registry_get_perms_func),
4001         (plugin_times_older_than_recurse), (plugin_times_older_than),
4002         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4003         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4004         (add_to_char_array), (read_string), (read_uint), (read_enum),
4005         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4006         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4007         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4008         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4009         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4010         (gst_xml_registry_rebuild):
4011         * gst/registries/gstlibxmlregistry.h:
4012         * tools/gst-compprep.c: (main):
4013         * tools/gst-inspect.c: (print_pad_templates_info):
4014         * tools/gst-xmlinspect.c: (print_element_info):
4015           Use libxml2 for registry parsing, use staticpadtemplates in
4016           elementfactories. Makes gst_init() +/- 10x faster.
4017
4018 2005-04-12  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/base/Makefile.am:
4021         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4022         (gst_basesink_pad_getcaps), (gst_basesink_init),
4023         (gst_basesink_event), (gst_basesink_change_state):
4024         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4025         (gst_basesrc_init), (gst_basesrc_query),
4026         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4027         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4028         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4029         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4030         (gst_basesrc_stop), (gst_basesrc_activate),
4031         (gst_basesrc_change_state):
4032         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4033         (helper_find_suggest), (gst_type_find_helper):
4034         * gst/base/gsttypefindhelper.h:
4035         * gst/elements/Makefile.am:
4036         * gst/elements/gstelements.c:
4037         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4038         (gst_fakesink_get_times), (gst_fakesink_event),
4039         (gst_fakesink_preroll), (gst_fakesink_render):
4040         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4041         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4042         (gst_fakesrc_get_property), (gst_fakesrc_create),
4043         (gst_fakesrc_start), (gst_fakesrc_stop):
4044         * gst/elements/gstfakesrc.h:
4045         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4046         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4047         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4048         (gst_filesrc_create_read), (gst_filesrc_create),
4049         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4050         (gst_filesrc_start):
4051         * gst/elements/gsttypefindelement.c:
4052         (gst_type_find_element_have_type), (gst_type_find_element_init),
4053         (start_typefinding), (stop_typefinding), (push_buffer_store),
4054         (gst_type_find_element_handle_event),
4055         (gst_type_find_element_chain),
4056         (gst_type_find_element_checkgetrange),
4057         (gst_type_find_element_getrange), (do_typefind),
4058         (gst_type_find_element_activate),
4059         (gst_type_find_element_change_state):
4060         * gst/elements/gsttypefindelement.h:
4061         * gst/gstpipeline.c: (pipeline_bus_handler):
4062         Added typefind helper.
4063         Small preroll fix in the base sink.
4064         Disable typefind code in basesrc.
4065         Crude port of typefindelement.
4066         Fakesrc cleanups.
4067
4068
4069 2005-04-11  Wim Taymans  <wim@fluendo.com>
4070
4071         * check/gst/gstbus.c: (gstbus_suite):
4072         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4073         * check/gstcheck.h:
4074           Fix up the timeout so that the test does not fail.
4075
4076 2005-04-06  Wim Taymans  <wim@fluendo.com>
4077
4078         * gst/base/README:
4079         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4080         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4081         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4082         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4083         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4084         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4085         (gst_basesrc_stop), (gst_basesrc_activate),
4086         (gst_basesrc_change_state), (basesrc_find_peek),
4087         (basesrc_find_suggest), (gst_basesrc_type_find):
4088         * gst/base/gstbasesrc.h:
4089         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4090         (gst_filesrc_class_init), (gst_filesrc_init),
4091         (gst_filesrc_finalize), (gst_filesrc_set_location),
4092         (gst_filesrc_set_property), (gst_filesrc_get_property),
4093         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4094         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4095         (gst_filesrc_create_read), (gst_filesrc_create),
4096         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4097         * gst/elements/gstfilesrc.h:
4098         * gst/gstelement.c: (gst_element_get_state_func),
4099         (gst_element_lost_state), (gst_element_pads_activate):
4100         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4101         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4102         (gst_pad_pull_range):
4103         * gst/gstpad.h:
4104         More work on the generic source base class, implement seeking,
4105         query.
4106         Make filesrc extend the base source class.
4107         Added gst_pad_set_checkgetrange_function to GstPad.
4108
4109 2005-04-06  Andy Wingo  <wingo@pobox.com>
4110
4111         * pkgconfig/gstreamer-base.pc.in:
4112         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4113
4114         * pkgconfig/Makefile.am:
4115         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4116
4117 2005-04-04  Wim Taymans  <wim@fluendo.com>
4118
4119         * gst/base/Makefile.am:
4120         * gst/base/README:
4121         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4122         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4123         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4124         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4125         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4126         (gst_basesrc_base_init), (gst_basesrc_class_init),
4127         (gst_basesrc_init), (gst_basesrc_get_formats),
4128         (gst_basesrc_get_query_types), (gst_basesrc_query),
4129         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4130         (gst_basesrc_set_property), (gst_basesrc_get_property),
4131         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4132         (gst_basesrc_loop), (gst_basesrc_activate),
4133         (gst_basesrc_change_state):
4134         * gst/base/gstbasesrc.h:
4135         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4136         (gst_fakesrc_class_init), (gst_fakesrc_init),
4137         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4138         (gst_fakesrc_get_property), (gst_fakesrc_create):
4139         * gst/elements/gstfakesrc.h:
4140         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4141         (gst_filesrc_open_file), (gst_filesrc_loop),
4142         (gst_filesrc_activate), (filesrc_find_peek),
4143         (gst_filesrc_type_find):
4144         Made base source class, make fakesrc extend it.
4145         Add comments to basesink class.
4146         Some filesrc cleanup.
4147
4148 2005-03-31  David Schleef  <ds@schleef.org>
4149
4150         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4151         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4152         expected to link against libgstreamer.
4153         * gst/base/Makefile.am: link against libgstreamer
4154         * gst/elements/Makefile.am: same
4155
4156 2005-03-31  Andy Wingo  <wingo@pobox.com>
4157
4158         * tests/instantiate/Makefile.am:
4159         * tests/instantiate/caps.c: Add test to test speed of caps copy
4160         and free.
4161
4162         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4163         GMemChunk to be fair.
4164
4165         * gst/gsttrashstack.h: Remove warning about using the fallback
4166         trash stack implementation, it's still faster than malloc.
4167
4168 2005-03-30  Andy Wingo  <wingo@pobox.com>
4169
4170         * tests/complexity.c: Add a copyright.
4171
4172 2005-03-31  Wim Taymans  <wim@fluendo.com>
4173
4174         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4175         (gst_base_transform_class_init), (gst_base_transform_init),
4176         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4177         (gst_base_transform_get_property),
4178         (gst_base_transform_sink_activate),
4179         (gst_base_transform_src_activate),
4180         (gst_base_transform_change_state):
4181         * gst/base/gstbasetransform.h:
4182         * gst/elements/gstidentity.c: (gst_identity_class_init),
4183         (gst_identity_event), (gst_identity_check_perfect),
4184         (gst_identity_transform), (gst_identity_start),
4185         (gst_identity_stop):
4186         Added start/stop methods to transform base class so subclasses 
4187         don't need to deal with state changes even.
4188
4189 2005-03-31  Wim Taymans  <wim@fluendo.com>
4190
4191         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4192         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4193         * gst/gstevent.h:
4194         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4195         (gst_pad_pull_range):
4196         Added rate to the discont event to prepare for variable speed
4197         and reverse playback.
4198
4199 2005-03-29  David Schleef  <ds@schleef.org>
4200
4201         * configure.ac:
4202         * testsuite/trigger/Makefile.am:
4203         * testsuite/trigger/trigger.c: A little example program to show
4204         how trigger-based elements can work.
4205
4206 2005-03-29  Wim Taymans  <wim@fluendo.com>
4207
4208         * gst/base/Makefile.am:
4209         * gst/base/README:
4210         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4211         (gst_basesink_base_init), (gst_basesink_class_init),
4212         (gst_basesink_pad_getcaps), (gst_basesink_init),
4213         (gst_basesink_activate), (gst_basesink_change_state):
4214         * gst/base/gstbasesink.h:
4215         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4216         (gst_base_transform_base_init), (gst_base_transform_finalize),
4217         (gst_base_transform_class_init), (gst_base_transform_init),
4218         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4219         (gst_base_transform_event), (gst_base_transform_getrange),
4220         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4221         (gst_base_transform_set_property),
4222         (gst_base_transform_get_property),
4223         (gst_base_transform_sink_activate),
4224         (gst_base_transform_src_activate),
4225         (gst_base_transform_change_state):
4226         * gst/base/gstbasetransform.h:
4227         * gst/elements/gstidentity.c: (gst_identity_finalize),
4228         (gst_identity_class_init), (gst_identity_init),
4229         (gst_identity_event), (gst_identity_check_perfect),
4230         (gst_identity_transform), (gst_identity_set_property),
4231         (gst_identity_get_property), (gst_identity_change_state):
4232         * gst/elements/gstidentity.h:
4233         * gst/gstelement.c: (gst_element_get_state_func),
4234         (gst_element_lost_state), (gst_element_pads_activate):
4235         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4236         (gst_pad_check_pull_range), (gst_pad_pull_range):
4237         * gst/gstpad.h:
4238         Simplify pad activation.
4239         Added function to check if pull_range can be performed.
4240         Error out when pulling inactive or flushing pads.
4241         Removed const from refcounted types as it does not make sense.
4242         Simplify pad templates in basesink
4243         Added base class for simple 1-to-1 transforms.
4244         Make identity subclass the base transform.
4245
4246 2005-03-29  Andy Wingo  <wingo@pobox.com>
4247
4248         * docs/libs/gstreamer-libs-overrides.txt: 
4249         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4250         really don't understand what's going on, but like whatever. I want
4251         green buildbot!
4252
4253         * docs/gst/Makefile.am:
4254         * docs/libs/Makefile.am: Dist the overrides files.
4255
4256         * check/Makefile.am (clean-local): Remove .libs directories.
4257
4258         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4259         elements to EXTRA_DIST, so po/ files are happy.
4260
4261         * po/POTFILES.in: Er, remove it here.
4262
4263         * po/POTFILES: Remove gstspider.c.
4264
4265         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4266
4267         * docs/libs/gstreamer-libs-docs.sgml: 
4268         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4269         bytestream.
4270
4271         * tests/complexity.c (main): Set the length of the preroll queue
4272         on the sinks to prevent a lockup.
4273
4274         * libs/gst/dataprotocol/Makefile.am: 
4275         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4276         the same as the one in check/gst-libs/gdp.c.
4277
4278         * po/, docs/gst/: Commit automatic changes to docs and po files.
4279
4280         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4281         the versioned libgstbase.
4282
4283         * check/Makefile.am: Depend on an unversioned gst-register, seems
4284         to make autoconf happier.
4285
4286         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4287
4288 2005-03-28  Wim Taymans  <wim@fluendo.com>
4289
4290         * configure.ac:
4291         * docs/design/part-gstelement.txt:
4292         * docs/design/part-negotiation.txt:
4293         * docs/design/part-preroll.txt:
4294         * docs/design/part-scheduling.txt:
4295         * docs/design/part-states.txt:
4296         * gst/Makefile.am:
4297         * gst/base/Makefile.am:
4298         * gst/base/README:
4299         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4300         (gst_basesink_base_init), (gst_basesink_class_init),
4301         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4302         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4303         (gst_basesink_set_pad_functions),
4304         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4305         (gst_basesink_set_property), (gst_basesink_get_property),
4306         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4307         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4308         (gst_basesink_preroll_queue_push),
4309         (gst_basesink_preroll_queue_empty),
4310         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4311         (gst_basesink_event), (gst_basesink_get_times),
4312         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4313         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4314         (gst_basesink_loop), (gst_basesink_activate),
4315         (gst_basesink_change_state):
4316         * gst/base/gstbasesink.h:
4317         * gst/elements/Makefile.am:
4318         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4319         (gst_fakesink_class_init), (gst_fakesink_init),
4320         (gst_fakesink_set_property), (gst_fakesink_get_property),
4321         (gst_fakesink_get_times), (gst_fakesink_event),
4322         (gst_fakesink_preroll), (gst_fakesink_render),
4323         (gst_fakesink_change_state):
4324         * gst/elements/gstfakesink.h:
4325         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4326         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4327         * gst/gstelement.c: (gst_element_add_pad),
4328         (gst_element_get_state_func), (gst_element_abort_state),
4329         (gst_element_commit_state), (gst_element_lost_state),
4330         (gst_element_set_state), (gst_element_pads_activate):
4331         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4332         * gst/gstpipeline.c: (gst_pipeline_send_event),
4333         (gst_pipeline_change_state):
4334         Added state change code.
4335         Added/updated docs.
4336         Added sink base class, make fakesink extend the base class.
4337         Small cleanups in GstPipeline.
4338
4339 2005-03-26  David Schleef  <ds@schleef.org>
4340
4341         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4342         is broken and should be implemented in a different library.
4343         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4344         * gst/gst.h: remove gstcpu.h
4345         * gst/gstcpu.c: remove
4346         * gst/gstcpu.h: remove
4347         * gst/Makefile.am.future: Remove this file.  It's ancient.
4348
4349 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4350
4351         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4352         (gst_bin_send_event):
4353           Add default event/set_manager handlers. The set_manager handler
4354           takes care that the manager is distributed over kids that were
4355           already in the bin before the manager was set. The event handler
4356           is a utility virtual function that sends the event over all sinks,
4357           so that gst_element_send_event (bin, event); has the expected
4358           behaviour.
4359         * gst/gstpad.c: (gst_pad_event_default):
4360           Re-install default event handling for discontinuities, so that
4361           seeking works without requiring hacks in applications or extra
4362           code in sinks.
4363         * gst/gstpipeline.c: (gst_pipeline_class_init),
4364         (gst_pipeline_send_event):
4365           Half hack, half utility: set a pipeline to PAUSED for seek events,
4366           since that is the only way we can guarantee a/v sync. Means that
4367           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4368           and it "just works".
4369
4370 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4371
4372         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4373           Lock/unlock mismatch.
4374
4375 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4376
4377         * docs/faq/gst-uninstalled:
4378           add gst-plugins-base
4379         * docs/gst/Makefile.am:
4380           don't error out until docs are fixed
4381         * docs/gst/gstreamer.types:
4382           remove thread
4383
4384 2005-03-22  Wim Taymans  <wim@fluendo.com>
4385
4386         * check/Makefile.am:
4387         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4388         * gst/gststructure.c: (gst_structure_set_valist),
4389         (gst_structure_copy_conditional):
4390         Activated more tests.
4391         Added message test.
4392         Added G_TYPE_POINTER to GstStructure.
4393         
4394
4395 2005-03-22  Wim Taymans  <wim@fluendo.com>
4396
4397         * docs/design/part-TODO.txt:
4398         * docs/design/part-events.txt:
4399         * docs/design/part-gstbin.txt:
4400         * docs/design/part-gstbus.txt:
4401         * docs/design/part-gstpipeline.txt:
4402         * docs/design/part-messages.txt:
4403         * gst/gstbus.c:
4404         * gst/gstmessage.c:
4405         Docs updates
4406
4407 2005-03-21  Wim Taymans  <wim@fluendo.com>
4408
4409         * gst/gstbus.c: (gst_bus_post):
4410         Fix copy-and-paste error.
4411
4412 2005-03-21  Wim Taymans  <wim@fluendo.com>
4413
4414         * check/Makefile.am:
4415         * gst/Makefile.am:
4416         * gst/elements/Makefile.am:
4417         * gst/elements/gstelements.c:
4418         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4419         (gst_fakesink_event), (gst_fakesink_chain):
4420         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4421         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4422         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4423         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4424         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4425         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4426         (gst_fakesrc_loop), (gst_fakesrc_activate),
4427         (gst_fakesrc_change_state):
4428         * gst/elements/gstfakesrc.h:
4429         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4430         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4431         (gst_filesrc_open_file), (gst_filesrc_loop),
4432         (gst_filesrc_activate), (gst_filesrc_change_state),
4433         (filesrc_find_peek), (filesrc_find_suggest),
4434         (gst_filesrc_type_find):
4435         * gst/elements/gstidentity.c: (gst_identity_finalize),
4436         (gst_identity_class_init), (gst_identity_init),
4437         (gst_identity_proxy_getcaps), (identity_queue_push),
4438         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4439         (gst_identity_getrange), (gst_identity_chain),
4440         (gst_identity_sink_loop), (gst_identity_src_loop),
4441         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4442         (gst_identity_set_property), (gst_identity_get_property),
4443         (gst_identity_change_state):
4444         * gst/elements/gstidentity.h:
4445         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4446         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4447         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4448         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4449         (gst_tee_sink_activate):
4450         * gst/elements/gsttee.h:
4451         * gst/gst.c: (gst_register_core_elements), (init_post):
4452         * gst/gst.h:
4453         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4454         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4455         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4456         (gst_bin_change_state):
4457         * gst/gstbin.h:
4458         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4459         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4460         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4461         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4462         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4463         (bus_watch_callback), (bus_watch_destroy),
4464         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4465         (poll_timeout), (gst_bus_poll):
4466         * gst/gstbus.h:
4467         * gst/gstcaps.h:
4468         * gst/gstdata.h:
4469         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4470         (gst_element_post_message), (gst_element_message_full),
4471         (gst_element_get_state_func), (gst_element_get_state),
4472         (gst_element_abort_state), (gst_element_commit_state),
4473         (gst_element_lost_state), (gst_element_set_state),
4474         (gst_element_pads_activate), (gst_element_change_state),
4475         (gst_element_dispose), (gst_element_set_manager_func),
4476         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4477         (gst_element_set_manager), (gst_element_get_manager),
4478         (gst_element_set_bus), (gst_element_get_bus),
4479         (gst_element_set_scheduler), (gst_element_get_scheduler):
4480         * gst/gstelement.h:
4481         * gst/gstevent.c: (gst_event_new_segment_seek),
4482         (gst_event_new_flush):
4483         * gst/gstevent.h:
4484         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4485         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4486         (gst_message_new_eos), (gst_message_new_error),
4487         (gst_message_new_warning), (gst_message_new_tag),
4488         (gst_message_new_state_changed), (gst_message_new_application),
4489         (gst_message_get_structure), (gst_message_parse_tag),
4490         (gst_message_parse_state_changed), (gst_message_parse_error),
4491         (gst_message_parse_warning):
4492         * gst/gstmessage.h:
4493         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4494         (gst_real_pad_set_property), (gst_pad_set_active),
4495         (gst_pad_is_active), (gst_pad_set_blocked_async),
4496         (gst_pad_set_blocked), (gst_pad_is_blocked),
4497         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4498         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4499         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4500         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4501         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4502         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4503         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4504         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4505         (gst_pad_set_caps), (gst_pad_configure_sink),
4506         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4507         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4508         (gst_real_pad_dispose), (gst_real_pad_finalize),
4509         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4510         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4511         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4512         * gst/gstpad.h:
4513         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4514         (pipeline_bus_handler), (gst_pipeline_change_state),
4515         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4516         * gst/gstpipeline.h:
4517         * gst/gstprobe.h:
4518         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4519         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4520         (gst_queue_link_src), (gst_queue_bufferalloc),
4521         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4522         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4523         (gst_queue_loop), (gst_queue_handle_src_event),
4524         (gst_queue_handle_src_query), (gst_queue_src_activate),
4525         (gst_queue_change_state):
4526         * gst/gstqueue.h:
4527         * gst/gstscheduler.c: (gst_scheduler_init),
4528         (gst_scheduler_dispose), (gst_scheduler_create_task),
4529         (gst_scheduler_factory_create):
4530         * gst/gstscheduler.h:
4531         * gst/gststructure.c: (gst_structure_get_type),
4532         (gst_structure_copy_conditional):
4533         * gst/gststructure.h:
4534         * gst/gsttaginterface.h:
4535         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4536         (gst_task_init), (gst_task_dispose), (gst_task_create),
4537         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4538         (gst_task_pause):
4539         * gst/gsttask.h:
4540         * gst/gstthread.c:
4541         * gst/gstthread.h:
4542         * gst/gsttypes.h:
4543         * gst/schedulers/Makefile.am:
4544         * gst/schedulers/cothreads_compat.h:
4545         * gst/schedulers/entryscheduler.c:
4546         * gst/schedulers/faircothreads.c:
4547         * gst/schedulers/faircothreads.h:
4548         * gst/schedulers/fairscheduler.c:
4549         * gst/schedulers/gstbasicscheduler.c:
4550         * gst/schedulers/gstoptimalscheduler.c:
4551         * gst/schedulers/gthread-cothreads.h:
4552         * gst/schedulers/threadscheduler.c:
4553         (gst_thread_scheduler_task_get_type),
4554         (gst_thread_scheduler_task_class_init),
4555         (gst_thread_scheduler_task_init),
4556         (gst_thread_scheduler_task_start),
4557         (gst_thread_scheduler_task_stop),
4558         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4559         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4560         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4561         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4562         (plugin_init):
4563         * libs/gst/Makefile.am:
4564         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4565         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4566         (gst_file_pad_parent_set):
4567         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4568         (gst_dp_event_from_packet):
4569         * tests/complexity.c: (main):
4570         * tests/mass_elements.c: (main):
4571         * testsuite/states/locked.c: (message_received), (main):
4572         * testsuite/states/parent.c: (main):
4573         * tools/gst-inspect.c: (print_element_flag_info),
4574         (print_implementation_info), (print_pad_info):
4575         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4576         (main):
4577         * tools/gst-md5sum.c: (event_loop), (main):
4578         * tools/gst-typefind.c: (main):
4579         * tools/gst-xmlinspect.c: (print_element_info):
4580         Next big merge.
4581         Added GstBus for mainloop integration.
4582         Added GstMessage for sending notifications on the bus.
4583         Added GstTask as an abstraction for pipeline entry points.
4584         Removed GstThread.
4585         Removed Schedulers.
4586         Simplified GstQueue for multithreaded core.
4587         Made _link threadsafe, removed old capsnego.
4588         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4589         Added pad blocking functions.
4590         Reworked scheduling functions in GstPad to prepare for
4591         scheduling updates soon.
4592         Moved events out of data stream.
4593         Simplified GstEvent types.
4594         Added return values to push/pull.
4595         Removed clocking from GstElement.
4596         Added prototypes for state change function for next merge.
4597         Removed iterate from bins and state change management.
4598         Fixed some elements, disabled others for now.
4599         Fixed -inspect and -launch.
4600         Added check for GstBus.
4601
4602 2005-03-10  Wim Taymans  <wim@fluendo.com>
4603
4604         * docs/design/part-MT-refcounting.txt:
4605         * docs/design/part-clocks.txt:
4606         * docs/design/part-gstelement.txt:
4607         * docs/design/part-gstobject.txt:
4608         * docs/design/part-standards.txt:
4609         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4610         (gst_bin_remove_func), (gst_bin_remove):
4611         * gst/gstbin.h:
4612         * gst/gstbuffer.c:
4613         * gst/gstcaps.h:
4614         * testsuite/clock/clock1.c: (main):
4615         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4616         (main):
4617         * testsuite/dlopen/loadgst.c: (do_test):
4618         * testsuite/refcounting/bin.c: (add_remove_test1),
4619         (add_remove_test2), (main):
4620         * testsuite/refcounting/element.c: (main):
4621         * testsuite/refcounting/element_pad.c: (main):
4622         * testsuite/refcounting/pad.c: (main):
4623         * tools/gst-launch.c: (sigint_handler_sighandler):
4624         * tools/gst-typefind.c: (main):
4625         Doc updates.
4626         Added doc about clock.
4627         removed gst_bin_iterate_recurse_up(), marked methods
4628         for removal.
4629         Fix more testsuites.
4630
4631 2005-03-09  Wim Taymans  <wim@fluendo.com>
4632
4633         * gst/gstpad.c: (gst_pad_get_direction),
4634         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4635         (gst_pad_collect_valist):
4636         * testsuite/bins/interface.c: (main):
4637         * testsuite/caps/audioscale.c: (test_caps):
4638         * testsuite/caps/caps.c: (test1), (test2), (test3):
4639         * testsuite/caps/deserialize.c: (main):
4640         * testsuite/caps/enumcaps.c: (main):
4641         * testsuite/caps/filtercaps.c: (main):
4642         * testsuite/caps/intersect2.c: (main):
4643         * testsuite/caps/random.c: (main):
4644         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4645         * testsuite/caps/sets.c: (check_caps):
4646         * testsuite/caps/simplify.c: (check_caps), (main):
4647         * testsuite/caps/subtract.c: (check_caps):
4648         Fix _pad_get_direction wrt ghostpads.
4649         Fix caps testsuite.
4650
4651 2005-03-09  Wim Taymans  <wim@fluendo.com>
4652
4653         * check/Makefile.am:
4654         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4655         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4656         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4657         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4658         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4659         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4660         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4661         (bin_element_is_sink), (gst_bin_iterate_sinks),
4662         (gst_bin_iterate_all_by_interface):
4663         * gst/gstbin.h:
4664         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4665         (gst_element_change_state), (gst_element_dispose),
4666         (gst_element_finalize), (gst_element_set_loop_function):
4667         * gst/gstelement.h:
4668         * gst/gstiterator.c: (find_custom_fold_func):
4669         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4670         (gst_pad_collectv), (gst_pad_collect_valist),
4671         (gst_pad_template_new):
4672         * gst/gstpipeline.c: (gst_pipeline_class_init),
4673         (gst_pipeline_dispose), (gst_pipeline_set_property),
4674         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4675         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4676         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4677         * gst/gstutils.h:
4678         * gst/schedulers/entryscheduler.c:
4679         * gst/schedulers/gstbasicscheduler.c:
4680         (gst_basic_scheduler_cothreaded_chain),
4681         (gst_basic_scheduler_chain_add_element):
4682         * testsuite/bins/interface.c: (main):
4683         Added GstBin test.
4684         Added GstSystemClock test.
4685         Implemented clock distribution code in GstBin.
4686         Implemented iterate sinks method for future use.
4687         Rearranged gstelement.h
4688         Fix GstIterator comparison bug.
4689         Moved some code to GstPipeline, mostly clocking related.
4690
4691 2005-03-09  Wim Taymans  <wim@fluendo.com>
4692
4693         * configure.ac:
4694         * gst/gst_private.h:
4695         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4696         (gst_bin_remove_func), (gst_bin_remove),
4697         (gst_bin_get_by_name_recurse_up):
4698         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4699         (gst_clock_id_compare_func), (gst_clock_id_wait),
4700         (gst_clock_id_wait_async), (gst_clock_init),
4701         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4702         * gst/gstelement.h:
4703         * gst/gstinfo.c: (_gst_debug_init):
4704         * gst/gstobject.h:
4705         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4706         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4707         * gst/gstpad.h:
4708         Bump version number, we're now 0.9.0
4709         Add future debugging category.
4710         Fix NULL _unref() in _get_by_name_recurse_up
4711         Rearrange gstpad.h.
4712         Update some docs.
4713
4714 2005-03-08  Wim Taymans  <wim@fluendo.com>
4715
4716         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4717         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4718         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4719         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4720         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4721         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4722         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4723         * gst/elements/gstidentity.c: (gst_identity_class_init):
4724         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4725         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4726         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4727         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4728         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4729         (gst_tee_link):
4730         * gst/gstelement.c: (gst_element_class_init),
4731         (gst_element_base_class_init), (gst_element_init),
4732         (gst_element_get_random_pad), (gst_element_wait_state_change),
4733         (gst_element_change_state), (gst_element_dispose),
4734         (gst_element_finalize), (gst_element_set_loop_function):
4735         * gst/gstelement.h:
4736         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4737         * gst/gstthread.c: (gst_thread_class_init),
4738         (gst_thread_release_children_locks), (gst_thread_change_state):
4739         * gst/schedulers/gstbasicscheduler.c:
4740         (gst_basic_scheduler_loopfunc_wrapper),
4741         (gst_basic_scheduler_chain_wrapper),
4742         (gst_basic_scheduler_src_wrapper),
4743         (gst_basic_scheduler_remove_element):
4744         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4745         Remove threadsafe properties. Fix elements because GObject
4746         complains when installing a property before declaring a
4747         set/get_property handler.
4748         Rearrange gstelement.h file, use STATE macros for state locks.
4749         Free mutexes in the finalize method instead of dispose.
4750
4751 2005-03-08  Wim Taymans  <wim@fluendo.com>
4752
4753         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4754         * gst/gstthread.c: (gst_thread_release_children_locks):
4755         Added parentage check.
4756         Fix build og GstThread again.
4757
4758 2005-03-08  Wim Taymans  <wim@fluendo.com>
4759
4760         * docs/design/part-MT-refcounting.txt:
4761         * docs/design/part-conventions.txt:
4762         * docs/design/part-gstobject.txt:
4763         * docs/design/part-relations.txt:
4764         * docs/design/part-standards.txt:
4765         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4766         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4767         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4768         (gst_bin_iterate_all_by_interface):
4769         * gst/gstbuffer.h:
4770         * gst/gstclock.h:
4771         * gst/gstelement.c: (gst_element_class_init),
4772         (gst_element_change_state), (gst_element_set_loop_function):
4773         * gst/gstelement.h:
4774         * gst/gstiterator.c:
4775         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4776         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4777         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4778         (gst_object_set_parent), (gst_object_unparent),
4779         (gst_object_check_uniqueness):
4780         * gst/gstobject.h:
4781         Docs updates, clean up some headers.
4782
4783 2005-03-07  Wim Taymans  <wim@fluendo.com>
4784
4785         * check/.cvsignore:
4786         * check/Makefile.am:
4787         * check/gst-libs/.cvsignore:
4788         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4789         * check/gst/.cvsignore:
4790         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4791         (START_TEST), (gstbus_suite), (main):
4792         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4793         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4794         (gst_data_suite), (main):
4795         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4796         (add_fold_func), (gstiterator_suite), (main):
4797         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4798         (thread_name_object), (thread_name_object_default),
4799         (gst_object_name_compare), (gst_object_suite), (main):
4800         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4801         (gst_pad_suite), (main):
4802         * check/gstcheck.c: (gst_check_log_message_func),
4803         (gst_check_log_critical_func), (gst_check_init):
4804         * check/gstcheck.h:
4805         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4806         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4807         Added checks.
4808
4809 2005-03-07  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4812         (gst_list_iterator_next), (gst_list_iterator_resync),
4813         (gst_list_iterator_free), (gst_iterator_new_list),
4814         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4815         (gst_iterator_free), (gst_iterator_push), (filter_next),
4816         (filter_resync), (filter_uninit), (filter_free),
4817         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4818         (gst_iterator_foreach), (find_custom_fold_func),
4819         (gst_iterator_find_custom):
4820         * gst/gstiterator.h:
4821         Added missing files.
4822
4823 2005-03-07  Wim Taymans  <wim@fluendo.com>
4824
4825         * Makefile.am:
4826         * configure.ac:
4827         * docs/design/part-MT-refcounting.txt:
4828         * docs/design/part-conventions.txt:
4829         * docs/design/part-gstobject.txt:
4830         * docs/design/part-relations.txt:
4831         * examples/mixer/mixer.c: (main):
4832         * examples/thread/thread.c: (eos), (main):
4833         * gst/Makefile.am:
4834         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4835         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4836         (gst_spider_plug_from_srcpad):
4837         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4838         (gst_spider_identity_change_state),
4839         (gst_spider_identity_sink_loop_type_finding):
4840         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4841         * gst/elements/gstidentity.c: (gst_identity_init):
4842         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4843         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4844         * gst/elements/gsttypefindelement.c: (free_entry):
4845         * gst/gst.c:
4846         * gst/gst.h:
4847         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4848         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4849         (gst_bin_set_index), (gst_bin_set_element_sched),
4850         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4851         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4852         (gst_bin_iterate_elements), (iterate_child_recurse),
4853         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4854         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4855         (compare_interface), (gst_bin_get_by_interface),
4856         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4857         * gst/gstbin.h:
4858         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4859         (gst_buffer_default_free), (gst_buffer_default_copy),
4860         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4861         (gst_buffer_create_sub):
4862         * gst/gstbuffer.h:
4863         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4864         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4865         (gst_caps_unref), (gst_static_caps_get),
4866         (gst_caps_remove_and_get_structure), (gst_caps_append),
4867         (gst_caps_append_structure), (gst_caps_remove_structure),
4868         (gst_caps_copy_nth), (gst_caps_set_simple),
4869         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4870         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4871         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4872         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4873         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4874         (gst_caps_structure_figure_out_union),
4875         (gst_caps_switch_structures), (gst_caps_do_simplify),
4876         (gst_caps_replace), (gst_caps_from_string),
4877         (gst_caps_copy_conditional):
4878         * gst/gstcaps.h:
4879         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4880         (_gst_clock_id_free), (gst_clock_id_unref),
4881         (gst_clock_id_compare_func), (gst_clock_id_wait),
4882         (gst_clock_id_wait_async), (gst_clock_class_init),
4883         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4884         (gst_clock_get_time), (gst_clock_set_time_adjust),
4885         (gst_clock_set_property), (gst_clock_get_property):
4886         * gst/gstclock.h:
4887         * gst/gstcompat.h:
4888         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4889         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4890         * gst/gstdata.h:
4891         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4892         (gst_element_requires_clock), (gst_element_provides_clock),
4893         (gst_element_set_clock), (gst_element_clock_wait),
4894         (gst_element_wait), (gst_element_set_time_delay),
4895         (gst_element_is_indexable), (gst_element_add_pad),
4896         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4897         (pad_compare_name), (gst_element_get_static_pad),
4898         (gst_element_request_pad), (gst_element_get_request_pad),
4899         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4900         (gst_element_class_get_pad_template_list),
4901         (gst_element_class_get_pad_template), (gst_element_error_func),
4902         (gst_element_get_random_pad), (gst_element_get_event_masks),
4903         (gst_element_send_event), (gst_element_seek),
4904         (gst_element_get_query_types), (gst_element_query),
4905         (gst_element_get_formats), (gst_element_convert),
4906         (gst_element_is_locked_state), (gst_element_set_locked_state),
4907         (gst_element_sync_state_with_parent), (gst_element_change_state),
4908         (gst_element_finalize), (gst_element_yield),
4909         (gst_element_interrupt), (gst_element_set_scheduler),
4910         (gst_element_get_scheduler), (gst_element_set_loop_function):
4911         * gst/gstelement.h:
4912         * gst/gstevent.h:
4913         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4914         (gst_format_get_by_nick), (gst_format_get_details),
4915         (gst_format_iterate_definitions):
4916         * gst/gstformat.h:
4917         * gst/gstindex.c: (gst_index_gtype_resolver):
4918         * gst/gstinfo.c:
4919         * gst/gstinfo.h:
4920         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4921         (gst_mem_chunk_free):
4922         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4923         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4924         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4925         (gst_object_dispatch_properties_changed),
4926         (gst_object_set_name_default), (gst_object_set_name),
4927         (gst_object_get_name), (gst_object_set_name_prefix),
4928         (gst_object_get_name_prefix), (gst_object_set_parent),
4929         (gst_object_get_parent), (gst_object_unparent),
4930         (gst_object_check_uniqueness), (gst_object_save_thyself),
4931         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4932         (gst_object_set_property), (gst_object_get_property),
4933         (gst_object_get_path_string):
4934         * gst/gstobject.h:
4935         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4936         (gst_real_pad_init), (gst_real_pad_get_property),
4937         (gst_pad_custom_new), (gst_pad_get_direction),
4938         (gst_pad_set_active), (gst_pad_is_active),
4939         (gst_pad_set_event_function), (gst_pad_is_linked),
4940         (gst_pad_link_free), (gst_pad_link_intersect),
4941         (gst_pad_link_fixate), (gst_pad_set_caps),
4942         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4943         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4944         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4945         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4946         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4947         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4948         (gst_pad_realize), (gst_pad_get_allowed_caps),
4949         (gst_real_pad_dispose), (gst_real_pad_finalize),
4950         (gst_pad_collectv), (gst_pad_collect_valist),
4951         (gst_pad_template_dispose), (gst_pad_template_new),
4952         (gst_pad_get_internal_links):
4953         * gst/gstpad.h:
4954         * gst/gstpipeline.c: (gst_pipeline_dispose),
4955         (gst_pipeline_change_state):
4956         * gst/gstpipeline.h:
4957         * gst/gstplugin.c:
4958         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4959         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4960         * gst/gstpluginfeature.h:
4961         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4962         * gst/gstquery.c: (_gst_query_type_initialize),
4963         (gst_query_type_register), (gst_query_type_get_by_nick),
4964         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4965         * gst/gstquery.h:
4966         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4967         * gst/gstscheduler.c: (gst_scheduler_add_element),
4968         (gst_scheduler_factory_create):
4969         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4970         (gst_structure_free), (gst_structure_set_name),
4971         (gst_structure_id_set_value), (gst_structure_set_value),
4972         (gst_structure_set_valist), (gst_structure_remove_field),
4973         (gst_structure_remove_fields),
4974         (gst_structure_remove_fields_valist),
4975         (gst_structure_remove_all_fields), (gst_structure_foreach),
4976         (gst_structure_map_in_place),
4977         (gst_caps_structure_fixate_field_nearest_int),
4978         (gst_caps_structure_fixate_field_nearest_double):
4979         * gst/gststructure.h:
4980         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4981         (gst_system_clock_init), (gst_system_clock_dispose),
4982         (gst_system_clock_async_thread),
4983         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4984         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4985         * gst/gstsystemclock.h:
4986         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4987         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4988         * gst/gsttaginterface.c:
4989         * gst/gstthread.c: (gst_thread_dispose),
4990         (gst_thread_release_children_locks), (gst_thread_change_state),
4991         (gst_thread_main_loop):
4992         * gst/gsttrashstack.h:
4993         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4994         * gst/gsttypes.h:
4995         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4996         (gst_element_request_pad), (gst_element_get_pad_from_template),
4997         (gst_element_request_compatible_pad),
4998         (gst_element_get_compatible_pad_filtered),
4999         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5000         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5001         (gst_element_link_many), (gst_element_link),
5002         (gst_element_link_pads), (gst_element_unlink_pads),
5003         (gst_element_unlink_many), (gst_element_unlink),
5004         (gst_pad_can_link_filtered), (gst_pad_can_link),
5005         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5006         (gst_object_default_error), (gst_bin_add_many),
5007         (gst_bin_remove_many), (gst_element_populate_std_props),
5008         (gst_element_class_install_std_props), (gst_buffer_merge),
5009         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5010         (link_fold_func), (gst_pad_proxy_setcaps):
5011         * gst/gstutils.h:
5012         * gst/gstvalue.c: (gst_value_deserialize_string):
5013         * gst/parse/grammar.y:
5014         * gst/schedulers/gstbasicscheduler.c:
5015         (gst_basic_scheduler_cothreaded_chain),
5016         (gst_basic_scheduler_chain_recursive_add),
5017         (gst_basic_scheduler_pad_link):
5018         * gst/schedulers/gstoptimalscheduler.c:
5019         (get_group_schedule_function),
5020         (gst_opt_scheduler_state_transition),
5021         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5022         * libs/gst/bytestream/bytestream.c:
5023         * libs/gst/dataprotocol/dataprotocol.c:
5024         (gst_dp_header_from_buffer):
5025         * po/nb.po:
5026         * po/ru.po:
5027         * tests/threadstate/threadstate2.c: (eos):
5028         * tools/gst-compprep.c: (main):
5029         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5030         (print_pad_info), (print_children_info):
5031         * tools/gst-launch.c: (idle_func), (main):
5032         * tools/gst-md5sum.c: (idle_func), (main):
5033         * tools/gst-xmlinspect.c: (print_element_info):
5034         First THREADED backport attempt, focusing on adding locks and
5035         making sure the API is threadsafe. Needs more work. More docs
5036         follow this week.
5037
5038 2005-02-24  Andy Wingo  <wingo@pobox.com>
5039
5040         * tests/bench-complexity.scm:
5041         * tests/complexity.gnuplot: New files, good for running complexity
5042         benchmarks.
5043
5044         * tests/Makefile.am:
5045         * tests/complexity.c: New test, sets up N elements, at each level
5046         teeing into M streams per element. Eeeenteresting.
5047
5048         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5049         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5050         running bench-mass_elements.scm.
5051
5052         * tests/bench-mass_elements.scm: New script, runs mass_elements
5053         for various numbers of identities, outputting the results to a
5054         file. Requires guile 1.6. Just for testing.
5055
5056 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5057
5058         * gst/schedulers/fairscheduler.c:
5059           compile with debug disabled
5060
5061 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * configure.ac:
5064           hunting season on 0.9 is now OPEN
5065
5066 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5067
5068         * docs/libs/tmpl/gstcontrol.sgml:
5069         * docs/libs/tmpl/gstdparam.sgml:
5070         * docs/libs/tmpl/gstdplinint.sgml:
5071         * docs/libs/tmpl/gstdpman.sgml:
5072         * docs/libs/tmpl/gstdpsmooth.sgml:
5073         * docs/libs/tmpl/gstunitconvert.sgml:
5074           more docs for the state of dparams
5075
5076 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5077
5078         * gst/gstelementfactory.c: (gst_element_factory_create):
5079         * gst/gstobject.c: (gst_object_init),
5080         (gst_object_set_name_default), (gst_object_set_name):
5081           name objects by default, not in gst_element_factory_create. Allows
5082           using elements created with g_object_new. (fixes #167283)
5083
5084 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5085
5086         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5087           make the time that debugging functions print relative to when
5088           gst_init was called
5089
5090 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5091
5092         * gst/gsttaginterface.c:
5093           Fix inline docs: tag setter vararg functions are NULL-terminated,
5094           GST_TAG_INVALID doesn't exist any more.
5095
5096 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5097
5098         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5099         Allocate the 1 byte more memory that was forgotten!!!!!
5100         fixes memory corruption on 64bit platforms
5101
5102 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5103
5104         * docs/pwg/building-pads.xml:
5105         * docs/pwg/intro-basics.xml:
5106           fixed a few typos, relabeled introductionary list of types
5107         * docs/random/ensonic/dparams.txt:
5108           more notes abut dparam changes
5109         * libs/gst/control/dparam.c: (gst_dparam_attach):
5110         * libs/gst/control/dparammanager.c:
5111         * libs/gst/control/dparammanager.h:
5112           - many comments and notes on dparam implementation
5113           - new dparams are were not initialized to the default value
5114             from param spec
5115
5116 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         submitted by: Peter Astakhov
5119
5120         * po/LINGUAS:
5121         * po/ru.po:
5122           adding Russian translation
5123
5124 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5125
5126         * configure.ac:
5127         * docs/gst/Makefile.am:
5128         * docs/libs/Makefile.am:
5129           make sure popt is added to gtk-doc flags.  Fixes #147782.
5130
5131 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5132
5133         * docs/faq/using.xml:
5134           Fix typo in FAQ (artssink => artsdsink)
5135
5136 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5137
5138         * tools/gst-launch.1.in:
5139           Fix typo (#166699).
5140
5141 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5142
5143         * docs/faq/using.xml:
5144           Add -v argument to fakesrc/fakesink gst-launch line,
5145           so that the promised output will actually show up.
5146
5147 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5148
5149         * gst/gstthread.c: (gst_thread_change_state):
5150           Implement state-change error handling (#166073).
5151
5152 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5153
5154         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5155           Release interrupt after handling (#166250).
5156
5157 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5158
5159         * configure.ac:
5160           back to HEAD
5161
5162 === release 0.8.9 ===
5163
5164 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5165
5166         * NEWS:
5167         * RELEASE:
5168         * configure.ac:
5169           releasing 0.8.9, "Like Eating Glass"
5170
5171 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5172
5173         submitted by: Clytie Siddall
5174
5175         * po/vi.po: Added Vietnamese translation
5176
5177 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5178
5179         patch by: Tim Philipp-Müller
5180
5181         * configure.ac:
5182         * gst/gstpad.c:
5183           unref data when probe function returns FALSE.  Fixes #166362
5184
5185 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5186
5187         * gst/gst.c: (gst_init_get_popt_table):
5188           Fix typo (#166269).
5189
5190 2005-02-04  Andy Wingo  <wingo@pobox.com>
5191
5192         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5193         the debugging on whether the caps are compatible.
5194
5195 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5196
5197         * docs/manual/basics-elements.xml:
5198           Fix two typos.
5199
5200 2005-02-02  Wim Taymans  <wim@fluendo.com>
5201
5202         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5203         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5204         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5205         Remove some FIXMEs after analysing and commenting why they
5206         are not issues.
5207
5208 2005-02-02  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/schedulers/gstoptimalscheduler.c:
5211         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5212         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5213         (get_invalid_call), (chain_invalid_call),
5214         (get_group_schedule_function), (loop_group_schedule_function),
5215         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5216         (gst_opt_scheduler_state_transition),
5217         (gst_opt_scheduler_add_element),
5218         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5219         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5220         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5221         (gst_opt_scheduler_show):
5222         Added lock to protect scheduler data structures.
5223
5224 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5225
5226         * testsuite/threads/threadi.c: (cb_data):
5227           Fix buglet in test.
5228
5229 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5230
5231         * testsuite/threads/Makefile.am:
5232         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5233           On Wim's request, split the test in three separately-compiled
5234           tests that each test a very specific bug. Two of them still fail,
5235           will create bugs for those. threadi.c indicates why they fail.
5236
5237 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5238
5239         * gst/schedulers/gstoptimalscheduler.c:
5240         (get_group_schedule_function):
5241           Try to work with the threading mess that queue_link is.
5242
5243 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5244
5245         * gst/gstbin.c: (gst_bin_remove_func):
5246           Explicitely make an element release locks in a group when being
5247           remove from a bin.
5248         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5249           If there's no scheduler, always return immediately (similar to
5250           gst_element_interrupt).
5251
5252 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5253
5254         * gst/gstbin.c: (gst_bin_child_state_change_func):
5255           Remove a piece of code that could never be reached.
5256         * docs/gst/gstreamer-sections.txt:
5257         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5258         (gst_pad_call_get_function):
5259         * gst/gstpad.h:
5260         * testsuite/pad/Makefile.am:
5261           Fix #150546, enable tests.
5262
5263 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5264
5265         * docs/pwg/advanced-types.xml:
5266           Fix description for buffer-frames=0.
5267         * docs/gst/tmpl/gstbin.sgml:
5268         * gst/gstbin.c: (gst_bin_child_state_change_func),
5269         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5270         * gst/gstbin.h:
5271         * testsuite/threads/Makefile.am:
5272         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5273         (cb_state), (cb_play), (main):
5274           Fix non-recursive state changes to *really* change the state
5275           of the object, and not just call parent_class->state_change.
5276           Fix a lot of lockups caused by this. Fixes #132775. Add test
5277           for the problem. Also enable test to show #142588 (fixed).
5278         * gst/gstthread.c: (gst_thread_change_state),
5279         (gst_thread_child_state_change):
5280           Don't exit the thread if we go to NULL and are inside thread
5281           context. Instead, return control to the main thread context
5282           and exit from there.
5283         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5284           Don't unset virtual functions, since those may still be used.
5285           That's not necessarily correct, but suffices for now.
5286         * configure.ac:
5287         * testsuite/Makefile.am:
5288         * testsuite/pad/Makefile.am:
5289         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5290         (gst_test_sink_base_init), (gst_test_sink_chain),
5291         (gst_test_sink_init), (main):
5292         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5293         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5294         (main):
5295         * testsuite/pad/link.c: (gst_test_element_class_init),
5296         (gst_test_element_base_init), (gst_test_src_get),
5297         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5298         (gst_test_filter_loop), (gst_test_filter_init),
5299         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5300         (cb_error), (main):
5301           Add tests to show #150546. Pass, but should fail (currently
5302           disabled from the testsuite).
5303         * gst/gstscheduler.c: (gst_scheduler_dispose):
5304           Dereference child schedulers on dispose (#94464).
5305         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5306           Fix typo.
5307         * testsuite/threads/thread.c: (main):
5308           Add more debug.
5309
5310 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5311
5312         * gst/gstpad.c: (gst_pad_push):
5313           Oops, revert previous commit, broke testsuite...
5314
5315 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5316
5317         * gst/gstpad.c: (gst_pad_push):
5318           Add check that the pad on which the push is performed is not a
5319           get-based pad (#150546).
5320
5321 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5322
5323         * gst/elements/gsttypefindelement.c:
5324         (gst_type_find_element_handle_event):
5325           Fix buffer pushing if stream EOSes during typefinding.
5326
5327 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5328
5329         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5330
5331         * gst/gstvalue.c: (gst_string_wrap):
5332           Allow NULL-strings as argument (#165365).
5333
5334 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5335
5336         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5337
5338         * gst/schedulers/faircothreads.c:
5339         (gst_fair_scheduler_cothread_queue_show):
5340           Fix build without debug enabled.
5341
5342 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5343
5344         * docs/gst/gstreamer-sections.txt:
5345         * docs/libs/gstreamer-libs-docs.sgml:
5346         * docs/libs/gstreamer-libs-sections.txt:
5347         * docs/libs/tmpl/gstcontrol.sgml:
5348         * docs/libs/tmpl/gstdparam.sgml:
5349         * docs/libs/tmpl/gstdplinint.sgml:
5350         * docs/libs/tmpl/gstdpman.sgml:
5351         * docs/libs/tmpl/gstdpsmooth.sgml:
5352         * docs/libs/tmpl/gstputbits.sgml:
5353         * docs/libs/tmpl/gstunitconvert.sgml:
5354         * libs/gst/control/dparam.c:
5355         * libs/gst/control/dparam.h:
5356         * libs/gst/control/dparammanager.c:
5357         (gst_dpman_add_required_dparam_callback),
5358         (gst_dpman_add_required_dparam_direct),
5359         (gst_dpman_add_required_dparam_array),
5360         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5361         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5362         (gst_dpman_get_manager)
5363           restructured DParam docs
5364
5365 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5366
5367         * gst-element-check.m4:
5368           Only check for gst-inspect if we haven't already
5369           found it in previous element check runs
5370
5371 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5372
5373         * docs/gst/Makefile.am:
5374         * docs/libs/Makefile.am:
5375           fixed install rules to treat style.css as optional
5376
5377 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5378
5379         * docs/gst/Makefile.am:
5380         * docs/libs/Makefile.am:
5381           install style.css along with docs
5382         * docs/gst/tmpl/gstbin.sgml:
5383         * docs/gst/tmpl/gstclock.sgml:
5384         * docs/gst/tmpl/gstdata.sgml:
5385         * docs/gst/tmpl/gstelement.sgml:
5386         * gst/gstbin.h:
5387         * gst/gstelement.c: (gst_element_class_init):
5388         * gst/gstelement.h:
5389           fixing incomplete docs
5390
5391 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5394           Don't unref seek event twice when fflush() fails
5395           
5396 2005-01-22  David Schleef  <ds@schleef.org>
5397
5398         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5399
5400 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5401
5402         * docs/gst/Makefile.am:
5403         * docs/libs/Makefile.am:
5404           added params for deprecation guards
5405         * gst/gst.c:
5406         * gst/gst.h:
5407         * gst/gsterror.c: (_gst_resource_errors_init),
5408         (_gst_stream_errors_init):
5409         * gst/gsterror.h:
5410           documented some more enums
5411
5412 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5413         * gst/autoplug/gstspideridentity.c:
5414         Cosmetic fix - spider_find_peek should be static
5415         * gst/parse/parse.l:
5416         Applying fix for #164261
5417
5418 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5419
5420         * docs/gst/gstreamer-sections.txt:
5421         * docs/gst/tmpl/gstplugin.sgml:
5422         * docs/libs/gstreamer-libs-sections.txt:
5423         * docs/libs/tmpl/gstcontrol.sgml:
5424         * gst/gstbuffer.h:
5425         * gst/gsttag.h:
5426         * gst/gstvalue.c:
5427           added docs for the TAG defines
5428
5429 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5430
5431         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5432           Only unref entry if there is an entry.
5433
5434 2005-01-17  Wim Taymans  <wim@fluendo.com>
5435
5436         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5437         (remove_from_group), (schedule_group), (normalize_group),
5438         (gst_opt_scheduler_iterate):
5439         Also ref/unref decoupled elements before iterating the
5440         group since they are not added to the list of elements.
5441
5442 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5443
5444         * docs/manual/highlevel-components.xml:
5445           Add subtitle/streamselection as new features to playbin.
5446
5447 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5448
5449         * docs/manual/manual.xml:
5450           Re-enable dataaccess docs (oops).
5451
5452 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5453
5454         * docs/pwg/advanced-types.xml:
5455         * docs/random/mimetypes:
5456           Add documentation on libsndfile types (#163309), by Steve Baker
5457           <steve@stevebaker.org>.
5458         * gst/gstelement.c: (gst_element_release_request_pad):
5459           If an element has no explicit function, just remove the pad.
5460
5461 2005-01-17  Luca Ognibene  <luogni@tin.it>
5462
5463         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5464
5465         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5466           Fix memleak (#163801).
5467
5468 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5469
5470         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5471           I think this is actually more correct...
5472
5473 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5474
5475         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5476           Another workaround for memory access while destroyed in callback.
5477           Please, someone with refcount knowledge, have a look at this.
5478
5479 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5480
5481         * docs/faq/faq.xml:
5482         * docs/faq/legal.xml:
5483           move the legal Q&A here
5484
5485 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5486
5487         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5488         (gst_tee_request_new_pad):
5489           Fix negotiation.
5490
5491 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5492
5493         * docs/random/omega/caps2:
5494         * testsuite/caps/caps_strings:
5495           replace framerate aproximations by their real value
5496           (24000/1001, 30000/1001, 60000/1001)
5497           Partially fixes bug #164049
5498
5499 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5500
5501         * docs/gst/Makefile.am:
5502           don't fail on the stupid GstPoptOption
5503
5504 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * gst/gstpad.h:
5507         * gst/gstprobe.c:
5508           allow probes to work on ghost pads by realizing the pad
5509           probe debugging
5510
5511 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5512
5513         * docs/gst/gstreamer-sections.txt:
5514         * docs/gst/tmpl/gstpad.sgml:
5515         * gst/gstpad.c: (gst_pad_set_active_recursive):
5516         * gst/gstpad.h:
5517           Add gst_pad_set_active_recursive().
5518
5519 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5520
5521         * docs/random/release:
5522           updates
5523         * gst/gst_private.h:
5524         * gst/gstinfo.c:
5525         * gst/gstobject.c:
5526           move deep_notify logging to a new category
5527         * gst/gstprobe.c:
5528         * gst/gstprobe.h:
5529           add stuff so bindings can wrap probes
5530
5531 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5532
5533         * gst/gstplugin.c: (gst_plugin_load):
5534           Fix plugin loading if plugin/lib was already loaded. Fixes
5535           #163383
5536
5537 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5538
5539         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5540
5541         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5542           Protect plugin loading by a mutex so it's threadsafe. Fixes
5543           #163234.
5544
5545 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5546
5547         * gst/gstevent.c: (_gst_event_copy):
5548           Reference source object when copying events, since it'll be
5549           dereferenced on event dereferencing as well.
5550
5551 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5552
5553         * docs/gst/gstreamer-sections.txt:
5554         * docs/gst/tmpl/gstevent.sgml:
5555         * gst/gstevent.c: (gst_event_new_filler_stamped),
5556         (gst_event_filler_get_duration):
5557         * gst/gstevent.h:
5558           Add two new functions for filler events (which are used to
5559           synchronize streams if one of them is not having any data
5560           for a while) without interrupting the actual data-stream.
5561           Basically a no-op.
5562         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5563         (gst_queue_link_sink), (gst_queue_link_src),
5564         (gst_queue_change_state):
5565           Allow for renegotiation while filled. Required for stream
5566           switching while playing.
5567
5568 2005-01-08  Benjamin Otte  <otte@gnome.org>
5569
5570         * gst/gstelement.c: (gst_element_link_many):
5571           fix up g_return_if_fail's
5572         * po/LINGUAS:
5573         * po/de.po:
5574           add German translation, that was somehow not included
5575
5576 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5577
5578         * docs/random/mimetypes:
5579           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5580           do not add them to riff-lib as they are not common
5581
5582 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5583
5584         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5585           Check for existence of probe after performing the probe before
5586           re-accessing it to prevent segfaults caused by removal of the
5587           probe in the callback.
5588
5589 2005-01-05  David Schleef  <ds@schleef.org>
5590
5591         * testsuite/registry/Makefile.am:
5592         * testsuite/registry/gst-print-formats.c:
5593         (print_pad_templates_info), (print_element_list),
5594         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5595         (g_list_uniqify), (get_pad_templates_info),
5596         (get_element_mime_list), (print_mime_list), (main): A little
5597         program that looks through the registry to find elements of
5598         a given type.  Not particularly interesting as a test, except
5599         that there's no other test covering the same area.
5600
5601 2005-01-05  David Schleef  <ds@schleef.org>
5602
5603         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5604         (fault_handler_sigaction), (fault_spin),
5605         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5606         in signal.h-type signal handlers by not calling forbidden functions,
5607         including gst_element_set_state().
5608
5609 2005-01-05  David Schleef  <ds@schleef.org>
5610
5611         * gst/gstvalue.h: Mark _gst_reserved[] as private
5612
5613 2005-01-05  David Schleef  <ds@schleef.org>
5614
5615         * gst/gstvalue.c: Fix doc build problem.
5616
5617 2005-01-05  David Schleef  <ds@schleef.org>
5618
5619         * gst/gstvalue.c: Add some documentation
5620
5621 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5622
5623         * docs/README:
5624           another shell oneliner for empty return value docs
5625         * gst/gstcaps.c:
5626         * gst/gstvalue.c:
5627         * libs/gst/control/dparam.c:
5628           more doc fixes (parameters and return values)
5629
5630 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5631
5632         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5633
5634         * gst/gstregistry.h:
5635         * gst/registries/gstxmlregistry.c:
5636           Fix macro's for Mingw (fixes #162276).
5637
5638 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5639
5640         * docs/README:
5641           quick shell oneliner to find undocumented members
5642         * docs/gst/tmpl/gstplugin.sgml:
5643         * docs/gst/tmpl/gstscheduler.sgml:
5644         * docs/gst/tmpl/gstthread.sgml:
5645           more enumtypes cleanup
5646         * gst/gsterror.h:
5647           activated documentation comments, now someone needs to document
5648           the enums :(
5649
5650 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5651
5652         * docs/manual/manual.xml:
5653           Add dataaccess part (doh!).
5654
5655 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5656
5657         * docs/manual/advanced-autoplugging.xml:
5658           Fix typo (intiate -> initiate).
5659
5660 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5661
5662         * docs/random/bbb/streamselection:
5663           Add some notes on how to handle multi-subtitle/-audio streams.
5664
5665 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5666
5667         * docs/gst/gstreamer-docs.sgml:
5668         * docs/gst/gstreamer-sections.txt:
5669         * docs/gst/tmpl/gstenumtypes.sgml:
5670         * docs/gst/tmpl/gsterror.sgml:
5671         * docs/gst/tmpl/gstevent.sgml:
5672         * docs/gst/tmpl/gstpad.sgml:
5673         * docs/gst/tmpl/gstpadtemplate.sgml:
5674         * docs/gst/tmpl/gstthread.sgml:
5675           removed gstenumtypes section from docs and put all the enums into
5676           their sections
5677
5678 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5679
5680         * gst/gstplugin.c:
5681           document gst_library_load a bit more (riff special case + return
5682           value if already loaded)
5683         * testsuite/bytestream/filepadsink.c:
5684           plugin name is 'gstbytestream', not 'bytestream'
5685
5686 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5687
5688         * docs/random/bbb/subtitles:
5689           Add some first mind rumblings on proper subtitle support.
5690
5691 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * po/ca.po:
5694         * po/sv.po:
5695           updated translations
5696
5697 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5698
5699         * docs/manual/advanced-dataaccess.xml:
5700           Add section on how to use fakesrc/fakesink/identity in your
5701           application, plus section on how to embed plugins. Also mention
5702           probes.
5703         * docs/manual/appendix-checklist.xml:
5704         * docs/manual/appendix-debugging.xml:
5705         * docs/manual/appendix-gnome.xml:
5706         * docs/manual/appendix-integration.xml:
5707           Debug -> checklist, GNOME -> integration, add sections on Linux,
5708           KDE integration and add other things useful for application
5709           development.
5710         * docs/manual/manual.xml:
5711           Remove some fixmes, update some file pointers.
5712         * docs/pwg/appendix-checklist.xml:
5713           Fix typo.
5714         * docs/pwg/building-boiler.xml:
5715           Remove ugly header and add commented fixme.
5716         * docs/pwg/pwg.xml:
5717           Add fixme.
5718         * examples/manual/Makefile.am:
5719           Add example for added docs.
5720
5721 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5722
5723         * configure.ac:
5724           back to HEAD
5725
5726 === release 0.8.8 ===
5727
5728 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5729
5730         * NEWS:
5731         * RELEASE:
5732         * configure.ac:
5733           Releasing 0.8.8, "I'll Take Care Of You"
5734
5735 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * configure.ac:
5738           second prerelease
5739
5740 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         patch by: Wim Taymans
5743
5744         * gst/gstbin.c:
5745           Fix for #159852 - make iterate emission threadsafe
5746
5747 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5748
5749         * docs/faq/cvs.xml:
5750           notes about new fdo account request
5751
5752 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5753
5754         * docs/gst/gstreamer-docs.sgml:
5755         * docs/gst/tmpl/gstenumtypes.sgml:
5756         * docs/gst/tmpl/gstplugin.sgml:
5757         * docs/libs/gstreamer-libs-docs.sgml:
5758           Added missing short docs. Added ids for navigation.
5759
5760 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5761
5762         * docs/manual/advanced-autoplugging.xml:
5763         * docs/manual/advanced-schedulers.xml:
5764         * docs/manual/advanced-threads.xml:
5765           Rewrites. Remove cothreads, go a bit into opt specifically,
5766           document threads and their gotchas, and do some technical stuff
5767           on autoplugging plus add some working examples. Fixes #157395.
5768         * examples/manual/Makefile.am:
5769           Add typefind/autoplugger example (one that actually works).
5770           Remove queue example since it's a duplicate of the thread one.
5771
5772 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5773
5774         * gst/gstvalue.c: (gst_value_deserialize_string):
5775           use deprecated g_value_set_string_take_ownership to keep compatible
5776           with glib 2.2
5777
5778 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5779
5780         * gst/gstvalue.c: (gst_value_deserialize_string):
5781           revert last patch, only dom a g_utf8_validate now before accepting
5782           the string - caps parsing strips " from strings so we can't rely on
5783           them
5784         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5785           disable a test that tested the above and comment it
5786
5787 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5788
5789         Patch reviewed by David Schleef  <ds@schleef.org>
5790
5791         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5792         bug #153882)
5793         * win32/gstenumtypes.h: same
5794
5795 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5796
5797         * gst/gstpad.c: (gst_pad_query):
5798           Do query on realized pad, similar to how convert/send_event handle
5799           this. Also makes sense, since this pad belongs to the function to
5800           which this query will be sent. Fixes #158163.
5801
5802 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5803
5804         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5805
5806 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5807
5808         * docs/faq/general.xml: fix pipeline to actually work
5809
5810 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5811
5812         * gst/gstvalue.c: (gst_value_deserialize_string):
5813           check that a simple string that gets deserialized does not contain
5814           invalid characters
5815         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5816           remove a test that tested a wring behaviour
5817
5818 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5819
5820         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5821
5822         * docs/manual/intro-motivation.xml:
5823           Fix typos.
5824
5825 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5826
5827         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5828
5829         * docs/gst/tmpl/gstprobe.sgml:
5830           Fix documentation of probe callback - it is supposed to return
5831           FALSE, not TRUE, to remove data from the stream (#159087).
5832
5833 2004-12-16  Daniel Gazard  <dany42@free.fr>
5834
5835         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5836
5837         * gst/gstelementfactory.c: (gst_element_factory_create):
5838           Fix compile failure if compiling without libxml2 support (#149936).
5839
5840 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5841
5842         * docs/manual/advanced-autoplugging.xml:
5843         * docs/manual/highlevel-components.xml:
5844           Move spider from autoplugging to components. Autoplugging is for
5845           internals, not for solutions. ;-).
5846
5847 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5848
5849         * docs/random/ds/0.9-suggested-changes:
5850           Make note on device/location/uri property names.
5851
5852 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5853
5854         * docs/manual/advanced-autoplugging.xml:
5855         * docs/manual/advanced-clocks.xml:
5856         * docs/manual/advanced-interfaces.xml:
5857         * docs/manual/advanced-metadata.xml:
5858         * docs/manual/advanced-position.xml:
5859         * docs/manual/advanced-schedulers.xml:
5860         * docs/manual/advanced-threads.xml:
5861         * docs/manual/appendix-gnome.xml:
5862         * docs/manual/appendix-programs.xml:
5863         * docs/manual/appendix-quotes.xml:
5864         * docs/manual/autoplugging.xml:
5865         * docs/manual/basics-bins.xml:
5866         * docs/manual/basics-data.xml:
5867         * docs/manual/basics-elements.xml:
5868         * docs/manual/basics-helloworld.xml:
5869         * docs/manual/basics-init.xml:
5870         * docs/manual/basics-pads.xml:
5871         * docs/manual/basics-plugins.xml:
5872         * docs/manual/bins-api.xml:
5873         * docs/manual/bins.xml:
5874         * docs/manual/buffers-api.xml:
5875         * docs/manual/buffers.xml:
5876         * docs/manual/clocks.xml:
5877         * docs/manual/components.xml:
5878         * docs/manual/cothreads.xml:
5879         * docs/manual/debugging.xml:
5880         * docs/manual/dparams-app.xml:
5881         * docs/manual/dynamic.xml:
5882         * docs/manual/elements-api.xml:
5883         * docs/manual/elements.xml:
5884         * docs/manual/factories.xml:
5885         * docs/manual/gnome.xml:
5886         * docs/manual/goals.xml:
5887         * docs/manual/helloworld.xml:
5888         * docs/manual/helloworld2.xml:
5889         * docs/manual/highlevel-components.xml:
5890         * docs/manual/highlevel-xml.xml:
5891         * docs/manual/init-api.xml:
5892         * docs/manual/intro-basics.xml:
5893         * docs/manual/intro-motivation.xml:
5894         * docs/manual/intro-preface.xml:
5895         * docs/manual/intro.xml:
5896         * docs/manual/links-api.xml:
5897         * docs/manual/links.xml:
5898         * docs/manual/manual.xml:
5899         * docs/manual/motivation.xml:
5900         * docs/manual/pads-api.xml:
5901         * docs/manual/pads.xml:
5902         * docs/manual/plugins-api.xml:
5903         * docs/manual/plugins.xml:
5904         * docs/manual/programs.xml:
5905         * docs/manual/queues.xml:
5906         * docs/manual/quotes.xml:
5907         * docs/manual/schedulers.xml:
5908         * docs/manual/states-api.xml:
5909         * docs/manual/states.xml:
5910         * docs/manual/threads.xml:
5911         * docs/manual/typedetection.xml:
5912         * docs/manual/win32.xml:
5913         * docs/manual/xml.xml:
5914           Try 2. This time, include a short preface as a "general
5915           introduction", also add code blocks around all code samples
5916           so they get compiled. We still need a way to tell readers
5917           the filename of the code sample. In some cases, don't show
5918           all code in the documentation, but do include it in the generated
5919           code. This allows for focussing on specific bits in the docs,
5920           while still having a full test application available.
5921         * examples/manual/Makefile.am:
5922           Fix up examples for new ADM. Add several of the new examples that
5923           were either added or were missing from the build system.
5924         * examples/manual/extract.pl:
5925           Allow nameless blocks.
5926
5927 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5928
5929         * docs/manual/elements-api.xml:
5930         * docs/manual/helloworld.xml:
5931         * examples/manual/extract.pl:
5932           fix last example.  Add example of adding code blocks that are not
5933           shown in docbook output.
5934
5935 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5936
5937         * docs/manual/dynamic.xml:
5938         * docs/manual/elements-api.xml:
5939         * docs/manual/gnome.xml:
5940         * docs/manual/helloworld2.xml:
5941         * docs/manual/init-api.xml:
5942         * docs/manual/queues.xml:
5943         * docs/manual/threads.xml:
5944         * docs/manual/xml.xml:
5945         * examples/manual/extract.pl:
5946           Make it possible to extract example code from separate blocks.
5947           Should make Ronald happy.
5948
5949 2004-12-15  Wim Taymans  <wim@fluendo.com>
5950
5951         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5952         (remove_from_group), (group_elements_set_visited),
5953         (normalize_group), (gst_opt_scheduler_iterate):
5954         Fix bug where a flag was not updated on a decoupled entry point 
5955         because we were just checking the group element list and decoupled
5956         elements are not in that list..
5957
5958 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5959
5960         * docs/manual/advanced-autoplugging.xml:
5961         * docs/manual/advanced-clocks.xml:
5962         * docs/manual/advanced-dparams.xml:
5963         * docs/manual/advanced-interfaces.xml:
5964         * docs/manual/advanced-metadata.xml:
5965         * docs/manual/advanced-position.xml:
5966         * docs/manual/advanced-schedulers.xml:
5967         * docs/manual/advanced-threads.xml:
5968         * docs/manual/appendix-debugging.xml:
5969         * docs/manual/appendix-gnome.xml:
5970         * docs/manual/appendix-programs.xml:
5971         * docs/manual/appendix-quotes.xml:
5972         * docs/manual/appendix-win32.xml:
5973         * docs/manual/autoplugging.xml:
5974         * docs/manual/basics-bins.xml:
5975         * docs/manual/basics-data.xml:
5976         * docs/manual/basics-elements.xml:
5977         * docs/manual/basics-helloworld.xml:
5978         * docs/manual/basics-init.xml:
5979         * docs/manual/basics-pads.xml:
5980         * docs/manual/basics-plugins.xml:
5981         * docs/manual/bins-api.xml:
5982         * docs/manual/bins.xml:
5983         * docs/manual/buffers-api.xml:
5984         * docs/manual/buffers.xml:
5985         * docs/manual/clocks.xml:
5986         * docs/manual/components.xml:
5987         * docs/manual/cothreads.xml:
5988         * docs/manual/debugging.xml:
5989         * docs/manual/dparams-app.xml:
5990         * docs/manual/dynamic.xml:
5991         * docs/manual/elements-api.xml:
5992         * docs/manual/elements.xml:
5993         * docs/manual/factories.xml:
5994         * docs/manual/gnome.xml:
5995         * docs/manual/goals.xml:
5996         * docs/manual/helloworld.xml:
5997         * docs/manual/helloworld2.xml:
5998         * docs/manual/highlevel-components.xml:
5999         * docs/manual/highlevel-xml.xml:
6000         * docs/manual/init-api.xml:
6001         * docs/manual/intro-motivation.xml:
6002         * docs/manual/intro-preface.xml:
6003         * docs/manual/intro.xml:
6004         * docs/manual/links-api.xml:
6005         * docs/manual/links.xml:
6006         * docs/manual/manual.xml:
6007         * docs/manual/motivation.xml:
6008         * docs/manual/pads-api.xml:
6009         * docs/manual/pads.xml:
6010         * docs/manual/plugins-api.xml:
6011         * docs/manual/plugins.xml:
6012         * docs/manual/programs.xml:
6013         * docs/manual/queues.xml:
6014         * docs/manual/quotes.xml:
6015         * docs/manual/schedulers.xml:
6016         * docs/manual/states-api.xml:
6017         * docs/manual/states.xml:
6018         * docs/manual/threads.xml:
6019         * docs/manual/typedetection.xml:
6020         * docs/manual/win32.xml:
6021         * docs/manual/xml.xml:
6022           First try at rewriting the ADM. Needs lotsamore work, but some
6023           parts might already be somewhat useful.
6024         * docs/pwg/advanced-interfaces.xml:
6025           Remove properties interface, it never actually existed (except for
6026           on my HD...).
6027
6028 2004-12-13  David Schleef  <ds@schleef.org>
6029
6030         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6031         be NULL (bug #160220).
6032
6033 2004-12-13  David Schleef  <ds@schleef.org>
6034
6035         * configure.ac: remove all mmx stuff, because it's not used.
6036         * docs/random/ds/0.9-suggested-changes: additional notes
6037         * include/Makefile.am: we don't use these anymore
6038         * include/mmx.h: remove
6039         * include/sse.h: remove
6040
6041 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6042
6043         * docs/random/mimetypes:
6044           Add FOURCC code for h264 codec (VSSH)
6045           Add alternate FOURCC codes for h263 related codecs
6046
6047 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6048
6049         * docs/manual/programs.xml:
6050           Added more gst-launch examples.
6051
6052 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6053
6054         * gst/gstqueue.c: (gst_queue_handle_src_query):
6055           Check for availability again.
6056
6057 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * gst/gstcaps.c: (gst_caps_compare_structures):
6060           Simple caps go first. This has the nice side-effect of fixing an
6061           obscure warning.
6062
6063 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6064
6065         * gst/gstversion.h.in:
6066           Protect header.
6067
6068 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6069
6070         * gst/schedulers/gstoptimalscheduler.c:
6071         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6072         (gst_opt_scheduler_get_wrapper):
6073           When we're recursing into a chain run, only run the directly
6074           related group, not all queued ones. This will fix a possible
6075           deadlock in chains with more than two groups.
6076
6077 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * autogen.sh:
6080           remove patch if autopoint fails
6081
6082 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6083
6084         * docs/gst/gstreamer-sections.txt:
6085           Document Thomas' addition, fix build, make Luis the sheriff happy.
6086
6087 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6088
6089         * gst/gstplugin.c:
6090         * gst/gstplugin.h:
6091           add accessor for version field
6092
6093 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6094
6095         submitted by: Luca Ferretti <elle.uca@infinito.it>
6096
6097         * po/LINGUAS:
6098         * po/it.po:
6099           New tranlation added: Italian
6100
6101 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6102
6103         * gst/gstpad.c: (gst_pad_is_negotiated),
6104         (gst_pad_get_negotiated_caps):
6105           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6106           it doesn't actually check the contents), so be sure to hand it
6107           a RealPad else we'll crash.
6108
6109 2004-12-03  Wim Taymans  <wim@fluendo.com>
6110
6111         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6112         (gst_queue_link), (gst_queue_handle_src_query):
6113         Reverted to 1.110 until this makes the testsuite and various
6114         apps work.
6115
6116 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6117
6118         * docs/upload.mak: fix included CVS conflict strings
6119
6120 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6121
6122         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6123
6124         * gst/gstelement.c: (gst_element_error_full):
6125           Use g_error_new_literal because error text may have
6126           percentage signs in it. Fixes #160019.
6127
6128 2004-12-01  Benjamin Otte  <otte@gnome.org>
6129
6130         * gst/elements/gstbufferstore.c:
6131         (gst_buffer_store_add_buffer_func):
6132           don't try to make subbuffers bigger than they can be. (fixes
6133           #159970)
6134
6135 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6136
6137         * docs/gst/gstreamer-sections.txt:
6138         * docs/gst/tmpl/gstvalue.sgml:
6139           Add new function to docs to fix build.
6140
6141 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6142
6143         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6144         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6145         (_gst_pad_default_fixate_foreach):
6146         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6147         * gst/gstvalue.h:
6148           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6149           in some cases (arrays), the fixedness depends on the content.
6150         * gst/gstqueue.c: (gst_queue_handle_src_query):
6151           Check for availability before doing something.
6152
6153 2004-11-29  Wim Taymans  <wim@fluendo.com>
6154
6155         * testsuite/threads/Makefile.am:
6156         * testsuite/threads/signals.c: (gst_test_get_type),
6157         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6158         (gst_test_set_property), (gst_test_get_property),
6159         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6160         (gst_test_do_prop), (run_thread), (main):
6161         Added a bunch of testcases that show threadsafety bugs in glib.
6162
6163 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6164
6165         * docs/manual/programs.xml:
6166           Added a first batch of gst-launch examples, as provided by Ronald
6167           and others from the devel-mlist
6168
6169 2004-11-28  Benjamin Otte  <otte@gnome.org>
6170
6171         * gst/gstelement.c: (gst_element_negotiate_pads):
6172           simplify
6173         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6174         (gst_value_serialize_string), (gst_value_deserialize_string):
6175           add unwrapping of previously wrapped strings. Fix bug in wrapping
6176           while at it.
6177         * testsuite/caps/value_serialize.c: (test1),
6178         (test_string_serialization), (test_string_deserialization), (main):
6179           add tests for string (de)serialization
6180
6181 2004-11-26  Wim Taymans  <wim@fluendo.com>
6182
6183         * testsuite/threads/159566.c: (object_deep_notify), (main):
6184         * testsuite/threads/Makefile.am:
6185         Added testsuite to show bug #159566
6186
6187 2004-11-25  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6190         (gst_thread_child_state_change), (gst_thread_main_loop):
6191         Ref the thread object in the GThread mainloop. Break out of the
6192         thread mainloop if it holds the last ref. This properly exits
6193         the threads when disposing the thread from its own context. It
6194         also avoids possible deadlocks in the dispose function.
6195
6196 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6197
6198         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6199         it is necessary to wait.
6200
6201 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6202
6203         * docs/pwg/building-boiler.xml:
6204           Make description somewhat clearer.
6205
6206 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6207
6208         * docs/upload.mak:
6209           Apparently docs changed location on FDO's server.
6210
6211 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6212
6213         * docs/pwg/appendix-checklist.xml:
6214           Add some random notes on things to check when writing an element.
6215           This list can be extended as people see fit.
6216
6217 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6218
6219         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6220         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6221         pad. The queue will now wait until it is empty and forward the new
6222         caps to the source.
6223         * gst/gstbin.c (gst_bin_set_element_sched)
6224         (gst_bin_unset_element_sched): Make sure that all elements and
6225         links are registered and unregistered with the scheduler exactly
6226         once. This elaborates on a fix by Benjamin Otte, but
6227         guarantees that decoupled elements are also registered.
6228
6229 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * docs/manual/quotes.xml:
6232           add a quote
6233         * configure.ac:
6234         * gst/gst.c:
6235         * gst/gstinfo.c:
6236           add LIBDIR and move init message higher up so it's at the start
6237
6238 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6239
6240         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6241         * gstreamer.spec.in: add fair
6242
6243 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6244
6245         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6246         * gst/elements/gstidentity.c: (gst_identity_class_init):
6247           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6248           <teuf@gnome.org> (#157263).
6249         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6250         (gst_type_find_handle_src_query):
6251           Subtract size of internally stored data from position queries.
6252
6253 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6254
6255         * gst/schedulers/fairscheduler.c:
6256         * gst/schedulers/faircothreads.c:
6257         * gst/schedulers/faircothreads.h:
6258         New cothread based scheduler: Fair scheduler.
6259         * gst/schedulers/gthread-cothreads.h: 
6260         Add the standard #if around the whole file.
6261         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6262         compilation of the functions defined in this file. This is
6263         necessary to be able to use this file as a normal header.
6264         * gst/schedulers/Makefile.am: Add compiling support for fair
6265         scheduler.
6266         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6267         scheduler cothreads layer from documentation generation.
6268
6269 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6270
6271         * gst/autoplug/gstspideridentity.c:
6272         (gst_spider_identity_sink_loop_type_finding):
6273           Don't crash if that function is not implemented.
6274
6275 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6276
6277         * docs/pwg/advanced-types.xml:
6278           Another typo.
6279
6280 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6281
6282         * docs/pwg/intro-preface.xml:
6283           Hm, ok, so the brackets weren't really useful...
6284         * docs/pwg/other-ntoone.xml:
6285           Fix embarassing typo.
6286
6287 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6288
6289         * docs/pwg/intro-preface.xml:
6290           Rewrite preface.
6291
6292 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6293
6294         * docs/pwg/advanced-scheduling.xml:
6295         * docs/pwg/advanced-tagging.xml:
6296         * docs/pwg/advanced-types.xml:
6297         * docs/pwg/building-boiler.xml:
6298         * docs/pwg/building-chainfn.xml:
6299         * docs/pwg/building-signals.xml:
6300         * docs/pwg/building-state.xml:
6301         * docs/pwg/building-testapp.xml:
6302         * docs/pwg/intro-basics.xml:
6303         * docs/pwg/other-manager.xml:
6304         * docs/pwg/other-source.xml:
6305           Typo fixes.
6306         * docs/pwg/other-manager.xml:
6307           Add some first content. No example code yet.
6308         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6309           Remove double newlines.
6310
6311 2004-11-04  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6314         (remove_from_group), (normalize_group), (group_migrate_connected),
6315         (gst_opt_scheduler_iterate):
6316         * testsuite/schedulers/.cvsignore:
6317         * testsuite/schedulers/Makefile.am:
6318         * testsuite/schedulers/queue_link.c: (main):
6319         Added testcase for scheduler segfault.
6320         Fix scheduler segfault when removing a decoupled
6321         entry point as the last element from a group.
6322
6323 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6324
6325         * gst/gstmarshal.list: add missing marshaller, fixes build
6326
6327 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6328
6329         * docs/random/signal: added notes about using BOXED for GstBuffer
6330         signal marshallers, not POINTER
6331
6332 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6333
6334         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6335         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6336         POINTER=>BOXED changes to marshal GstBuffers
6337
6338 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6339
6340         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6341         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6342
6343 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6344
6345         * docs/gst/gstreamer-sections.txt:
6346         * docs/gst/tmpl/gstcaps.sgml:
6347         * docs/gst/tmpl/gsterror.sgml:
6348         * docs/gst/tmpl/gstinfo.sgml:
6349         * docs/gst/tmpl/gstmacros.sgml:
6350         * docs/gst/tmpl/gstutils.sgml:
6351         * docs/random/ensonic/interfaces.txt:
6352         * gst/gstinfo.h:
6353           added some more docs, removed two obsolete defines
6354
6355 2004-11-02  Kjartan Maraas <as at gnome.org>
6356
6357         reviewed by: Wim Taymans, Ronald Bultje.
6358
6359         * gst/cothreads.c: (cothread_create):
6360         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6361         (gst_bin_child_state_change_func):
6362         * gst/gstbuffer.c: (gst_buffer_span):
6363         * gst/gstelement.c: (gst_element_get_index),
6364         (gst_element_get_event_masks), (gst_element_get_query_types),
6365         (gst_element_get_formats):
6366         * gst/gsterror.c: (_gst_core_errors_init),
6367         (_gst_library_errors_init), (_gst_resource_errors_init),
6368         (_gst_stream_errors_init):
6369         * gst/gstobject.c: (gst_object_default_deep_notify):
6370         * gst/gstpad.c: (gst_pad_get_event_masks),
6371         (gst_pad_get_internal_links_default):
6372         * gst/gstplugin.c: (gst_plugin_register_func),
6373         (gst_plugin_get_module):
6374         * gst/gststructure.c: (gst_structure_get_string),
6375         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6376         (gst_structure_to_abbr):
6377         * gst/gstutils.c: (gst_print_element_args):
6378         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6379         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6380         Aplied part of patch #157127: Cleanup of issues reported by 
6381         sparse.
6382         Also do not try to use cothreads when there is no cothread
6383         context yet.
6384
6385 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6386
6387         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6388         (gst_opt_scheduler_iterate):
6389         Applied patch #154061. Running a pipeline in which an element 
6390         calls GST_ELEMENT_ERROR in the chain function, the opt 
6391         scheduler doesn't unref the chain so it never gets freed.
6392
6393 2004-11-02  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/gststructure.c: (gst_structure_get_abbrs),
6396         (gst_structure_from_abbr), (gst_structure_to_abbr):
6397         Remove that ugly if-then thing in the code that converts
6398         between strings and types.
6399
6400 2004-11-02  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/gstscheduler.c: (gst_scheduler_add_element),
6403         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6404         Aplied clock distribution patch, this should fix bug
6405         #148787.
6406
6407 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6408
6409         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6410
6411         * po/LINGUAS:
6412         * po/nb.po:
6413           Added Norwegian Bokmaal translation
6414
6415 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6416
6417         * tools/gst-inspect.c: (print_signal_info):
6418           print signal arguments as pointers if they are
6419
6420 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6421
6422         * docs/pwg/building-boiler.xml:
6423           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6424
6425 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6426
6427         * gst/parse/parse.l:
6428         * testsuite/parse/parse1.c: (main):
6429         Since parse can do 'element name=a:b' make 'a:b.' work as
6430         well. 
6431         Added testcase to verify fix.
6432
6433 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6434
6435         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6436         Use the realpad when printing the direction.
6437         Add extra \n when printing extensions of typefind factories.
6438
6439 2004-10-13  David Schleef  <ds@schleef.org>
6440
6441         * examples/manual/Makefile.am: $< isn't portable in Makefile
6442         rules.
6443
6444 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6445
6446         * docs/gst/tmpl/gstobject.sgml:
6447         * docs/gst/tmpl/gstplugin.sgml:
6448         * docs/gst/tmpl/gstpluginfeature.sgml:
6449         * docs/gst/tmpl/gstregistry.sgml:
6450         * docs/gst/tmpl/gstversion.sgml:
6451         * gst/gstbin.c:
6452           more api documentation
6453         * gst/gstplugin.c: (gst_plugin_register_func),
6454         (gst_plugin_check_file), (gst_plugin_load_file):
6455           better error signaling and logging
6456
6457 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6458
6459         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6460           Subtract current queue contents from position queries.
6461
6462 2004-10-11  Johan Dahlin  <johan@gnome.org>
6463
6464         * gst/gsturi.c (gst_uri_get_location): unescape string
6465         (gst_uri_construct): escape string.
6466
6467 2004-10-11  Benjamin Otte  <otte@gnome.org>
6468
6469         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6470         (gst_pad_try_set_caps_nonfixed):
6471           allow renegotiation of unconnected pads (as inside spider). Simply
6472           return OK if unconnected - mimic try_set_caps there.
6473
6474 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6475
6476         * gst/gstbin.c: (gst_bin_sync_children_state):
6477           Add missing break.
6478
6479 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6480
6481         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6482         Set element to EOS before sending EOS event
6483
6484 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6485
6486         * gst/elements/gsttypefindelement.c:
6487         (gst_type_find_element_handle_event):
6488         Handle EOS events when doing the transition from
6489         typefind to data passing. This should fix the
6490         infinite loops in short files.
6491
6492 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6493
6494         * gst/gstthread.c: (gst_thread_change_state),
6495         (gst_thread_child_state_change):
6496         Make sure no iteration happens while performing
6497         the state change as it could mess up the internal
6498         consistency of the thread state.
6499
6500 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6501
6502         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6503         (gst_thread_change_state), (gst_thread_child_state_change):
6504         Do not try to grab the iterate lock in the state change method
6505         when we are in the same thread as the iterate or else we
6506         could deadlock. Some other cleanups.
6507
6508 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * configure.ac:
6511           bump nano to cvs
6512
6513 === release 0.8.7 ===
6514
6515 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6516
6517         * configure.ac:
6518         * NEWS:
6519         * RELEASE:
6520         * configure.ac:
6521           releasing 0.8.7, "A Cruise"
6522
6523 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6524
6525         * docs/random/mimetypes:
6526         Add an entry for Sony ATRAC3 audio format with mime-type
6527         used by rmdemux et riff-read
6528
6529 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6530
6531         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6532         Push the buffer store instead of clearing it in case that
6533         the stream is not seekable.
6534
6535 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6536
6537         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6538         (gst_thread_main_loop):
6539         Lock the iteration and the state change so that automatic
6540         negotiation and fixation does not happen at the same time
6541         as the in stream negotiation.
6542
6543 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         * configure.ac:
6546           bump nano to cvs
6547
6548 === release 0.8.6 ===
6549
6550 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6551
6552         * configure.ac:
6553         * NEWS:
6554         * RELEASE:
6555         * configure.ac:
6556           releasing 0.8.6, "Narc"
6557
6558 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6559
6560         * configure.ac:
6561           prerel bump
6562
6563 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         patch by: Steve Lhomme
6566
6567         * gst/elements/gstfakesrc.c:
6568         * gst/elements/gstidentity.c:
6569         * gst/gstthread.c:
6570           Fix for #153881
6571
6572 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6573
6574         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6575         Fix threadsafety of the crc checking function.
6576
6577 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6578
6579         patch by: Ronald Bultje
6580
6581         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6582         (gst_type_find_element_handle_event),
6583         (gst_type_find_element_chain):
6584         * gst/elements/gsttypefindelement.h:
6585          #153657.
6586          Filter out discont event from seekable sources when typefind
6587          asks them to seek.  Fixes typefind with demuxers for
6588          avi, asf and matroska.
6589
6590 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6591
6592         * docs/gst/gstreamer-sections.txt:
6593         * gst/gstcaps.c:
6594         * gst/gstcaps.h:
6595         * gst/gstpad.c:
6596           Revert preferred caps: (#147789)
6597
6598 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6599
6600         * win32/dirent.c:
6601           fix a memory leak
6602
6603 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6604
6605         * configure.ac:
6606           bump for prerelease
6607
6608 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6609
6610         * docs/Makefile.am:
6611         * docs/manual/elements-api.xml:
6612           restructure so that common stuff is shown first
6613         * docs/manual/init-api.xml:
6614           convert to examples
6615         * docs/manual/manual.xml:
6616         * docs/manuals.mak:
6617         * docs/url.entities:
6618           link to API on the website, possibly override later in build
6619         * examples/manual/.cvsignore:
6620           ignore more
6621         * examples/manual/Makefile.am:
6622           add more examples
6623         * examples/manual/extract.pl:
6624           error out on failure
6625
6626 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6627
6628         * docs/gst/tmpl/gstthread.sgml:
6629         * docs/manual/init-api.xml:
6630         * examples/manual/Makefile.am:
6631           convert two code bits to examples
6632
6633 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6634
6635         * gst/gstelement.c: (gst_element_change_state):
6636           Well, actually, I was about to remove this insane assert when
6637           I noticed Wim already did that. A warning is nice so we can
6638           fix actual ugs (using --g-fatal-warnings and backtraces), so
6639           I added that instead.
6640
6641 2004-09-06  Wim Taymans  <wim@fluendo.com>
6642
6643         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6644         (gst_element_threadsafe_properties_post_run),
6645         (gst_element_set_state), (gst_element_change_state):
6646         Added extra refcounting around various places. 
6647
6648 2004-09-06  Wim Taymans  <wim@fluendo.com>
6649
6650         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6651         Fix debug info.
6652
6653 2004-09-06  Wim Taymans  <wim@fluendo.com>
6654
6655         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6656         (remove_from_group):
6657         Some more debug info.
6658
6659 2004-09-03  Wim Taymans  <wim@fluendo.com>
6660
6661         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6662         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6663         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6664         (gst_fakesrc_get), (gst_fakesrc_change_state):
6665         * gst/elements/gstfakesrc.h:
6666         * gst/elements/gstidentity.c: (gst_identity_class_init),
6667         (gst_identity_init), (gst_identity_chain),
6668         (gst_identity_set_property), (gst_identity_get_property),
6669         (gst_identity_change_state):
6670         * gst/elements/gstidentity.h:
6671         Added datarate properties to limit the datarate.
6672
6673 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6674
6675         * gst/autoplug/gstspider.c: (plugin_init):
6676           don't set a rank. We don't want to autoplug by inserting spiders.
6677
6678 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6679
6680         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6681         (gst_spider_identity_plug):
6682           add a template for spider's sink
6683         * gst/gst.c: (gst_register_core_elements):
6684           queue's rank should be NULL, we don't want spider to add it.
6685
6686 2004-08-18  David Schleef  <ds@schleef.org>
6687
6688         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6689         * docs/libs/Makefile.am: same
6690         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6691         * docs/random/ds/0.9-planning: random additions
6692         * docs/random/ds/0.9-suggested-changes: same
6693         * gst/gstxml.h: remove vestigal GstXMLNs definition
6694
6695         Preferred caps: (#147789)
6696         * docs/gst/gstreamer-sections.txt: Add symbols
6697         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6698         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6699         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6700         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6701         (gst_caps_get_preferred), (gst_caps_set_preferred),
6702         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6703         (gst_caps_use_preferred): Handle caps preferences
6704         * gst/gstcaps.h: Add caps preferences
6705         * gst/gstpad.c: (gst_pad_link_get_preferred),
6706         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6707         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6708         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6709         negotiation.
6710
6711 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6712
6713         * gst/autoplug/gstspideridentity.c:
6714         (gst_spider_identity_request_new_pad):
6715         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6716         (gst_aggregator_init):
6717         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6718         (gst_fakesink_init):
6719         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6720         (gst_fakesrc_init):
6721         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6722         (gst_fdsink_init):
6723         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6724         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6725         (gst_filesink_init):
6726         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6727         (gst_filesrc_init):
6728         * gst/elements/gstidentity.c: (gst_identity_base_init),
6729         (gst_identity_init):
6730         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6731         (gst_multifilesrc_init):
6732         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6733         (gst_pipefilter_init):
6734         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6735         (gst_statistics_init):
6736         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6737         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6738           s/gst_pad_new/&_from_template/
6739           register pad templates in the base_init function
6740           add static pad template definitions
6741
6742 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6743
6744         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6745         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6746         * testsuite/refcounting/pad.c: (main):
6747         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6748           s/gst_pad_new/&_from_template/
6749           prepare deprecation of gst_pad_new
6750
6751 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6752
6753         patch by: Luca Ognibene <skaboy81@virgilio.it>
6754
6755         * gst/gstcaps.c:
6756         * gst/gstelement.c:
6757         * gst/gstpad.c:
6758         * gst/gstxml.c:
6759           fix memleaks.  Fixes #150001
6760
6761 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6762
6763         * docs/random/ds/0.9-suggested-changes:
6764           add notes - mostly about pad templates
6765
6766 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6767
6768         * win32/GStreamer.vcproj:
6769           temporary locale files are .gmo not .mo
6770
6771 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * configure.ac: bump nano to cvs
6774
6775 === release 0.8.5 ===
6776
6777 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * configure.ac:
6780           releasing 0.8.5, "Stuttgart"
6781         * NEWS:
6782         * RELEASE:
6783         * configure.ac:
6784         * docs/random/release:
6785           updates for release
6786
6787 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         patch by: Wim Taymans (wim@fluendo.com)
6790
6791         * gst/gstbuffer.c:
6792         * gst/gstindex.h:
6793         * libs/gst/dataprotocol/dataprotocol.c:
6794           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6795
6796 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * Makefile.am:
6799         * win32/MANIFEST:
6800           add win32 dir to the build.  Fixes #149981.
6801
6802 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * configure.ac:
6805           bump libtool versioning
6806         * gst/gststructure.c:
6807           mark function as static
6808         * po/af.po:
6809         * po/az.po:
6810         * po/ca.po:
6811         * po/cs.po:
6812         * po/en_GB.po:
6813         * po/fr.po:
6814         * po/nl.po:
6815         * po/sq.po:
6816         * po/sr.po:
6817         * po/sv.po:
6818         * po/tr.po:
6819         * po/uk.po:
6820           translations update
6821         * win32/README.txt:
6822           trademark protection
6823
6824 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6825
6826         * configure.ac:
6827           fix GST_ORIGIN
6828           set GST_PACKAGE to source, and distinguish between release and other
6829         * tools/gst-inspect.c:
6830           print out plugin an element factory is part of so we see this info
6831
6832 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * docs/gst/gstreamer-sections.txt:
6835         * docs/gst/tmpl/gstbuffer.sgml:
6836         * docs/gst/tmpl/gstschedulerfactory.sgml:
6837           reorder docs a little, make GstBuffer's more sensible.
6838         * gst/gstbuffer.h:
6839           API: added GST_BUFFER_FLAG_DELTA_UNIT
6840         * gst/gstscheduler.c:
6841           comment API addition
6842
6843 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6844
6845         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6846           work with non-regular files that can be mmapped (like /dev/zero)
6847         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6848           get rid of typefinds that require a seek when we can't seek instead
6849           of trying them over and over again
6850         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6851           return non-zero failure value when the pipeline was interrupted or
6852           an error occurred
6853
6854 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6855
6856         * win32/config.h:
6857         * win32/GStreamer.vcproj:
6858           compile and install the locales
6859
6860 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6861
6862         * gst/gstvalue.c:
6863           fix a possible memory leak under Windows
6864
6865 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6866
6867         * win32/GStreamer.vcproj:
6868           fix a memory leak that occured under Windows
6869         * win32/gstreamer.def:
6870           add gst_scheduler_register
6871
6872 2004-08-11  Benjamin Otte  <otte@gnome.org>
6873
6874         * docs/gst/gstreamer-sections.txt:
6875         * gst/gstscheduler.c: (gst_scheduler_register):
6876         * gst/gstscheduler.h:
6877           API:
6878           add gst_scheduler_register shortcut similar to gst_element_register
6879         * gst/schedulers/entryscheduler.c: (plugin_init):
6880         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6881         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6882           use it
6883
6884 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6885
6886         * gst/gstvalue.h:
6887           fix a memory leak that occured under Windows
6888
6889 2004-08-10  Colin Walters  <walters@redhat.com>
6890
6891         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6892         Don't use O_EXCL to open temporary registry.  It will prevent
6893         registry creation if a temporary one already exists, which
6894         is unnecessary.
6895
6896 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6897
6898         * docs/gst/gstreamer-sections.txt:
6899         * docs/gst/tmpl/gstvalue.sgml:
6900           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6901
6902 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6903
6904         * win32/gstbytestream.vcproj:
6905         * win32/gstelements.vcproj:
6906         * win32/gstgetbits.vcproj:
6907         * win32/gst-inspect.vcproj:
6908         * win32/gst-launch.vcproj:
6909         * win32/gstoptimalscheduler.vcproj:
6910         * win32/GStreamer.vcproj:
6911         * win32/gst-register.vcproj:
6912         * win32/gstspider.vcproj:
6913           update the include and lib dirs to fit standard libraries as
6914           described in the Win32 manual
6915
6916 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6917
6918         * win32/config.h:
6919         * win32/gstversion.h:
6920           enable NLS again, push the version number for the coming 0.8.5 release
6921
6922 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6923
6924         * gst/gstvalue.h:
6925           export gst_type_XXX for windows DLLs
6926
6927 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         * docs/faq/gst-uninstalled:
6930           fix PKG_CONFIG_PATH and PYTHONPATH
6931         * gst/schedulers/Makefile.am:
6932           cleanup
6933         * libs/gst/bytestream/bytestream.c:
6934           remove newline
6935         * po/LINGUAS:
6936         * po/sq.po:
6937           adding Albanian translation (Laurent Dhima)
6938         * po/cs.po:
6939           updated
6940
6941 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6942
6943         * po/ca.po:
6944         * po/sv.po:
6945           updated translations
6946
6947 2004-08-04  Benjamin Otte  <otte@gnome.org>
6948
6949         * tests/mass_elements.c: (main):
6950           allow specifying src and sink element explicitly, so I can test
6951           videotestsrc instead of fakesrc
6952
6953 2004-08-04  Benjamin Otte  <otte@gnome.org>
6954
6955         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6956         (gst_structure_id_empty_new), (gst_structure_empty_new),
6957         (gst_structure_copy):
6958           add gst_structure_id_empty_new_with_size to allow preallocating
6959           value array sizes. Use this in gst_structure_copy to get rid of
6960           reallocs.
6961           don't do quark=>string=>quark when copying structures
6962
6963 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6964
6965         * docs/manual/win32.xml:
6966         * win32/README.txt:
6967           update documentation with the clean version of dependencies
6968
6969 2004-08-03  Benjamin Otte  <otte@gnome.org>
6970
6971         * gst/schedulers/entryscheduler.c:
6972         (gst_entry_scheduler_remove_element):
6973           fix for GST_DISABLE_DEBUG
6974         * tools/gst-launch.c: (print_tag):
6975           fixes for G_DISABLE_ASSERT
6976
6977 2004-08-03  Benjamin Otte  <otte@gnome.org>
6978
6979         * gst/gst.c: (gst_register_core_elements):
6980           fix for G_DISABLE_ASSERT
6981         * gst/gstinfo.c: (__gst_in_valgrind):
6982           add for GST_DISABLE_DEBUG
6983
6984 2004-08-03  Benjamin Otte  <otte@gnome.org>
6985
6986         * gst/parse/parse.l:
6987           fix for G_DISABLE_ASSERT
6988
6989 2004-08-03  Wim Taymans  <wim@fluendo.com>
6990
6991         * gst/gstbin.c: (gst_bin_get_type),
6992         (gst_bin_child_state_change_func):
6993         * gst/gstthread.c: (gst_thread_change_state):
6994         Backported some debug logging from a reverted patch
6995         Don't try to destroy the thread twice. Added some more
6996         debugging in GstThread. Unlock and signal even if we
6997         are in the thread context.
6998
6999 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7000
7001         * po/uk.po:
7002           updated translation
7003
7004 2004-07-30  David Schleef  <ds@schleef.org>
7005
7006         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7007
7008 2004-07-29  David Schleef  <ds@schleef.org>
7009
7010         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7011         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7012
7013 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7014
7015         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7016         (gst_bin_add_func), (gst_bin_remove_func),
7017         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7018         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7019         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7020         (gst_bin_sync_children_state):
7021         * gst/gstbin.h:
7022         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7023         (gst_thread_change_state):
7024         * testsuite/states/Makefile.am:
7025           revert state change patches as agreed so we can rework them
7026           gradually
7027
7028 2004-07-29  Benjamin Otte  <otte@gnome.org>
7029
7030         * libs/gst/control/Makefile.am:
7031           link to libgstreamer (fixes Debian bug 262019, see
7032           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7033
7034 2004-07-29  Wim Taymans  <wim@fluendo.com>
7035
7036         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7037         (check_from_fraction_convert), (transform_test), (main):
7038         Make the test less pedantic about float roundoff errors.
7039
7040 2004-07-29  Benjamin Otte  <otte@gnome.org>
7041
7042         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7043         (gst_filesrc_srcpad_event):
7044           make seek events to before start/after end of file not fail, but
7045           seek to start/end instead
7046         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7047           add more output
7048
7049 2004-07-29  Benjamin Otte  <otte@gnome.org>
7050
7051         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7052           check that caps are fixed
7053         * gst/gstpad.c: (gst_pad_template_new):
7054           don't try to simplify caps, costs too much time on gst_init
7055         * gst/gstplugin.c: (gst_plugin_add_feature):
7056           G_ERROR if features are added twice
7057         * gst/gsttypefind.c: (gst_type_find_register):
7058         * gst/gstelementfactory.c: (gst_element_register):
7059           don't add features twice
7060         * docs/random/ds/0.9-suggested-changes:
7061           add note about possible gst_init optimization
7062
7063 2004-07-28  David Schleef  <ds@schleef.org>
7064
7065         * testsuite/elements/Makefile.am:
7066         * testsuite/elements/struct_i386.h:
7067         * testsuite/elements/struct_size.c: (main):  A little test
7068         to keep distcheck from working if someone changes a structure
7069         size accidentally.
7070
7071 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7072
7073         * docs/libs/Makefile.am:
7074         * docs/libs/gstreamer-libs-docs.sgml:
7075         * docs/libs/gstreamer-libs-sections.txt:
7076         * docs/libs/tmpl/gstbytestream.sgml:
7077         * docs/libs/tmpl/gstcontrol.sgml:
7078         * docs/libs/tmpl/gstdataprotocol.sgml:
7079         * docs/libs/tmpl/gstgetbits.sgml:
7080         * libs/gst/bytestream/Makefile.am:
7081         * libs/gst/bytestream/bytestream.c:
7082         * libs/gst/bytestream/bytestream.h:
7083         * libs/gst/control/Makefile.am:
7084         * libs/gst/dataprotocol/Makefile.am:
7085         * libs/gst/getbits/Makefile.am:
7086         * libs/gst/getbits/getbits.h:
7087           various doc and style fixes, adding bytestream to libs docs.
7088
7089 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7090
7091         * docs/gst/gstreamer-docs.sgml:
7092         * docs/libs/Makefile.am:
7093         * docs/libs/gstreamer-libs-docs.sgml:
7094         * docs/libs/gstreamer-libs-sections.txt:
7095         * libs/gst/control/dparam.c:
7096           more doc fixes.  gst-libs docs now build the same way as gst.
7097
7098 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7099
7100         * configure.ac:
7101         * testsuite/Makefile.am:
7102         * testsuite/bins/Makefile.am:
7103         * testsuite/caps/Makefile.am:
7104         * testsuite/cleanup/Makefile.am:
7105         * testsuite/clock/Makefile.am:
7106         * testsuite/debug/Makefile.am:
7107         * testsuite/dlopen/Makefile.am:
7108         * testsuite/dynparams/Makefile.am:
7109         * testsuite/elements/.cvsignore:
7110         * testsuite/elements/Makefile.am:
7111         * testsuite/enumcaps/Makefile.am:
7112         * testsuite/enumcaps/enumcaps.c:
7113         * testsuite/ghostpads/Makefile.am:
7114         * testsuite/indexers/Makefile.am:
7115         * testsuite/negotiation/Makefile.am:
7116         * testsuite/parse/Makefile.am:
7117         * testsuite/plugin/Makefile.am:
7118         * testsuite/refcounting/Makefile.am:
7119         * testsuite/schedulers/.cvsignore:
7120         * testsuite/states/Makefile.am:
7121         * testsuite/tags/Makefile.am:
7122         * testsuite/threads/Makefile.am:
7123           fold enumcaps into caps dir
7124           clean up Makefile.am's for testsuite
7125
7126 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7127
7128         * docs/gst/Makefile.am:
7129         * docs/libs/Makefile.am:
7130           clean up docs build.  Fixes needless rebuilding of template files.
7131
7132 2004-07-28  Wim Taymans  <wim@fluendo.com>
7133
7134         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7135         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7136         Make sure that a bin state change tries to keep the children
7137         in sync. 
7138         Added debug logging to the thread.
7139
7140 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7141
7142         * win32/GStreamer.vcproj:
7143         * win32/gstreamer.def:
7144           more exports for the plugins
7145
7146 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7147
7148         * win32/gstgetbits.vcproj:
7149         * win32/gstgetbits.def:
7150         * win32/msvc71.sln:
7151           add support for the getbits plugin
7152
7153 2004-07-27  Wim Taymans  <wim@fluendo.com>
7154
7155         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7156         (gst_value_transform_fraction_double), (_gst_value_initialize):
7157         * testsuite/caps/Makefile.am:
7158         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7159         (check_from_fraction_convert), (transform_test), (main):
7160         Added transform functions between double and fraction.
7161         Added testcase to verify transforms
7162
7163 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7164
7165         * win32/GStreamer.vcproj:
7166           rename GStreamer-0.8.lib to libgstreamer.lib
7167
7168 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7169
7170         * win32/gstelements.vcproj:
7171         * win32/gstoptimalscheduler.vcproj:
7172           fixes for the Release build
7173
7174 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7175
7176         * win32/config.h:
7177           update the version number
7178
7179 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7180
7181         * win32/GStreamer.vcproj:
7182           add gstinterface to the build
7183
7184 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7185
7186         * win32/gstreamer.def:
7187           add many definitions needed by plugins,
7188           GST_CAT_DEFAULT only available in the Debug build ?
7189
7190 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7191
7192         * gst/gstelement.c: (gst_element_set_eos_recursive):
7193           various whitespace fixes.
7194           doc fix, fixes #148497
7195
7196 2004-07-25  Benjamin Otte  <otte@gnome.org>
7197
7198         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7199           don't delay links on the sink elements, it causes unnegotiated
7200           links.
7201         * gst/elements/gsttypefindelement.c:
7202         (gst_type_find_element_base_init):
7203           add our padtemplates, we indeed do have some.
7204         * gst/elements/gsttypefindelement.c:
7205         (gst_type_find_element_handle_event),
7206         (gst_type_find_element_chain):
7207           don't push data when typefinding failed.
7208         * gst/gstpad.c: (gst_pad_link_fixate):
7209           check that no fixate function returns empty caps.
7210         * gst/gstpad.c: (gst_pad_push):
7211           check that the link is negotiated before data gets pushed.
7212         * tools/gst-register.c: (main):
7213           don't assert (fixes #148283)
7214
7215 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7216
7217         * docs/gst/gstreamer-sections.txt:
7218         * docs/gst/tmpl/gstconfig.sgml:
7219           add GST_PLUGIN_EXPORT definition
7220
7221 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7222
7223         * gst/gstplugin.h:
7224         * gst/gstconfig.h.in:
7225         * win32/gstconfig.h:
7226         * win32/gstelements.def:
7227         * win32/gstelements.vcproj:
7228         * win32/gstoptimalscheduler.def:
7229         * win32/gstoptimalscheduler.vcproj:
7230         * win32/gstspider.def:
7231         * win32/gstspider.vcproj:
7232           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7233
7234 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7235
7236         * docs/gst/gstreamer-sections.txt:
7237           remove GST_CAT_DEFAULT because the type has changed
7238
7239 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7240
7241         * win32/gstbytestream.vcproj:
7242         * win32/gstelements.vcproj:
7243         * win32/gst-inspect.vcproj:
7244         * win32/gst-launch.vcproj:
7245         * win32/gstoptimalscheduler.vcproj:
7246         * win32/GStreamer.vcproj:
7247         * win32/gst-register.vcproj:
7248         * win32/gstspider.vcproj:
7249         * win32/msvc71.sln:
7250           Copy the files where needed after building, The testsuite will be
7251           built separately
7252
7253 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7254
7255         * win32/config.h:
7256         * win32/README.txt:
7257         * docs/manual/win32.xml:
7258         Fixed the plugin and GStreamer location
7259
7260 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7261
7262         * win32/gstreamer.def:
7263         More exports for the plugins
7264
7265 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7266
7267         * gst/gstinfo.h:
7268         Marc was right, we need to export literally GST_CAT_DEFAULT
7269
7270 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7271
7272         * win32/config.h:
7273         NLS crashes in gettext, disabled until this is solved
7274
7275 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7276
7277         * win32/gst-inspect.vcproj:
7278         * win32/gst-launch.vcproj:
7279         Should use NLS when available
7280
7281 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7282
7283         * gst/registries/gstxmlregistry.c:
7284         removing the file doesn't seem to be a good idea on Linux
7285
7286 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7287
7288         * gst/registries/gstxmlregistry.c:
7289         Remove the registry before renaming the tempfile (needed for Windows)
7290
7291 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7292
7293         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7294         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7295         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7296         * gst/elements/gstmultifilesrc.h:
7297         Added newmedia property so it generates newmedia events between each
7298         file when property is set, as well as fixed eos handling
7299
7300 2004-07-22  David Schleef  <ds@schleef.org>
7301
7302         * gst/gststructure.c: (gst_structure_id_empty_new),
7303         (gst_structure_empty_new):  Set type field correctly.
7304         * gst/gststructure.h: Check type field correctly.
7305         * testsuite/caps/Makefile.am:
7306         * testsuite/caps/structure.c: (test1), (main): Add a very small
7307         test for structures.
7308
7309 2004-07-22  David Schleef  <ds@schleef.org>
7310
7311         * docs/random/ds/0.9-suggested-changes: more comments
7312         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7313
7314 2004-07-22  Benjamin Otte  <otte@gnome.org>
7315
7316         * gst/gstelementfactory.c: (gst_element_register):
7317           set the factory in the class struct, so gst_element_get_factory
7318           actually works
7319         * gst/parse/grammar.y:
7320           set element to playing when it gets unlocked as we can't rely on the
7321           bin state - all elements in the bin state might still be locked in
7322           NULL)
7323
7324 2004-07-22  Benjamin Otte  <otte@gnome.org>
7325
7326         * gst/gstelement.c: (gst_element_set_state_func):
7327           make this a static function
7328
7329 2004-07-22  Wim Taymans  <wim@fluendo.com>
7330
7331         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7332         (gst_opt_scheduler_pad_link):
7333         fix 147894-2 and the group_link problem.
7334
7335 2004-07-22  Wim Taymans  <wim@fluendo.com>
7336
7337         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7338         (handoff_identity), (main):
7339         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7340         (handoff_identity), (main):
7341         * testsuite/schedulers/Makefile.am:
7342         * testsuite/schedulers/group_link.c: (main):
7343         Show bug in scheduler when linking chain and loop based element 
7344         where the chain based element was not yet in a group.
7345
7346 2004-07-21  Benjamin Otte  <otte@gnome.org>
7347
7348         * gst/.cvsignore:
7349         * gst/autoplug/.cvsignore:
7350         * gst/elements/.cvsignore:
7351         * gst/indexers/.cvsignore:
7352         * libs/gst/bytestream/.cvsignore:
7353         * libs/gst/control/.cvsignore:
7354         * libs/gst/getbits/.cvsignore:
7355         * testsuite/states/.cvsignore:
7356         * testsuite/threads/.cvsignore:
7357           keep this up to date, since I seem to be the only one who cares
7358           about not missing files on commits (editor's note: no you don't,
7359           but feel free to change them at the time you add stuff instead
7360           of later on)
7361
7362 2004-07-21  Benjamin Otte  <otte@gnome.org>
7363
7364         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7365         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7366         (gst_bin_child_state_change_func), (set_kid_state_func),
7367         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7368           make state changes work correctly and reentrant (so removing
7369           elements from bins during state changes of bins doesn't cause
7370           segfaults or even wrong states)
7371           add debugging category and debugging output to print children states
7372         * gst/gstbin.c: (gst_bin_dispose): 
7373           add some assertion checks
7374         * gst/gstbin.h:
7375         * gst/gstbin.c: (gst_bin_sync_children_state):
7376           deprecate this function - it just does gst_bin_set_state (bin,
7377           GST_STATE (bin)) 
7378         * testsuite/threads/queue.c: (main):
7379           don't use gst_bin_sync_children_state anymore
7380         * testsuite/states/Makefile.am:
7381         * testsuite/states/bin.c:
7382           test that the state changes of bins work as expected
7383         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7384           some adjustments to change states correctly, too
7385         * gst/gstthread.c: (gst_thread_change_state):
7386           don't enable/disable "threadsafe" properties, they're unused and
7387           cause random segfaults
7388         * testsuite/threads/Makefile.am:
7389           the queue check randomly passes now, ignore it
7390
7391 2004-07-21  Benjamin Otte  <otte@gnome.org>
7392
7393         * gst/gstpad.c:
7394           check if data is NULL before outputting debug info. (fixes #145100)
7395
7396 2004-07-21  Benjamin Otte  <otte@gnome.org>
7397
7398         * gst/schedulers/entryscheduler.c:
7399         (gst_entry_scheduler_loop_wrapper),
7400         (gst_entry_scheduler_chain_wrapper),
7401         (gst_entry_scheduler_get_wrapper):
7402           reset the state when the cothread starts, so we don't get assertion
7403           failures on restarting of cothreads
7404
7405 2004-07-20  Benjamin Otte  <otte@gnome.org>
7406
7407         * gst/gstelement.c: (gst_element_link_pads_filtered):
7408           use correct sinkpad, if only sinkpad is specified, but not srcpad
7409           (fixes #147889)
7410         * gst/gstelement.c: (gst_element_set_state_func),
7411         (gst_element_change_state): ref/unref the element, signal handlers
7412         could get rid of the element otherwise
7413
7414 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7415
7416         * docs/random/ds/0.9-suggested-changes:
7417           Make note about renaming fixed-list to array.
7418         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7419         (_gst_value_initialize):
7420           Add array intersections.
7421         * testsuite/caps/intersect2.c: (main):
7422           Add test for array intersections.
7423
7424 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7425
7426         * configure.ac: back to cvs
7427
7428 === release 0.8.4 ===
7429
7430 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * configure.ac:
7433           releasing 0.8.4, "Paella"
7434           bump libtool versioning
7435
7436 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7437
7438         * po/LINGUAS:
7439         * po/ca.po:
7440           adding Catalan translation (Jordi Mallach)
7441
7442 2004-07-20  Wim Taymans  <wim@fluendo.com>
7443
7444         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7445         (handoff_identity), (main):
7446         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7447         (handoff_identity), (main):
7448         * testsuite/schedulers/Makefile.am:
7449         Added failing testcase for variant of #147894
7450
7451 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7452
7453         patch by: David Moore
7454
7455         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7456         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7457         (group_migrate_connected):
7458         * testsuite/schedulers/Makefile.am:
7459           fix for #142813 (Deadlock in optimal scheduler)
7460
7461 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7462
7463         patch by: Wim Taymans
7464
7465         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7466         (gst_opt_scheduler_schedule_run_queue),
7467         (gst_opt_scheduler_get_wrapper), (get_group),
7468         (group_migrate_connected):
7469         * testsuite/schedulers/Makefile.am:
7470           fix for #147819 (Add some checks in the opt scheduler)
7471
7472 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7473
7474         patch by: Benjamin Otte
7475
7476         * gst/gstelementfactory.c: (__gst_element_details_set):
7477           fix for #147929: running gst-register in non-utf8 locale can cause
7478           invalid registry
7479
7480 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7481
7482         patch by: Wim Taymans
7483
7484         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7485         (group_has_element), (element_get_reachables_func),
7486         (group_migrate_connected):
7487           fix for #147894 (opt scheduler decoupled elements mismanagement)
7488         * testsuite/schedulers/Makefile.am:
7489           testsuite app now passes
7490
7491 2004-07-19  Wim Taymans  <wim@fluendo.com>
7492
7493         * testsuite/schedulers/147819.c: (handoff_identity1),
7494         (handoff_identity2), (main):
7495         * testsuite/schedulers/Makefile.am:
7496         Added testcase for bug 147819
7497
7498 2004-07-19  Wim Taymans  <wim@fluendo.com>
7499
7500         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7501         (handoff_identity), (main):
7502         * testsuite/schedulers/Makefile.am:
7503         Added testcase for bug 147894
7504
7505 2004-07-16  Wim Taymans  <wim@fluendo.com>
7506
7507         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7508         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7509         * testsuite/schedulers/Makefile.am:
7510         Added testsuite for bug 142183 in its two incarnations. Refcount
7511         is not increased for scheduled elements and threadsafe properties
7512         mutexes are not properly unlocked.
7513
7514 2004-07-16  Wim Taymans  <wim@fluendo.com>
7515
7516         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7517         (create_chain), (destroy_chain), (create_group), (destroy_group),
7518         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7519         (group_dec_link), (gst_opt_scheduler_pad_link),
7520         (group_inc_links_for_element), (group_migrate_connected):
7521         Call group_inc_link with the proper src->sink ordering -- 
7522         break this, and we break sort_chain. patch from wingo for bug
7523         147713.
7524         Partially revert patch 1.89. When adding a loop based element to 
7525         the scheduler, the links to other groups are automatically followed
7526         and incremented. This should not happen because the bin will call
7527         pad_link explicitly for those connection, resulting in them counted 
7528         twice. Results in assertion failure on pipeline cleanup.
7529
7530 2004-07-16  Wim Taymans  <wim@fluendo.com>
7531
7532         * testsuite/schedulers/143777-2.c: (main):
7533         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7534         (main):
7535         * testsuite/schedulers/Makefile.am:
7536         Added cleanup code to testcase 143777-2.
7537         Added testcase to show bug 147713, does not really show the
7538         deadlock as I can't figure out how to trigger it, but it does
7539         demonstrate bad ordering in the scheduler.
7540
7541 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7542
7543         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7544           change strndup to g_strndup.  Fixes #147707
7545
7546 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7547
7548         * po/af.po:
7549         * po/az.po:
7550         * po/cs.po:
7551         * po/en_GB.po:
7552         * po/fr.po:
7553         * po/nl.po:
7554         * po/sr.po:
7555         * po/sv.po:
7556         * po/tr.po:
7557         * po/uk.po:
7558           updated translations
7559
7560 2004-07-16  Benjamin Otte  <otte@gnome.org>
7561
7562         * gst/gstvalue.c: (gst_greatest_common_divisor):
7563           use ints and return ints, fractions only use ints, too, so this
7564           avoids accidently casting multiplications to unsigned
7565         (gst_value_lcopy_fraction): it's ints, not uint32
7566         (gst_value_set_fraction): disallow minint, multiplying and negation
7567           are broken with it
7568         (gst_value_fraction_multiply): fix to make large numbers work and get
7569         rid of the assumption that the multiplication of two ints fits an
7570         int64 - dunno if that's true for all systems
7571         * testsuite/caps/Makefile.am:
7572         * testsuite/caps/fraction-multiply-and-zero.c:
7573         (check_multiplication), (check_equal), (zero_test), (main):
7574           add tests for all the stuff above
7575         * testsuite/caps/value_compare.c: (test1):
7576           fix comment
7577         * tests/.cvsignore:
7578         * testsuite/caps/.cvsignore:
7579         * testsuite/debug/.cvsignore:
7580         * testsuite/dlopen/.cvsignore:
7581         * testsuite/states/.cvsignore:
7582           get up to date
7583
7584 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7585
7586         * docs/manual/bins-api.xml:
7587         * docs/manual/factories.xml:
7588         * docs/manual/helloworld.xml:
7589         * docs/manual/links-api.xml: 
7590           fixes for out of date info, incorrect info and grammar
7591
7592 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7593
7594         * docs/manual/pads.xml:
7595         * docs/manual/pads-api.xml: grammar fix
7596
7597 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7598
7599         * docs/manual/pads-api.xml: typo + grammar fix
7600
7601 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * docs/gst/gstreamer-sections.txt:
7604           add new symbols
7605         * docs/gst/tmpl/gstelement.sgml:
7606         * docs/gst/tmpl/gstpad.sgml:
7607         * docs/gst/tmpl/gsttypes.sgml:
7608         * docs/gst/tmpl/gstvalue.sgml:
7609           update docs
7610         * gst/gststructure.c: (gst_structure_set_valist),
7611         (gst_structure_from_abbr), (gst_structure_to_abbr):
7612         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7613         (gst_greatest_common_divisor), (gst_value_init_fraction),
7614         (gst_value_copy_fraction), (gst_value_collect_fraction),
7615         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7616         (gst_value_get_fraction_numerator),
7617         (gst_value_get_fraction_denominator),
7618         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7619         (gst_value_deserialize_fraction),
7620         (gst_value_transform_fraction_string),
7621         (gst_value_transform_string_fraction),
7622         (gst_value_compare_fraction), (_gst_value_initialize):
7623         * gst/gstvalue.h:
7624           adding GstFraction GValue type, get/set, and multiply
7625         * testsuite/caps/Makefile.am:
7626         * testsuite/caps/fraction.c: (test), (main):
7627         * testsuite/caps/string-conversions.c: (main):
7628         * testsuite/caps/value_compare.c: (test1), (main):
7629           add regression tests for GstFraction
7630
7631 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7632         
7633         * docs/manual/init-api.xml: Grammar fix
7634
7635 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7636
7637         * docs/manual/states.xml: Fix inconsistent information
7638
7639 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7640
7641         * gst/gstelement.c: (gst_element_set_state):
7642         * gst/gstpad.c: (gst_pad_try_set_caps):
7643         * gst/gststructure.c:
7644         * gst/gstthread.c: (gst_thread_child_state_change):
7645         * gst/gstvalue.c: (gst_value_compare_double):
7646         * gst/gstvalue.h:
7647         * testsuite/parse/parse1.c: (main):
7648           debugging additions and style cleanups
7649
7650 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7651
7652         * docs/manual/states.xml: Grammar fix
7653
7654 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7655
7656         * docs/manual/pads.xml: Grammar fix
7657
7658 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7659
7660         * docs/manual/elements.xml: Fixed image reference
7661
7662 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7663
7664         * docs/manual/goals.xml: Grammar fix
7665
7666 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7667
7668         * docs/manual/motivation.xml:
7669         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7670
7671 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7672
7673         * docs/manual/motivation.xml: Fix spelling
7674
7675 2004-07-15  Benjamin Otte  <otte@gnome.org>
7676
7677         * gst/gstelement.h: 
7678           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7679           strings.
7680         * gst/gstelement.c (gst_element_class_init):
7681           GError's are boxed, not objects
7682         * gst/gstmarshal.list:
7683           update list for the fixed error signal
7684
7685 2004-07-14  Andy Wingo  <wingo@pobox.com>
7686
7687         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7688         there all along, but the function wasn't. (guile-gstreamer's build
7689         system uses the address of the function -- I wasn't actually
7690         trying to use this.)
7691
7692 2004-07-14  Andy Wingo  <wingo@pobox.com>
7693
7694         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7695         as gst_pad_proxy_pad_link) just link to every other pad when they
7696         are called. In the case where the graph has cycles, this will mean
7697         that a call to try_set_caps will recurse. Allow this recursion
7698         and return OK, while we wait for the first try_set_caps to give a
7699         proper return value.
7700         (gst_pad_link_call_link_functions): Since this function is the
7701         only one to set the NEGOTIATING flag on a pad, if the flag is set
7702         it means that the link functions have indirectly recursed. If this
7703         happens, error out to avoid infinite recursion and an eventual
7704         SEGV.
7705         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7706         (gst_pad_proxy_getcaps): Intersect the result with the template
7707         caps to ensure that the return value is valid.
7708
7709 2004-07-14  Andy Wingo  <wingo@pobox.com>
7710
7711         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7712         one refcount, the calling function is the owner of the buffer.
7713
7714 2004-07-14  Wim Taymans  <wim@fluendo.com>
7715
7716         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7717         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7718         Fix stupid warning when an element is to be migrated but
7719         is already migrated.
7720
7721 2004-07-14  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7724         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7725         Make sure that a single non-loop-based element does not 
7726         end up in a group. This fixes the testsuite again.
7727
7728 2004-07-14  Wim Taymans  <wim@fluendo.com>
7729
7730         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7731         (add_to_group), (merge_groups), (schedule_group),
7732         (gst_opt_scheduler_get_wrapper), (group_elements),
7733         (group_dec_link), (gst_opt_scheduler_pad_link),
7734         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7735         (gst_opt_scheduler_iterate):
7736         move isolated groups to a new chain.
7737         Emit a warning instead of segfaulting in some error cases.
7738         Fix a bug where the link count between groups was not calculated 
7739         correctly. Fixes #144510.
7740
7741 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7742         * gst/elements/gstfilesrc.c:
7743           Binary files support under Windows now OK
7744       
7745 2004-07-13  Benjamin Otte  <otte@gnome.org>
7746
7747           compatibility fixes for Solaris 8/gcc 2.95
7748         * configure.ac:
7749           include libintl libs in LDFLAGS
7750         * gstvalue.c (gst_value_deserialize_buffer):
7751           cast isxdigit stuff to int to silence compiler warning
7752
7753 2004-07-12  Benjamin Otte  <otte@gnome.org>
7754
7755         * gst/gsttypes.h:
7756           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7757           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7758           just causes support madness
7759         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7760           make it work without this
7761         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7762         (gst_file_index_commit):
7763           glib IO channels don't want binary mode
7764         * testsuite/bytestream/filepadsink.c: (main):
7765         * testsuite/bytestream/test1.c: (read_param_file):
7766           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7767
7768 2004-07-12  Benjamin Otte  <otte@gnome.org>
7769
7770         * gst/gstelement.c: (gst_element_class_init),
7771         (gst_element_set_state), (gst_element_set_state_func):
7772           virutalize gst_element_set_state, use set_state member in class
7773           struct that was already added in 0.7 for this.
7774         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7775         (gst_bin_change_state):
7776           make gst_bin_foreach works similar to other foreach functions, plug
7777           memleaks in it. Make functions using it work with the new approach.
7778           Document gst_bin_foreach, so it can be exported if we want to
7779         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7780           use virtualized set_state to make set_state on bins set the state of
7781           all its children.
7782
7783 2004-07-12  Benjamin Otte  <otte@gnome.org>
7784
7785         * configure.ac:
7786           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7787           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7788         * gst/gstpad.c: (gst_pad_alloc_buffer):
7789           allow buffer_alloc functions to return NULL and allocate a normal
7790           buffer in that case
7791
7792 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7793         * gst/elements/gstfilesink.c:
7794         * gst/elements/gstfilesrc.c:
7795         * gst/indexers/gstfileindex.c:
7796         * gst/gsttypes.h:
7797         * testsuite/bytestream/filepadsink.c:
7798         * testsuite/bytestream/test1.c:
7799           Handle binary files under Windows
7800
7801 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7802         * docs/manual/win32.xml:
7803         * win32/config.h:
7804         * win32/gst-register.vcproj:
7805         * win32/gstreamer.def:
7806           Update to another gettext public build
7807
7808 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7809         * gst/gstplugin.c:
7810           Fix an impossible C syntax
7811         * win32/config.h:
7812           Disable i18n under Windows for the moment
7813         * win32/gst-register.vcproj:
7814           Use this configuration
7815
7816 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7817         * docs/manual/quotes.xml:
7818           Keep the quotes file alive
7819         * docs/random/ds/0.9-suggested-changes:
7820           Add the suggestion of including a 'rowstride' as part of video
7821           format caps
7822
7823 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7824
7825         * gst/gstelement.c: (gst_element_set_state),
7826         (gst_element_change_state):
7827           d'oh.  Set PENDING state correctly before forcing bin to change.
7828         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7829         (gst_structure_parse_fixed_list):
7830         * gst/schedulers/gstoptimalscheduler.c:
7831         (gst_opt_scheduler_state_transition):
7832         * testsuite/states/parent.c: (main):
7833           remove comment now that it's fixed.
7834
7835 2004-07-11  Benjamin Otte  <otte@gnome.org>
7836
7837         * gst/gstclock.h:
7838           GST_SECOND shouldn't cause a conversion to unsigned.
7839         * testsuite/clock/.cvsignore:
7840         * testsuite/clock/Makefile.am:
7841         * testsuite/clock/signedness.c: (main):
7842           make sure it never will again
7843
7844 2004-07-11  Andy Wingo  <wingo@pobox.com>
7845
7846         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7847         whose state is higher than the bin state, raise the bin state to
7848         ensure that bin state := highest child state.
7849         
7850 2004-07-11  Andy Wingo  <wingo@pobox.com>
7851
7852         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7853         procedure on the children of a bin. Assumes that the procedure can
7854         change the set of children.
7855         (set_kid_state_func): New static function.
7856         (gst_bin_change_state): Use gst_bin_foreach to call
7857         set_kid_state_func. Fixes a bug: if a child had a state-change
7858         handler that removes it from the bin, there would be a segfault.
7859         Hopefully it should also work in the case where the state-change
7860         handler on one child adds or removes other children. In any case,
7861         fixes should go to gst_bin_foreach.
7862
7863 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         * gst/gstelement.c: (gst_element_set_state):
7866           compatibility fix for latest plugins release.  Change loop back
7867           to while {}
7868
7869 2004-07-09  Wim Taymans  <wim@fluendo.com>
7870
7871         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7872         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7873         (gst_thread_main_loop):
7874         Since remove is virtual in GstBin we must not assume the 
7875         elements GList to have anothing useful.
7876         Add some more logging to GstThread and be a bit more paranoid
7877         when resetting the scheduler.
7878         Set the state of the bin to NULL before removing the children.
7879
7880 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7881
7882         * testsuite/threads/Makefile.am:
7883         * testsuite/threads/threadg.c:
7884           added test to check if problem when removing all elements from a
7885           GstThread before setting GstThread state to NULL
7886
7887 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7888
7889         * docs/gst/tmpl/gstelement.sgml:
7890         * docs/gst/tmpl/gsttypes.sgml:
7891         * gst/gstbin.c: (gst_bin_change_state):
7892         * gst/gstelement.c: (gst_element_set_state),
7893         (gst_element_change_state):
7894           rework so that for bins we try to set the state on all children
7895           as well even if the bin is in the correct state already.
7896           change while to do so at least one iteration is done.
7897           For regular elements, we fall back to the previous behaviour for
7898           now since we first need a new plugins release.
7899         * testsuite/states/parent.c: (main):
7900           test for this case
7901           Fixes #123774
7902
7903 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7904
7905         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7906         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7907         (gst_queue_release_locks), (gst_queue_change_state),
7908         (gst_queue_set_property):
7909           add proper lock debugging.  Change dispose to finalize, since
7910           we're freeing mutexes and other stuff which should happen only once.
7911
7912 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7913
7914         * docs/gst/tmpl/gstelement.sgml:
7915         * docs/gst/tmpl/gstplugin.sgml:
7916         * docs/gst/tmpl/gsttypes.sgml:
7917         * docs/pwg/building-state.xml:
7918         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7919         * gst/gstelement.c: (gst_element_change_state):
7920         * gst/gstthread.c: (gst_thread_change_state):
7921           catch wrong state changes in element base class.
7922
7923 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7924
7925         * gst/gstinfo.h:
7926           clean up layout a little.
7927
7928 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7929
7930         * configure.ac:
7931         * testsuite/Makefile.am:
7932         * testsuite/states/Makefile.am:
7933         * testsuite/states/parent.c: (main):
7934           re-enable states testsuite dir.  Add test for state changes and
7935           parent behaviour
7936
7937 2004-07-09  Wim Taymans  <wim@fluendo.com>
7938
7939         * gst/schedulers/gstoptimalscheduler.c:
7940         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7941         (element_get_reachables_func), (element_get_reachables),
7942         (debug_element), (rechain_group), (group_migrate_connected),
7943         (gst_opt_scheduler_pad_unlink):
7944         Do not try to migrate decoupled elements to a new group since
7945         they are not added to groups.
7946
7947 2004-07-08  Benjamin Otte  <otte@gnome.org>
7948
7949         * gst/gstelement.c: (gst_element_error_func):
7950           make reentrant (= allow removing elements in error handler)
7951
7952 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7953
7954         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7955         (gst_pad_send_event), (gst_pad_call_chain_function):
7956           events sent to elements below PAUSED cannot be handled, so
7957           don't try to
7958
7959 2004-07-08  Wim Taymans  <wim@fluendo.com>
7960
7961         * gst/schedulers/gstoptimalscheduler.c:
7962         (chain_recursively_migrate_group), (create_group),
7963         (schedule_group), (gst_opt_scheduler_pad_link),
7964         (group_elements_set_visited), (element_get_reachables_func),
7965         (element_get_reachables), (group_can_reach_group), (debug_element),
7966         (rechain_group), (group_migrate_connected),
7967         (gst_opt_scheduler_pad_unlink):
7968         * testsuite/schedulers/Makefile.am:
7969         Implemented group splitting and rechaining.
7970         Fixes 143777 and 143777-2 in the testsuite.
7971
7972 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7973
7974         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7975           extra debugging
7976         * gst/gstevent.h:
7977         * gst/gstinfo.c: (gst_debug_log_default):
7978           print time nicely.  add thread pointer until someone figures out
7979           a completely portable way of getting at thread id's.
7980         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7981         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7982         (gst_pad_call_chain_function):
7983           extra debugging
7984         * gst/schedulers/gstoptimalscheduler.c:
7985         (get_group_schedule_function), (loop_group_schedule_function),
7986         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7987         (pad_clear_queued), (gst_opt_scheduler_iterate):
7988           rename BUFPEN and friends to DATAPEN since that's what they are.
7989
7990 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7991
7992         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7993         * gst/gstbuffer.h:
7994         * gst/gstpad.c:
7995           cleanups and debugging
7996
7997 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7998
7999         * configure.ac:
8000         * gst/gstvalue.c: (gst_value_compare_enum),
8001         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8002         (gst_value_can_compare), (gst_value_compare):
8003         * testsuite/Makefile.am:
8004         * testsuite/enumcaps/Makefile.am:
8005         * testsuite/enumcaps/enumcaps.c:
8006           Fix enum serialization, deserialization, comparison in caps, add
8007           a test to ensure that this continues working in the future.
8008
8009 2004-07-06  David Schleef  <ds@schleef.org>
8010
8011         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8012         Fix memleak.
8013
8014 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8015
8016         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8017         * gst/gstplugin.h:
8018         * gst/registries/gstxmlregistry.c:
8019         (plugin_times_older_than_recurse), (plugin_times_older_than),
8020         (gst_xml_registry_parse_padtemplate):
8021           only rebuild registry when actual plugins have a newer time than
8022           the registry.  Fixes #145520
8023
8024 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8025
8026         * docs/manual/manual.xml:
8027         * docs/manual/win32.xml:
8028           add chapter on win32 building.  fixes #142422
8029
8030 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8031
8032         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8033
8034         * gst/autoplug/gstspider.c: (gst_spider_init),
8035         (gst_spider_dispose):
8036           fix spider memleaks.  fixes #137863
8037
8038 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8039
8040         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8041
8042         * gst/schedulers/gstoptimalscheduler.c:
8043         (gst_opt_scheduler_pad_unlink):
8044           fix SIGBUS error, fixes #145338
8045
8046 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8047
8048         * gst/gstobject.c: (gst_object_replace):
8049         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8050         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8051           clean up clock lifecycle.  Fixes #109831
8052
8053 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8054
8055         * po/LINGUAS:
8056         * po/cs.po:
8057           added Czech translation (Miloslav Trmac)
8058
8059 2004-07-04  David Schleef  <ds@schleef.org>
8060
8061         * tools/Makefile.am:
8062         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8063
8064 2004-07-04  David Schleef  <ds@schleef.org>
8065
8066         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8067
8068 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8069
8070         * gst/gstbin.c: (gst_bin_restore_thyself):
8071           chain to parent restore so the bins get restored correctly
8072           in the editor
8073
8074 2004-07-03  David Schleef  <ds@schleef.org>
8075
8076         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8077         Actually do something in these functions, like before the big
8078         caps change.  (bug #145137)
8079
8080 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8083         (gst_element_get_compatible_pad_filtered):
8084         * gst/gstthread.c: (gst_thread_main_loop):
8085           more debugging
8086
8087 2004-07-02  David Schleef  <ds@schleef.org>
8088
8089         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8090         * gst/gstobject.h:
8091         * gst/gstparse.h:
8092         * gst/gsttrace.h:
8093         * gst/gstxml.h:
8094
8095 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8096
8097         * gst/gstpad.c: (gst_pad_check_schedulers),
8098         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8099         (gst_pad_link_prepare):
8100           revert until testsuite is fixed
8101
8102 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8103
8104         * testsuite/Makefile.am:
8105         * testsuite/caps/filtercaps.c: (main):
8106         * testsuite/clock/clock1.c: (main):
8107         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8108           fix some more tests
8109
8110 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8111
8112         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8113         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8114         * testsuite/cleanup/cleanup4.c: (main):
8115           fix testsuite
8116
8117 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8118
8119         * libs/gst/control/control.c:
8120         * libs/gst/control/dparam.c:
8121         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8122         * libs/gst/control/dparammanager.c:
8123         * libs/gst/control/dparammanager.h:
8124         * testsuite/dynparams/Makefile.am:
8125         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8126         (gst_dptest_change_state), (gst_dptest_chain), (main):
8127           fix testcase for dparams
8128           add debugging category
8129
8130 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8131
8132         * testsuite/Rules:
8133           change path
8134
8135 2004-07-02  Benjamin Otte  <otte@gnome.org>
8136
8137         * tests/.cvsignore:
8138         * tests/Makefile.am:
8139         * tests/mass_elements.c: (gst_get_current_time), (main):
8140           add simple benchmark to test various speeds of fakesrc ! identity !
8141           identity ! ... ! fakesink.
8142           Usage: mass_elements [num_identities] [num_buffers]
8143           If not specified they default to 1000.
8144
8145 2004-07-02  Benjamin Otte  <otte@gnome.org>
8146
8147         * gst/gstpad.c: (gst_pad_check_schedulers),
8148         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8149         (gst_pad_link_prepare):
8150           check that pads that get linked belong to the same manager. The old
8151           code allowed linking elements before putting them into bins, so it
8152           worked to link them and then put them in different threads, which
8153           lead to weird behaviour.
8154           Since this effectively disallows linking elements before putting
8155           them in a bin, some applications might not work after this and error
8156           out. If these applications are too critical, we might need to revert
8157           that patch. Please test this before the next release...
8158
8159 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8160
8161         * gst/gstpad.c: (gst_pad_get_caps):
8162           throw an error if the getcaps function does not return a subset of
8163           the template caps.
8164         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8165           make disconts without position info an error in debugging
8166         * tests/spidey_bench.c: (handoff), (main):
8167           don't count first try when averaging
8168
8169 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8170
8171         * gst/gstplugin.c: (gst_plugin_load_file):
8172           figure out problem with dynamic test
8173
8174 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * docs/gst/Makefile.am:
8177           fix docs build
8178
8179 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * po/POTFILES.in:
8182         * po/af.po:
8183         * po/az.po:
8184         * po/en_GB.po:
8185         * po/fr.po:
8186         * po/nl.po:
8187         * po/sr.po:
8188         * po/sv.po:
8189         * po/tr.po:
8190         * po/uk.po:
8191         * tools/gst-register.c: (plugin_added_func), (main):
8192           i18n-ize -register, fix plural
8193
8194 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * gst/elements/gstidentity.c: (gst_identity_class_init),
8197         (gst_identity_init), (gst_identity_chain),
8198         (gst_identity_set_property), (gst_identity_get_property):
8199         * gst/elements/gstidentity.h:
8200           check for perfect stream
8201
8202 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * gst/elements/gstidentity.c: (gst_identity_chain):
8205           print offset_end
8206
8207 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8208
8209         * docs/gst/Makefile.am:
8210         * docs/gst/gstreamer-docs.sgml:
8211           doc fixes
8212
8213 2004-06-24  David Schleef  <ds@schleef.org>
8214
8215         * autogen.sh:  Remove call to env, since the buildbot isn't
8216         broken anymore.
8217
8218 2004-06-24  Wim Taymans  <wim@fluendo.com>
8219
8220         * gst/elements/Makefile.am:
8221         * gst/elements/gstelements.c:
8222         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8223         (gst_multifdsink_class_init), (gst_multifdsink_init),
8224         (gst_multifdsink_add), (gst_multifdsink_remove),
8225         (gst_multifdsink_clear), (gst_multifdsink_chain),
8226         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8227         * gst/elements/gstmultifdsink.h:
8228         Added an element that writes to multiple filedescriptors at once.
8229
8230 2004-06-24  Benjamin Otte  <otte@gnome.org>
8231
8232         * gst/parse/grammar.y:
8233           don't try to link elements before they have been added to bins
8234
8235 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8236
8237         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8238         (gst_file_pad_get_length):
8239         * libs/gst/bytestream/filepad.h:
8240           add 2 new functions
8241
8242 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8243
8244         * docs/gst/gstreamer-sections.txt:
8245         remove from docs, the define that Benjamin removed from gstelement.h
8246
8247 2004-06-22  Benjamin Otte  <otte@gnome.org>
8248
8249         * gst/gstelement.h:
8250           remove define that referenced a nonexisting GstElement struct member
8251
8252 2004-06-20  Benjamin Otte  <otte@gnome.org>
8253
8254         * gst/gstdata.c: (gst_data_is_writable):
8255           whoops, return values were wrong, so writable data was marked as
8256           non-writable and vice versa. (fixes #143953, spotted by Francis
8257           Labonte)
8258           Shows how rarely we need to copy data ;)
8259
8260 2004-06-20  Benjamin Otte  <otte@gnome.org>
8261
8262         * testsuite/schedulers/.cvsignore:
8263         * testsuite/schedulers/Makefile.am:
8264         * testsuite/schedulers/143777-2.c: (main):
8265           add test for opt breakage in bug #143777
8266
8267 2004-06-20  Benjamin Otte  <otte@gnome.org>
8268
8269         * gst/gstpad.c: (gst_pad_call_chain_function):
8270           check for if we were unlinked while inside the chainfunction (fixes
8271           entrygthread having issues with #143777)
8272         * testsuite/schedulers/143777.c: (main):
8273         * testsuite/schedulers/Makefile.am:
8274           add a test for that fix
8275
8276 2004-06-20  Benjamin Otte  <otte@gnome.org>
8277
8278         * gst/gstvalue.c: (gst_value_set_int_range):
8279           test that start is smaller then end
8280         * libs/gst/bytestream/Makefile.am:
8281         * libs/gst/bytestream/filepad.c: 
8282         * libs/gst/bytestream/filepad.h:
8283           add GstFilePad - a pad that behaves like a FILE*
8284         * testsuite/bytestream/.cvsignore:
8285         * testsuite/bytestream/Makefile.am:
8286         * testsuite/bytestream/filepadsink.c: 
8287           test for the GstFilePad
8288
8289 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * gst/elements/gstidentity.c: (gst_identity_class_init),
8292         (gst_identity_init), (gst_identity_set_clock),
8293         (gst_identity_chain), (gst_identity_set_property),
8294         (gst_identity_get_property):
8295         * gst/elements/gstidentity.h:
8296         * gst/gstclock.c: (gst_clock_id_wait):
8297           add a "sync" property to sync to the clock
8298
8299 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8300
8301         * gst/gstelementfactory.c: (gst_element_factory_create):
8302           make the freakin "elementfactory bla has no type" message more
8303           useful. So we actually can do something when someone shows up
8304           complaining about it.
8305
8306 2004-06-15  Johan Dahlin  <johan@gnome.org>
8307
8308         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8309         found. This matches the old behavior better. Thanks to Thomas for
8310         pointing out.
8311
8312 2004-06-14  David Schleef  <ds@schleef.org>
8313
8314         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8315         -fomit-frame-pointer.  Appears to generate correct code in
8316         other cases as well.
8317
8318 2004-06-14  Johan Dahlin  <johan@gnome.org>
8319
8320         * tools/gst-inspect.c (main): Add two new command line options: -a
8321         to print all elements and -n to print the name on each line. Also
8322         fix some error reporting.
8323         (main): Simplify, remove -n and always print names if -a is specified
8324
8325 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8326
8327         * win32/gstconfig.h:
8328         * win32/GSTreamer.vcproj:
8329         * win32/Makefile:
8330         * gst/gstconfig.h.in:
8331         * gst/gst.h:
8332         * gst/gstbin.h:
8333         * gst/gstelement.h:
8334         * gst/gstevent.h:
8335         * gst/gstobject.h:
8336         * gst/gstpad.h:
8337         * docs/gst/gstreamer-sections.txt:
8338         * docs/gst/tmpl/gstconfig.sgml:
8339           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8340
8341 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8342         * docs/gst/gstreamer-sections.txt:
8343         * docs/gst/tmpl/gstconfig.sgml:
8344         Add the GSTREAMER_EXPORT macro to the docs
8345
8346 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8347
8348         * tools/gst-compprep.c: (handle_xmlerror), (main):
8349         Add a check for the version that introduced SetStructuredError to fix
8350         the build on FC1
8351
8352 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8353
8354         * win32/msvc71.sln:
8355         * win32/testsuite/:
8356           prepare to compile the testsuite with MSVC
8357
8358 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8359
8360         * docs/manual/win32.xml:
8361           attempt to transform the Win32 README into an XML doc
8362
8363 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8364
8365         * gst/gst.c:
8366         * gst/gstbin.*:
8367         * gst/config.h.in:
8368         * gst/gstelement.*:
8369         * gst/gstevent.h:
8370         * gst/gstobject.*:
8371         * gst/gstpad.h:
8372         * tools/gst-register.c:
8373         * win32/gstreamer.def:
8374           extern symbols are now exported for the Windows DLL
8375
8376 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8377
8378         * gst/gstinfo.h:
8379           fix a problem to enable/disable DEBUG under MSVC
8380
8381 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8382
8383         * win32/:
8384           enable more debug code in DEBUG build
8385
8386 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8387
8388         * win32/config.h:
8389         * gst/gst-i18n-app.h:
8390           enable NLS under Windows
8391
8392 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8393         * tools/gst-compprep.c: (handle_xmlerror), (main):
8394           Make an error that baffled me a bit clearer
8395
8396 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * gst/gstqueue.c:
8399           don't use g_queue_get_length () because it's 2.4, use ->length
8400
8401 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8402
8403         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8404
8405         * tools/gst-inspect.c: (print_signal_info):
8406           don't free random data twice. (fixes #144185)
8407
8408 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8409
8410         * gst/gstqueue.c:
8411         * gst/gstqueue.h:
8412           fix removing from the wrong queue on event timeout
8413           fix disposing of the event queue by casting correctly
8414           add mutexes for handling the event queue
8415           someone was sleeping when fixing queue last time around :)
8416
8417 2004-06-10  Johan Dahlin  <johan@gnome.org>
8418
8419         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8420         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8421
8422 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8423
8424         * docs/random/gdp:
8425         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8426         * libs/gst/dataprotocol/dataprotocol.c:
8427         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8428         (gst_dp_buffer_from_header):
8429         * libs/gst/dataprotocol/dataprotocol.h:
8430         * libs/gst/dataprotocol/dp-private.h:
8431           rev version to 0.1, add buffer flags and copy them
8432
8433 2004-06-09  Johan Dahlin  <johan@gnome.org>
8434
8435         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8436         the flags from the buffer we're copying.
8437
8438 2004-06-09  Wim Taymans  <wim@fluendo.com>
8439
8440         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8441         * gst/elements/gstidentity.c: (gst_identity_init),
8442         (gst_identity_chain):
8443         Print more buffer info in fakesink.
8444         Make identity output similar to fakesink.
8445
8446 2004-06-07  Daniel Gazard  <dany42@free.fr>
8447
8448         reviewed by Benjamin Otte  <otte@gnome.org>
8449
8450         * configure.ac:
8451           fix cross compiling not working. (fixes #143741)
8452
8453 2004-06-07  Benjamin Otte  <otte@gnome.org>
8454
8455         * gst/gstelement.c: (gst_element_set_time_delay):
8456           add failure check
8457         * gst/gstinfo.h:
8458           put brackets around macro arguments of GST_TIME_ARGS, add note to
8459           move it to correct header in 0.9
8460
8461 2004-06-07  Benjamin Otte  <otte@gnome.org>
8462
8463         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8464         (gst_file_index_load), (_file_index_id_save_entries),
8465         (gst_file_index_commit), (gst_file_index_add_association),
8466         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8467         (gst_file_index_plugin_init):
8468           make debugging use a default category
8469
8470 2004-06-06  David Moore  <dcm@acm.org>
8471
8472         reviewed by Benjamin Otte  <otte@gnome.org>
8473
8474         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8475         (gst_fdsrc_change_state):
8476           reset offset counter when going READY => PAUSED. (fixes #142903)
8477
8478 2004-06-06  ed@catmur.co.uk
8479
8480         reviewed by Benjamin Otte  <otte@gnome.org>
8481
8482         * gst/registries/gstxmlregistry.c:
8483         (gst_xml_registry_rebuild_recurse):
8484           don't rely on g_dir_open to figure out if a file is a directory, use
8485           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8486           directories. (fixes #142850)
8487
8488 2004-06-06  Benjamin Otte  <otte@gnome.org>
8489
8490         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8491           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8492         * libs/gst/bytestream/adapter.c:
8493         * libs/gst/bytestream/adapter.h:
8494           fix copyright in header and typo in debugging category name
8495
8496 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8497
8498         * configure.ac:
8499           bump nano to cvs
8500
8501 === release 0.8.3 ===
8502
8503 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * configure.ac:
8506           update libtool versioning
8507           do a new release
8508         * docs/gst/tmpl/gstelement.sgml:
8509         * docs/gst/tmpl/gsttypes.sgml:
8510         * gst/gstinfo.c: (_gst_debug_init):
8511           put back GST_CAT_DATAFLOW to fix API breakage
8512
8513 2004-06-04  David Schleef  <ds@schleef.org>
8514
8515         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8516
8517 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8518
8519         * configure.ac:
8520           bump nano to cvs
8521
8522 === release 0.8.2 ===
8523
8524 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8525
8526         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8527           check GST_DEBUG environment variable which is parsed the same way
8528           as --gst-debug=
8529
8530 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8531
8532         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8533                             gstmd5sink.c gstshaper.c gsttee.c
8534                             gsttypefindelement.c
8535         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8536
8537           - removing trailing commas at end of enums
8538             it is correct C99 code but C90 compilers would complain
8539             (AIX, Forte, ...)
8540             ('should' fix #143290, at least partially)
8541
8542 2004-05-27  Wim Taymans  <wim@fluendo.com>
8543
8544         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8545         (chain_group_set_enabled), (create_group), (add_to_group),
8546         (merge_groups), (setup_group_scheduler), (group_elements),
8547         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8548         Don't try to follow the pad connections with other groups
8549         when a loop based element is added to the scheduler because
8550         the bin will inform the scheduler about the pad links a little
8551         later.
8552
8553 2004-05-27  Wim Taymans  <wim@fluendo.com>
8554
8555         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8556         (remove_from_chain), (chain_group_set_enabled),
8557         (setup_group_scheduler), (group_element_set_enabled),
8558         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8559         (gst_opt_scheduler_show):
8560         Elements without a group can do a state change as well, just wait
8561         with the setup of the scheduling function when it is added to a
8562         chain.
8563
8564 2004-05-27  Wim Taymans  <wim@fluendo.com>
8565
8566         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8567         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8568         (merge_groups), (setup_group_scheduler),
8569         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8570         (gst_opt_scheduler_show):
8571         Fixes to maintain internal consistency of the scheduler data
8572         structures. 
8573          - adding an enabled group to a chain should increment the
8574            number of enabled elements in that chain.
8575          - removing an enabled group from a chain could disable the
8576            chain.
8577          - removing a disabled group from a chain could enable the
8578            chain.
8579          - add g_assert when internal inconsistency is detected.
8580          - adding an element to a group could increase the number of
8581            links this group has with other groups.
8582          - merging two groups also merges the chains.
8583          - also show group links in the _show method.
8584            
8585
8586 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8587
8588         * gst/gstcaps.c: (gst_caps_structure_simplify):
8589           don't print error messages when there is no error
8590         * gst/gstvalue.c: (gst_value_compare_int_range):
8591           compare the second value, too
8592         * testsuite/caps/Makefile.am:
8593         * testsuite/caps/random.c: (assert_on_error), (main):
8594           add tests to make sure the two things above are checked for
8595
8596 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * configure.ac:
8599         * libs/gst/dataprotocol/Makefile.am:
8600         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8601         * libs/gst/dataprotocol/dataprotocol.h:
8602           wrap header in GST_ENABLE_NEW.  make code use it
8603
8604 2004-05-23  Johan Dahlin  <johan@gnome.org>
8605
8606         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8607         so verbose and print GstElement signal names all the time.
8608
8609 2004-05-22  David Schleef  <ds@schleef.org>
8610
8611         * gst/registries/gstxmlregistry.c:
8612         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8613         (bug #142957)
8614
8615 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * configure.ac:
8618           scrub cflags for glib2 so gcc doesn't complain when glib is in
8619           /usr/local
8620
8621 2004-05-21  Johan Dahlin  <johan@gnome.org>
8622
8623         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8624         __GNUC__, patch from Brian Cameron, fixes bug #142804
8625
8626 2004-05-20  David Schleef  <ds@schleef.org>
8627
8628         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8629         comparison code.  (bug #142819)
8630
8631 2004-05-20  Wim Taymans  <wim@fluendo.com>
8632
8633         * gst/gstbuffer.c: (gst_buffer_default_copy):
8634         * gst/gstbuffer.h:
8635         Added Comment to a flag.
8636         copy relevant flags in _buffer_copy.
8637
8638 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8639
8640         reviewed by: Wim Taymans <wim at fluendo dot com>
8641
8642         * gst/gstbuffer.h:
8643           add GST_BUFFER_IN_CAPS buffer flag
8644         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8645         (gst_structure_parse_any_list), (gst_structure_parse_list),
8646         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8647         * gst/gstvalue.c: (gst_value_serialize_any_list),
8648         (gst_value_transform_any_list_string),
8649         (gst_value_list_prepend_value), (gst_value_list_append_value),
8650         (gst_value_list_get_size), (gst_value_list_get_value),
8651         (gst_value_transform_list_string),
8652         (gst_value_transform_fixed_list_string),
8653         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8654         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8655         (_gst_value_initialize):
8656         * gst/gstvalue.h:
8657           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8658           < , > as a format.
8659         * testsuite/caps/string-conversions.c: (main):
8660           add regression tests for < >
8661
8662 2004-05-20  Johan Dahlin  <johan@gnome.org>
8663
8664         * docs/gst/Makefile.am (all-local): Re-add
8665
8666 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8667
8668         * docs/gst/Makefile.am:
8669         * docs/gst/gstreamer-docs.sgml:
8670         * docs/libs/Makefile.am:
8671         * docs/libs/gstreamer-libs-docs.sgml:
8672           fix distcheck issues
8673
8674 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * libs/gst/dataprotocol/Makefile.am:
8677           add to autotest
8678
8679 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8680
8681         * libs/gst/dataprotocol/Makefile.am:
8682         * libs/gst/dataprotocol/dataprotocol.c:
8683         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8684         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8685         * libs/gst/dataprotocol/dp-private.h:
8686           use GST macros to read/write fixed length ints
8687           add some more asserts
8688
8689 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8690
8691         * docs/libs/gstreamer-libs-docs.sgml:
8692         * docs/libs/gstreamer-libs-sections.txt:
8693           remove idct and putbits
8694         * configure.ac:
8695         * docs/libs/tmpl/gstdataprotocol.sgml:
8696         * libs/gst/Makefile.am:
8697         * libs/gst/dataprotocol/Makefile.am:
8698         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8699         (buffer_test), (caps_test), (event_test), (main):
8700         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8701         (gst_dp_dump_byte_array), (gst_dp_init),
8702         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8703         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8704         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8705         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8706         (gst_dp_validate_header), (gst_dp_validate_payload),
8707         (gst_dp_validate_packet), (plugin_init):
8708         * libs/gst/dataprotocol/dataprotocol.h:
8709         * libs/gst/dataprotocol/dp-private.h:
8710           add dataprotocol
8711
8712 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8713
8714         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8715           fix int variable deserialization and add a helper so we can actually
8716           debug this.
8717
8718 2004-05-18  David Schleef  <ds@schleef.org>
8719
8720         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8721           argv[0].  Calling yourself is probably not the best way to
8722           construct a test like this, btw.
8723
8724 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8725
8726         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8727           don't claim to be more intelligent than a scheduler when the
8728           scheduler claims the pipeline is stopped
8729         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8730         (safe_cothread_destroy),
8731         (gst_entry_scheduler_remove_all_cothreads),
8732         (gst_entry_scheduler_reset), (_remove_cothread),
8733         (gst_entry_scheduler_state_transition):
8734           hold off cothread destruction if we're not in main cothread
8735         * configure.ac:
8736         * testsuite/Makefile.am:
8737           add new test dir
8738         * testsuite/schedulers/.cvsignore:
8739         * testsuite/schedulers/Makefile.am:
8740           add tests
8741         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8742           check relinking and adding/removing elements from a running pipeline
8743         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8744           check unlinking in a running pipeline
8745         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8746           check unreffing a running pipeline
8747         * testsuite/schedulers/useless_iteration.c: (main):
8748           check iterating a pipeline that contains running threads works
8749
8750 2004-05-18  David Schleef  <ds@schleef.org>
8751
8752         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8753           is false.
8754
8755 2004-05-18  Wim Taymans  <wim@fluendo.com>
8756
8757         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8758         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8759         Fixed an error introduced with patch for 1.63. When setting
8760         a get based element as the entry point in a group, make sure
8761         to mark the group as GET based.
8762
8763 2004-05-18  Wim Taymans  <wim@fluendo.com>
8764
8765         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8766         (setup_group_scheduler), (loop_group_schedule_function),
8767         (gst_opt_scheduler_pad_link):
8768         Added some more debug info and fixed a bug where the group
8769         type was set to LOOP but it was in fact unknown.
8770
8771 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8772
8773         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8774           make resetting scheduler work twice in a row
8775
8776 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8777
8778         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8779         (CREATE_USERIALIZATION), (_gst_value_initialize),
8780         (gst_value_compare_float), (gst_value_serialize_float),
8781         (gst_value_deserialize_float), (gst_value_compare_enum),
8782         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8783           add serialization and comparison functions for long, int64, enum and
8784           float values
8785         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8786           use best serialization function in type hierarchy instead of only a
8787           matching one. This is required for enums to work.
8788         * gst/parse/grammar.y:
8789           use gst_caps_deserialize
8790         * testsuite/parse/Makefile.am:
8791           parse1 now works
8792         * testsuite/parse/parse1.c: (main):
8793           remove aggregator check, aggregator is broken, this test works now
8794           but fails because of bug #138012
8795         * testsuite/parse/parse2.c: (main):
8796           s/xvideosink/xvimagesink - this test looks a lot like we should
8797           disable it
8798
8799 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8800
8801         * gst/gstelement.c: (gst_element_class_init):
8802           whoops, store the signal id correctly
8803         * gst/schedulers/gstbasicscheduler.c:
8804         (gst_basic_scheduler_chain_wrapper):
8805           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8806           chain function isn't linked
8807
8808 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8809         * configure.ac:
8810         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8811         support until we decide where the flags should be used
8812         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8813         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8814         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8815         Output refused caps in the debug info
8816
8817 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8818
8819         * gst/elements/gstidentity.c: (gst_identity_chain):
8820           add duration debug
8821         * gst/gstinfo.c: (gst_debug_log_default):
8822           add timestamp
8823
8824 2004-05-13  Benjamin Otte  <otte@gnome.org>
8825
8826         * gst/gstpipeline.c: (gst_pipeline_dispose),
8827         (gst_pipeline_change_state):
8828           call gst_scheduler_reset on dispose (fixes #141416)
8829
8830 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8831
8832         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8833           compute mapsize correctly
8834         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8835           use correct datatypes when calling a varargs function
8836         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8837           push a DISCONT event as first thing
8838         * gst/gst_private.h:
8839         * gst/gstinfo.c: (_gst_debug_init):
8840           remove GST_DATAFLOW debugging category
8841         * gst/gstbin.c: (gst_bin_iterate):
8842           use GST_SCHEDULING category
8843         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8844         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8845         (gst_pad_call_get_function):
8846           add GST_DATAFLOW to easily track flow of buffers or events.
8847         * gst/gstqueue.c: (gst_queue_get_type),
8848         (gst_queue_handle_pending_events), (gst_queue_chain),
8849         (gst_queue_get), (gst_queue_handle_src_event):
8850           use own static debugging category GST_DATAFLOW for dataflow,
8851           use DEBUG category for showing which path events go, use LOG
8852           category for buffers.
8853
8854 2004-05-10  David Schleef  <ds@schleef.org>
8855
8856         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8857
8858 2004-05-10  David Schleef  <ds@schleef.org>
8859
8860         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8861         symbols, because otherwise we don't know what they are.  Thanks,
8862         the GStreamer team.
8863         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8864
8865 2004-05-10  David Schleef  <ds@schleef.org>
8866
8867         (from Steve Lhomme)
8868         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8869         are deleted.  Fix.
8870         * win32/Makefile.inspect:
8871         * win32/Makefile.launch:
8872         * win32/Makefile.register:
8873
8874 2004-05-10  David Schleef  <ds@schleef.org>
8875
8876         * gst/gstinfo.h: Add missing inline function.
8877         * gst/gsttrace.c: add include
8878         * gst/parse/grammar.y: remove unused code
8879         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8880         more portable.
8881         * tools/gst-register.c: wrap unistd.h
8882         
8883         More additions/fixes from Steve for the MSVC build.
8884         * win32/GStreamer.vcproj:
8885         * win32/Makefile:
8886         * win32/Makefile.inspect:
8887         * win32/Makefile.launch:
8888         * win32/Makefile.register:
8889         * win32/README.txt:
8890         * win32/gst-inspect.vcproj:
8891         * win32/gst-launch.vcproj:
8892         * win32/gst-register.vcproj:
8893         * win32/gstbytestream.def:
8894         * win32/gstbytestream.vcproj:
8895         * win32/gstconfig.h:
8896         * win32/gstelements.def:
8897         * win32/gstelements.vcproj:
8898         * win32/gstenumtypes.c:
8899         * win32/gstenumtypes.h:
8900         * win32/gstoptimalscheduler.def:
8901         * win32/gstoptimalscheduler.vcproj:
8902         * win32/gstreamer.def:
8903         * win32/gstspider.def:
8904         * win32/gstspider.vcproj:
8905         * win32/gstversion.h:
8906         * win32/msvc71.sln:
8907
8908 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8909
8910         * gst/gstelement.c: (gst_element_class_init),
8911         (gst_element_no_more_pads):
8912         * gst/gstelement.h:
8913           add gst_element_no_more_pads and the "no-more-pads" signal
8914
8915 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8916
8917         * gst/gstregistry.c: (gst_registry_add_plugin):
8918           refuse to add plugins when a plugin with same name is already
8919           registered. Fixes a bunch of "How to remove plugins?" issues.
8920           May lead to other problems though, let's test
8921
8922 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8923
8924         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8925         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8926         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8927
8928 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8929
8930         * tests/Makefile.am: fix am16 issue
8931
8932 2004-05-09  Benjamin Otte  <otte@gnome.org>
8933
8934         * libs/gst/bytestream/Makefile.am:
8935           we should indeed add .c files to makefiles or they won't be built
8936           (d'oh)
8937
8938 2004-05-08  Benjamin Otte  <otte@gnome.org>
8939
8940         * gst/gstpad.c: (gst_pad_proxy_fixate):
8941           really reduce the set of caps
8942
8943 2004-05-08  Benjamin Otte  <otte@gnome.org>
8944
8945         * tests/Makefile.am:
8946         * tests/spidey_bench.c: (handoff), (main):
8947           add benchmark to test how long spider needs to create a pipeline
8948
8949 2004-05-08  Benjamin Otte  <otte@gnome.org>
8950
8951         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8952           mark links as unengaged when unnegotiating instead of deactivating.
8953           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8954
8955 2004-05-08  Benjamin Otte  <otte@gnome.org>
8956
8957         * docs/manual/helloworld.xml:
8958           s/audiosink/osssink (patch by Patrick Guimond)
8959
8960 2004-05-07  David Schleef  <ds@schleef.org>
8961
8962         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8963         since it contains important stuff.
8964
8965 2004-05-07  David Schleef  <ds@schleef.org>
8966
8967         * testsuite/caps/caps.c: (test3), (main): A check for appending
8968         ANY caps.
8969
8970 2004-05-07  David Schleef  <ds@schleef.org>
8971
8972         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8973         which may contain commas.  Fixes detection of -Wa,-mregnames
8974
8975 2004-05-06  David Schleef  <ds@schleef.org>
8976
8977         Changes to handle compilers that don't have variadic macro
8978         support.  In particular, glib headers define some inlines
8979         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8980         builds.
8981         * gst/Makefile.am:
8982         * gst/cothreads.c:
8983         * gst/elements/gstfdsink.c:
8984         * gst/elements/gstfdsrc.c:
8985         * gst/elements/gstfilesink.c:
8986         * gst/elements/gstfilesrc.c:
8987         * gst/gst_private.h:
8988         * gst/gstatomic.c:
8989         * gst/gstcaps.c: (gst_caps_append):
8990         * gst/gstcpu.c: (gst_cpuid_i386):
8991         * gst/gstelement.c:
8992         * gst/gsterror.c:
8993         * gst/gstfilter.c:
8994         * gst/gstinfo.h:
8995         * gst/gstprobe.c:
8996         * gst/gstquery.c:
8997         * gst/gstregistry.c:
8998         * gst/gststructure.c:
8999         * gst/gsttaginterface.c:
9000         * gst/gsttrace.c: (gst_trace_new):
9001         * gst/gsttrashstack.c:
9002         * gst/gsturi.c:
9003         * gst/gstvalue.c:
9004         * gst/parse/grammar.y:
9005         * gst/parse/parse.l:
9006         * tools/gst-inspect.c: (main):
9007         * tools/gst-launch.c: (main):
9008         * tools/gst-xmlinspect.c: (PUT_STRING):
9009
9010 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9011
9012         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9013         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9014         * gst/elements/gstfilesrc.h:
9015           send NEW_MEDIA events correctly
9016         * gst/elements/gsttypefindelement.c: (start_typefinding),
9017         (gst_type_find_element_handle_event):
9018           restart typefinding when we get a NEW_MEDIA event
9019         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9020         (gst_bin_dispose):
9021           don't die when someone removes elements in callbacks
9022         * gst/gstelement.c: (gst_element_change_state):
9023           improve debugging
9024         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9025           we need a NEW_MEDIA event to engage a link
9026         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9027           don't g_print debugging stuff
9028         * testsuite/caps/simplify.c: (check_caps):
9029
9030 2004-05-04  Benjamin Otte  <otte@gnome.org>
9031
9032         * gst/parse/grammar.y:
9033           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9034
9035 2004-05-04  Benjamin Otte  <otte@gnome.org>
9036
9037         * testsuite/caps/renegotiate.c: (main):
9038           improve output in error case
9039
9040 2004-05-04  Benjamin Otte  <otte@gnome.org>
9041
9042         * gst/parse/grammar.y:
9043           fix assert to not trigger when there's no error argument
9044         * gst/parse/parse.l:
9045           fix definition of caps to allow more than two structures
9046         * testsuite/caps/Makefile.am:
9047         * testsuite/caps/renegotiate.c: (main):
9048           it's sinesrc and works in that case
9049
9050 2004-05-04  Wim Taymans  <wim@fluendo.com>
9051
9052         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9053         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9054         when removing an element from a group, we always need to
9055         decrement the link count that this group had with other 
9056         groups through the element.
9057         added an extra assert to catch inconsistencies when decrementing
9058         the link count.
9059
9060 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9061
9062         * configure.ac:
9063         * docs/gst/Makefile.am:
9064         * docs/gst/gstreamer-sections.txt:
9065         * docs/gst/tmpl/gstcompat.sgml:
9066         * examples/appreader/Makefile.am:
9067         * examples/cutter/Makefile.am:
9068         * examples/events/Makefile.am:
9069         * examples/helloworld/Makefile.am:
9070         * examples/helloworld2/Makefile.am:
9071         * examples/launch/Makefile.am:
9072         * examples/manual/Makefile.am:
9073         * examples/mixer/Makefile.am:
9074         * examples/pingpong/Makefile.am:
9075         * examples/plugins/Makefile.am:
9076         * examples/queue/Makefile.am:
9077         * examples/queue2/Makefile.am:
9078         * examples/queue3/Makefile.am:
9079         * examples/queue4/Makefile.am:
9080         * examples/retag/Makefile.am:
9081         * examples/thread/Makefile.am:
9082         * examples/typefind/Makefile.am:
9083         * examples/xml/Makefile.am:
9084         * gst/Makefile.am:
9085         * gst/autoplug/Makefile.am:
9086         * gst/elements/Makefile.am:
9087         * gst/gstcompat.h:
9088         * gst/indexers/Makefile.am:
9089         * gst/parse/Makefile.am:
9090         * gst/registries/Makefile.am:
9091         * gst/schedulers/Makefile.am:
9092         * libs/gst/bytestream/Makefile.am:
9093         * libs/gst/control/Makefile.am:
9094         * libs/gst/getbits/Makefile.am:
9095         * po/af.po:
9096         * po/az.po:
9097         * po/en_GB.po:
9098         * po/fr.po:
9099         * po/nl.po:
9100         * po/sr.po:
9101         * po/sv.po:
9102         * po/tr.po:
9103         * po/uk.po:
9104         * tests/Makefile.am:
9105         * tests/bufspeed/Makefile.am:
9106         * tests/instantiate/Makefile.am:
9107         * tests/memchunk/Makefile.am:
9108         * tests/muxing/Makefile.am:
9109         * tests/negotiation/Makefile.am:
9110         * tests/probes/Makefile.am:
9111         * tests/sched/Makefile.am:
9112         * tests/seeking/Makefile.am:
9113         * tests/threadstate/Makefile.am:
9114         * testsuite/caps/Makefile.am:
9115         * testsuite/cleanup/Makefile.am:
9116         * testsuite/dlopen/Makefile.am:
9117         * testsuite/dynparams/Makefile.am:
9118         * testsuite/plugin/Makefile.am:
9119         * testsuite/states/Makefile.am:
9120         * tools/Makefile.am:
9121           reorganize compile/link flags to be consistent
9122           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9123
9124 2004-05-04  David Schleef  <ds@schleef.org>
9125
9126         The "once more, with feeling" check-in.
9127         * testsuite/caps/Makefile.am: dist caps_strings
9128         * testsuite/caps/renegotiate.c: (main): This test triggers a
9129           segfault in the core.  Marking as failing.
9130
9131 2004-05-03  David Schleef  <ds@schleef.org>
9132
9133         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9134           by the build bots.
9135         * testsuite/caps/renegotiate.c: (main): Same.
9136
9137 2004-05-03  David Schleef  <ds@schleef.org>
9138
9139         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9140
9141 2004-05-03  David Schleef  <ds@schleef.org>
9142
9143         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9144           variable to find our source file.
9145
9146 2004-05-03  David Schleef  <ds@schleef.org>
9147
9148         * configure.ac:  Link plugins with libgstreamer and dependent
9149           libraries
9150         * testsuite/caps/Makefile.am:
9151         * testsuite/caps/caps_strings:
9152         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9153           through a file of caps strings and test each one
9154
9155 2004-05-04  Benjamin Otte  <otte@gnome.org>
9156
9157         * libs/gst/bytestream/Makefile.am:
9158         * libs/gst/bytestream/adapter.c: 
9159         * libs/gst/bytestream/adapter.h:
9160           add GstAdapter, similar to bytestream, but doesn't require ugly event
9161           handling or uglier loopbased elements
9162
9163 2004-05-03  David Schleef  <ds@schleef.org>
9164
9165         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9166         * testsuite/caps/erathostenes.c:
9167         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9168
9169 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * docs/pwg/pwg.xml:
9172           remove hardcoded stylesheet path (duh)
9173         * docs/random/release:
9174         * docs/gst/gstreamer-sections.txt:
9175         * gst/Makefile.am:
9176         * gst/gst.h:
9177         * gst/gst_private.h:
9178         * gst/gstcaps.c:
9179         * gst/gstevent.c:
9180         * gst/gstformat.c:
9181         * gst/gstinfo.c:
9182         * gst/gstinfo.h:
9183         * gst/gstinterface.c:
9184         * gst/gstmemchunk.c:
9185         * gst/gstprobe.c:
9186         * gst/gstquery.c:
9187         * gst/gstregistry.c:
9188         * gst/gstregistrypool.c:
9189         * gst/gststructure.c:
9190         * gst/gsttaginterface.c:
9191         * gst/gstthread.c:
9192         * gst/gsttrace.c:
9193         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9194         * gst/gsturi.c:
9195         * gst/gstvalue.c:
9196           deprecate gst_info; remove gstlog.h
9197    
9198
9199 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * Makefile.am:
9202         * po/en_GB.po:
9203         * po/sv.po:
9204         * po/uk.po:
9205           updated translations
9206
9207 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9208
9209         * gst/gstbin.c: (gst_bin_dispose):
9210           better debugging
9211
9212 2004-05-03  Johan Dahlin  <johan@gnome.org>
9213
9214         * gst/schedulers/gstoptimalscheduler.c
9215         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9216         really is a GstElement. Avoids critical when running gst-launch -v
9217         and a oggdemux/decoding pipeline.
9218
9219 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9220
9221         * docs/gst/tmpl/gstpipeline.sgml :
9222         * docs/manual/elements-api.xml :
9223                 doc fix by Patrick Guimond (Protector) from devel ML
9224                 reviewed by ronald
9225
9226 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9227
9228         * docs/gst/Makefile.am :
9229         * docs/libs/Makefile.am :
9230                 apply a patch from Arwed v. Merkatz so that gtk-doc
9231                 generated docs install (same for .devhelp file)
9232                 (fixes part 1 of #138836)
9233
9234 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9235
9236         * docs/faq/dependencies.xml: typo
9237         * docs/faq/getting.xml :
9238             - fix download URL for new gstreamer site
9239             - hide sf.net download page as latest version aren't there
9240             - fix apt URLs
9241             - fill "get via CVS" paragraph (link to dev page on the site)
9242         * docs/faq/general.xml:
9243             hide status tables as they no more exists
9244             change case on plugins license file to reflect reality
9245         * docs/faq/troubleshooting.xml:
9246             remove the wiki question/answer as there is no more wiki
9247
9248 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9249
9250         * gst/gsterror.h:
9251           include the headers needed for declarations used in this header
9252
9253 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9254
9255         * docs/random/uraeus/gstreamer_and_midi.txt :
9256           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9257           (fixes #132288)
9258
9259 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9260
9261         reviewed by Benjamin Otte  <otte@gnome.org>
9262
9263         * gst/schedulers/gthread-cothreads.h:
9264           free allocated data for main cothread, too when destroying context
9265           (fixes #141417)
9266
9267 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9268
9269         * docs/manual/goals.xml : remove duplicated paragraph at end 
9270         of doc page (fixes #141448)
9271
9272 2004-04-29  David Schleef  <ds@schleef.org>
9273
9274         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9275         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9276
9277 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9278
9279         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9280           fix property
9281         * gst/gstcaps.c:
9282           fix doc string
9283         * po/POTFILES.in:
9284           rename typefind source file
9285
9286 2004-04-28  David Schleef  <ds@schleef.org>
9287
9288         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9289         * win32/GStreamer.vcproj:
9290         * win32/Makefile:
9291         * win32/config.h:
9292         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9293         (_trewinddir), (_ttelldir), (_tseekdir):
9294         * win32/dirent.h:
9295         * win32/gst-inspect.vcproj:
9296         * win32/gst-launch.vcproj:
9297         * win32/gst-register.vcproj:
9298         * win32/gstbytestream.vcproj:
9299         * win32/gstelements.vcproj:
9300         * win32/gstoptimalscheduler.vcproj:
9301         * win32/gstspider.vcproj:
9302         * win32/gtchar.h:
9303         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9304         * win32/mman.h:
9305         * win32/mman.inl:
9306         * win32/msvc71.sln:
9307
9308 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9309
9310         * gst/gst.c: (init_post):
9311         * gst/gstinfo.c:
9312           remove useless _gst_progname stuff
9313         * tools/gst-inspect.c: (print_field), (print_caps):
9314           improve caps output
9315
9316 2004-04-28  David Schleef  <ds@schleef.org>
9317
9318         Disable parsing of a lot of files that aren't part of the
9319         exported API.  Move corresponding template files to old/,
9320         waiting for removal when they don't contain anything
9321         interesting.
9322         * docs/gst/Makefile.am:
9323         * docs/gst/gstreamer-sections.txt:
9324         * docs/gst/tmpl/cothreads.sgml:
9325         * docs/gst/tmpl/cothreads_compat.sgml:
9326         * docs/gst/tmpl/gettext.sgml:
9327         * docs/gst/tmpl/gobject2gtk.sgml:
9328         * docs/gst/tmpl/grammar.tab.sgml:
9329         * docs/gst/tmpl/gst-i18n-app.sgml:
9330         * docs/gst/tmpl/gst-i18n-lib.sgml:
9331         * docs/gst/tmpl/gst_private.sgml:
9332         * docs/gst/tmpl/gstaggregator.sgml:
9333         * docs/gst/tmpl/gstarch.sgml:
9334         * docs/gst/tmpl/gstatomic_impl.sgml:
9335         * docs/gst/tmpl/gstbufferstore.sgml:
9336         * docs/gst/tmpl/gstdata_private.sgml:
9337         * docs/gst/tmpl/gstdisksink.sgml:
9338         * docs/gst/tmpl/gstdisksrc.sgml:
9339         * docs/gst/tmpl/gstelementfactory.sgml:
9340         * docs/gst/tmpl/gstextratypes.sgml:
9341         * docs/gst/tmpl/gstfakesink.sgml:
9342         * docs/gst/tmpl/gstfakesrc.sgml:
9343         * docs/gst/tmpl/gstfdsink.sgml:
9344         * docs/gst/tmpl/gstfdsrc.sgml:
9345         * docs/gst/tmpl/gstfilesink.sgml:
9346         * docs/gst/tmpl/gstfilesrc.sgml:
9347         * docs/gst/tmpl/gsthttpsrc.sgml:
9348         * docs/gst/tmpl/gstidentity.sgml:
9349         * docs/gst/tmpl/gstindexfactory.sgml:
9350         * docs/gst/tmpl/gstmarshal.sgml:
9351         * docs/gst/tmpl/gstmd5sink.sgml:
9352         * docs/gst/tmpl/gstmultidisksrc.sgml:
9353         * docs/gst/tmpl/gstmultifilesrc.sgml:
9354         * docs/gst/tmpl/gstpadtemplate.sgml:
9355         * docs/gst/tmpl/gstpipefilter.sgml:
9356         * docs/gst/tmpl/gstschedulerfactory.sgml:
9357         * docs/gst/tmpl/gstsearchfuncs.sgml:
9358         * docs/gst/tmpl/gstshaper.sgml:
9359         * docs/gst/tmpl/gstspider.sgml:
9360         * docs/gst/tmpl/gstspideridentity.sgml:
9361         * docs/gst/tmpl/gststatistics.sgml:
9362         * docs/gst/tmpl/gsttee.sgml:
9363         * docs/gst/tmpl/gsttimecache.sgml:
9364         * docs/gst/tmpl/gsttypefind.sgml:
9365         * docs/gst/tmpl/gsttypefindfactory.sgml:
9366         * docs/gst/tmpl/gstxmlregistry.sgml:
9367         * docs/gst/tmpl/gthread-cothreads.sgml:
9368         * docs/gst/tmpl/old/cothreads.sgml:
9369         * docs/gst/tmpl/old/cothreads_compat.sgml:
9370         * docs/gst/tmpl/old/gettext.sgml:
9371         * docs/gst/tmpl/old/gobject2gtk.sgml:
9372         * docs/gst/tmpl/old/grammar.tab.sgml:
9373         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9374         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9375         * docs/gst/tmpl/old/gst_private.sgml:
9376         * docs/gst/tmpl/old/gstaggregator.sgml:
9377         * docs/gst/tmpl/old/gstarch.sgml:
9378         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9379         * docs/gst/tmpl/old/gstbufferstore.sgml:
9380         * docs/gst/tmpl/old/gstdata_private.sgml:
9381         * docs/gst/tmpl/old/gstdisksink.sgml:
9382         * docs/gst/tmpl/old/gstdisksrc.sgml:
9383         * docs/gst/tmpl/old/gstelementfactory.sgml:
9384         * docs/gst/tmpl/old/gstextratypes.sgml:
9385         * docs/gst/tmpl/old/gstfakesink.sgml:
9386         * docs/gst/tmpl/old/gstfakesrc.sgml:
9387         * docs/gst/tmpl/old/gstfdsink.sgml:
9388         * docs/gst/tmpl/old/gstfdsrc.sgml:
9389         * docs/gst/tmpl/old/gstfilesink.sgml:
9390         * docs/gst/tmpl/old/gstfilesrc.sgml:
9391         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9392         * docs/gst/tmpl/old/gstidentity.sgml:
9393         * docs/gst/tmpl/old/gstindexfactory.sgml:
9394         * docs/gst/tmpl/old/gstmarshal.sgml:
9395         * docs/gst/tmpl/old/gstmd5sink.sgml:
9396         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9397         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9398         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9399         * docs/gst/tmpl/old/gstpipefilter.sgml:
9400         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9401         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9402         * docs/gst/tmpl/old/gstshaper.sgml:
9403         * docs/gst/tmpl/old/gstspider.sgml:
9404         * docs/gst/tmpl/old/gstspideridentity.sgml:
9405         * docs/gst/tmpl/old/gststatistics.sgml:
9406         * docs/gst/tmpl/old/gsttee.sgml:
9407         * docs/gst/tmpl/old/gsttimecache.sgml:
9408         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9409         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9410         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9411         * docs/gst/tmpl/old/types.sgml:
9412         * docs/gst/tmpl/types.sgml:
9413
9414         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9415         gtkdoc-scan doesn't like files with the same name in different
9416         directories.
9417         * gst/elements/Makefile.am:
9418         * gst/elements/gstelements.c:
9419         * gst/elements/gsttypefind.c: 
9420         * gst/elements/gsttypefind.h:
9421         * gst/elements/gsttypefindelement.c:
9422         * gst/elements/gsttypefindelement.h:
9423
9424 2004-04-28  David Schleef  <ds@schleef.org>
9425
9426         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9427         patch (bug #141317):
9428         * gst/gst-i18n-lib.h: Allow disabling gettext.
9429         * gst/gstatomic_impl.h: disable warning when it's dumb.
9430         * gst/gstclock.c: fix include
9431         * gst/gstcompat.h: fix variadic macro
9432         * gst/gstinfo.c: fix include
9433         * gst/gstmacros.h: add defines for inlines on MSVC
9434         * gst/gstplugin.c: fix includes
9435         * gst/gstregistry.c: fix includes
9436         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9437         * gst/gstsystemclock.c: fix include
9438         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9439         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9440         * gst/registries/gstxmlregistry.c:
9441         (gst_xml_registry_parse_element_factory): fix use of non-portable
9442         functions
9443         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9444         * libs/gst/control/dparammanager.h: same
9445
9446 2004-04-28  David Schleef  <ds@schleef.org>
9447
9448         Move a bunch of unused files to old/ with names that are
9449         not case-insensitive-unique.  These files still contain some
9450         useful information that needs to be merged into gstbin.sgml,
9451         etc., so they shouldn't be deleted yet.
9452         * docs/gst/tmpl/GstBin.sgml:
9453         * docs/gst/tmpl/GstBuffer.sgml:
9454         * docs/gst/tmpl/GstCaps.sgml:
9455         * docs/gst/tmpl/GstClock.sgml:
9456         * docs/gst/tmpl/GstCompat.sgml:
9457         * docs/gst/tmpl/GstData.sgml:
9458         * docs/gst/tmpl/GstElement.sgml:
9459         * docs/gst/tmpl/GstEvent.sgml:
9460         * docs/gst/tmpl/GstIndex.sgml:
9461         * docs/gst/tmpl/GstStructure.sgml:
9462         * docs/gst/tmpl/GstTag.sgml:
9463         * docs/gst/tmpl/old/GstBin.sgml:
9464         * docs/gst/tmpl/old/GstBuffer.sgml:
9465         * docs/gst/tmpl/old/GstCaps.sgml:
9466         * docs/gst/tmpl/old/GstClock.sgml:
9467         * docs/gst/tmpl/old/GstCompat.sgml:
9468         * docs/gst/tmpl/old/GstData.sgml:
9469         * docs/gst/tmpl/old/GstElement.sgml:
9470         * docs/gst/tmpl/old/GstEvent.sgml:
9471         * docs/gst/tmpl/old/GstIndex.sgml:
9472         * docs/gst/tmpl/old/GstStructure.sgml:
9473         * docs/gst/tmpl/old/GstTag.sgml:
9474
9475 2004-04-28  David Schleef  <ds@schleef.org>
9476
9477         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9478         (gst_caps_append), (gst_caps_append_structure),
9479         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9480         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9481         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9482         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9483         (gst_caps_intersect), (gst_caps_normalize),
9484         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9485         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9486         * gst/gstcaps.h: use GST_IS_CAPS().
9487
9488 2004-04-26  David Schleef  <ds@schleef.org>
9489
9490         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9491         assembly.  gcc doesn't handle it correctly. (bug #141083)
9492         * gst/gsttrashstack.h: same
9493
9494 2004-04-25  Benjamin Otte  <otte@gnome.org>
9495
9496         * gst/gstelement.c: (gst_element_change_state):
9497           fix assertion to do an int comparison
9498
9499 2004-04-25  Benjamin Otte  <otte@gnome.org>
9500
9501         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9502           better debugging output on error
9503
9504 2004-04-25  Benjamin Otte  <otte@gnome.org>
9505
9506         * gst/gstcaps.c: (gst_caps_subtract):
9507           fix memleak
9508
9509 2004-04-23  Benjamin Otte  <otte@gnome.org>
9510
9511         * gst/gstvalue.c: (gst_value_compare_buffer),
9512         (_gst_value_initialize):
9513           add comparison function for buffers
9514
9515 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9516
9517         * docs/pwg/pwg.xml:
9518           Just found out that this so-called "ima-wav" format is really
9519           just "dvi adpcm" (according to the MS WAV documentation). So
9520           renaming it. We didn't use it yet anyway.
9521
9522 2004-04-23  Benjamin Otte  <otte@gnome.org>
9523
9524         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9525           call gst_caps_is_subset
9526
9527 2004-04-23  Benjamin Otte  <otte@gnome.org>
9528
9529         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9530         (gst_caps_is_subset):
9531           add documentation
9532
9533 2004-04-23  Benjamin Otte  <otte@gnome.org>
9534           
9535         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9536         (gst_caps_structure_subtract), (gst_caps_subtract),
9537         (gst_caps_structure_figure_out_union),
9538         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9539           fix simplifying and subtracting not working correctly with optional
9540           properties
9541           solve assorted problems that make it now simplify ebven more
9542         * docs/gst/tmpl/gstcaps.sgml:
9543         * gst/gstcaps.h:
9544           make gst_caps_do_simplify return a bool to indicate if it simplified
9545         * testsuite/caps/simplify.c: (main):
9546           add more checks. The tests is quite a bit useless right now because
9547           the core is heavily simplifying itself.
9548         * testsuite/caps/caps.h:
9549           fix caps to contain all optional properties
9550
9551 2004-04-22  Benjamin Otte  <otte@gnome.org>
9552
9553         * docs/gst/tmpl/gstcaps.sgml:
9554         * docs/gst/tmpl/gstfilesrc.sgml:
9555         * docs/gst/tmpl/gststructure.sgml:
9556         * docs/gst/tmpl/gstvalue.sgml:
9557           update for recent API changes
9558         * gst/gstcaps.c: (gst_caps_do_simplify):
9559           fix to stop trying with a freed structure
9560         * gst/gstpad.c: (gst_pad_link_fixate):
9561           simplify caps
9562         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9563           remove C++ comment
9564         * gst/gstpad.h:
9565           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9566         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9567         (gst_structure_to_string):
9568           keep the correct type when using lists of ranges
9569         * gst/gstvalue.c: (gst_value_list_prepend_value),
9570         (gst_value_list_append_value):
9571           copy the value before adding to the list (d'oh)
9572         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9573         (gst_value_subtract_int_range_int_range):
9574           handle overflows correctly
9575         * gst/gstvalue.c: (gst_value_subtract_from_list):
9576           fix memleak
9577         * testsuite/caps/caps.h:
9578           add a caps that caused segfaults
9579
9580 2004-04-22  Benjamin Otte  <otte@gnome.org>
9581
9582         * testsuite/refcounting/pad.c: (main):
9583           fix test
9584
9585 2004-04-22  Benjamin Otte  <otte@gnome.org>
9586
9587         * gst/gstcaps.c: (gst_caps_subtract):
9588           allow subtracting ANY and EMPTY from ANY caps
9589
9590 2004-04-22  Benjamin Otte  <otte@gnome.org>
9591
9592         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9593         (gst_caps_union):
9594           only simplify in functions that create new caps. Simplifying in
9595           gst_caps_append breaks tests.
9596
9597 2004-04-22  Benjamin Otte  <otte@gnome.org>
9598
9599         * gst/gstcaps.c: (gst_caps_structure_simplify):
9600           unset GValue after use
9601         * gst/gstcaps.c: (gst_caps_append), 
9602         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9603           use gst_caps_simplify (reduces registry size by 30%)
9604         * gst/gstpad.c: (gst_pad_template_new):
9605           don't allow NULL caps
9606
9607 2004-04-22  Benjamin Otte  <otte@gnome.org>
9608
9609         * docs/gst/gstreamer-sections.txt:
9610           add gst_caps_do_simplify
9611         * gst/gstcaps.c:
9612           add documentation for gst_caps_do_simplify
9613         * gst/gstvalue.h:
9614           fix typo in gst_value_register_subtract_func declaration for gst-doc
9615
9616 2004-04-22  Benjamin Otte  <otte@gnome.org>
9617
9618         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9619           fix bug when converting from empty string.
9620         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9621         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9622           use gst_caps_new_empty to allocate a new caps. Only that function
9623           allocates memory for caps now.
9624         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9625         (gst_caps_remove_structure):
9626           add ability to remove one structure (but not to header yet)
9627         * gst/gstcaps.c: (gst_caps_compare_structures),
9628         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9629         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9630         * gst/gstcaps.h:
9631           add gst_caps_do_simplify that tries to simplify a caps in place.
9632           Deprecate old gst_caps_simplify function.
9633         * testsuite/caps/caps.h:
9634           add caps.h containing a common set of caps to test against.
9635         * testsuite/caps/sets.c: (check_caps), (main):
9636           use it.
9637         * testsuite/caps/.cvsignore:
9638         * testsuite/caps/Makefile.am:
9639         * testsuite/caps/simplify.c: (check_caps), (main):
9640           add test to check correctness and efficency of caps simplification.
9641
9642 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9643
9644         reviewed by Benjamin Otte  <otte@gnome.org>
9645
9646         * gst/gstparse.c: (_gst_parse_escape):
9647           Free the GString used in _gst_parse_escape()
9648
9649 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9650
9651         * gst/gstpad.c: (gst_pad_link_negotiate):
9652           refuse to link if the link is not possible
9653         * configure.ac:
9654         * testsuite/Makefile.am:
9655         * testsuite/negotiation/.cvsignore:
9656         * testsuite/negotiation/Makefile.am:
9657         * testsuite/negotiation/pad_link.c: (main):
9658           add test that checks the above behaviour
9659
9660 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * docs/gst/gstreamer-sections.txt:
9663           add newly added API
9664
9665 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9668         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9669         (gst_filesrc_open_file), (gst_filesrc_close_file),
9670         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9671         * gst/elements/gstfilesrc.h:
9672           add support for non-regular files (#140734)
9673
9674 2004-04-21  Benjamin Otte  <otte@gnome.org>
9675
9676         * gst/gstpad.c: (gst_pad_link_fixate):
9677           add sophisticated error checking code to see if fixation functions
9678           did their fixation right
9679
9680 2004-04-21  Benjamin Otte  <otte@gnome.org>
9681
9682         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9683           check for ANY caps before appending/unioning
9684         * gst/gstcaps.c: (gst_caps_is_subset),
9685         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9686         (gst_caps_structure_subtract), (gst_caps_subtract):
9687         * gst/gstcaps.h:
9688           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9689           the API. deprecate gst_caps_is_equal_fixed
9690         * gst/gstpad.c: (gst_pad_try_set_caps):
9691         * gst/gstqueue.c: (gst_queue_link):
9692           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9693         * gst/gststructure.c: (gst_structure_get_name_id):
9694         * gst/gststructure.h:
9695           add function gst_structure_get_name_id
9696         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9697         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9698         (gst_value_subtract_int_range_int_range),
9699         (gst_value_subtract_double_double_range),
9700         (gst_value_subtract_double_range_double),
9701         (gst_value_subtract_double_range_double_range),
9702         (gst_value_subtract_from_list), (gst_value_subtract_list),
9703         (gst_value_can_intersect), (gst_value_subtract),
9704         (gst_value_can_subtract), (gst_value_register_subtract_func),
9705         (_gst_value_initialize):
9706         * gst/gstvalue.h:
9707           add support for subtracting values from each other. Note that
9708           subtracting means subtracting as in set theory. Required for caps
9709           stuff above.
9710         * testsuite/caps/.cvsignore:
9711         * testsuite/caps/Makefile.am:
9712         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9713         * testsuite/caps/sets.c: (check_caps), (main):
9714         * testsuite/caps/subtract.c: (check_caps), (main):
9715           add tests for subtraction and equality code.
9716
9717 2004-04-20  David Schleef  <ds@schleef.org>
9718
9719         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9720         * gst/indexers/Makefile.am:
9721         * gst/schedulers/Makefile.am:
9722         * libs/gst/bytestream/Makefile.am:
9723         * libs/gst/control/Makefile.am:
9724         * libs/gst/getbits/Makefile.am:
9725
9726 2004-04-20  David Schleef  <ds@schleef.org>
9727
9728         * common/as-libtool.mak: Fine-tune DLL building.
9729         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9730         (like gst-plugins)
9731         * examples/plugins/Makefile.am: remove plugindir
9732         * gst/autoplug/Makefile.am: DLL building fixes
9733         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9734         Windows.
9735         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9736         * gst/indexers/Makefile.am: DLL building fixes
9737         * gst/schedulers/Makefile.am: DLL building fixes.
9738         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9739         * libs/gst/control/Makefile.am: same
9740         * libs/gst/getbits/Makefile.am: same
9741         * testsuite/Makefile.am: New dlopen directory
9742         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9743         when dlopened.
9744         * testsuite/dlopen/dlopen_gst.c: (main): same
9745         * testsuite/dlopen/loadgst.c: (do_test): same
9746
9747 2004-04-20  David Schleef  <ds@schleef.org>
9748
9749         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9750         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9751
9752 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * gst/gstelement.c: (gst_element_wait),
9755         (gst_element_set_time_delay), (gst_element_change_state):
9756           Use GST_TIME_*
9757
9758 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9759
9760         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9761         (gst_spider_identity_plug):
9762           improve debugging messages
9763         * gst/gstbin.c: (gst_bin_remove_func):
9764           make sure the state_change function is only called with simple state
9765           transitions
9766
9767 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9768
9769         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9770         (gst_fakesink_set_property), (gst_fakesink_chain):
9771         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9772         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9773         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9774         * gst/elements/gstidentity.c: (gst_identity_chain),
9775         (gst_identity_set_property):
9776         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9777         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9778           add warnings to _set_property for unknown arguments
9779           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9780
9781 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9782
9783         * Makefile.am:
9784         * docs/manuals.mak:
9785           add .po file download snippet
9786           fix a bug in the doc makefile
9787
9788 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9789
9790         * Makefile.am:
9791         * po/LINGUAS:
9792         * po/en_GB.po:
9793           Added en_GB translation (Gareth Owen)
9794
9795 2004-04-20  Johan Dahlin  <johan@gnome.org>
9796
9797         * gst/gstpad.c (_invent_event): Clean up
9798
9799 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9800
9801         * testsuite/caps/filtercaps.c: (main):
9802           fix test to test things correctly (caps are complicated)
9803
9804 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9805
9806         * testsuite/caps/Makefile.am:
9807         * testsuite/caps/filtercaps.c: (main):
9808           add test (that doesn't work right now, but should)
9809
9810 2004-04-19  David Schleef  <ds@schleef.org>
9811
9812         * configure.ac: Add test for allowing unaligned access.  Add define
9813         to put in gstconfig.h.
9814         * docs/gst/gstreamer-sections.txt: New symbols
9815         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9816         * docs/gst/tmpl/gstfilesrc.sgml:
9817         * docs/gst/tmpl/gstparse.sgml:
9818         * docs/gst/tmpl/gsttypes.sgml:
9819         * docs/gst/tmpl/gstutils.sgml:
9820         * docs/gst/tmpl/gstvalue.sgml:
9821         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9822         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9823         on most !i386/!powerpc architectures.  From Daniel Gazard
9824         <daniel.gazard@free.fr>.  (bug #140156)
9825         * po/af.po: Check in changes made by gettext.
9826         * po/az.po:
9827         * po/fr.po:
9828         * po/nl.po:
9829         * po/sr.po:
9830         * po/sv.po:
9831
9832 2004-04-20  Benjamin Otte  <otte@gnome.org>
9833
9834         * gst/schedulers/entryscheduler.c: 
9835         (gst_entry_scheduler_yield):
9836           refuse to yield when decoupled elements insist on doing that.
9837           At least it's better than crashing
9838
9839 2004-04-19  David Schleef  <ds@schleef.org>
9840
9841         * docs/libs/Makefile.am: Change sinclude to include
9842         * docs/gst/Makefile.am: same
9843         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9844
9845 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9846
9847         * po/LINGUAS:
9848         * po/uk.po:
9849           Added Ukrainian translation (Maxim V. Dziumanenko)
9850
9851 2004-04-19  Johan Dahlin  <johan@gnome.org>
9852
9853         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9854         checking here, do it before calling the function.
9855         Clean up, use for loops instead of while loops while iterating
9856         over lists.
9857
9858         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9859         in debug message.
9860         (gst_spider_create_and_plug): Improve debug message.
9861         General: Replace while loops which iterates over GLists with for
9862         loops. Which are much cleaner, improves readability, especially
9863         for gst_spider_identity_plug
9864
9865         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9866         fixes bug 140477
9867
9868 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9869
9870         * po/LINGUAS:
9871         * po/tr.po:
9872           Added Turkish translation (Baris Cicek)
9873
9874 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9875
9876         * docs/faq/troubleshooting.xml:
9877           Mention gst-register in the FAQ (fixes 139045).
9878
9879 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * docs/gst/gstreamer-sections.txt:
9882
9883 2004-04-17  Benjamin Otte  <otte@gnome.org>
9884
9885         * gst/gstelement.c: (gst_element_dispose):
9886           simplify
9887         * gst/gstpad.c: (gst_pad_call_chain_function):
9888           don't create loads of events due to bad macro usage
9889
9890 2004-04-16  David Schleef  <ds@schleef.org>
9891
9892         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9893         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9894         * gst/gstvalue.c: (gst_value_serialize_buffer),
9895         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9896         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9897         to indicate types that are fixed wrt caps or not.  Switching to
9898         this function fixes (bug #140298).
9899         * gst/gstvalue.h:
9900
9901 2004-04-16  David Schleef  <ds@schleef.org>
9902
9903         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9904         for GST_UNALIGNED_ACESS, since we essentially know which archs
9905         are ok.
9906
9907 2004-04-17  Benjamin Otte  <otte@gnome.org>
9908
9909         * docs/gst/Makefile.am:
9910           ignore gst/parse directory when building docs (fixes #140205)
9911
9912 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9913
9914         * testsuite/refcounting/mem.c: (vmsize):
9915           do error checking
9916
9917 2004-04-16  Johan Dahlin  <johan@gnome.org>
9918
9919         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9920         and gst_pad_call_get_function.
9921
9922 2004-04-15  David Schleef  <ds@schleef.org>
9923
9924         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9925         checks if we can access unaligned memory.
9926         * configure.ac: Use it.
9927
9928 2004-04-16  Benjamin Otte  <otte@gnome.org>
9929
9930         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9931         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9932         * gst/elements/gstfilesrc.h:
9933           s/seek_happened/need_discont/ and require discont before sending any
9934           data
9935
9936 2004-04-15  David Schleef  <ds@schleef.org>
9937
9938         * gst/gstvalue.c: (gst_value_serialize_buffer),
9939         (gst_value_deserialize_buffer), (_gst_value_initialize):
9940         Register these types as fundamental types. (bug #140015)
9941
9942 2004-04-16  Benjamin Otte  <otte@gnome.org>
9943
9944         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9945         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9946         (gst_pad_pull):
9947           implement enforcing discont events before buffers are passed. This
9948           allows state changes of only some elements and later correctly going
9949           on where they left off (or in short: you can now set audio sinks to
9950           NULL to release the device when the pipeline is paused)
9951         * gst/gstpad.c: (gst_pad_call_chain_function),
9952         (gst_pad_call_get_function):
9953         * gst/gstpad.h:
9954           add gst_pad_call_chain_function and gst_pad_call_get_function for
9955           scheduler interaction. They are required because of the changes
9956           above.
9957         * gst/schedulers/entryscheduler.c: (get_buffer),
9958         (gst_entry_scheduler_chain_wrapper),
9959         (gst_entry_scheduler_get_wrapper),
9960         (gst_entry_scheduler_state_transition),
9961         (gst_entry_scheduler_pad_link):
9962         * gst/schedulers/gstbasicscheduler.c:
9963         (gst_basic_scheduler_chain_wrapper),
9964         (gst_basic_scheduler_src_wrapper),
9965         (gst_basic_scheduler_chainhandler_proxy),
9966         (gst_basic_scheduler_gethandler_proxy),
9967         (gst_basic_scheduler_cothreaded_chain),
9968         (gst_basic_scheduler_chain_elements):
9969         * gst/schedulers/gstoptimalscheduler.c:
9970         (get_group_schedule_function), (pad_clear_queued),
9971         (gst_opt_scheduler_pad_link):
9972           use the new functions instead of calling get/chain-functions
9973           directly.
9974
9975 2004-04-15  David Schleef  <ds@schleef.org>
9976
9977         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9978         * docs/gst/tmpl/gstinfo.sgml: same
9979         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9980         gtk-doc put here.
9981         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9982         * examples/queue/queue.c: (main):  We iterate pipelines, not
9983         bins.  (bug #139996)
9984
9985 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9986
9987         * docs/pwg/advanced-types.xml:
9988           Add MS RLE support. Also document Qt RLE although I have no sample
9989           files for that yet. And document an extra property for ADPCM.
9990
9991 2004-04-15  David Schleef  <ds@schleef.org>
9992
9993         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9994         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9995         Windows.
9996
9997 2004-04-15  David Schleef  <ds@schleef.org>
9998
9999         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10000         symbol names to not conflict with new gstinfo.h symbols.
10001         * gst/gstinfo.h: Add inline functions for all those crazy
10002         compilers that don't know how to handle variadic macros (MSVC).
10003
10004 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10005
10006         * configure.ac: bump nano to 1
10007
10008 === release 0.8.1 ===
10009
10010 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10011
10012         * NEWS:
10013         * RELEASE:
10014         * configure.ac:
10015           releasing 0.8.1, "Snow Brigade"
10016
10017 2004-04-14  David Schleef  <ds@schleef.org>
10018
10019         * testsuite/Makefile.am: define tests_ignore
10020         * testsuite/Rules: Added new tests_ignore, which get compiled,
10021         but not run (generally because they're inconsistent or have
10022         heisenbugs).  Now we can ensure all the .c files compile in
10023         testsuite/.
10024         * testsuite/bins/Makefile.am: define tests_ignore
10025         * testsuite/bytestream/Makefile.am:
10026         * testsuite/caps/Makefile.am:
10027         * testsuite/clock/Makefile.am:
10028         * testsuite/debug/Makefile.am:
10029         * testsuite/debug/global.c: (gst_debug_log_one),
10030         (gst_debug_log_two): Fix compilation problem.
10031         * testsuite/dynparams/Makefile.am:
10032         * testsuite/elements/Makefile.am:
10033         * testsuite/ghostpads/Makefile.am:
10034         * testsuite/indexers/Makefile.am:
10035         * testsuite/parse/Makefile.am:
10036         * testsuite/plugin/Makefile.am:
10037         * testsuite/refcounting/Makefile.am:
10038         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10039         results, because it's not calculated correctly.
10040         * testsuite/refcounting/pad.c: (main): same
10041         * testsuite/states/Makefile.am:
10042         * testsuite/tags/Makefile.am:
10043         * testsuite/threads/Makefile.am:
10044
10045 2004-04-14  David Schleef  <ds@schleef.org>
10046
10047         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10048         generating bad code around the cpu detection asm code.
10049
10050 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10051
10052         * tools/gst-inspect.c: (print_element_info):
10053           print numeric version of rank as well, since we added some - 1
10054           rank values to elements
10055
10056 2004-04-13  David Schleef  <ds@schleef.org>
10057
10058         * configure.ac:  Disable various code when compiling for MinGW.
10059         * gst/elements/Makefile.am:
10060         * gst/elements/gstelements.c:
10061         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10062         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10063         * gst/registries/gstxmlregistry.c: (make_dir):
10064
10065 2004-04-13  David Schleef  <ds@schleef.org>
10066
10067         * gst/Makefile.am:
10068         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10069         assembly.
10070         * gst/gstcpuid_i386.s: remove
10071
10072 2004-04-13  David Schleef  <ds@schleef.org>
10073
10074         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10075         seems to think it needs to be done.
10076         * docs/gst/tmpl/gstfakesink.sgml:
10077         * docs/gst/tmpl/gstfakesrc.sgml:
10078         * docs/gst/tmpl/gstfdsink.sgml:
10079         * docs/gst/tmpl/gstfdsrc.sgml:
10080         * docs/gst/tmpl/gstfilesink.sgml:
10081         * docs/gst/tmpl/gstfilesrc.sgml:
10082         * docs/gst/tmpl/gstidentity.sgml:
10083         * docs/gst/tmpl/gstmd5sink.sgml:
10084         * docs/gst/tmpl/gstmultifilesrc.sgml:
10085         * docs/gst/tmpl/gstpipefilter.sgml:
10086         * docs/gst/tmpl/gstshaper.sgml:
10087         * docs/gst/tmpl/gstspider.sgml:
10088         * docs/gst/tmpl/gstspideridentity.sgml:
10089         * docs/gst/tmpl/gststatistics.sgml:
10090         * docs/gst/tmpl/gsttee.sgml:
10091         * docs/gst/tmpl/gsttypefind.sgml:
10092         * docs/gst/tmpl/gstutils.sgml:
10093
10094 2004-04-13  David Schleef  <ds@schleef.org>
10095
10096         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10097         and to build DLLs on Windows.
10098         * gst/Makefile.am:
10099         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10100         (gst_filesrc_open_file):
10101         * gst/schedulers/Makefile.am:
10102
10103 2004-04-13  David Schleef  <ds@schleef.org>
10104
10105         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10106         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10107         fixating lists.
10108
10109 2004-04-12  David Schleef  <ds@schleef.org>
10110
10111         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10112         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10113         to using it.
10114         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10115         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10116         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10117         * gst/gststructure.c: (gst_structure_set_valist),
10118         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10119         support for buffers.
10120         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10121         intended to be const.
10122         * gst/gsttag.h: same
10123         * gst/gstvalue.c: (gst_value_serialize_buffer),
10124         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10125         to (de)serialize buffers.
10126         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10127         * testsuite/caps/string-conversions.c: (main):
10128         * testsuite/caps/value_serialize.c: add new test
10129
10130 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10131
10132         * docs/pwg/advanced-types.xml:
10133           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10134
10135 2004-04-11  Benjamin Otte  <otte@gnome.org>
10136
10137         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10138           rename categories to basic_*
10139         * gst/schedulers/gstbasicscheduler.c: 
10140         (gst_basic_scheduler_chain_wrapper),
10141         (gst_basic_scheduler_chainhandler_proxy),
10142         (gst_basic_scheduler_gethandler_proxy),
10143         (gst_basic_scheduler_eventhandler_proxy):
10144           debugging category fixes - put common stuff in log category
10145         * gst/schedulers/gstbasicscheduler.c: 
10146         (gst_basic_scheduler_chain_elements):
10147           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10148           active and linking two active chains
10149
10150 2004-04-10  Benjamin Otte  <otte@gnome.org>
10151
10152         * docs/pwg/intro-preface.xml:
10153           fix dead links and remove reference to Wiki
10154
10155 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10156
10157         * gst/schedulers/gstbasicscheduler.c:
10158           make sure we can switch back to the main function if we're still in
10159           the main function (supposed to fix #139617)
10160         * gst/schedulers/gthread-cothreads.h:
10161           don't throw an error when switching to the same cothread
10162
10163 2004-04-09  Benjamin Otte  <otte@gnome.org>
10164
10165         * gst/gstbin.c: (gst_bin_get_type):
10166         * gst/gstclock.c: (gst_clock_get_type):
10167         * gst/gstindex.c: (gst_index_get_type):
10168         * gst/gstobject.c: (gst_object_get_type),
10169         (gst_signal_object_get_type):
10170         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10171         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10172         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10173         * gst/gstqueue.c: (gst_queue_get_type):
10174         * gst/gstregistry.c: (gst_registry_get_type):
10175         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10176         * gst/gstthread.c: (gst_thread_get_type):
10177           don't use memchunks for these objects, use malloc instead
10178
10179 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10180
10181         * docs/gst/.cvsignore:
10182         * docs/gst/Makefile.am:
10183         * docs/gst/gstreamer-sections.txt:
10184         * docs/gst/tmpl/gstaggregator.sgml:
10185         * docs/gst/tmpl/gstbuffer.sgml:
10186         * docs/gst/tmpl/gstclock.sgml:
10187         * docs/gst/tmpl/gstelement.sgml:
10188         * docs/gst/tmpl/gstfakesink.sgml:
10189         * docs/gst/tmpl/gstfakesrc.sgml:
10190         * docs/gst/tmpl/gstfdsink.sgml:
10191         * docs/gst/tmpl/gstfdsrc.sgml:
10192         * docs/gst/tmpl/gstfilesink.sgml:
10193         * docs/gst/tmpl/gstfilesrc.sgml:
10194         * docs/gst/tmpl/gstidentity.sgml:
10195         * docs/gst/tmpl/gstindex.sgml:
10196         * docs/gst/tmpl/gstinfo.sgml:
10197         * docs/gst/tmpl/gstmd5sink.sgml:
10198         * docs/gst/tmpl/gstmultifilesrc.sgml:
10199         * docs/gst/tmpl/gstpad.sgml:
10200         * docs/gst/tmpl/gstpipefilter.sgml:
10201         * docs/gst/tmpl/gstpipeline.sgml:
10202         * docs/gst/tmpl/gstpluginfeature.sgml:
10203         * docs/gst/tmpl/gstqueue.sgml:
10204         * docs/gst/tmpl/gstregistry.sgml:
10205         * docs/gst/tmpl/gstscheduler.sgml:
10206         * docs/gst/tmpl/gstshaper.sgml:
10207         * docs/gst/tmpl/gstspider.sgml:
10208         * docs/gst/tmpl/gstspideridentity.sgml:
10209         * docs/gst/tmpl/gststatistics.sgml:
10210         * docs/gst/tmpl/gstsystemclock.sgml:
10211         * docs/gst/tmpl/gsttee.sgml:
10212         * docs/gst/tmpl/gstthread.sgml:
10213         * docs/gst/tmpl/gsttypefind.sgml:
10214         * docs/gst/tmpl/gstutils.sgml:
10215           further doc build fixes
10216
10217 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10218
10219         * docs/gst/Makefile.am:
10220           make docs exit on scanning problems
10221           fix nonsrcdir build issues
10222         * docs/gst/gstreamer-sections.txt:
10223           adding stuff from -unused
10224         * gst/gstqueue.h:
10225           create GstQueueSize
10226         * gst/schedulers/cothreads_compat.h:
10227           fix cothread warnings
10228
10229 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         * docs/gst/gstreamer-sections.txt:
10232           remove defines deprecated by Benjamin
10233
10234 2004-04-07  Benjamin Otte  <otte@gnome.org>
10235
10236         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10237           when the buffer is complete, don't check if other buffers are needed
10238         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10239           check that the offset is >0 so we don't try to read before the
10240           beginning of the file
10241         * gst/gstpad.c: (gst_pad_set_pad_template):
10242           sink the template, so we don't end up with 130k pad templates
10243
10244 2004-04-06  Benjamin Otte  <otte@gnome.org>
10245
10246         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10247           don't ref the element, adding already reffed it. And we didn't unref
10248           it later anyway... (huge memleak when you used many spider elements)
10249         * gst/gstelement.c: (gst_element_base_class_finalize):
10250         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10251         (gst_element_register):
10252         * gst/gsturi.c: (gst_element_make_from_uri):
10253           use gst_object_(un)ref instead of g_object(un)ref
10254
10255 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10256
10257         * gst/gstbuffer.h:
10258           remove macro that wouldn't work anymore because struct member has
10259           been removed.
10260         * gst/schedulers/entryscheduler.c: (schedule_forward):
10261           fix segfault for unconnected pads
10262         
10263 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10264
10265         reviewed by David Schleef <ds@schleef.org>
10266
10267         * gst/gstinfo.h:
10268           *_FORMAT modifiers should require putting a % in front of them for
10269           consistency reasons.
10270
10271 2004-04-05  Colin Walters  <walters@redhat.com>
10272
10273         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10274         space.
10275
10276 2004-04-05  Benjamin Otte  <otte@gnome.org>
10277
10278         * configure.ac:
10279         * gst/Makefile.am:
10280         * gst/gst_private.h:
10281         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10282           add support for detecting if GStreamer runs inside valgrind.
10283           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10284           print a big message in valgrind that GStreamer has detected it's
10285           running inside and might now use different code.
10286         * gst/gstmemchunk.c: (populate), (free_area),
10287         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10288         (gst_mem_chunk_free):
10289           flag memchunks for valgrind, so it can detect leaking of chunks.
10290           This allows detecting leaks of GstBuffer and GstEvent correctly
10291           inside valgrind.
10292
10293 2004-04-05  David Schleef  <ds@schleef.org>
10294
10295         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10296           jensgr@gmx.net (Jens Granseuer)
10297
10298 2004-04-05  David Schleef  <ds@schleef.org>
10299
10300         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10301         (gst_buffer_default_free), (gst_buffer_default_copy),
10302         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10303         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10304         structures in one place.
10305
10306 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10307
10308         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10309           (GST_TIME_FORMAT, GST_TIME_ARGS)
10310
10311 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * testsuite/elements/Makefile.am:
10314           disable test until it stops breaking make distcheck
10315
10316 2004-04-05  Johan Dahlin  <johan@gnome.org>
10317
10318         * po/sv.po: Updated translation
10319
10320 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10321
10322         * gst/gstplugin.c: (gst_plugin_load_file):
10323           fix segfault for when original plugin was loaded statically
10324
10325 2004-04-05  Benjamin Otte  <otte@gnome.org>
10326
10327         * testsuite/debug/category.c: (main):
10328         * testsuite/debug/commandline.c: (main):
10329         * testsuite/debug/output.c: (main):
10330           fix tests to work again with debugging enabled
10331
10332 2004-04-05  Benjamin Otte  <otte@gnome.org>
10333
10334         * gst/schedulers/gstbasicscheduler.c:
10335         (gst_basic_scheduler_pad_link):
10336           fix to work with recent scheduling changes
10337
10338 2004-04-05  Benjamin Otte  <otte@gnome.org>
10339
10340         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10341         prepareChangeLog doesn't work when cvs indents):
10342           don't throw an error when no element can be scheduled, there's too
10343           many weird reasons why it doesn't work. Return STOPPED instead.
10344           decoupled elemts' schedulability doesn't depend on bufpens.
10345
10346 2004-04-04  Benjamin Otte  <otte@gnome.org>
10347
10348         * gst/schedulers/gstbasicscheduler.c:
10349         (gst_basic_scheduler_pad_select):
10350           fix uninitialized variable warnings
10351
10352 2004-04-04  Benjamin Otte  <otte@gnome.org>
10353
10354         * gst/gstpad.c: (gst_pad_collect_valist):
10355           fix uninitialized variable warning
10356         * gst/schedulers/entryscheduler.c: (schedule_forward):
10357           fix shadowed variable
10358
10359 2004-04-04  Benjamin Otte  <otte@gnome.org>
10360
10361         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10362         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10363         (gst_pad_select):
10364         * gst/gstpad.h:
10365         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10366         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10367         * gst/gstscheduler.h:
10368           implement gst_pad_collect as replacement for gst_pad_select.
10369           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10370           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10371           new pad_select, lock and unlock calls.
10372         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10373         * gst/cothreads.h:
10374         * gst/schedulers/cothreads_compat.h:
10375         * gst/schedulers/gthread-cothreads.h:
10376           remove unused cothread_lock and cothread_unlock calls
10377         * gst/schedulers/entryscheduler.c:
10378         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10379         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10380         (gst_entry_scheduler_pad_select):
10381           update to new API
10382         * gst/schedulers/gstbasicscheduler.c:
10383         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10384         (gst_basic_scheduler_pad_select):
10385           remove useless lock and unlock calls, update pad_select to new API
10386           (untested)
10387         * gst/schedulers/gstoptimalscheduler.c:
10388         (gst_opt_scheduler_class_init):
10389           remove useless select, lock and unlock function calls
10390         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10391           use gst_pad_collect instead of gst_pad_select
10392
10393 2004-04-04  Benjamin Otte  <otte@gnome.org>
10394
10395         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10396         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10397         (schedule_next_element), (print_entry):
10398           add can_schedule_pad to handle element states.
10399           add schedule_forward to select the correct entry to schedule next
10400
10401 2004-04-03  Benjamin Otte  <otte@gnome.org>
10402
10403         * gst/schedulers/entryscheduler.c: 
10404           remove unused variable, fix error inside Rb, fix compile warning in
10405           unreachable code
10406
10407 2004-04-03  Benjamin Otte  <otte@gnome.org>
10408
10409         * gst/schedulers/entryscheduler.c:
10410           completely revamp the inner workings, so it's a lot easier to
10411           understand and extend
10412
10413 2004-04-03  Andy Wingo  <wingo@pobox.com>
10414
10415         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10416         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10417         This allows better introspection of pipeline topology.
10418         (add_to_chain): Don't do trickery to put loop elements first;
10419         rather, queue a chain sort by marking the chain as dirty.
10420         (remove_from_chain): Mark the chain dirty.
10421         (sort_chain): New function. Sorts the group list so that terminal
10422         sinks are first. This means elements on the sink side will be
10423         preferentially sscheduled before elements on the src side of the
10424         pipeline.
10425         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10426         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10427         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10428         (group_inc_link): Change argument and variable names to match the
10429         new link structure member names (src and sink).
10430         (group_dec_link): Add some description
10431
10432 2004-04-03  Benjamin Otte  <otte@gnome.org>
10433
10434         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10435         * gst/gstinfo.h:
10436         * testsuite/debug/category.c: (main):
10437         * testsuite/debug/commandline.c: (main):
10438         * testsuite/debug/output.c: (main):
10439         * testsuite/debug/printf_extension.c: (main):
10440           fix to successfully build and test with --disable-gst-debug
10441           configure switch (fixes #138705)
10442
10443 2004-04-03  Benjamin Otte  <otte@gnome.org>
10444
10445         * docs/pwg/building-boiler.xml:
10446           add cvs login line and s/anonymous/anoncvs/
10447
10448 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10449
10450         reviewed by Benjamin Otte  <otte@gnome.org>
10451
10452         * gst/gststructure.c: (gst_structure_free):
10453           memleak fix: free fields array (partial fix for #134839)
10454
10455 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10456
10457         * docs/random/ds/0.9-suggested-changes:
10458           Add a note to change handoff use in fakesrc to be usable in
10459           a more generic way (fakesrc should be renamed to appsrc or so).
10460         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10461           Change signal type to scope, so we can fill the buffer in the
10462           handoff handler (that's the whole use of this signal...).
10463
10464 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10465
10466         * docs/pwg/other-ntoone.xml:
10467           Document muxers and n-to-1 elements.
10468
10469 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10470
10471         * gst/registries/gstxmlregistry.c
10472         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10473         determine if a file is a G_MODULE. The old one discards paths
10474         containing "so" somewhere in the middle. My home directory is
10475         called "soto". Go figure...
10476
10477 2004-03-31  David Schleef  <ds@schleef.org>
10478
10479         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10480         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10481         * gst/gstbuffer.h:
10482
10483 2004-03-31  David Schleef  <ds@schleef.org>
10484
10485         * gst/gstvalue.c: (gst_value_union_int_int_range),
10486         (gst_value_union_int_range_int_range), (gst_value_can_union),
10487         (gst_value_union), (_gst_value_initialize):  Add some union
10488         implementations.  We didn't have any previously.
10489         * testsuite/caps/Makefile.am:
10490         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10491         (gst_audioscale_getcaps), (test_caps), (main): A little test
10492         that is the same as the caps manipulation in audioscale.
10493
10494 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10495
10496         * docs/faq/general.xml:
10497           add entry about "does gst support format X?"
10498
10499 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10500
10501         * gst/gstthread.c:
10502           fix docs
10503         * gst/gstutils.h:
10504           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10505
10506 2004-03-30  Benjamin Otte  <otte@gnome.org>
10507
10508         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10509           set the offset of the buffer to the requested offset
10510         * gst/elements/gsttypefind.c: (stop_typefinding):
10511           revert patch 1.18 (which I unfortunately don't know the reason for).
10512           This is needed to allow downstream elements to seek. Otherwise
10513           typefind might overwrite a previous seek by downstream elements.
10514           This lead to errors with id3tag and typefind on some mp3s.
10515         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10516         (gst_entry_scheduler_iterate):
10517           be more verbose when debugging
10518
10519 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10520
10521         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10522           make sure we don't get NULL strings
10523
10524 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * gst/gstcaps.c:
10527         * gst/gstelement.c:
10528         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10529         * gst/gstindex.c: (gst_index_resolver_get_type),
10530         (gst_index_get_type), (gst_index_factory_get_type):
10531         * gst/gstinfo.c:
10532         * gst/gstpad.c:
10533         * gst/gstplugin.c:
10534         * gst/gsturi.c: (gst_uri_handler_get_type):
10535         * gst/gstvalue.c:
10536           first batch of documentation fixes
10537
10538 2004-03-29  David Schleef  <ds@schleef.org>
10539
10540         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10541         * docs/gst/gstreamer-docs.sgml:  More hacking
10542         * docs/gst/gstreamer-sections.txt:
10543         * docs/gst/tmpl/cothreads_compat.sgml:
10544         * docs/gst/tmpl/gstcaps.sgml:
10545         * docs/gst/tmpl/gstclock.sgml:
10546         * docs/gst/tmpl/gstelement.sgml:
10547         * docs/gst/tmpl/gstevent.sgml:
10548         * docs/gst/tmpl/gstpad.sgml:
10549         * docs/gst/tmpl/gstutils.sgml:
10550         * docs/gst/tmpl/gstxml.sgml:
10551         * docs/gst/tmpl/gthread-cothreads.sgml:
10552         * docs/random/ds/0.9-suggested-changes:
10553         * gst/elements/gstfakesink.h: doc fixes
10554         * gst/elements/gstfakesrc.h: doc fixes
10555         * gst/gstcaps.c: doc fixes
10556         * gst/gstcaps.h: doc fixes
10557         * gst/gstelement.c: doc fixes
10558         * gst/gstelement.h: doc fixes
10559         * gst/gstindex.c: doc fixes
10560         * gst/gstinfo.c: doc fixes
10561         * gst/gstpad.c: doc fixes
10562         * gst/gstpad.h: doc fixes
10563         * gst/gstplugin.c: doc fixes
10564         * gst/gsttypefind.h: doc fixes
10565         * gst/gsturi.c: doc fixes
10566         * gst/gstvalue.c: doc fixes
10567
10568 2004-03-29  Colin Walters  <walters@redhat.com>
10569
10570         * gst/registries/gstxmlregistry.c (get_time)
10571         (plugin_times_older_than_recurse):
10572         Use the result of stat to determine whether a path is a file,
10573         so we don't attempt to opendir() files.
10574
10575 2004-03-29  Benjamin Otte  <otte@gnome.org>
10576
10577         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10578           print caps in debugging output when setting caps failed
10579         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10580         (schedule_next_element), (get_buffer), (run_chainhandler),
10581         (element_may_start), (gst_entry_scheduler_chain_handler),
10582         (gst_entry_scheduler_get_handler),
10583         (gst_entry_scheduler_state_transition),
10584         (gst_entry_scheduler_pad_link):
10585           make this scheduler a testcase for mandatory
10586           discont-before-first-buffer which is needed if we want to allow apps
10587           to release the sound device.
10588           add SCHED_ASSERT macro to print scheduler state before an assertion
10589           triggers.
10590
10591 2004-03-29  Benjamin Otte  <otte@gnome.org>
10592
10593         * COPYING:
10594           replace by LGPL (former COPYING.LIB). The core is completely
10595           licensed LGPL.
10596         * COPYING.LIB:
10597           remove
10598
10599 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10600
10601         * po/af.po:
10602         * po/sv.po:
10603           updated Afrikaans and Swedish
10604
10605 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * po/LINGUAS:
10608         * po/az.po:
10609           adding Azerbaijani (Mətin Əmirov)
10610
10611 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10612
10613         * gst/gstelement.h: 
10614         * gst/gstelement.c (gst_element_set_time_delay): New function for
10615         setting element time taking into account a hardware buffering
10616         delay.
10617         (gst_element_set_time): Now just an invocation of
10618         gst_element_set_time_delay.
10619         * gst/gstclock.h: 
10620         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10621         allowing to set event times in the future.
10622         (gst_clock_get_event_time): Now just an invocation of
10623         gst_clock_get_event_time_delay.
10624
10625 2004-03-28  Benjamin Otte  <otte@gnome.org>
10626
10627         * gst/gstbin.c: (gst_bin_set_element_sched),
10628         (gst_bin_unset_element_sched):
10629           don't add decoupled elements to schedulers - otherwise it's
10630           impossible to control if a link to a decoupled element was already
10631           removed from a scheduler or not.
10632         * gst/schedulers/cothreads_compat.h:
10633         * gst/schedulers/gthread-cothreads.h:
10634           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10635           is no "unused" warning.
10636         * gst/schedulers/Makefile.am:
10637         * gst/schedulers/entryscheduler.c:
10638           add new scheduler, based on ideas from talking to David and Martin.
10639           It's supposed to be small and correct. Currently it's also slow (but
10640           it's not noticable)
10641         * examples/retag/retag.c: (main):
10642         * testsuite/bytestream/test1.c: (main):
10643           fix missing NULLs at end of variadic functions
10644         * testsuite/elements/.cvsignore:
10645           update
10646
10647 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10648
10649         * gst/gstevent.h:
10650         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10651
10652 2004-03-25  David Schleef  <ds@schleef.org>
10653
10654         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10655         * docs/gst/tmpl/gstaggregator.sgml:
10656         * docs/gst/tmpl/gstautoplugfactory.sgml:
10657         * docs/gst/tmpl/gstbin.sgml:
10658         * docs/gst/tmpl/gstbuffer.sgml:
10659         * docs/gst/tmpl/gstbufferstore.sgml:
10660         * docs/gst/tmpl/gstfakesink.sgml:
10661         * docs/gst/tmpl/gstfakesrc.sgml:
10662         * docs/gst/tmpl/gstmd5sink.sgml:
10663         * docs/gst/tmpl/gstreamer-unused.sgml:
10664         * docs/gst/tmpl/gstsearchfuncs.sgml:
10665         * docs/gst/tmpl/gstshaper.sgml:
10666         * docs/gst/tmpl/gstspider.sgml:
10667         * docs/gst/tmpl/gsttee.sgml:
10668         * docs/gst/tmpl/gstutils.sgml:
10669         * docs/gst/tmpl/gstvalue.sgml:
10670         * docs/gst/tmpl/gstxml.sgml:
10671         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10672         and we don't support it.
10673         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10674         (gst_use_threads), (gst_has_threads): same
10675         * gst/gstthreaddummy.c: same
10676         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10677         * gst/autoplug/gstspider.h: same
10678         * gst/elements/gstaggregator.h: Remove bogus function from header
10679         * gst/elements/gstfakesink.h: same
10680         * gst/elements/gstfakesrc.h: same
10681         * gst/elements/gstmd5sink.h: same
10682         * gst/elements/gstshaper.h: same
10683         * gst/elements/gsttee.h: same
10684         * gst/gstbin.c: doc fixes
10685         * gst/gstbin.h: Remove unused definition.
10686         * gst/gstbuffer.c: doc fixes
10687         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10688         * gst/gstfilter.c: doc fixes
10689         * gst/gsttag.c: doc fixes
10690         * gst/gstvalue.c: doc fixes
10691
10692 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10693
10694         * docs/pwg/advanced-types.xml:
10695           Document typefinding.
10696         * docs/pwg/other-oneton.xml:
10697           Document one-to-n elements, demuxers and parsers.
10698
10699 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10700
10701         reviewed by: David Schleef  <ds@schleef.org>
10702
10703         * configure.ac: Check bison version (bug #127838)
10704
10705 2004-03-25  David Schleef  <ds@schleef.org>
10706
10707         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10708         * docs/gst/gstreamer-sections.txt:
10709         * docs/gst/tmpl/gstautoplug.sgml:
10710         * docs/gst/tmpl/gststaticautoplug.sgml:
10711         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10712         * docs/gst/tmpl/gstutils.sgml:
10713         * docs/gst/tmpl/gstxml.sgml:
10714
10715 2004-03-24  David Schleef  <ds@schleef.org>
10716
10717         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10718         manual being such complete crap, that I decided to do major
10719         hacking of it.  This checkin replaces any fine tuning that
10720         may have been done previously, with the benefit of actually
10721         being complete for much of the API that was changed since
10722         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10723         * docs/gst/gstreamer-sections.txt:
10724         * docs/gst/tmpl/GstBin.sgml:
10725         * docs/gst/tmpl/GstBuffer.sgml:
10726         * docs/gst/tmpl/GstCaps.sgml:
10727         * docs/gst/tmpl/GstClock.sgml:
10728         * docs/gst/tmpl/GstCompat.sgml:
10729         * docs/gst/tmpl/GstData.sgml:
10730         * docs/gst/tmpl/GstElement.sgml:
10731         * docs/gst/tmpl/GstEvent.sgml:
10732         * docs/gst/tmpl/GstIndex.sgml:
10733         * docs/gst/tmpl/GstStructure.sgml:
10734         * docs/gst/tmpl/GstTag.sgml:
10735         * docs/gst/tmpl/cothreads.sgml:
10736         * docs/gst/tmpl/cothreads_compat.sgml:
10737         * docs/gst/tmpl/gettext.sgml:
10738         * docs/gst/tmpl/grammar.tab.sgml:
10739         * docs/gst/tmpl/gst-i18n-app.sgml:
10740         * docs/gst/tmpl/gst-i18n-lib.sgml:
10741         * docs/gst/tmpl/gst.sgml:
10742         * docs/gst/tmpl/gst_private.sgml:
10743         * docs/gst/tmpl/gstaggregator.sgml:
10744         * docs/gst/tmpl/gstarch.sgml:
10745         * docs/gst/tmpl/gstatomic.sgml:
10746         * docs/gst/tmpl/gstatomic_impl.sgml:
10747         * docs/gst/tmpl/gstbin.sgml:
10748         * docs/gst/tmpl/gstbuffer.sgml:
10749         * docs/gst/tmpl/gstbufferstore.sgml:
10750         * docs/gst/tmpl/gstcaps.sgml:
10751         * docs/gst/tmpl/gstclock.sgml:
10752         * docs/gst/tmpl/gstcompat.sgml:
10753         * docs/gst/tmpl/gstconfig.sgml:
10754         * docs/gst/tmpl/gstcpu.sgml:
10755         * docs/gst/tmpl/gstdata.sgml:
10756         * docs/gst/tmpl/gstdata_private.sgml:
10757         * docs/gst/tmpl/gstelement.sgml:
10758         * docs/gst/tmpl/gstenumtypes.sgml:
10759         * docs/gst/tmpl/gsterror.sgml:
10760         * docs/gst/tmpl/gstevent.sgml:
10761         * docs/gst/tmpl/gstfakesink.sgml:
10762         * docs/gst/tmpl/gstfakesrc.sgml:
10763         * docs/gst/tmpl/gstfilesink.sgml:
10764         * docs/gst/tmpl/gstfilter.sgml:
10765         * docs/gst/tmpl/gstindex.sgml:
10766         * docs/gst/tmpl/gstinfo.sgml:
10767         * docs/gst/tmpl/gstinterface.sgml:
10768         * docs/gst/tmpl/gstlog.sgml:
10769         * docs/gst/tmpl/gstmacros.sgml:
10770         * docs/gst/tmpl/gstmarshal.sgml:
10771         * docs/gst/tmpl/gstmd5sink.sgml:
10772         * docs/gst/tmpl/gstmultifilesrc.sgml:
10773         * docs/gst/tmpl/gstobject.sgml:
10774         * docs/gst/tmpl/gstpad.sgml:
10775         * docs/gst/tmpl/gstparse.sgml:
10776         * docs/gst/tmpl/gstpipeline.sgml:
10777         * docs/gst/tmpl/gstplugin.sgml:
10778         * docs/gst/tmpl/gstpluginfeature.sgml:
10779         * docs/gst/tmpl/gstqueue.sgml:
10780         * docs/gst/tmpl/gstreamer-unused.sgml:
10781         * docs/gst/tmpl/gstregistry.sgml:
10782         * docs/gst/tmpl/gstregistrypool.sgml:
10783         * docs/gst/tmpl/gstscheduler.sgml:
10784         * docs/gst/tmpl/gstsearchfuncs.sgml:
10785         * docs/gst/tmpl/gstshaper.sgml:
10786         * docs/gst/tmpl/gstspider.sgml:
10787         * docs/gst/tmpl/gstspideridentity.sgml:
10788         * docs/gst/tmpl/gststructure.sgml:
10789         * docs/gst/tmpl/gstsystemclock.sgml:
10790         * docs/gst/tmpl/gsttag.sgml:
10791         * docs/gst/tmpl/gsttaginterface.sgml:
10792         * docs/gst/tmpl/gsttee.sgml:
10793         * docs/gst/tmpl/gstthread.sgml:
10794         * docs/gst/tmpl/gsttrace.sgml:
10795         * docs/gst/tmpl/gsttrashstack.sgml:
10796         * docs/gst/tmpl/gsttypefind.sgml:
10797         * docs/gst/tmpl/gsttypes.sgml:
10798         * docs/gst/tmpl/gsturi.sgml:
10799         * docs/gst/tmpl/gsturitype.sgml:
10800         * docs/gst/tmpl/gstutils.sgml:
10801         * docs/gst/tmpl/gstvalue.sgml:
10802         * docs/gst/tmpl/gstversion.sgml:
10803         * docs/gst/tmpl/gstxml.sgml:
10804         * docs/gst/tmpl/gstxmlregistry.sgml:
10805         * docs/gst/tmpl/gthread-cothreads.sgml:
10806         * docs/gst/tmpl/types.sgml:
10807
10808 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10809
10810         * docs/pwg/other-sink.xml:
10811         * docs/pwg/other-source.xml:
10812           Documentation on how to write source and sink elements. Other
10813           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10814           manager, autoplugger) are all still pending.
10815
10816 2004-03-25  Benjamin Otte  <otte@gnome.org>
10817
10818         * testsuite/elements/Makefile.am:
10819         * testsuite/elements/gst-compprep-check:
10820           add check to make sure gst-compprep works
10821         * testsuite/elements/gst-inspect-check.in:
10822           improve initialization output
10823         * testsuite/Makefile.am:
10824         * testsuite/gst-inspect-check:
10825           remove old file
10826
10827 2004-03-24  David Schleef  <ds@schleef.org>
10828
10829         * testsuite/elements/Makefile.am:
10830         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10831         to the testsuite.
10832
10833 2004-03-24  Benjamin Otte  <otte@gnome.org>
10834
10835         * libs/gst/control/dparam.c: (gst_dparam_attach),
10836         (gst_dparam_detach):
10837         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10838           fix lvalue casts for real
10839
10840 2004-03-24  Benjamin Otte  <otte@gnome.org>
10841
10842         * gst/schedulers/gstbasicscheduler.c:
10843         (gst_basic_scheduler_src_wrapper):
10844         * gst/schedulers/gstoptimalscheduler.c:
10845         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10846         (pad_clear_queued), (gst_opt_scheduler_add_element),
10847         (gst_opt_scheduler_remove_element):
10848           fix GStreamer to not have issues with lvalue casts anymore (fixes
10849           #136841)
10850
10851 2004-03-24  Benjamin Otte  <otte@gnome.org>
10852
10853         * gst/gstelement.c:
10854           add documentation about a gobject quirk where the object hasn't the
10855           correct class pointer set on initialization
10856         * gst/schedulers/gstbasicscheduler.c:
10857         (gst_basic_scheduler_src_wrapper):
10858           make sure to not run into an infinite loop
10859
10860 2004-03-22  Benjamin Otte  <otte@gnome.org>
10861
10862         * gst/gstutils.c: (gst_util_dump_mem):
10863         * gst/gstutils.h:
10864           first argument of gst_util_dump_mem should be const
10865
10866 2004-03-22  Johan Dahlin  <johan@gnome.org>
10867
10868         * gst/gstvalue.h: Clean up a little bit.
10869
10870 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10871
10872         reviewed by Benjamin Otte  <otte@gnome.org>
10873
10874         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10875         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10876         (gst_aggregator_class_init), (gst_aggregator_init):
10877         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10878         (gst_filesrc_dispose), (gst_filesrc_set_location):
10879         * gst/elements/gstidentity.c: (gst_identity_finalize),
10880         (gst_identity_class_init), (gst_identity_chain):
10881         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10882         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10883         (gst_statistics_class_init):
10884         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10885         (gst_tee_get_property):
10886           clean up used memory in this elements correctly on teardown (closes
10887           #137279)
10888
10889 2004-03-20  Colin Walters  <walters@redhat.com>
10890
10891         * gst/registries/gstxmlregistry.c:
10892         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10893         registry saving atomic.
10894
10895 2004-03-20  Colin Walters  <walters@redhat.com>
10896
10897         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10898         Just use
10899         access() instead of actually creating and deleting files.
10900
10901 2004-03-18  David Schleef  <ds@schleef.org>
10902
10903         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10904         (bug #137625)
10905
10906 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * po/sv.po: updated translation (Christian Rose)
10909
10910 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10913         (gst_filesink_get_query_types), (_do_init),
10914         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10915           return FALSE silently
10916         * po/af.po: updated translation (Petri Jooste)
10917
10918 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10919
10920         * Makefile.am:
10921         * configure.ac:
10922           dist common properly
10923         * po/af.po:
10924         * po/fr.po:
10925         * po/nl.po:
10926         * po/sr.po:
10927         * po/sv.po:
10928           refreshing translations
10929
10930 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10931
10932         * po/LINGUAS:
10933         * po/sv.po:
10934         * po/af.po:
10935           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10936
10937 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * Makefile.am: use common/release.mak
10940
10941 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10942
10943         * docs/faq/gst-uninstalled:
10944           adding gst-monkeysaudio to the list of possible plugin dirs
10945
10946 2004-03-16  David Schleef  <ds@schleef.org>
10947
10948         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10949         (gst_init_check_with_popt_table):  Fix some gettext strings to
10950         make them easier to translate.  Required making the strings
10951         non-const.
10952
10953 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * configure.ac: bump nano to 1
10956
10957 === release 0.8.0 ===
10958
10959 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * configure.ac: release 0.8.0, "Executive Slacks"
10962
10963 2004-03-16  Johan Dahlin  <johan@gnome.org>
10964
10965         * gst/schedulers/gstoptimalscheduler.c
10966         (gst_opt_scheduler_pad_unlink): Remove double ;,
10967         spotted by Scott Wheeler
10968
10969 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10970
10971         * configure.ac: bump libtool version
10972
10973 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10974
10975         * gst/gstcaps.h:
10976         * gst/gststructure.h:
10977           add reserved padding
10978
10979 2004-03-15  Benjamin Otte  <otte@gnome.org>
10980
10981         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10982           set the first parameter for select call correctly.
10983           (fixes #137230)
10984
10985 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * *.c,*.h: don't mix tabs and spaces
10988
10989 2004-03-15  Johan Dahlin  <johan@gnome.org>
10990
10991         * gst/schedulers/gstoptimalscheduler.c
10992         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10993         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10994
10995         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10996         
10997 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10998
10999         * testsuite/Rules:
11000           fix gst-register rules
11001
11002 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * testsuite/Rules:
11005           use versioned gst-register
11006
11007 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * docs/libs/gstreamer-libs-sections.txt:
11010           remove </SUBSECTION>
11011         * gst/gstplugin.c:
11012         * gst/gstregistry.c: (gst_registry_add_plugin):
11013         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11014         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11015           add debugging and fix some comment blocks
11016
11017 2004-03-15  Johan Dahlin  <johan@gnome.org>
11018
11019         * *.h: Revert indent changes.
11020         
11021 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11022
11023         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11024           g_error_free the g_error
11025         * tools/gst-feedback-m.m:
11026           check for other versions of gstreamer
11027         * tools/gst-indent:
11028           use sh, not bash
11029
11030 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * tools/gst-register.c: do not spill paths when registries are not
11033           writable, until we fix the "user running gst-register" case.
11034
11035 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11036
11037         * *.c, *.h: commit of gst-indent run on core
11038
11039 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11040
11041         * tools/gst-indent:
11042         * tools/Makefile.am:
11043           add our indentation style as a script
11044
11045 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11046
11047         * po/sr.po:
11048         * po/LINGUAS:
11049           added Serbian translation
11050
11051 2004-03-13  Benjamin Otte  <otte@gnome.org>
11052
11053         * gst/gstelement.c:
11054           add documentation note about gst_element_found_tags_for_pad not
11055           being usable in getfunctions. (see #137042)
11056
11057 2004-03-12  David Schleef  <ds@schleef.org>
11058
11059         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11060         change API right now!  Readd gst_caps_is_simple() macro.
11061         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11062         uninitialized variable.  I'd bet this caused crashes.
11063         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11064
11065 2004-03-12  Johan Dahlin  <johan@gnome.org>
11066
11067         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11068         * gst/gstcaps.h: Clean up
11069
11070         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11071         _gst_caps_initalize()
11072
11073         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11074         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11075
11076         * gst/gststructure.c (gst_structure_get_type): Ditto
11077
11078         * gst/gststructure.h: Ditto
11079         
11080 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11081
11082         * gst/gstqueue.c: (gst_queue_init):
11083           Reset default max. values in queues. Reason is simply to avoid
11084           braindead use. If you want wider values, use the properties. The
11085           default is supposed to always work. Wider values would make this
11086           beast a memory hog by default (250 full-PAL RGB32 video frames?
11087           That's 440 MB! No thank you).
11088
11089 2004-03-10  David Schleef  <ds@schleef.org>
11090
11091         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11092         were found.  (bug #136793)
11093
11094 2004-03-10  Johan Dahlin  <johan@gnome.org>
11095
11096         * gst/schedulers/gstoptimalscheduler.c
11097         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11098         links to elements within the same group, so we can finally remove
11099         that annoying warning. Refactor the code a little bit
11100         (group_dec_links_for_element): Split out
11101
11102 2004-03-09  David Schleef  <ds@schleef.org>
11103
11104         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11105         (bug #134863)
11106
11107 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11108
11109         * configure.ac: first bug fix due to major/minor bump
11110
11111 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * configure.ac: bump nano to 1
11114
11115 === release 0.7.6 ===
11116
11117 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11118
11119         * NEWS:
11120         * RELEASE:
11121         * configure.ac:
11122           releasing 0.7.6, "Almost"
11123         * po/fr.po:
11124         * po/nl.po:
11125         * tools/Makefile.am:
11126         * tools/gst-feedback-m.m:
11127           unversioned source
11128
11129 2004-03-09  Johan Dahlin  <johan@gnome.org>
11130
11131         Reviewed by: Thomas Vander Stichele
11132
11133         * gst/gstelement.c (gst_element_class_init): register second
11134         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11135         language bindings can (de)marshall correctly.
11136
11137         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11138
11139         * gst/gsterror.c (gst_g_error_get_type): New function
11140
11141         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11142         with VOID:OBJECT,OBJECT,STRING 
11143
11144 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11145
11146         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11147         Free a leaked g_timer on early returns.
11148
11149 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11150
11151         * docs/pwg/advanced-types.xml:
11152           Add cinepak description.
11153
11154 2004-03-07  David Schleef  <ds@schleef.org>
11155
11156         * docs/random/mimetypes:  Added cinepak description
11157
11158 2004-03-07  Andy Wingo  <wingo@pobox.com>
11159
11160         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11161
11162         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11163         there are no links to other groups when a group is destroyed.
11164         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11165         removed from a group, make sure the link count to elements linked
11166         to other pads is appropriately decremented. This really fixes
11167         #135672.
11168
11169         The 1.60->1.61 patch has been reapplied in light of this fix.
11170
11171         * gst/gstelement.c (gst_element_dispose): Really protect against
11172         multiple invocations this time.
11173
11174 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11175
11176         * docs/gst/gstreamer-sections.txt:
11177         * docs/gst/tmpl/gsttag.sgml:
11178           remove some deprecated functions, document some existing ones
11179         * gst/gsttag.c: (gst_tag_get_flag):
11180         * gst/gsttag.h:
11181           add accessor function
11182
11183 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11184
11185         * docs/gst/gstreamer-sections.txt:
11186         * docs/gst/tmpl/gsttag.sgml:
11187         * docs/gst/tmpl/gstxml.sgml:
11188         * gst/gsttag.c: (gst_tag_get_flag):
11189         * gst/gsttag.h:
11190
11191 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11192
11193         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11194         leak
11195
11196 2004-03-05  David Schleef  <ds@schleef.org>
11197
11198         * REQUIREMENTS: Add bison and flex.
11199         * configure.ac: Fix comment about bison.
11200         * docs/random/ds/0.9-suggested-changes: yer ma
11201         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11202
11203 2004-03-05  Benjamin Otte  <otte@gnome.org>
11204
11205         * gst/gstelement.c: (gst_element_error_full):
11206           revert recent recursive state changing commit - messing with other
11207           elements' states is evil and should be done by apps only.
11208
11209 2004-03-05  Benjamin Otte  <otte@gnome.org>
11210
11211         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11212           check for empty intersection instead of NULL caps
11213         (gst_element_get_compatible_pad_filtered):
11214           remove old workaround that is only a bug nowadays
11215
11216 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11217
11218         * gst/gstelement.c: (gst_element_error_full):
11219           make elements try to recursively change state to PAUSED on all
11220           parents after an error to suppress ensuing warnings
11221         * gst/parse/grammar.y:
11222           make it check if it was able to sync the state, and throw an error
11223           if not, so stuff like
11224           oggdemux ! vorbisdec ! osssink gets caught
11225
11226 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11227
11228         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11229           it contains lib64; use AS_AC_EXPAND to handle it properly
11230
11231 2004-03-05  David Schleef  <ds@schleef.org>
11232
11233         * gst/gstcpuid_i386.s:  Remove unused code
11234         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11235         (gst_getbits_newbuf): Remove MMX code
11236         * libs/gst/getbits/getbits.h: Remove MMX code
11237
11238 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11239
11240         * debian/.cvsignore:
11241         * debian/README.Debian:
11242         * debian/changelog:
11243         * debian/control:
11244         * debian/control.in:
11245         * debian/copyright:
11246         * debian/gstreamer-core-libs-dev.files:
11247         * debian/gstreamer-core-libs.files:
11248         * debian/gstreamer-core.files:
11249         * debian/gstreamer-core.postinst:
11250         * debian/gstreamer-core.postrm:
11251         * debian/gstreamer-doc.files:
11252         * debian/gstreamer-doc.links:
11253         * debian/gstreamer-doc.lintian:
11254         * debian/gstreamer-runtime.files:
11255         * debian/gstreamer-runtime.manpages:
11256         * debian/gstreamer-runtime.postinst:
11257         * debian/gstreamer-runtime.postrm:
11258         * debian/gstreamer-tools.files:
11259         * debian/gstreamer-tools.manpages:
11260         * debian/libgstreamer-dev.files:
11261         * debian/libgstreamer0.4.1.files:
11262         * debian/libgstreamerVERSION.files:
11263         * debian/rules:
11264         Debian package info not maintained here.
11265
11266 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11267
11268         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11269         * gst/gstbin.c: (gst_bin_class_init):
11270         * gst/gstelement.c: (gst_element_class_init):
11271         * gst/gstindex.c: (gst_index_class_init):
11272         * gst/gstobject.c: (gst_object_class_init),
11273         (gst_signal_object_class_init):
11274         * gst/gstpad.c: (gst_pad_template_class_init):
11275         * gst/gstregistry.c: (gst_registry_class_init):
11276         * gst/gsturi.c: (gst_uri_handler_base_init):
11277         * gst/gstxml.c: (gst_xml_class_init):
11278         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11279         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11280           make all signal names use dashes instead of underscore
11281
11282 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11283
11284         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11285
11286 2004-03-03  Benjamin Otte  <otte@gnome.org>
11287
11288         * gst/schedulers/gstoptimalscheduler.c:
11289           revert last commit by Andy Wingo. It causes segfaults on unreffing
11290           in Rhythmbox. (see bug #135672)
11291
11292 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11293
11294         * po/fr.po: fix typo
11295
11296 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11297
11298         * tools/gst-inspect.c: (main): 
11299         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11300
11301 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * configure.ac:
11304           get GLIB_ONLY and POPT flags for the nonversioned binaries
11305         * tools/Makefile.am:
11306           use them
11307
11308 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * gst/gst.c: (init_post):
11311           change so that GST_REGISTRY now is where the global registry gets
11312           saved, since that is where plugins now get attached to first, and
11313           spilled over to the user registry.  Note that in the case of using
11314           GST_REGISTRY env var, we don't want to affect any real registries
11315           beyond the one given by this var, and thus we don't set a user
11316           registry to spill to.  So make sure GST_REGISTRY is writable.
11317
11318 2004-03-01  David Schleef  <ds@schleef.org>
11319
11320         * AUTHORS:  Added some names.  Add yourself if you're missing.
11321
11322 2004-03-01  David Schleef  <ds@schleef.org>
11323
11324         * MAINTAINERS: Add
11325
11326 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11327
11328         * configure.ac:
11329           remove whitespace
11330         * docs/gst/tmpl/gstbuffer.sgml:
11331         * docs/gst/tmpl/gstdata.sgml:
11332         * docs/gst/tmpl/gstreamer-unused.sgml:
11333         * docs/gst/tmpl/gstxml.sgml:
11334           doc update
11335         * docs/manuals.mak:
11336           add a FIXME
11337         * docs/pwg/intro-preface.xml:
11338         * docs/pwg/pwg.xml:
11339           remove GNOME
11340         * gst/gst.c: (init_post):
11341           try GST_PLUGIN_PATH paths for the _global_registry first
11342         * gst/gstelement.h:
11343           add the error message as well, otherwise (null) debug info doesn't
11344           make much sense
11345         * tools/gst-register.c: (main):
11346           spill paths to next registry if this registry is not writable
11347         * po/fr.po:
11348         * po/nl.po:
11349           translation updates
11350
11351 2004-03-01  Johan Dahlin  <johan@gnome.org>
11352
11353         * gst/gstbuffer.c (_gst_buffer_initialize): 
11354         * gst/gstdata.c (gst_data_get_type): 
11355         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11356         instead of ref, since some applications that uses GBoxed
11357         routines depends on a function that actually returns a copy.
11358
11359 2004-02-27  Benjamin Otte  <otte@gnome.org>
11360
11361         * gst/gstbuffer.h:
11362           remove gst_buffer_free, use gst_data_unref
11363         * gst/gstdata.c: (gst_data_get_type):
11364           use refcounting in GstData GBoxed registration
11365         * gst/gstdata.h:
11366           remove gst_data_free, use gst_data_unref
11367
11368 2004-02-27  Johan Dahlin  <johan@gnome.org>
11369
11370         * gst/gstdata.c (gst_data_get_type): New function, register
11371         GstData as a GBoxed type.
11372
11373         * gst/gstdata.h (GST_TYPE_DATA): New macro
11374
11375 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11376
11377         * Makefile.am:
11378         * gstreamer.spec.in:
11379           put back RELEASE
11380         * gst/Makefile.am:
11381           clean up non-disting of built files
11382         * testsuite/debug/commandline.c:
11383           test fix for option rename
11384
11385 2004-02-26  David Schleef  <ds@schleef.org>
11386
11387         * configure.ac:  We don't really need glib-2.3.  Also remove
11388         some unneeded checks for library functions.
11389         * gst/Makefile.am:  Instead, we need to not dist files created
11390         by glib-genmarshal.
11391
11392 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11393
11394         * configure.ac:
11395           bump glib required version to 2.3.0 for g_value_takes_boxed
11396
11397  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11398
11399         * common/m4/gst-docs.m4
11400         change flavour text from enable to disable as enable is our default
11401         closes bug Bug 135304
11402
11403 === release 0.7.5 ===
11404  
11405  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11406  
11407         * NEWS:
11408           instate NEWS file
11409         * Makefile.am:
11410         * gstreamer.spec.in:
11411         * RELEASE:
11412           put back release
11413         * configure.ac:
11414         * docs/random/release:
11415           more updates
11416
11417 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * gst/gsttag.c: (_gst_tag_initialize):
11420         * po/fr.po:
11421         * po/nl.po:
11422           remove hyphen from codec tags
11423
11424 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * gst/parse/Makefile.am:
11427           fix dependency so that a make from a clean build works the first
11428           time
11429
11430 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * docs/random/release:
11433           update release strategy
11434         * po/fr.po:
11435           auto-update po file
11436         * po/nl.po:
11437           update dutch translation
11438
11439 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11440
11441         * docs/manual/debugging.xml:
11442         fix manual for new debugging system
11443
11444 2004-02-25  Andy Wingo  <wingo@pobox.com>
11445
11446         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11447         gst_pad_link_prepare. Please email the list with specific reasons
11448         for reverting.
11449
11450 2004-02-24  Andy Wingo  <wingo@pobox.com>
11451
11452         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11453         invocations.
11454
11455         * gst/schedulers/gstoptimalscheduler.c:
11456         I added a mess of prototypes at the top of the file by way of
11457         documentation. Some of the operations on chains and groups were
11458         re-organized.
11459
11460         (create_group): Added a type argument so if the group is enabled,
11461         the setup_group_scheduler knows what to do.
11462         (group_elements): Added a type argument here, too, to be passed on
11463         to create_group.
11464         (group_element_set_enabled): If an unlinked PLAYING element is
11465         added to a bin, we have to create a new group to hold the element,
11466         and this function will be called before the group is added to the
11467         chain. Thus we have a valid case for group->chain==NULL. Instead
11468         of calling chain_group_set_enabled, just set the flag on the group
11469         (the chain's status will be set when the group is added to it).
11470         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11471         Setup the group scheduler when the group is enabled, not
11472         specifically when an element goes PAUSED->PLAYING. This means
11473         PLAYING elements can be added, linked, and scheduled into a
11474         PLAYING pipeline, as was intended.
11475         (add_to_group): Don't ref the group twice. I don't know when this
11476         double-ref got in here. Removing it has the potential to cause
11477         segfaults if other parts of the scheduler are buggy. If you find
11478         that the scheduler is segfaulting for you, put in an extra ref
11479         here and see if that hacks over the underlying issue. Of course,
11480         then find out what code is unreffing a group it doesn't own...
11481         (create_group): Make the extra refcount floating, and remove it
11482         after adding the element. This means that...
11483         (unref_group): Destroy when the refcount reaches 0, not 1, like
11484         every other refcounted object in the known universe.
11485         (remove_from_group): When a group becomes empty, set it to be not
11486         active, and remove it from its chain. Don't unref it again,
11487         there's no floating reference any more.
11488         (destroy_group): We have to remove the group from the chain in
11489         remove_from_group (rather than here) to break refcounting cycles
11490         (the chain always has a ref on the group). So assert that
11491         group->chain==NULL.
11492         (ref_group_by_count): Removed, it was commented out anyway.
11493         (merge_chains): Use the remove_from_chain and add_to_chain
11494         primitives to do the reparenting, instead of rolling our own
11495         implementation.
11496         (add_to_chain): The first non-disabled group in the chain's group
11497         list will be the entry point for the chain. Because buffers can
11498         accumulate in loop elements' peer bufpens, we preferentially
11499         schedule loop groups before get groups to avoid unnecessary
11500         execution of get-based groups when the bufpens are already full.
11501         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11502         (get_group_schedule_function): Ditto.
11503         (loop_group_schedule_function): Ditto.
11504         (gst_opt_scheduler_loop_wrapper): Ditto.
11505         (gst_opt_scheduler_iterate): Ditto.
11506
11507         I understand the opt scheduler now, yippee!
11508
11509         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11510         (gst_pad_get_name, gst_pad_set_chain_function) 
11511         (gst_pad_set_get_function, gst_pad_set_event_function) 
11512         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11513         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11514         (gst_pad_set_query_function, gst_pad_get_query_types) 
11515         (gst_pad_get_query_types_default) 
11516         (gst_pad_set_internal_link_function) 
11517         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11518         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11519         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11520         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11521         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11522         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11523         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11524         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11525         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11526         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11527         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11528         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11529         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11530         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11531         argument checks, and some doc fixes.
11532
11533         (gst_pad_custom_new_from_template): Um, does anyone
11534         use these functions? Actually make a custom pad instead of a
11535         normal one.
11536         (gst_pad_try_set_caps): Transpose some checks.
11537         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11538         the pad is in negotiation.
11539         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11540         
11541         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11542
11543         * gst/gstelement.h: 
11544         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11545         on the list.
11546
11547 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11548
11549         * gst/gstbin.c: (gst_bin_add):
11550           add error for not being able to add elements
11551
11552 2004-02-22  Julien MOUTTE <julien@moutte.net>
11553
11554         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11555         audio-codec and video-codec.
11556
11557 2004-02-22  Benjamin Otte  <otte@gnome.org>
11558
11559         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11560
11561         * autogen.sh:
11562           replace test -e with test -x for mkinstalldirs to be more portable.
11563           (fixes #134816)
11564
11565 2004-02-22  Benjamin Otte  <otte@gnome.org>
11566
11567         * gst/gstpad.c:
11568           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11569           too noisy
11570         * gst/gsttag.c: (_gst_tag_initialize):
11571         * gst/gsttag.h:
11572           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11573         * libs/gst/control/dparam.c: (gst_dparam_attach):
11574         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11575           check that types for attached dparams match
11576
11577 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11578
11579         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11580         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11581         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11582           fix errors
11583
11584 2004-02-20  Andy Wingo  <wingo@pobox.com>
11585
11586         * gst/gstbin.c:
11587         * gst/gstbuffer.c:
11588         * gst/gstplugin.c:
11589         * gst/registries/gstxmlregistry.c: 
11590         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11591
11592         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11593         (gst_element_add_pad): DEBUG->INFO, some fixes.
11594         (gst_element_get_compatible_pad_template): Just see if the
11595         templates' caps intersect, not if one is a strict subset of the
11596         other. This conforms more to what gst_pad_link_intersect() does.
11597         (gst_element_class_add_pad_template): Don't memcpy the pad
11598         template, just ref it.
11599         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11600
11601         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11602         (gst_pad_link_filtered): Debug changes.
11603         (gst_pad_link_prepare): New function, consolidated from
11604         can_link_filtered and link_filtered.
11605
11606         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11607         look more like that of the functions in gstelement.c
11608
11609         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11610         object, and return the empty string if object is NULL.
11611
11612         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11613         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11614         LOG, not DEBUG. We still get flex info on debug.
11615
11616         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11617         debug string more verbose.
11618         (plugin_times_older_than): DEBUG->LOG.
11619
11620 2004-02-20  Julien MOUTTE <julien@moutte.net>
11621
11622         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11623         will emit found_tag for each stream they demux with the codec.
11624
11625 2004-02-20  Benjamin Otte  <otte@gnome.org>
11626
11627         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11628           copy navigation event correctly. Check freeing tag lists. 
11629         * gst/gstthread.c: (gst_thread_change_state):
11630           don't abort() on state changing mess - it might happen because of
11631           bugs.
11632         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11633           use boxed functions
11634         * gst/gstvalue.h:
11635           fix GST_VALUE_HOLDS_CAPS
11636
11637 2004-02-19  David Schleef  <ds@schleef.org>
11638
11639         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11640         and use it for GST_FUNCTION.  (bug #134750)
11641
11642 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * po/fr.po:
11645         * po/nl.po:
11646           updating translations
11647
11648 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11649
11650         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11651
11652 2004-02-18  kost@imn.htwk-leipzig.de
11653
11654         reviewed by: David Schleef  <ds@schleef.org>
11655
11656         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11657         for libgstcontrol.
11658
11659 2004-02-18  David Schleef  <ds@schleef.org>
11660
11661         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11662         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11663         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11664         * tools/gst-inspect.c: (print_element_info): Support dumping of
11665         double dparam information.
11666
11667 2004-02-17  David Schleef  <ds@schleef.org>
11668
11669         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11670         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11671         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11672         Use GST_TYPE_CAPS in signal prototype.
11673         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11674         Convert GST_TYPE_CAPS to boxed.
11675         * gst/gstelement.c: (gst_element_class_init):
11676         Use GST_TYPE_TAG_LIST in signal prototype.
11677         * gst/gstindex.c: (gst_index_class_init):
11678         * gst/gstindex.h:
11679         Add GST_TYPE_INDEX_ENTRY type.
11680         * gst/gstmarshal.list:
11681         Add necessary marshal types.
11682         * gst/gstpad.c: (gst_real_pad_class_init),
11683         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11684         (gst_pad_recover_caps_error):
11685         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11686         * gst/gststructure.c: (_gst_structure_initialize),
11687         (gst_structure_copy), (_gst_structure_copy_conditional):
11688         * gst/gststructure.h:
11689         Convert GST_TYPE_STRUCTURE to boxed.
11690         * gst/gsttag.c: (gst_tag_list_get_type):
11691         * gst/gsttag.h:
11692         Add GST_TYPE_TAG_LIST type.
11693
11694 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11695
11696         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11697         to what we agreed with david.
11698         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11699
11700 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11701
11702         * po/nl.po: update translation
11703
11704 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11705
11706         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11707           throw an error if spider is trying to play a mime type there is
11708           no decoder for
11709         * po/POTFILES.in:
11710           add gst/autoplug/gstspider.c for translation
11711
11712 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11713
11714         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11715         silently when the pad is negotiating.
11716
11717 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11718
11719         * docs/faq/Makefile.am:
11720           add script to run gstreamer uninstalled 
11721         * docs/faq/faq.xml:
11722         * docs/faq/developing.xml:
11723         * docs/faq/gst-uninstalled:
11724           extract script to run gstreamer uninstalled
11725         * docs/manuals.mak:
11726           add EXTRA_SOURCES variable for Makefile.am's to set to
11727           use additional SOURCE files for the doc build
11728
11729 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11730
11731         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11732
11733 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11734
11735         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11736         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11737         an error was thrown by osssink. Basically a state change failure for
11738         an element in a different scheduling group was considered as
11739         successful, which means that caps nego was going on and weird stuff
11740         happened. Like I wrote in the comment there, if someone wants to
11741         revert that please drop me a mail explaining why because I really see
11742         no point in keeping that broken behaviour there.
11743         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11744         be empty, we then return NULL which will trigger a nice error when 
11745         pulling from the pad.
11746
11747 2004-02-13  David Schleef  <ds@schleef.org>
11748
11749         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11750         (gst_dparam_get_property), (gst_dparam_set_property),
11751         (gst_dparam_do_update_default):
11752         * libs/gst/control/dparam.h:
11753         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11754         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11755         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11756         (gst_dpsmooth_do_update_double):
11757         * libs/gst/control/dparam_smooth.h:
11758         * libs/gst/control/dparammanager.c:
11759         (gst_dpman_inline_direct_update):
11760         Add support for double dparams.
11761
11762 2004-02-13  David Schleef  <ds@schleef.org>
11763
11764         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11765         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11766
11767 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11768
11769         reviewed by: David Schleef  <ds@schleef.org>
11770
11771         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11772         (gst_fdsrc_init), (gst_fdsrc_set_property),
11773         (gst_fdsrc_get_property), (gst_fdsrc_get):
11774         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11775         and sends an EOS event if file descriptor reading times out.
11776
11777 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * configure.ac:
11780           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11781
11782 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * configure.ac: pass required libxml version as argument
11785         (bug reported by Christophe Fergeau)
11786
11787 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11788   
11789         * docs/gst/gstreamer-docs.sgml:
11790         * docs/gst/tmpl/gstxml.sgml:
11791         * docs/libs/gstreamer-libs-docs.sgml:
11792           version API docs
11793
11794 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11795
11796         * gst/gstinfo.c:
11797         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11798         (gst_registry_pool_feature_filter):
11799         * gst/gstthread.c: (gst_thread_class_init):
11800         * gst/gstvalue.c:
11801           add includes exposed by building without libxml
11802         * gst/indexers/Makefile.am:
11803           do not build fileindex when LOADSAVE disabled; we should have
11804           a better libxml check later since fileindex depends on xml, not
11805           LOADSAVE or REGISTRY
11806         * libs/gst/control/Makefile.am:
11807           link with m
11808         * tools/Makefile.am:
11809           fix wrong source code for gst-xmlinspect
11810
11811 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11812
11813         * configure.ac:
11814           fix gcov help output
11815           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11816         * docs/random/release:
11817           some updated releasing notes
11818         * gstreamer.spec.in:
11819           more updates
11820
11821 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11822
11823         * docs/faq/faq.xml:
11824         * docs/manual/manual.xml:
11825         * docs/pwg/pwg.xml:
11826         * docs/pwg/titlepage.xml:
11827           put version in documentation
11828
11829 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11830
11831         * tools/Makefile.am: fix man page installation
11832
11833 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11834
11835         * configure.ac:
11836           don't check for libxml when load/save and registry disabled (#105844)
11837         * gstreamer.spec.in:
11838           sync with fedora candidate spec
11839
11840 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11841
11842         * po/fr.po:
11843         * po/nl.po:
11844           replace multidisksrc with multifilesrc
11845
11846 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11847
11848         * po/POTFILES.in:
11849           update to multidisksrc => multifilesrc file renaming (#134145)
11850
11851 2004-02-11  David Schleef  <ds@schleef.org>
11852
11853         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11854         * docs/gst/tmpl/gstpadtemplate.sgml: same
11855         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11856         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11857         fixing dance.
11858         * gst/gstutils.c: Remove disabled code that uses GstProps.
11859         * gst/registries/gstxmlregistry.h: same
11860         * docs/random/ds/0.9-suggested-changes: random notes
11861
11862 2004-02-11  kost@imn.htwk-leipzig.de
11863
11864         reviewed by: David Schleef  <ds@schleef.org>
11865
11866         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11867         initialisation of clock (bug #134128)
11868
11869 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * configure.ac:
11872         * gst/elements/Makefile.am:
11873         * gst/elements/gstelements.c:
11874         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11875         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11876         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11877         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11878         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11879         * gst/elements/gstmultifilesrc.h:
11880           rename multidisksrc to multifilesrc (part of #122200)
11881
11882 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11883
11884         * docs/manuals.mak:
11885           fix automake complaints
11886         * gst-element-check.m4:
11887           fix unquotedness
11888
11889 2004-02-11  David Schleef  <ds@schleef.org>
11890
11891         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11892         * gst/gstatomic_impl.h: Disable sparc implementation.
11893
11894 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11895
11896         * gst-element-check.m4:
11897           fix underquoted macros as reported by automake 1.8.x (#133800)
11898         * configure.ac:
11899           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11900           by autopoint (fixes #132996)
11901
11902 2004-02-10  Andy Wingo  <wingo@pobox.com>
11903
11904         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11905         way to do inheritance.
11906         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11907         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11908         Routine docs.
11909         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11910         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11911         doc.
11912         (gst_pad_unlink, gst_pad_is_linked): Docs.
11913         (gst_pad_renegotiate): A brief description of capsnego.
11914         (gst_pad_try_set_caps): Document.
11915         (gst_pad_try_set_caps_nonfixed): Document.
11916         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11917         (gst_pad_set_parent): Deprecated (although not out of the API).
11918         (gst_pad_get_parent): Deprecated, although many plugins use this.
11919         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11920         are private and will go away in 0.9.
11921         (gst_pad_perform_negotiate): Doc.
11922         (gst_pad_link_unnegotiate): I think this is meant to be static.
11923         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11924         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11925         (gst_pad_get_peer): Doc updates.
11926         (gst_pad_caps_change_notify): Doc.
11927         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11928         (gst_ghost_pad_new): Doc fixes.
11929
11930         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11931         (gst_object_check_uniqueness): 
11932
11933         * gst/gstelement.c (gst_element_add_pad) 
11934         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11935         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11936         (gst_element_get_static_pad, gst_element_get_pad_list) 
11937         (gst_element_class_get_pad_template_list) 
11938         (gst_element_class_get_pad_template): Work on the docs.
11939         (gst_element_get_pad_template_list): Uses the class method.
11940         (gst_element_get_compatible_pad_template): Docs, and consolidate
11941         some test conditions. 
11942         (gst_element_get_pad_from_template): New static function.
11943         (gst_element_request_compatible_pad): Docs, and work with
11944         non-request compatible templates. 
11945         (gst_element_get_compatible_pad_filtered): Docs and remove
11946         redundant checks.
11947         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11948         (gst_element_link_filtered, gst_element_link_many) 
11949         (gst_element_link, gst_element_link_pads) 
11950         (gst_element_unlink_many): Docs.
11951
11952 2004-02-05  Andy Wingo  <wingo@pobox.com>
11953
11954         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11955         s/pointer/boxed/.
11956
11957         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11958
11959         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11960         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11961         with the type=GST_TYPE_CAPS. This allows language bindings to know
11962         what kind of data they're dealing with.
11963
11964         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11965         to NULL when g_value_init is called. GstCaps, which rolls its own
11966         type implementation, now does the same instead of allocating empty
11967         caps.
11968         (_gst_caps_initialize, _gst_caps_collect_value,
11969         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11970         table methods. This allows G_VALUE_COLLECT to work.
11971
11972 2004-02-05  Andy Wingo  <wingo@pobox.com>
11973
11974         * configure.ac:
11975         * testsuite/Makefile.am (SUBDIRS): 
11976         * testsuite/ghostpads/Makefile.am: 
11977         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11978
11979         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11980         These two routines are the only ones that set
11981         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11982         pad template. They should be made static, depending on ABI needs.
11983         (gst_real_pad_dispose): Handle the case of ghost pads without a
11984         parent. Assert after dealing with ghost pads that the ghost pad
11985         list is empty.
11986         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11987         set after creation.
11988         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11989         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11990         functions. set_property will call add_ghost_pad/remove_ghost_pad
11991         as appropriate.
11992         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11993
11994         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11995         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11996         (gst_element_remove_pad): Handle ghost pads as well.
11997         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11998         depending on API-stability needs).
11999
12000 2004-02-05  Andy Wingo  <wingo@pobox.com>
12001
12002         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12003         of course they're const
12004
12005 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12006
12007         * tools/Makefile.am:
12008         * tools/gst-feedback:
12009         * tools/gst-feedback-0.7:
12010           make gst-feedback versioned too for consistency
12011
12012 2004-02-11  David Schleef  <ds@schleef.org>
12013
12014         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12015         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12016
12017 2004-02-10  Julien MOUTTE <julien@moutte.net>
12018
12019         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12020         the structure does not contain a valid tag list. Adding a safety check
12021         to remove a noisy warning in that case.
12022
12023 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12024
12025         * gst/gst.c: fix name to be in line with others
12026
12027 2004-02-09  Julien MOUTTE <julien@moutte.net>
12028
12029         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12030         not shout that loud when len is 0. Just return 0 silently.
12031
12032 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12033
12034         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12035         because data_unref has one and I prefer the debug to be symetric.
12036         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12037         were refed when added to the queue and unrefed only once when the queue
12038         was flushed. Now the flush handler unref the buffers two times : first
12039         unref for the ref added when pushing in the queue's tail and second
12040         unref to destroy the flushed buffer.
12041
12042 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12043
12044         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12045
12046 2004-02-06  David Schleef  <ds@schleef.org>
12047
12048         * docs/random/ds/0.9-suggested-changes: Random ramblings
12049         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12050         to int before printing.
12051         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12052         * gst/parse/parse.l: same.  See bug #129600
12053
12054 2004-02-06  David Schleef  <ds@schleef.org>
12055
12056         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12057         (gst_index_add_entry), (gst_index_add_associationv),
12058         (gst_index_add_association): Add gst_index_add_associationv()
12059         and clean up gst_index_add_association(). #127133
12060
12061 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12062
12063         * autogen.sh: check out common with right tag if CVS/Tag exists
12064
12065 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12066
12067         * testsuite/ghostpads/ghostpads.c: (main):
12068           fix testsuite from segfaulting
12069
12070 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * Makefile.am: add release target
12073         * configure.ac: bump nano to 1
12074         * docs/random/release:
12075
12076 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12077
12078         * gst/gstcaps.h:
12079         * gst/gstelement.c: (gst_element_base_class_init),
12080         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12081         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12082         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12083         (gst_real_pad_dispose):
12084         * gst/gststructure.c: (gst_structure_free),
12085         (gst_structure_from_string):
12086           put reverted patch back in
12087         * gst/gstelement.c: (gst_element_remove_pad):
12088           free explicit caps if they're set
12089         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12090           copy the structure when fixating
12091
12092 2004-02-05  David Schleef  <ds@schleef.org>
12093
12094         * gst/gstmarshal.list:
12095         * gst/gstpad.c: (gst_real_pad_class_init),
12096         (_gst_real_pad_fixate_accumulator):
12097         Revert POINTER->BOXED change in signal marshaller.
12098
12099 === release 0.7.4 ===
12100                                                                                 
12101 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12102                                                                                 
12103         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12104         * configure.ac: changed for release
12105
12106 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12107
12108         * gstreamer.spec.in:
12109           bump required version of gtk-doc
12110
12111 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12112
12113         * gst/gstcaps.h:
12114         * gst/gstelement.c: (gst_element_base_class_init),
12115         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12116         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12117         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12118         (gst_real_pad_dispose):
12119         * gst/gststructure.c: (gst_structure_free),
12120         (gst_structure_from_string):
12121           revert patch that breaks applications, reapply after release
12122           to get this fixed properly
12123
12124 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12125
12126         * gst/gsttag.c: (_gst_tag_initialize):
12127         * gst/gsttag.h:
12128           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12129
12130 2004-02-04  David Schleef  <ds@schleef.org>
12131
12132         Fix some memleaks:
12133         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12134         (gst_spider_plug_from_srcpad):
12135         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12136
12137 2004-02-04  David Schleef  <ds@schleef.org>
12138
12139         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12140         a GstRealPad before accessing its structure members.
12141
12142 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12143
12144         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12145         (gst_clock_get_speed):
12146         * gst/gstclock.h:
12147           reset padding, remove unused fields
12148
12149 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12150
12151         * gst/autoplug/gstspideridentity.c:
12152         (gst_spider_identity_sink_loop_type_finding):
12153           use get_allowed_caps, not get_caps (fixes #132519)
12154         * gst/elements/gsttypefind.c: (stop_typefinding):
12155           use correct order when sending buffers and seeking
12156
12157 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12158
12159         * configure.ac:
12160         * gst/gstelement.h:
12161         * gst/gstpad.h:
12162         * gst/gstqueue.h:
12163           upgrade libtool CURRENT, reset padding
12164
12165 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12166
12167         * configure.ac:
12168           bump to prerelease
12169           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12170
12171 2004-02-04  David Schleef  <ds@schleef.org>
12172
12173         * docs/random/ds/0.9-suggested-changes: random notes
12174         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12175         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12176         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12177         expansion.
12178         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12179         (gst_filesink_get_query_types): same
12180         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12181         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12182         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12183         to use new GST_PTR_FORMAT.
12184         * gst/gstelement.h: deprecate function factory macros
12185         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12186         These are our last variadic macros that can't be replaced with
12187         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12188         attempting to deprecate gst_element_clock_wait().
12189         * gst/gstevent.h: same
12190         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12191         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12192         * gst/gstpad.h: deprecate function factory macros similar to above.
12193
12194 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12195
12196         * configure.ac:
12197         * tools/Makefile.am:
12198         * tools/gst-run.c: (popt_callback), (hash_print_key),
12199         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12200         (get_candidates), (main):
12201           add new source file to generate non-versioned wrapper binaries
12202           for our tools.
12203
12204 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12205
12206         * gst/gstevent.c: (_gst_event_free):
12207           actually break; inside the switch statement
12208         * gst/parse/grammar.y:
12209           fix memleak where GValues weren't unset
12210
12211 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12212
12213         * gst/gststructure.c: (gst_structure_from_string):
12214           fix huge memleak
12215         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12216         (new_entry), (gst_type_find_element_chain):
12217         * gst/gstelement.c: (gst_element_base_class_init),
12218         (gst_element_class_set_details):
12219         * gst/gstpad.c: (gst_pad_can_link_filtered):
12220           fix smaller memleaks
12221         * gst/gstpad.c: (gst_real_pad_dispose):
12222           check that explicit caps are gone
12223         * gst/gststructure.c: (gst_structure_free):
12224           actually free the structure
12225         * gst/gstelement.c: (gst_element_clear_pad_caps):
12226           unset explicit caps
12227
12228 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12229
12230         * tools/Makefile.am:
12231           use AM_CFLAGS since all the CFLAGS are the same
12232           use AM_LDFAGS
12233
12234 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12235
12236         * docs/manual/gnome.xml:
12237           expand example a little
12238         * gst/gst.c: (gst_init_with_popt_table),
12239         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12240           make sure popt option displays are done with right textdomain
12241           use GstPoptOption type
12242         * gst/gst.h:
12243           create GstPoptOption type
12244
12245 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12246
12247         * gst/gsterror.c: (_gst_stream_errors_init):
12248         * gst/gsterror.h:
12249           adding error type for no codec
12250         * po/POTFILES.in:
12251           add gst-inspect
12252         * po/nl.po:
12253           update dutch translation
12254         * tools/gst-inspect.c: (print_element_list), (main):
12255           do proper internationalization
12256         * tools/gst-launch.c: (idle_func):
12257           remove commented out function call
12258
12259 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12260
12261         * docs/README:
12262           add some error fixing notes
12263         * docs/gst/gstreamer-sections.txt:
12264           remove double entries
12265         * docs/gst/tmpl/gstbin.sgml:
12266         * docs/gst/tmpl/gstclock.sgml:
12267           remove override
12268         * docs/gst/tmpl/gstelement.sgml:
12269         * docs/gst/tmpl/gstindex.sgml:
12270         * docs/gst/tmpl/gstobject.sgml:
12271         * docs/gst/tmpl/gstpadtemplate.sgml:
12272         * docs/gst/tmpl/gstreamer-unused.sgml:
12273         * docs/gst/tmpl/gsttag.sgml:
12274         * docs/gst/tmpl/gstthread.sgml:
12275         * docs/gst/tmpl/gstxml.sgml:
12276         * gst/gsttag.h:
12277           sync header prototypes with c decls
12278         * gst/gsttaginterface.c:
12279           fix doc headers
12280
12281 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12282
12283         * gst/parse/Makefile.am:
12284         * gst/gstobject.h:
12285           get rid of gstmarshal.h dependency. It's not needed.
12286         * gst/gst.h:
12287         * gst/elements/gstfakesink.c:
12288         * gst/elements/gstfakesrc.c:
12289         * gst/elements/gstidentity.c:
12290         * gst/gstbin.c:
12291         * gst/gstelement.c:
12292         * gst/gstindex.c:
12293         * gst/gstobject.c:
12294         * gst/gstpad.c:
12295         * gst/gstthread.c:
12296         * gst/gstxml.c:
12297         * libs/gst/control/dparam.c:
12298         * libs/gst/control/dparammanager.c:
12299           include gstmarshal.h.
12300         Fixes #132045
12301
12302 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12303
12304         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12305         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12306         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12307         * gst/elements/gstfilesrc.h:
12308           don't ref the filesrc when creating mmaped buffers. Don't keep a
12309           list of not-yet-destroyed buffers.
12310         * gst/gstbuffer.h:
12311           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12312
12313 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12314
12315         * gst/gst.c: (init_pre):
12316           remove textdomain
12317
12318 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12319
12320         * docs/pwg/advanced-events.xml:
12321         * docs/pwg/advanced-scheduling.xml:
12322         * docs/pwg/intro-basics.xml:
12323         * docs/pwg/other-manager.xml:
12324         * docs/pwg/other-nton.xml:
12325         * docs/pwg/other-ntoone.xml:
12326         * docs/pwg/other-oneton.xml:
12327         * docs/pwg/pwg.xml:
12328           All sort of documentation... Forgot what. Point is that I want this
12329           in before I leave. The 'other-*' will be the last section and will
12330           explain issues specific to these type of elements.
12331
12332 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12333
12334         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12335         (gst_filesrc_get_read):
12336           set all the values on buffers that we can
12337
12338 2004-02-02  David Schleef  <ds@schleef.org>
12339
12340         Change usage of isblah() to g_ascii_isblah() to be more locale
12341         independent.  (#133076)
12342         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12343         * gst/gstutils.c:
12344         * gst/parse/parse.l:
12345
12346 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12347
12348         reviewed by: David Schleef  <ds@schleef.org>
12349
12350         Fix memory leaks:
12351         * gst/gstcaps.c: (gst_caps_to_string):
12352         * gst/registries/gstxmlregistry.c:
12353         (gst_xml_registry_add_path_list_func),
12354         (gst_xml_registry_parse_padtemplate):
12355
12356 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * gst/gstelement.c: (gst_element_default_error):
12359           suffix error messages with period
12360
12361 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12362
12363         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12364         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12365         * gst/gsterror.c: (gst_error_get_message):
12366           Suffix with dots
12367         * po/fr.po:
12368         * po/nl.po:
12369           Update translation files
12370
12371 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12372
12373         * gst/autoplug/gstspideridentity.c:
12374         (gst_spider_identity_sink_loop_type_finding):
12375         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12376         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12377         (gst_filesink_close_file), (gst_filesink_handle_event),
12378         (gst_filesink_chain):
12379         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12380         (gst_filesrc_get_read), (gst_filesrc_open_file):
12381         * gst/elements/gstidentity.c: (gst_identity_chain):
12382         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12383         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12384         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12385         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12386         * gst/gsterror.c: (_gst_core_errors_init),
12387         (_gst_library_errors_init), (_gst_resource_errors_init),
12388         (_gst_stream_errors_init), (gst_error_get_message):
12389         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12390         (gst_pad_recover_caps_error), (gst_pad_pull):
12391         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12392         * gst/schedulers/gstbasicscheduler.c:
12393         (gst_basic_scheduler_chainhandler_proxy),
12394         (gst_basic_scheduler_gethandler_proxy),
12395         (gst_basic_scheduler_cothreaded_chain):
12396           Suffix error messages with period.
12397           Use (NULL) instead of NULL
12398
12399 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12400
12401         * docs/gst/tmpl/gstelement.sgml:
12402         * docs/gst/tmpl/gstxml.sgml:
12403         * gst/gstelement.c: (gst_element_error_full):
12404           add element path to error
12405
12406 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12407
12408         * docs/random/mimetypes:
12409           update raw int/float info
12410         * gst/gsttag.c: (_gst_tag_initialize):
12411         * gst/gsttag.h:
12412           add GST_TAG_ENCODER
12413
12414 2004-01-30  David Schleef  <ds@schleef.org>
12415
12416         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12417           missing (#132991)
12418
12419 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12420
12421         reviewed by Benjamin Otte 
12422           parts of the patch submitted in bug #113913
12423
12424         * configure.ac:
12425           use AC_C_INLINE. Use = instead of == with test
12426         * examples/plugins/example.c:
12427         * gst/autoplug/gstspideridentity.c:
12428         * gst/elements/gstfdsrc.c:
12429         * gst/elements/gstfilesrc.c:
12430         * gst/elements/gstidentity.c:
12431         * gst/elements/gstmultidisksrc.c:
12432         * gst/elements/gststatistics.c:
12433         * gst/gstelement.c:
12434         * gst/gstobject.c:
12435         * gst/gstpad.c:
12436         * gst/gstpipeline.c:
12437         * gst/gstthread.c:
12438           don't end enums with a comma
12439         * gst/gstindex.c: (gst_index_compare_func):
12440           do explicit casting to gint
12441         * gst/gsttrace.c: (gst_trace_text_flush):
12442           #define strsize as a macro
12443
12444 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12445
12446         * docs/README:
12447         * docs/gst/gstreamer-docs.sgml:
12448         * docs/gst/gstreamer-sections.txt:
12449         * docs/gst/tmpl/gstelement.sgml:
12450         * docs/gst/tmpl/gsterror.sgml:
12451         * docs/gst/tmpl/gstinterface.sgml:
12452         * docs/gst/tmpl/gstreamer-unused.sgml:
12453         * docs/gst/tmpl/gststructure.sgml:
12454         * docs/gst/tmpl/gsttag.sgml:
12455         * docs/gst/tmpl/gsttaginterface.sgml:
12456         * docs/gst/tmpl/gstvalue.sgml:
12457         make sure all API ends up in the built docs
12458         * gst/gstinterface.c:
12459         * gst/gststructure.c: (gst_structure_id_set_value),
12460         (gst_structure_set_value), (gst_structure_id_get_value):
12461         * gst/gststructure.h:
12462         * gst/gstvalue.h:
12463         sync .h with .c declarations
12464
12465 2004-01-30  Julien Moutte  <julien@moutte.net>
12466
12467         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12468         Ronald will fix riffread.
12469
12470 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12471
12472         * docs/pwg/advanced-interfaces.xml:
12473           Added tuner interface docs.
12474
12475 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12476
12477         * docs/random/mimetypes:
12478           correct Theora information
12479         * gst/gstelement.h:
12480           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12481
12482 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12483
12484         * gst/gstelement.c: (gst_element_error_full):
12485         * gst/gstelement.h:
12486           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12487
12488 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12489
12490         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12491         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12492         again and even before DISCONT.
12493         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12494         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12495         bytestream so that it's not stopping to fill the bytestream if events
12496         different than EOS or DISCONT are received. Instead it process them so
12497         that they go downstream.
12498
12499 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12500
12501         * docs/gst/tmpl/gstelement.sgml:
12502         * docs/gst/tmpl/gstreamer-unused.sgml:
12503         * docs/gst/tmpl/gstxml.sgml:
12504         * gst/autoplug/gstspideridentity.c:
12505         (gst_spider_identity_sink_loop_type_finding):
12506         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12507         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12508         (gst_filesink_close_file), (gst_filesink_handle_event),
12509         (gst_filesink_chain):
12510         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12511         (gst_filesrc_get_read), (gst_filesrc_open_file):
12512         * gst/elements/gstidentity.c: (gst_identity_chain):
12513         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12514         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12515         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12516         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12517         * gst/gstelement.h:
12518         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12519         (gst_pad_recover_caps_error), (gst_pad_pull):
12520         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12521         * gst/schedulers/gstbasicscheduler.c:
12522         (gst_basic_scheduler_chainhandler_proxy),
12523         (gst_basic_scheduler_gethandler_proxy),
12524         (gst_basic_scheduler_cothreaded_chain):
12525           gst_element_error -> GST_ELEMENT_ERROR
12526
12527 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12528
12529         * docs/Makefile.am:
12530         * docs/gst/tmpl/gstelement.sgml:
12531         * docs/gst/tmpl/gstxml.sgml:
12532         * docs/manuals.mak:
12533         * docs/pwg/advanced-request.xml:
12534         * docs/pwg/advanced-scheduling.xml:
12535         * docs/pwg/advanced-tagging.xml:
12536           fix non-validating docbook using CDATA
12537           make sure make check-local gets run first to check if it validates
12538
12539 2004-01-29  Julien MOUTTE <julien@moutte.net>
12540
12541         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12542         handling (up and downstream).
12543         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12544         my_filter thing.
12545
12546 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12547
12548         * docs/pwg/advanced-tagging.xml:
12549           Add docs about tag writing.
12550
12551 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12552
12553         * docs/pwg/advanced-tagging.xml:
12554           Add a part about tag reading and application signalling... Tag
12555           writing still needs to be documented.
12556         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12557           We can set file locations in READY, too.
12558
12559 2004-01-29  Julien MOUTTE <julien@moutte.net>
12560
12561         * docs/random/ds/element-checklist: Adding some notes about src
12562         events.
12563
12564 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12565
12566         * docs/random/mimetypes:
12567           Update docs to point to correct elements for various mimetypes, and
12568           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12569           <stephane.loeuillet@tiscali.fr>.
12570
12571 2004-01-28  David Schleef  <ds@schleef.org>
12572
12573         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12574
12575 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12576
12577         * docs/random/mimetypes:
12578           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12579           undefined"
12580         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12581           make it only work in NULL.
12582         * gst/gstcaps.c:
12583           don't posion NULL caps
12584         * gst/gstelement.c: (gst_element_set_time):
12585           add debugging statement
12586         * gst/gstelement.c: (gst_element_emit_found_tag),
12587         (gst_element_found_tag_func), (gst_element_found_tags):
12588         * gst/gstelement.h:
12589           These functions take const taglists
12590         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12591           fix memleak
12592         * gst/gstpad.c: (gst_pad_event_default):
12593           make more effort on handling discont and clocks, g_warn if everything
12594           fails
12595         * gst/gststructure.c: (gst_structure_remove_fields),
12596         (gst_structure_remove_fields_valist):
12597         * gst/gststructure.h:
12598           add gst_structure_remove_fields(_valist)
12599         * gst/gsttag.c:
12600           fix doc glitch
12601
12602 2004-01-28  David Schleef  <ds@schleef.org>
12603
12604         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12605         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12606         Fix memory leakage of gst_caps_to_string().
12607
12608         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12609         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12610         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12611         (gst_spider_identity_sink_loop_type_finding):
12612         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12613         (find_suggest):
12614         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12615         (gst_pad_set_explicit_caps):
12616         * gst/parse/grammar.y:
12617
12618 2004-01-28  David Schleef  <ds@schleef.org>
12619
12620         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12621         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12622         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12623         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12624         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12625         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12626         (gst_debug_log_default), (_gst_info_printf_extension),
12627         (_gst_info_printf_extension_arginfo):  Add printf extension.
12628         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12629         * gst/gststructure.c: (gst_structure_to_string),
12630         (_gst_structure_parse_value): Use gst_value_deserialize() and
12631         remove old code.
12632         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12633         (gst_value_deserialize_boolean), (gst_strtoi),
12634         (gst_value_deserialize_int), (gst_value_deserialize_double),
12635         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12636         a bunch of deserialize functions and gst_value_deserialize.
12637         * gst/gstvalue.h: er, _de_serialize, not unserialize
12638         * testsuite/caps/string-conversions.c: (main): We don't currently
12639         handle (float) in caps, so convert these to (double).
12640         * testsuite/debug/Makefile.am: Add new test for the printf extension
12641         * testsuite/debug/printf_extension.c: (main): same
12642
12643 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12644
12645         * docs/random/company/time:
12646           Add some docs about clocking and time
12647
12648 2004-01-28  Julien MOUTTE <julien@moutte.net>
12649
12650         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12651
12652 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12653
12654         * docs/pwg/advanced-clock.xml:
12655         * docs/pwg/advanced-dparams.xml:
12656         * docs/pwg/advanced-events.xml:
12657         * docs/pwg/advanced-interfaces.xml:
12658         * docs/pwg/advanced-midi.xml:
12659         * docs/pwg/advanced-request.xml:
12660         * docs/pwg/advanced-scheduling.xml:
12661         * docs/pwg/advanced-tagging.xml:
12662         * docs/pwg/advanced-types.xml:
12663         * docs/pwg/appendix-checklist.xml:
12664         * docs/pwg/building-boiler.xml:
12665         * docs/pwg/building-chainfn.xml:
12666         * docs/pwg/building-filterfactory.xml:
12667         * docs/pwg/building-pads.xml:
12668         * docs/pwg/building-props.xml:
12669         * docs/pwg/building-signals.xml:
12670         * docs/pwg/building-state.xml:
12671         * docs/pwg/building-testapp.xml:
12672         * docs/pwg/intro-basics.xml:
12673         * docs/pwg/intro-preface.xml:
12674         * docs/pwg/other-autoplugger.xml:
12675         * docs/pwg/other-sink.xml:
12676         * docs/pwg/other-source.xml:
12677         * docs/pwg/titlepage.xml:
12678           fix up id's
12679
12680 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12681
12682         * docs/95NonPath:
12683         * docs/HACKING:
12684         * docs/README:
12685         * docs/building-the-docs-on-debian:
12686           collect relevant bits of doc info
12687
12688 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12689
12690         * docs/pwg/advanced_tagging.xml:
12691           Half-assed commit so Thomas can re-arrange document IDs here to be
12692           consistent, too.
12693
12694 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12695
12696         * docs/manual/autoplugging.xml:
12697         * docs/manual/bins-api.xml:
12698         * docs/manual/bins.xml:
12699         * docs/manual/buffers-api.xml:
12700         * docs/manual/buffers.xml:
12701         * docs/manual/clocks.xml:
12702         * docs/manual/components.xml:
12703         * docs/manual/cothreads.xml:
12704         * docs/manual/debugging.xml:
12705         * docs/manual/dparams-app.xml:
12706         * docs/manual/dynamic.xml:
12707         * docs/manual/elements-api.xml:
12708         * docs/manual/elements.xml:
12709         * docs/manual/factories.xml:
12710         * docs/manual/gnome.xml:
12711         * docs/manual/goals.xml:
12712         * docs/manual/helloworld.xml:
12713         * docs/manual/helloworld2.xml:
12714         * docs/manual/init-api.xml:
12715         * docs/manual/intro.xml:
12716         * docs/manual/links-api.xml:
12717         * docs/manual/links.xml:
12718         * docs/manual/manual.xml:
12719         * docs/manual/motivation.xml:
12720         * docs/manual/pads-api.xml:
12721         * docs/manual/pads.xml:
12722         * docs/manual/plugins-api.xml:
12723         * docs/manual/plugins.xml:
12724         * docs/manual/programs.xml:
12725         * docs/manual/queues.xml:
12726         * docs/manual/quotes.xml:
12727         * docs/manual/schedulers.xml:
12728         * docs/manual/states-api.xml:
12729         * docs/manual/states.xml:
12730         * docs/manual/threads.xml:
12731         * docs/manual/typedetection.xml:
12732         * docs/manual/xml.xml:
12733           use chapter, part, section or misc as id starts for all bits
12734
12735 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12736
12737         * docs/gst/gstreamer-sections.txt:
12738           Fix up TITLE of the sections
12739
12740 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12741
12742         * docs/pwg/advanced_interfaces.xml:
12743           Add documentation on propertyprobing.
12744         * docs/pwg/advanced_events.xml:
12745         * docs/pwg/advanced_tagging.xml:
12746         * docs/pwg/building_boiler.xml:
12747         * docs/pwg/building_filterfactory.xml:
12748         * docs/pwg/pwg.xml:
12749           Move filterfactory and tagging into their own chapter, add a chapter
12750           on events. all these are empty placeholders that will be filled in
12751           some day.
12752
12753 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12754
12755         * docs/pwg/advanced_interfaces.xml:
12756           Docs for mixer interface. Also a check for website uploading.
12757
12758 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12759
12760         * docs/HACKING:
12761         * docs/Makefile.am:
12762         * docs/faq/Makefile.am:
12763         * docs/gst/Makefile.am:
12764         * docs/gst/tmpl/gstelement.sgml:
12765         * docs/gst/tmpl/gstplugin.sgml:
12766         * docs/gst/tmpl/gstreamer-unused.sgml:
12767         * docs/libs/Makefile.am:
12768         * docs/manual/Makefile.am:
12769         * docs/manuals.mak:
12770         * docs/pwg/Makefile.am:
12771         * docs/upload.mak:
12772           Separate out upload target and make it similar for
12773           both docbook and gtk-doc docs
12774
12775 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12776
12777         * docs/manuals.mak:
12778           Fix upload target to work with freedesktop
12779
12780 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12781
12782         * docs/pwg/advanced_types.xml:
12783           Add notes on creating your own types.
12784         * docs/pwg/building_boiler.xml:
12785         * docs/pwg/building_pads.xml:
12786         * docs/pwg/building_state.xml:
12787           Add some stuff about how to retrieve values from structures, how
12788           that relates to types and change layout slightly again to be almost
12789           perfect.
12790
12791 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12792
12793         * docs/pwg/advanced_dparams.xml:
12794         * docs/pwg/advanced_scheduling.xml:
12795           Change index layout slightly.
12796
12797 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12798
12799         * docs/pwg/advanced_clock.xml:
12800         * docs/pwg/advanced_interfaces.xml:
12801         * docs/pwg/advanced_midi.xml:
12802           General placeholders for now.
12803         * docs/pwg/advanced_request.xml:
12804           Explanation about sometimes and request pads.
12805         * docs/pwg/advanced_scheduling.xml:
12806           Concept of bytestream, loopfunctions and schedulers.
12807         * docs/pwg/building_boiler.xml:
12808           Add something about plugin-init.
12809
12810 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12811
12812         * docs/pwg/building_pads.xml:
12813           Fix broken docbook
12814
12815 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12816
12817         * docs/pwg/advanced_interfaces.xml:
12818         * docs/pwg/pwg.xml:
12819           Add as a placeholder for future filling-in.
12820         * docs/pwg/basics_autoplugging.xml:
12821         * docs/pwg/basics_buffers.xml:
12822         * docs/pwg/basics_elements.xml:
12823         * docs/pwg/basics_events.xml:
12824         * docs/pwg/basics_plugins.xml:
12825         * docs/pwg/basics_types.xml:
12826           Remove, because unused (this is all in intro_basics.xml).
12827         * docs/pwg/building_signals.xml:
12828           Short intro to signals + reference to GObject docs - we really
12829           shouldn't go into these sort of things to deply because we don't
12830           use them that extensively anyway.
12831         * docs/pwg/building_state.xml:
12832           Explanation of states. Benjamin, please check.
12833         * docs/pwg/building_testapp.xml:
12834           Put everything in one page - putting only a few lines of content
12835           per page doesn't really make sense.
12836
12837           Time to get into the advanced topics. ;).
12838
12839 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12840
12841         * docs/pwg/advanced_types.xml:
12842           Finish documenting the current state of mimetypes.
12843         * docs/pwg/building_boiler.xml:
12844         * docs/pwg/building_chainfn.xml:
12845         * docs/pwg/building_pads.xml:
12846         * docs/pwg/building_props.xml:
12847         * docs/pwg/building_testapp.xml:
12848           Start documenting the "how to build a simple audio filter" part
12849           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12850           states and (maybe?) a short introduction to capsnego in the chapter
12851           on pads (building_pads.xml). Capsnego should probably be explained
12852           fully in advanced_capsnego.xml or so.
12853
12854 2004-01-26  David Schleef  <ds@schleef.org>
12855
12856         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12857         * gst/gstpad.h: Add new function to allow element to (somewhat)
12858         specify non-fixed caps on a pad.
12859         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12860         that I added a few weeks ago.
12861
12862 2004-01-26  David Schleef  <ds@schleef.org>
12863
12864         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12865           making try_set_caps() work with non-fixed caps.
12866
12867 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12868
12869         * docs/pwg/advanced_types.xml:
12870         * docs/pwg/intro_basics.xml:
12871         * docs/pwg/intro_preface.xml:
12872         * docs/pwg/pwg.xml:
12873         * docs/pwg/titlepage.xml:
12874           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12875           in here (docs/random/mimetypes), and will from there on work on both
12876           updating outdated parts and adding missing parts.
12877           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12878
12879 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12880
12881         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12882           policy is set
12883
12884 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12885
12886         * gst/gstelement.h:
12887           remove gst_element_factory_get_version. It doesn't exist anymore.
12888         * gst/gstplugin.c:
12889         * gst/gstplugin.h:
12890           remove gst_plugin_set_name and change gst_plugin_get_longname to
12891           gst_plugin_get_description to match code.
12892         * gst/gsterror.h:
12893           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12894         * gst/gstpad.c: (gst_pad_try_set_caps):
12895           make it work with nonfixed caps.
12896           Note that even in the nonfixed case the link function of the pad
12897           that tries to set caps isn't called.
12898
12899 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12900
12901         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12902           fix bug where buffer was not assembled correctly
12903         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12904           silence by default
12905         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12906           only seek if there's no more buffers that could work without seeking
12907
12908 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12909
12910         * gst/gsttag.c: (_gst_tag_initialize):
12911         * gst/gsttag.h:
12912           Add application tag (for encoding/muxing app).
12913
12914 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12915
12916         * autogen.sh:
12917           make autopoint force, and libtoolize not copy
12918         * common/m4/as-docbook.m4:
12919           added docbook xml catalog setup check
12920         * common/m4/gst-doc.m4:
12921           use docbook check
12922
12923 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12924
12925         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12926         * gst/gsttag.h:
12927           add GstTagFlag
12928
12929 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12930
12931         * docs/gst/gstreamer-sections.txt:
12932         * docs/gst/tmpl/gst.sgml:
12933         * docs/gst/tmpl/gstbuffer.sgml:
12934         * docs/gst/tmpl/gstclock.sgml:
12935         * docs/gst/tmpl/gstelement.sgml:
12936         * docs/gst/tmpl/gstreamer-unused.sgml:
12937         * docs/gst/tmpl/gstxml.sgml:
12938           sync latest API changes to docs
12939
12940 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12941
12942         * gst/gstpluginfeature.c:
12943           fix doc snippet
12944         * tools/gst-inspect.c: (print_element_list):
12945           fix output of typefind
12946           add GPL header
12947         * tools/gst-launch.c:
12948           add GPL header
12949
12950 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12951
12952         * gst/elements/Makefile.am:
12953         * gst/elements/gstelements.c:
12954         * gst/elements/gsttypefindelement.c:
12955         * gst/elements/gsttypefindelement.h:
12956         * po/POTFILES.in:
12957         * po/fr.po:
12958         * po/nl.po:
12959           renamed gsttypefindelement to gsttypefind, conserving CVS history
12960
12961 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12962
12963         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12964         * gst/gsttag.h:
12965           add some tags used in ogg as well
12966           fix _ in replaygain tags
12967
12968 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * gst/gsterror.h:
12971           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12972
12973 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12974
12975         * gst/gstelement.c: (gst_element_error_full):
12976         * gst/gstelement.h:
12977           change _extended to _full
12978
12979 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12980
12981         reviewed by: <delete if not using a buddy>
12982
12983         * docs/gst/tmpl/gst.sgml:
12984         * docs/gst/tmpl/gstbuffer.sgml:
12985         * docs/gst/tmpl/gstclock.sgml:
12986         * docs/gst/tmpl/gstelement.sgml:
12987         * docs/gst/tmpl/gstreamer-unused.sgml:
12988         * docs/gst/tmpl/gstxml.sgml:
12989         * gst/gstelement.c: (gst_element_error_full):
12990         * gst/gstelement.h:
12991
12992 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * gst/gstelement.h: fix _gst_element_error_printf prototype
12995
12996 2004-01-20  David Schleef  <ds@schleef.org>
12997
12998         * gst/gststructure.c: (gst_structure_to_string):
12999         Convert function to use gst_value_serialize().
13000         * gst/gstvalue.c: (gst_value_serialize_list),
13001         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13002         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13003         (gst_value_serialize_int), (gst_value_serialize_double),
13004         (gst_string_wrap), (gst_value_serialize_string),
13005         (gst_value_serialize), (gst_value_deserialize):
13006         * gst/gstvalue.h:
13007         Add implementations for serialize.
13008
13009 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13010
13011         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13012         we want to keep that one in the future or change xvidenc.c to use 
13013         another error.
13014
13015 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13016
13017         * gst/gstelement.c: (_gst_element_error_printf):
13018         * gst/gstelement.h:
13019           privatise function
13020
13021 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13022
13023         * docs/random/error:
13024           doc explaining error system
13025         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13026           cleanup
13027
13028 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13029
13030         * gst/gst-i18n-app.h:
13031         * gst/gst-i18n-lib.h:
13032           remove inclusion of config.h
13033         * po/POTFILES.in:
13034         * po/nl.po:
13035           add gst/gstelement.c
13036
13037 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13038
13039         * po/nl.po: updated Dutch translation
13040
13041 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13042
13043         * gst/gsterror.c: (_gst_core_errors_init),
13044         (_gst_library_errors_init), (_gst_resource_errors_init),
13045         (_gst_stream_errors_init):
13046         remove ending punctuation dots
13047
13048 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13049
13050         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13051         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13052         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13053         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13054         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13055         use GST_ERROR_SYSTEM
13056
13057 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13058
13059         * gst/gstelement.c: (gst_element_error_printf),
13060         (gst_element_error_extended):
13061         * gst/gstelement.h:
13062           add a helper printf function so we can have NULL values passed.
13063
13064 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13065
13066         * gst/gstelement.h:
13067           add G_STMT macros to gst_element_error, which isn't strictly
13068           necessary but people tell me to anyway.
13069
13070 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13071
13072         * gst/Makefile.am:
13073         * gst/autoplug/gstspideridentity.c:
13074         (gst_spider_identity_sink_loop_type_finding):
13075         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13076         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13077         (gst_filesink_close_file), (gst_filesink_handle_event),
13078         (gst_filesink_chain):
13079         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13080         (gst_filesrc_map_region), (gst_filesrc_get_read),
13081         (gst_filesrc_open_file):
13082         * gst/elements/gstidentity.c: (gst_identity_chain):
13083         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13084         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13085         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13086         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13087         * gst/gst.h:
13088         * gst/gst_private.h:
13089         * gst/gstelement.c: (gst_element_class_init),
13090         (gst_element_default_error), (gst_element_error_func),
13091         (gst_element_error_extended):
13092         * gst/gstelement.h:
13093         * gst/gsterror.c: (_gst_core_errors_init),
13094         (_gst_library_errors_init), (_gst_resource_errors_init),
13095         (_gst_stream_errors_init), (gst_error_get_message):
13096         * gst/gsterror.h:
13097         * gst/gstinfo.c: (_gst_debug_init):
13098         * gst/gstmarshal.list:
13099         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13100         (gst_pad_recover_caps_error), (gst_pad_pull):
13101         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13102         * gst/schedulers/gstbasicscheduler.c:
13103         (gst_basic_scheduler_chainhandler_proxy),
13104         (gst_basic_scheduler_gethandler_proxy),
13105         (gst_basic_scheduler_cothreaded_chain):
13106         * po/POTFILES.in:
13107         * po/fr.po:
13108         * po/nl.po:
13109           change error signal
13110           add error categories
13111
13112 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13113
13114         * gst/gsttag.c: (_gst_tag_initialize):
13115         * gst/gsttag.h:
13116         Add replaygain tag
13117
13118 2004-01-18  Colin Walters  <walters@verbum.org>
13119
13120         * examples/retag/retag.c: Call gst_init before processing
13121         program args.  Add g_assert to _link_many call.
13122
13123 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13124
13125         * gst/gstpad.c: (gst_pad_alloc_buffer):
13126           Return a newly allocated buffer when the pad has no peer.
13127
13128 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13129
13130         * gst/gstclock.c: (gst_clock_get_time):
13131           make it compile with gcc 2.95 again.
13132           Patch by Scott Wheeler
13133
13134 2004-01-15  David Schleef  <ds@schleef.org>
13135
13136         * gst/gstcaps.h:
13137         Added gst_caps_is_simple() macro.
13138         * testsuite/caps/caps.c: (test1):
13139         * testsuite/caps/intersect2.c: (main):
13140         * testsuite/caps/intersection.c: (main):
13141         Fixes to make 'make check' work again after removing
13142         gst_caps_is_chained().
13143
13144 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13145
13146         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13147         and additions to the MIDI document.
13148
13149 2004-01-15  David Schleef  <ds@schleef.org>
13150
13151         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13152         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13153         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13154
13155 2004-01-15  David Schleef  <ds@schleef.org>
13156
13157         * gst/gstqueue.c:
13158         * gst/gstqueue.h:
13159         Fix the spelling of "treshold" and make min_threshold actually
13160         affect the queue.
13161
13162 2004-01-15  David Schleef  <ds@schleef.org>
13163
13164         * gst/gstcaps.c:
13165         Add lots of documentation.
13166         * gst/gstcaps.h:
13167         Deprecate a few functions.
13168         * gst/gstpad.c:
13169         Removed use of deprecated functions.
13170
13171 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13172
13173         * gst/gstpad.c: (gst_pad_is_linked):
13174         * gst/gstpad.h:
13175           implement gst_pad_is_linked
13176         * gst/gstelement.h:
13177           reserve space for initiate_state_change
13178
13179 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13180
13181         * gst/autoplug/gstspideridentity.c:
13182         (gst_spider_identity_sink_loop_type_finding):
13183           break infinite loop by just returning instead of looping
13184         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13185           set event time difference correctly. Set it to 1 second instead
13186           of 100ms to be more tolerant
13187         * gst/gstelement.c: (gst_element_set_time):
13188           add debugging output
13189
13190 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13191
13192         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13193           query if buffers are inside the pool, ignore events
13194
13195 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13196
13197         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13198         (gst_clock_set_speed), (gst_clock_set_active),
13199         (gst_clock_is_active), (gst_clock_reset),
13200         (gst_clock_handle_discont):
13201         * gst/gstclock.h:
13202           deprecate old interface and disable functions that aren't in use
13203           anymore.
13204         * gst/gstelement.h:
13205         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13206         (gst_element_set_time), (gst_element_adjust_time):
13207           add concept of "element time" and functions to get/set this time.
13208         * gst/gstelement.c: (gst_element_change_state):
13209           update element time correctly.
13210         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13211           This is a debug message, not a g_critical.
13212         * gst/gstpad.c: (gst_pad_event_default):
13213           handle discontinuous events right with element time.
13214         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13215           update to clocking fixes.
13216           set clocks on elements in READY=>PAUSED. The old behaviour caused
13217           a wrong element time on the first element that started playing.
13218         * gst/schedulers/gstbasicscheduler.c:
13219         (gst_basic_scheduler_class_init):
13220         * gst/schedulers/gstoptimalscheduler.c:
13221         (gst_opt_scheduler_class_init):
13222           remove code that just implements the default behaviour.
13223         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13224           update to use new clocking functions
13225         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13226         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13227           update to test new element time.
13228         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13229           use _get_allowed_caps instead of _get_caps. This catches filtered
13230           caps correctly.
13231         * testsuite/debug/commandline.c:
13232           update for new GST_DEBUG syntax.
13233         * testsuite/threads/Makefile.am:
13234           disable a test that only works sometimes.
13235
13236 2004-01-13  Julien MOUTTE <julien@moutte.net>
13237
13238         * po/LINGUAS: Adding fr.
13239         * po/fr.po: Adding french translation.
13240
13241 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13242
13243         * gst/parse/grammar.y:
13244         * po/POTFILES.in:
13245         * po/nl.po:
13246         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13247           translate parsing error messages
13248
13249 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13250
13251         * po/POTFILES.in: adding gst-launch
13252         * po/nl.po: updated translation, all 99 strings translated
13253         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13254         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13255           fix strings for translation
13256
13257 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13258
13259         * gst/gst.c:
13260           - capitalize beginnings of popt options
13261           - fix strings for translation
13262           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13263
13264 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13265
13266         * po/README: add some notes on how to update translations
13267
13268 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13269
13270         * ABOUT-NLS: removed, is autogenerated from autopoint
13271         * autogen.sh: add autopoint stuff
13272         * configure.ac: fix up gettext stuff
13273         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13274         * gst/elements/gsttypefindelement.c: add header include
13275         * gst/gettext.h: add header, copy from system-installed header
13276         * gst/gst-i18n-app.h: to be included by each app having translations
13277         * gst/gst-i18n-lib.h: to be included by each lib having translations
13278         * gst/gst.c: (init_pre): fix up gettext calls
13279         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13280         * po/LINGUAS: the new way to specify translations present
13281         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13282         * po/Makevars: the variables filled in for GStreamer
13283         * po/POTFILES.in: added new files with translations
13284         * po/de.po: has new strings
13285         * po/nl.po: readded, has new strings
13286
13287 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13288
13289         * gst/gsttag.c: fix some strings marked for translation
13290
13291 2004-01-13  Iain <iain@prettypeople.org>
13292
13293         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13294         group when we add an element to it, cos we unref it when we remove one
13295
13296 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13297
13298         * testsuite/debug/commandline.c: (debug_not_reached):
13299         * testsuite/debug/output.c: (check_message):
13300           fix testsuite
13301
13302 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13303
13304         * examples/cutter/.cvsignore:
13305         * examples/helloworld/.cvsignore:
13306         * examples/launch/.cvsignore:
13307         * examples/manual/.cvsignore:
13308         * examples/mixer/.cvsignore:
13309         * examples/pingpong/.cvsignore:
13310         * examples/plugins/.cvsignore:
13311         * examples/queue/.cvsignore:
13312         * examples/queue2/.cvsignore:
13313         * examples/queue3/.cvsignore:
13314         * examples/queue4/.cvsignore:
13315         * examples/retag/.cvsignore:
13316         * examples/thread/.cvsignore:
13317         * examples/typefind/.cvsignore:
13318         * examples/xml/.cvsignore:
13319         * gst/.cvsignore:
13320         * gst/autoplug/.cvsignore:
13321         * gst/elements/.cvsignore:
13322         * gst/indexers/.cvsignore:
13323         * gst/parse/.cvsignore:
13324         * gst/registries/.cvsignore:
13325         * gst/schedulers/.cvsignore:
13326         * libs/gst/bytestream/.cvsignore:
13327         * libs/gst/control/.cvsignore:
13328         * libs/gst/getbits/.cvsignore:
13329         * tests/.cvsignore:
13330         * tests/bufspeed/.cvsignore:
13331         * tests/instantiate/.cvsignore:
13332         * tests/memchunk/.cvsignore:
13333         * tests/muxing/.cvsignore:
13334         * tests/sched/.cvsignore:
13335         * tests/seeking/.cvsignore:
13336         * tests/threadstate/.cvsignore:
13337         * testsuite/.cvsignore:
13338         * testsuite/caps/.cvsignore:
13339         * testsuite/cleanup/.cvsignore:
13340         * testsuite/dynparams/.cvsignore:
13341         * testsuite/plugin/.cvsignore:
13342         * tools/.cvsignore:
13343           update - this is huge, because it includes *.bb, *.bbg and *.da files
13344           which are generated for gcov.
13345
13346 2004-01-11  David Schleef  <ds@schleef.org>
13347
13348         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13349         a function to parse integers in ways that strto[u]l() does not.
13350
13351 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13352
13353         * tools/gst-inspect.c: (print_caps):
13354           improve output of caps a bit
13355
13356 2004-01-11  David Schleef  <ds@schleef.org>
13357
13358         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13359         inherit correct flags (READONLY and DONTKEEP).
13360
13361 2004-01-11  David Schleef  <ds@schleef.org>
13362
13363         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13364         (gst_filesrc_map_region):
13365         * gst/gstbuffer.c: (_gst_buffer_initialize),
13366         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13367         (gst_buffer_new), (gst_buffer_create_sub),
13368         (gst_buffer_is_span_fast), (gst_buffer_span):
13369         * gst/gstbuffer.h:
13370         Change GstBuffer private structure element names. (all files)
13371         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13372         (gst_queue_link):
13373         * gst/gstqueue.h:
13374         Implement getcaps/pad_link functions that handle the case where
13375         there are data in the queue.
13376
13377 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13378
13379         * gst/elements/gstbufferstore.c:
13380           initialize debugging structure correctly
13381         * gst/elements/gsttee.c: (gst_tee_set_property):
13382           g_object_notify when property was changed
13383         * gst/elements/gsttypefindelement.c:
13384         (gst_type_find_element_change_state):
13385           clear caps correctly
13386
13387 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13388
13389         * gst/gstqueue.c: (gst_queue_init):
13390           Use better defaults for when a queue should block. This
13391           gets rid of jerky playback for quite a few files.
13392           It takes more memory.
13393
13394 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13395
13396         (gst_xml_registry_parse_padtemplate):
13397           make critical message slightly more useful
13398
13399 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13400
13401         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13402         (gst_debug_message_get), (gst_debug_log_default):
13403         * gst/gstinfo.h:
13404           Change gst_debug_log(_valist) to take a const format string.
13405           Change prototype of log function and functions using those to 
13406           take a GstDebugMessage instead of a string that requires using
13407           gst_debug_message_get.
13408
13409 2004-01-08  David Schleef  <ds@schleef.org>
13410
13411         * Makefile.am:
13412         * configure.ac:
13413         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13414         and -ftest-coverage, which allows gcov to show information about
13415         testsuite coverage.
13416
13417 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13418
13419         * gst/gstutils.h:
13420           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13421           GST_PARENT_CALL_WITH_DEFAULT
13422         * gst/elements/gstaggregator.c: 
13423         * gst/elements/gstbufferstore.c: 
13424         * gst/elements/gstfakesink.c: 
13425         * gst/elements/gstfakesrc.c: 
13426         * gst/elements/gstfdsink.c: 
13427         * gst/elements/gstfdsrc.c: 
13428         * gst/elements/gstfilesink.c: 
13429         * gst/elements/gstfilesrc.c: 
13430         * gst/elements/gstidentity.c: 
13431         * gst/elements/gstmd5sink.c: 
13432         * gst/elements/gstmultidisksrc.c:
13433         * gst/elements/gstpipefilter.c: 
13434         * gst/elements/gstshaper.c:
13435         * gst/elements/gststatistics.c:
13436         * gst/elements/gsttee.c:
13437         * gst/elements/gsttypefindelement.c:
13438           use them.
13439
13440 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * docs/gst/gstreamer-docs.sgml: remove props
13443         * docs/gst/gstreamer-sections.txt: remove props
13444         * docs/gst/tmpl/gst.sgml:
13445         * docs/gst/tmpl/gstbin.sgml:
13446         * docs/gst/tmpl/gstbuffer.sgml:
13447         * docs/gst/tmpl/gstcaps.sgml:
13448         * docs/gst/tmpl/gstclock.sgml:
13449         * docs/gst/tmpl/gstelement.sgml:
13450         * docs/gst/tmpl/gstindex.sgml:
13451         * docs/gst/tmpl/gstobject.sgml:
13452         * docs/gst/tmpl/gstpad.sgml:
13453         * docs/gst/tmpl/gstpadtemplate.sgml:
13454         * docs/gst/tmpl/gstreamer-unused.sgml:
13455         * docs/gst/tmpl/gstthread.sgml:
13456         * docs/gst/tmpl/gstxml.sgml:
13457           sync with code reorganization
13458
13459 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13460
13461         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13462         Make the 'Could not find compatible pad' message more informative.
13463
13464 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13465                                                                                 
13466         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13467           Fix for if we pass NULL as property to location.
13468         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13469         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13470           Fix for instantiate-test (see below).
13471         * gst/gststructure.c: (_gst_structure_parse_value):
13472           Fix compile error on gcc-2.96.
13473         * configure.ac:
13474         * tests/Makefile.am:
13475         * tests/instantiate/Makefile.am:
13476         * tests/instantiate/create.c: (create_all_elements), (main):
13477           Add a test that instantiates all elements. This makes it easy to
13478           track dead code for old API/design (like setting event functions
13479           on sink pads and so on).
13480
13481 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13482
13483         * gst/gstcaps.c: (gst_caps_append_structure):
13484           Move the poisoning to allow a NULL structure
13485         * gst/gstevent.c: (_gst_event_free):
13486           When freeing a navigation event, free the structure
13487           also
13488
13489 2004-01-04  David Schleef  <ds@schleef.org>
13490
13491         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13492         Remove usage of gst_pad_proxy_fixate.
13493         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13494         (gst_caps_split_one), (gst_caps_replace):
13495         Add poisoning code.
13496         * gst/gstmarshal.list:
13497         Add pointer__pointer for fixate signal
13498         * gst/gstpad.c: (gst_real_pad_class_init),
13499         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13500         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13501         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13502         Add poisoning code. Add fixate signal on RealPad. Change
13503         set_explicit_caps() to take const GstCaps, like try_set_caps().
13504         * gst/gstpad.h:
13505         * testsuite/caps/Makefile.am:
13506         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13507
13508 2004-01-03  David Schleef  <ds@schleef.org>
13509
13510         * gst/elements/gsttypefindelement.c:
13511         (gst_type_find_element_have_type), (gst_type_find_element_init):
13512         Use gst_pad_use_explicit_caps for src pad.
13513         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13514         before using it.
13515
13516 2004-01-03  David Schleef  <ds@schleef.org>
13517
13518         * gst/gstelement.c: (gst_element_link_pads_filtered),
13519         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13520         that linking was successful.
13521         * gst/gstpad.c: (gst_pad_link_free),
13522         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13523         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13524         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13525         GstPadLinkReturn correctly between functions, and don't fail
13526         when DELAYED is used (DELAYED is very important).  Better
13527         cleanup on unlinking and unnegotiation.  Should fix some spider
13528         bugs.
13529
13530 2004-01-02  David Schleef  <ds@schleef.org>
13531
13532         * gst/gstelement.c: (gst_element_class_init),
13533         (gst_element_base_class_init): ->padtemplates should be cleared
13534         in base_init, since we need to have a fresh list for every
13535         class.  (Alternately, we chould copy the list and share the
13536         actual pad templates (not the list), but that would require
13537         changing every plugin to move pad template registration from
13538         base_init to class_init.)
13539
13540 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13541
13542         * gst/gstelement.c: (gst_element_class_add_pad_template):
13543           Refuse registering a pad template if another pad template
13544           with the same name already exists (#114715).
13545
13546 2004-01-02  David Schleef  <ds@schleef.org>
13547
13548         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13549         (gst_caps_is_equal_fixed): Add new function.
13550         * gst/gstcaps.h: ditto.
13551         * gst/gstpad.c: (gst_real_pad_class_init),
13552         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13553         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13554         check new caps against existing caps -- if they're the same, return
13555         OK without renegotiating.  caps-nego-failed signal fixed so that
13556         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13557         to save an extra caps copy.  Don't complete negotiation if a pad
13558         link function returns DELAYED.
13559
13560 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13561
13562         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13563           Fix wrong g_return_if_fail
13564
13565 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13566
13567         * gst/gstbin.c: (gst_bin_class_init):
13568         Change the marshalling of element_added/element_removed
13569         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13570         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13571
13572 2004-01-01  David Schleef  <ds@schleef.org>
13573
13574         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13575         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13576         (gst_pad_use_explicit_caps):
13577         * gst/gstpad.h:
13578         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13579         to use an internal getcaps and link fuction so that negotiation
13580         always results in the explicitly set caps.
13581         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13582         are particularly useful for decoders.
13583
13584 2003-12-31  David Schleef  <ds@schleef.org>
13585
13586         * gst/elements/gstidentity.c: (gst_identity_class_init),
13587         (gst_identity_init), (gst_identity_chain),
13588         (gst_identity_set_property), (gst_identity_get_property):
13589         * gst/elements/gstidentity.h:
13590         * gst/gstqueue.c: (gst_queue_init):
13591           Negotiation fixes.
13592
13593 2003-12-31  David Schleef  <ds@schleef.org>
13594
13595         * gst/gstcaps.c: (gst_caps_intersect),
13596         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13597           Implement gst_caps_normalize().
13598         * testsuite/caps/normalisation.c: (main):
13599           Add an additional test
13600
13601 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13602
13603         * gst/gstqueue.c: (gst_queue_init):
13604           use gst_pad_proxy_getcaps()
13605
13606 2003-12-31  David Schleef  <ds@schleef.org>
13607
13608         * gst/elements/gstshaper.c: (gst_shaper_link):
13609         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13610         * gst/gstqueue.c: (gst_queue_link):
13611           Negotiation fixes.
13612
13613 2003-12-31  David Schleef  <ds@schleef.org>
13614
13615         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13616         * gst/gstpad.h: Add functions that are useful as default pad
13617         link and fixate functions for elements.
13618
13619 2003-12-30  David Schleef  <ds@schleef.org>
13620
13621         * gst/gstpad.c: (gst_pad_link_try):
13622           Fix segfault when attempting to return to old caps
13623
13624 2003-12-29  David Schleef  <ds@schleef.org>
13625
13626         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13627         (gst_caps_structure_simplify), (gst_caps_simplify):
13628         * gst/gstcaps.h:
13629           Add simplify function
13630         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13631         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13632         * gst/gstpad.h:
13633           Copy over srcnotify, sinknotify when calling old pad_link
13634           functions.  Add new is_negotiated() function.
13635         * gst/gststructure.c: (gst_structure_copy):
13636           Fix an incredibly stupid bug that should have been noticed
13637           weeks ago.  _copy() returned the argument, not the new copy.
13638
13639 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13640
13641         * gst/gstcaps.c: (gst_caps_append):
13642           add sanity checks
13643         * gst/gstcaps.h: (gst_caps_debug):
13644           remove, it doesn't exist anymore.
13645         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13646         (gst_element_threadsafe_properties_post_run):
13647           make debugging messages not clutter up THREAD debug category
13648         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13649         (gst_element_change_state):
13650           update to new caps API
13651         * gst/gstinterface.c: (gst_implements_interface_cast):
13652           don't put vital code in g_return_if_fail
13653         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13654         (gst_pad_link_filtered):
13655           add pst_pad_try_link and use it.
13656         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13657           implement correctly, deprecate first one.
13658         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13659           add and implement.
13660         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13661           implement.
13662         (gst_pad_get_negotiated_caps):
13663           add and implement. Make GST_PAD_CAPS call this function.
13664         (gst_pad_get_caps):
13665           remove unneeded check..
13666         (gst_pad_recover_caps_error):
13667           disable, always return FALSE.
13668         (gst_real_pad_dispose):
13669           don't free caps and appfilter anymore, they're unused.
13670         * gst/gstpad.h:
13671           Reflect changes mentioned above.
13672         * gst/gstsystemclock.c: (gst_system_clock_wait):
13673           Make 'clock is way behind' a debugging message.
13674         * gst/gstthread.c: (gst_thread_change_state):
13675           Fix debugging message
13676
13677 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13678
13679         * gst/gstinfo.h:
13680           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13681         * docs/gst/tmpl/gstreamer-unused.sgml:
13682           removed all traces of cvs conflicts
13683
13684 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13685
13686         * configure.ac:
13687         * gst/schedulers/cothreads_compat.h:
13688         * libs/Makefile.am:
13689           remove last instances of wingo cothread usage
13690
13691 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13692
13693         * gst/gstplugin.c:
13694         * gst/gstversion.h.in:
13695         * gst/parse/grammar.y:
13696           change comment block from /** to /* when not gtk-doc comments
13697
13698 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13699
13700         * gst/gst.c: whitespace and doc style fixes
13701
13702 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13703
13704         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13705
13706 2003-12-24  Colin Walters  <walters@verbum.org>
13707
13708         * gst/elements/gsttypefindelement.c:
13709           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13710           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13711           Don't double-free caps.
13712
13713 2003-12-23  David Schleef  <ds@schleef.org>
13714
13715         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13716           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13717           Many little fixes and additions of debug statements to
13718           get rhythmbox working.
13719
13720 2003-12-23  Colin Walters  <walters@verbum.org>
13721
13722         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13723         Use GST_PAD_LINK_SUCCESSFUL.
13724
13725 2003-12-23  David Schleef  <ds@schleef.org>
13726
13727         * gst/elements/gstaggregator.c:
13728         * gst/elements/gsttee.c:
13729           Use gst_pad_proxy_getcaps().
13730         * gst/gstpad.c:
13731         * gst/gstpad.h:
13732           Add gst_pad_proxy_getcaps(), which filter elements can use
13733           as a generic getcaps implementation.
13734           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13735           was advertised.
13736
13737 2003-12-23  David Schleef  <ds@schleef.org>
13738
13739         * gst/gstpad.c:
13740           Rearrange/rewrite much of the pad negotiation code, since it
13741           resembled pasta.  This actually changes the way some
13742           negotiation works, since the previous code was inconsistent
13743           depending on how it was invoked.  Add (internal) structure
13744           GstPadLink, which is used to hold some information (more in
13745           the future) about the link between two pads.  Fixes a number
13746           of bugs, including random lossage of filter caps when the
13747           initial negotiation is delayed.  A few functions are still
13748           unimplemented.
13749         * gst/gstpad.h:
13750           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13751           these when testing GstPadLinkReturn values instead of comparing
13752           directly.
13753
13754 2003-12-23  David Schleef  <ds@schleef.org>
13755
13756         * gst/gstvalue.c: 
13757         * gst/gstvalue.h:
13758           Rearrange lots of code.  Change registration of compare function
13759           into registration of compare/serialize/deserialize functions.
13760           Doesn't include implementation of gst_value_[de]serialize(),
13761           but that should be easy.
13762
13763 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * docs/gst/gstreamer-sections.txt:
13766         * docs/gst/tmpl/gstprops.sgml: removed
13767         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13768           David removed props and caps code, so let's remove their docs as well.
13769           Removed all no longer existing symbols from gstreamer-sections.txt
13770           
13771 2003-12-22  Colin Walters  <walters@verbum.org>
13772
13773         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13774           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13775           of tags directly.
13776
13777 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13778
13779         * gst/elements/gstelements.c:
13780           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13781         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13782           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13783           gst_caps (peer).
13784
13785 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13786
13787         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13788         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13789         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13790         (gst_spider_identity_sink_loop_type_finding):
13791         * gst/autoplug/gstspideridentity.h:
13792           Fix autoplugging in spider element, so it works with new caps.
13793           This was mainly caused by identifying empty caps incorrectly.
13794
13795 2003-12-22  David Schleef  <ds@schleef.org>
13796
13797         * gststructure.c, gstvalue.c, gstvalue.h: Add
13798           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13799           using g_value_copy()
13800
13801 2003-12-21  David Schleef  <ds@schleef.org>
13802
13803         * many, many files: Merge CAPS branch.  This includes:
13804           - implemention of GstValue and several GstValue types
13805           - implemention of GstStructure
13806           - entire rewrite of GstCaps
13807           - removal of GstProps
13808           - many changes to GstPad to compensate for new caps paradigm
13809           - removal of GstBufferpool
13810         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13811         gstvalue.h, gst/gstcaps[2]*.[ch]:
13812           - rename gstcaps2.[ch] to gstcaps.[ch]
13813
13814 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13815
13816         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13817         (gst_queue_chain), (gst_queue_handle_src_event):
13818           implement timeout for sending events. Workaround for if the
13819           pipeline on this queue is not passing any data.
13820
13821 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13822                                                                                 
13823         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13824         * moved CVS to freedesktop.org