adding more entries to the docs and fix small doc-bugs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/libs/gstreamer-libs-sections.txt:
4         * libs/gst/controller/gst-controller.c:
5         * libs/gst/controller/gst-controller.h:
6         * libs/gst/controller/gst-helper.c:
7           adding more entries to the docs and fix small doc-bugs
8
9 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10
11         * docs/gst/gstreamer-docs.sgml:
12         * docs/gst/gstreamer-sections.txt:
13         * docs/gst/gstreamer.types:
14         * docs/gst/tmpl/gstbasesink.sgml:
15         * docs/gst/tmpl/gstbasesrc.sgml:
16         * docs/gst/tmpl/gstbasetransform.sgml:
17         * docs/gst/tmpl/gstfakesrc.sgml:
18         * gst/base/gstcollectpads.c:
19         * gst/base/gstcollectpads.h:
20         * libs/gst/controller/gst-controller.c:
21         * libs/gst/controller/gst-controller.h:
22         * libs/gst/controller/gst-helper.c:
23         * libs/gst/controller/gst-interpolation.c:
24         * libs/gst/controller/lib.c:
25           added long/short desc for controller docs
26           added collectpads base class docs
27           added correct includes to base-class docs
28
29 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
30
31         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
32         (gst_test_mono_source_set_property),
33         (gst_test_mono_source_class_init), (GST_START_TEST),
34         (gst_controller_suite):
35         * docs/gst/gstreamer-docs.sgml:
36         * docs/gst/gstreamer-sections.txt:
37         * docs/gst/gstreamer.types:
38         * docs/libs/gstreamer-libs-docs.sgml:
39         * docs/libs/gstreamer-libs-sections.txt:
40         * gst/base/gstadapter.c:
41         * libs/gst/controller/gst-controller.c:
42         (gst_controlled_property_new), (gst_controlled_property_free),
43         (gst_controller_new_valist),
44         (gst_controller_remove_properties_valist),
45         (gst_controller_sink_values), (_gst_controller_finalize):
46         * libs/gst/controller/gst-controller.h:
47         * libs/gst/controller/gst-helper.c:
48         (gst_object_control_properties), (gst_object_uncontrol_properties),
49         (gst_object_get_controller), (gst_object_set_controller),
50         (gst_object_sink_values), (gst_object_get_value_arrays),
51         (gst_object_get_value_array):
52           more tests (and fixes) for the controller
53           more docs for the controller
54           integrated companies docs for the adapter 
55
56 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
57
58         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
59         (GST_START_TEST), (fakesrc_suite):
60           add tests for sizetype
61
62 2005-08-04  Andy Wingo  <wingo@pobox.com>
63
64         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
65         fixes buffer_alloc proxying among other things.
66
67         * gst/base/gstbasetransform.c:
68         * gst/base/gstbasetransform.h:
69         Revert patch to gstbasetransform from 7-28 removing
70         delay_configure.
71
72         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
73         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
74         Semantics changed, should return not the size of the output buffer
75         but the byte size of a buffer with a given caps.
76
77         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
78         debug object.
79         (gst_base_transform_configure_caps): Don't set out_size here: (in,
80         out) are not the pad caps until setcaps finishes.
81         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
82         not-in-place case as well. Deal with changing from in-place to
83         not-in-place within calling pad_alloc_buffer. Still a bit
84         concerned about the overhead here...
85
86 2005-08-03  Andy Wingo  <wingo@pobox.com>
87
88         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
89         fixating is an error.
90
91 2005-08-04  Edward Hervey  <edward@fluendo.com>
92
93         * gst/base/gstadapter.h: 
94         Added gst_adapter_get_type() to the header
95
96 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
97
98         * check/Makefile.am:
99         * check/gst-libs/controller.c:
100         * libs/gst/controller/gst-controller.c:
101         (gst_controller_new_valist):
102           added check test suite for the controller
103         * gst/base/gstpushsrc.c:
104           fixed a doc typo
105
106 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
107
108         * docs/gst/Makefile.am:
109         * docs/gst/gstreamer-docs.sgml:
110         * docs/gst/gstreamer-sections.txt:
111         * docs/gst/gstreamer.types:
112         * docs/gst/tmpl/gstfakesrc.sgml:
113         * gst/base/README:
114         * gst/base/gstbasesink.c:
115         * gst/base/gstbasesink.h:
116         * gst/base/gstbasesrc.c:
117         * gst/base/gstbasesrc.h:
118         * gst/base/gstbasetransform.c:
119         * gst/base/gstpushsrc.c:
120         * gst/base/gstpushsrc.h:
121           add short/long description docs to base classes
122           add pushsrc to the docs
123           remove consolidated doc fragments
124
125 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
126
127         * configure.ac:
128         * docs/libs/Makefile.am:
129         * docs/libs/gstreamer-libs-docs.sgml:
130         * docs/libs/gstreamer-libs-sections.txt:
131         * docs/libs/gstreamer-libs.types:
132         * examples/Makefile.am:
133         * examples/controller/.cvsignore:
134         * examples/controller/Makefile.am:
135         * examples/controller/audio-example.c: (main):
136         * libs/gst/Makefile.am:
137         * libs/gst/controller/.cvsignore:
138         * libs/gst/controller/Makefile.am:
139         * libs/gst/controller/gst-controller.c:
140         (on_object_controlled_property_changed), (gst_timed_value_compare),
141         (gst_timed_value_find),
142         (gst_controlled_property_set_interpolation_mode),
143         (gst_controlled_property_new), (gst_controlled_property_free),
144         (gst_controller_find_controlled_property),
145         (gst_controller_new_valist), (gst_controller_new),
146         (gst_controller_remove_properties_valist),
147         (gst_controller_remove_properties), (gst_controller_set),
148         (gst_controller_set_from_list), (gst_controller_unset),
149         (gst_controller_get), (gst_controller_get_all),
150         (gst_controller_sink_values), (gst_controller_get_value_arrays),
151         (gst_controller_get_value_array),
152         (gst_controller_set_interpolation_mode),
153         (_gst_controller_finalize), (_gst_controller_init),
154         (_gst_controller_class_init), (gst_controller_get_type):
155         * libs/gst/controller/gst-controller.h:
156         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
157         (g_object_uncontrol_properties), (g_object_get_controller),
158         (g_object_set_controller), (g_object_sink_values),
159         (g_object_get_value_arrays), (g_object_get_value_array):
160         * libs/gst/controller/gst-interpolation.c:
161         (gst_controlled_property_find_timed_value_node),
162         (interpolate_none_get), (interpolate_trigger_get),
163         (interpolate_trigger_get_value_array):
164         * libs/gst/controller/lib.c: (gst_controller_init):
165         * pkgconfig/Makefile.am:
166         * pkgconfig/gstreamer-control-uninstalled.pc.in:
167         * pkgconfig/gstreamer-control.pc.in:
168         * testsuite/Makefile.am:
169         * testsuite/controller/.cvsignore:
170         * testsuite/controller/Makefile.am:
171         * testsuite/controller/interpolator.c: (main):
172           added controller code
173           removed dparam pc files
174
175 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
176         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
177         (gst_collectpads_stop):
178           Broadcast the condition when shutting down, to make sure we wake all
179           threads up. Shut down pads on finalize, for safety.
180
181 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
182         * gst/base/gstbasetransform.c: (gst_base_transform_init),
183         (gst_base_transform_handle_buffer),
184         (gst_base_transform_change_state):
185           Handle PAUSED->READY->PAUSED transition after negotiation
186           occurred already.
187         * gst/gstmessage.c: (gst_message_init):
188           Extra piece of debug for new messages.
189
190 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
191
192         * configure.ac:
193         * docs/gst/tmpl/gstbasesrc.sgml:
194         * docs/gst/tmpl/gstelement.sgml:
195         * docs/gst/tmpl/gstevent.sgml:
196         * docs/gst/tmpl/gstfakesrc.sgml:
197         * docs/gst/tmpl/gstformat.sgml:
198         * docs/gst/tmpl/gstghostpad.sgml:
199         * docs/gst/tmpl/gstpad.sgml:
200         * docs/gst/tmpl/gstquery.sgml:
201         * docs/gst/tmpl/gststructure.sgml:
202         * docs/gst/tmpl/gsttaglist.sgml:
203         * docs/gst/tmpl/gstvalue.sgml:
204         * docs/libs/gstreamer-libs-docs.sgml:
205         * docs/libs/gstreamer-libs-sections.txt:
206         * docs/libs/gstreamer-libs.types:
207         * libs/gst/Makefile.am:
208         * libs/gst/control/.cvsignore:
209         * libs/gst/control/Makefile.am:
210         * libs/gst/control/control.c:
211         * libs/gst/control/control.h:
212         * libs/gst/control/dparam.c:
213         * libs/gst/control/dparam.h:
214         * libs/gst/control/dparam_smooth.c:
215         * libs/gst/control/dparam_smooth.h:
216         * libs/gst/control/dparamcommon.h:
217         * libs/gst/control/dparammanager.c:
218         * libs/gst/control/dparammanager.h:
219         * libs/gst/control/dplinearinterp.c:
220         * libs/gst/control/dplinearinterp.h:
221         * libs/gst/control/unitconvert.c:
222         * libs/gst/control/unitconvert.h:
223         * testsuite/Makefile.am:
224         * testsuite/dynparams/.cvsignore:
225         * testsuite/dynparams/Makefile.am:
226         * testsuite/dynparams/dparamstest.c:
227         * tools/Makefile.am:
228         * tools/gst-inspect.c: (print_element_info), (main):
229         * tools/gst-xmlinspect.c: (print_element_info), (main):
230           deactivate and remove dparams (libgstcontrol)
231
232 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
233
234         * gst/elements/gsttypefindelement.c:
235         (gst_type_find_element_have_type), (gst_type_find_element_init),
236         (stop_typefinding), (gst_type_find_element_handle_event),
237         (gst_type_find_element_chain), (gst_type_find_element_getrange):
238         * gst/elements/gsttypefindelement.h:
239           Set caps on all outgoing buffers, not just the first one.
240
241 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
242
243         * gst/elements/gsttypefindelement.c:
244         (gst_type_find_element_have_type),
245         (gst_type_find_element_check_set_buffer_caps),
246         (gst_type_find_element_init), (stop_typefinding),
247         (gst_type_find_element_handle_event),
248         (gst_type_find_element_chain), (gst_type_find_element_getrange):
249         * gst/elements/gsttypefindelement.h:
250           Set caps on first outgoing buffer when we've found the type.
251
252 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
253
254         * docs/gst/gstreamer-docs.sgml:
255         * docs/gst/gstreamer-sections.txt:
256         * docs/gst/tmpl/gstscheduler.sgml:
257         * docs/gst/tmpl/gstschedulerfactory.sgml:
258           Remove some old cruft from docs.
259
260 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
261
262         * gst/gstpad.h:
263           Fix inline docs for GstPadLinkReturn.
264           
265         * gst/gststructure.c: (gst_structure_has_name):
266         * gst/gststructure.h:
267         * docs/gst/gstreamer-sections.txt:
268           New API: gst_structure_has_name().
269
270 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
271
272         * configure.ac:
273           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
274           and _LARGEFILE_SOURCE in config.h as required. Do not 
275           export those flags in our .pc files any longer (#142209).
276
277           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
278
279         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
280         (gst_file_sink_do_seek), (gst_file_sink_event),
281         (gst_file_sink_get_current_offset), (gst_file_sink_render):
282           Redo seek/tell calls with large file support in mind; add some
283           debugging messages; add log message that tells us when large
284           file support is unavailable or not enabled for some reason.
285
286         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
287           Add log message that tells us when large file support 
288           is unavailable or not enabled for some reason.
289
290 2005-07-29  Wim Taymans  <wim@fluendo.com>
291
292         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
293         Added test for removing an element with ghostpad from a bin.
294         Fixed test as current implementation does the right thing.
295
296         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
297         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
298         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
299         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
300         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
301         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
302         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
303         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
304         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
305         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
306         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
307         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
308         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
309         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
310         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
311         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
312         * gst/gstghostpad.h:
313         Clean up ghostpads, remove properties for internal stuff.
314         Make threadsafe.
315         Fix refcounting.
316         Prepare for switching targets, not all use cases work yet.
317
318 2005-07-29  Wim Taymans  <wim@fluendo.com>
319
320         * docs/design/part-gstghostpad.txt:
321         Small update.
322
323         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
324         (gst_bin_remove_func):
325         Unlinking pads while holding the bin LOCK is not a good
326         idea.
327
328         * gst/gstpad.c: (gst_pad_class_init),
329         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
330         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
331         No prob setting template after creating the pad.
332
333 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
334
335         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
336         (gst_bus_peek), (gst_bus_source_dispatch),
337         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
338         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
339           gst_bus_poll may be called from other threads. Handle
340           this nicely by not making poll_data disappear off the
341           stack once gst_bus_poll returns.
342           gst_bus_peek now increments the refcount on the returned
343           message.
344
345 2005-07-29  Wim Taymans  <wim@fluendo.com>
346
347         * docs/design/part-gstghostpad.txt:
348         Overview of current GhostPad datastructures and use
349         cases for changing the target.
350
351 2005-07-28  Wim Taymans  <wim@fluendo.com>
352
353         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
354         Added checks for hierarchy consistency whan adding linked
355         elements to bins.
356
357         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
358         Added check to test element scheduling without bin/pipeline.
359
360         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
361         First add elements to bin, then link.
362         
363         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
364         (gst_bin_remove_func):
365         Unlink pads from elements added/removed from bin to maintain
366         hierarchy consistency.
367
368 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
369
370         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
371         (gst_base_transform_handle_buffer):
372         * gst/base/gstbasetransform.h:
373           Remove broken delay_configure (fixes renegotiation of software
374           scaling pipelines); remove some leftover printf()s.
375
376 2005-07-28  Wim Taymans  <wim@fluendo.com>
377
378         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
379         Added some more tests for wrong hierarchy
380
381         * docs/design/part-overview.txt:
382         Some updates.
383
384         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
385         Cleanups.
386
387         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
388         (gst_element_dispose):
389         Some more cleanups.
390
391         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
392         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
393         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
394         (gst_pad_set_caps), (gst_pad_send_event):
395         Check for correct hierarchy when linking pads. Moving to
396         strict requirement for ghostpads when linking elements in
397         different bins.
398
399         * gst/gstpad.h:
400         Clean ups. Added WRONG_HIERARCHY return value.
401
402 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
403
404         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
405           Better debug if no transform is possible.
406
407 2005-07-27  Wim Taymans  <wim@fluendo.com>
408
409         * docs/random/wtay/network-transp:
410         Some old doc I had.
411
412 2005-07-27  Wim Taymans  <wim@fluendo.com>
413
414         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
415         (gst_dp_event_from_packet):
416         Fix serialization of seek events.
417
418 2005-07-27  Wim Taymans  <wim@fluendo.com>
419
420         * check/gst-libs/gdp.c: (GST_START_TEST):
421         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
422         Fix compilation and fix event serialization.
423
424 2005-07-27  Wim Taymans  <wim@fluendo.com>
425
426         * CHANGES-0.9:
427         * docs/design/part-TODO.txt:
428         * docs/design/part-events.txt:
429         Some docs updates
430
431         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
432         (gst_base_sink_event), (gst_base_sink_do_sync),
433         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
434         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
435         (gst_base_src_do_seek), (gst_base_src_event_handler),
436         (gst_base_src_loop):
437         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
438         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
439         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
440         (gst_base_transform_event), (gst_base_transform_handle_buffer),
441         (gst_base_transform_set_passthrough),
442         (gst_base_transform_is_passthrough):
443         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
444         * gst/elements/gstfilesink.c: (gst_file_sink_event):
445         Event updates.
446
447         * gst/gstbuffer.h:
448         Use faster casts.
449
450         * gst/gstelement.c: (gst_element_seek):
451         * gst/gstelement.h:
452         Update gst_element_seek.
453
454         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
455         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
456         (gst_event_new_flush_start), (gst_event_new_flush_stop),
457         (gst_event_new_eos), (gst_event_new_newsegment),
458         (gst_event_parse_newsegment), (gst_event_new_tag),
459         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
460         (gst_event_parse_qos), (gst_event_new_seek),
461         (gst_event_parse_seek), (gst_event_new_navigation):
462         * gst/gstevent.h:
463         Make GstEvent use GstStructure. Add parsing code, make sure the
464         API is sufficiently generic.
465         Mark possible directions of events and serialization.
466
467         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
468         (_gst_message_copy), (gst_message_new_segment_start),
469         (gst_message_new_segment_done), (gst_message_new_custom),
470         (gst_message_parse_segment_start),
471         (gst_message_parse_segment_done):
472         Small cleanups.
473
474         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
475         (gst_pad_set_caps), (gst_pad_send_event):
476         Update for new events. 
477         Catch events sent in wrong directions.
478
479         * gst/gstqueue.c: (gst_queue_link_src),
480         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
481         (gst_queue_handle_src_query):
482         Event updates.
483
484         * gst/gsttag.c:
485         * gst/gsttag.h:
486         Remove event code from this file.
487
488         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
489         (gst_dp_event_from_packet):
490         Event updates.
491
492 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
493
494         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
495         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
496         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
497           Make debugging actually useful.
498
499 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
500
501         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
502         (gst_pad_fixate_caps):
503           Implement default fixation once again, so that gst_pad_fixate()
504           actually does anything at all. This probably needs to be some
505           sort of a last resort, and use profile-based fixation first, but
506           since that doesn't exist yet, this is the best we have. Fixes
507           visualization in Totem.
508
509 2005-07-22  Wim Taymans  <wim@fluendo.com>
510
511         * docs/design/part-events.txt:
512         Small update.
513
514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
515         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
516         (gst_base_sink_activate_pull):
517         Some more comments.
518
519         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
520         (gst_fake_src_create):
521         Fix handoff marshall.
522
523         * gst/elements/gstidentity.c: (gst_identity_class_init),
524         (gst_identity_transform_ip):
525         We're a real inplace element.
526
527         * gst/gstbus.c: (gst_bus_post):
528         Added some comments.
529
530         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
531         * tests/muxing/case1.c: (main):
532         * tests/sched/dynamic-pipeline.c: (main):
533         * tests/sched/interrupt1.c: (main):
534         * tests/sched/interrupt2.c: (main):
535         * tests/sched/interrupt3.c: (main):
536         * tests/sched/runxml.c: (main):
537         * tests/sched/sched-stress.c: (main):
538         * tests/seeking/seeking1.c: (event_received), (main):
539         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
540         (main):
541         * tests/threadstate/threadstate3.c: (main):
542         * tests/threadstate/threadstate4.c: (main):
543         * tests/threadstate/threadstate5.c: (main):
544         Fix the tests.
545
546 2005-07-21  Wim Taymans  <wim@fluendo.com>
547
548         * docs/design/part-seeking.txt:
549         Some small additions.
550
551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
552         (gst_base_sink_get_times), (gst_base_sink_do_sync),
553         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
554         * gst/base/gstbasesink.h:
555         discont values are gint64, handle the math correctly.
556
557         * gst/base/gstbasesrc.c: (gst_base_src_loop):
558         Make the basesrc report error if the source pad is not linked.
559
560         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
561         (gst_queue_loop), (gst_queue_handle_src_query),
562         (gst_queue_src_activate_push):
563         Make queue collect data even if the srcpad is not linked.
564         Start pushing out data as soon as it is linked.
565
566         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
567         * gst/gstutils.h:
568         Added gst_flow_get_name() to ease error reporting.
569
570 2005-07-20  Wim Taymans  <wim@fluendo.com>
571
572         * gst/gstmessage.c: (gst_message_new_segment_start),
573         (gst_message_new_segment_done), (gst_message_parse_segment_start),
574         (gst_message_parse_segment_done):
575         * gst/gstmessage.h:
576         Added a bunch of messages for advanced seeking.
577
578         * gst/parse/grammar.y:
579         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
580         (gst_dpman_state_changed):
581         Fix some new-pad -> pad-added signals
582
583 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
584
585         * docs/manual/appendix-porting.xml:
586         * docs/pwg/appendix-porting.xml:
587           Document new-pad/state-change signal renames and the FixedList
588           type rename.
589
590 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
591
592         * docs/manual/advanced-autoplugging.xml:
593         * docs/manual/basics-helloworld.xml:
594         * docs/manual/basics-pads.xml:
595         * docs/random/ds/0.9-suggested-changes:
596         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
597         * gst/gstelement.h:
598         * gst/gstevent.h:
599         * gst/gstformat.h:
600         * gst/gstquery.h:
601         * gst/gststructure.c: (gst_structure_value_get_generic_type),
602         (gst_structure_parse_array), (gst_structure_parse_value):
603         * gst/gstvalue.c: (gst_type_is_fixed),
604         (gst_value_list_prepend_value), (gst_value_list_append_value),
605         (gst_value_list_get_size), (gst_value_list_get_value),
606         (gst_value_transform_array_string), (gst_value_serialize_array),
607         (gst_value_deserialize_array), (gst_value_intersect_array),
608         (gst_value_is_fixed), (_gst_value_initialize):
609         * gst/gstvalue.h:
610           GstElement::new-pad -> pad-added, GstElement::state-change ->
611           state-changed, GstValueFixedList -> GstValueArray, add format and
612           flags as their own arguments in gst_element_seek() (should improve
613           "bindeability"), remove function generators since they don't work
614           under a whole bunch of compilers (they were deprecated already
615           anyway).
616
617 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
618
619         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
620         (_gst_debug_register_funcptr):
621         * gst/gstinfo.h:
622           Fix illegal cast on some platforms (#309253).
623
624 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
625
626         * gst/gstmessage.c: (gst_message_new_custom):
627         * gst/gstmessage.h:
628           Add _new_custom, make _new_application a macro to _new_custom.
629
630 2005-07-20  Wim Taymans  <wim@fluendo.com>
631
632         * gst/base/gstbasesrc.c: (gst_base_src_init),
633         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
634         * gst/base/gstbasesrc.h:
635         Add a gboolean to decide when to push out a discont.
636
637         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
638         (gst_queue_loop), (gst_queue_handle_src_query),
639         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
640         (gst_queue_set_property), (gst_queue_get_property):
641         Some cleanups.
642
643         * tests/threadstate/threadstate1.c: (main):
644         Make a thread test compile and run... very silly..
645
646
647 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
648
649         * docs/manual/appendix-porting.xml:
650           Mention removal of libgstgconf-0.9.la and existence of gconf
651           elements.
652
653 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
654
655         * docs/pwg/advanced-clock.xml:
656         * docs/pwg/appendix-porting.xml:
657         * docs/pwg/intro-preface.xml:
658         * docs/pwg/other-base.xml:
659         * docs/pwg/other-manager.xml:
660         * docs/pwg/other-nton.xml:
661         * docs/pwg/other-ntoone.xml:
662         * docs/pwg/other-oneton.xml:
663         * docs/pwg/pwg.xml:
664           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
665           demuxer), remove n-to-n (was never written), fix some code examples
666           and links and update the porting section to include all this.
667
668 2005-07-19  Wim Taymans  <wim@fluendo.com>
669
670         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
671         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
672         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
673         (gst_queue_src_activate_push), (gst_queue_change_state),
674         (gst_queue_get_property):
675         * gst/gstqueue.h:
676         Propagate GstFlowReturn more intelligently upstream and output
677         an ERROR/EOS when streaming stopped due to fatal error.
678
679 2005-07-19  Wim Taymans  <wim@fluendo.com>
680
681         * tools/gst-launch.c: (check_intr), (event_loop), (main):
682         Don't block forever for the state change to complete, the
683         pipeline already did with a sensible timeout.
684
685 2005-07-19  Wim Taymans  <wim@fluendo.com>
686
687         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
688         Make sure we never call the create function is we
689         got deactivated.
690
691 2005-07-19  Andy Wingo  <wingo@pobox.com>
692
693         * gst/parse/parse.l: Attempt to solve bug #172815.
694
695 2005-07-19  Wim Taymans  <wim@fluendo.com>
696
697         * docs/design/part-clocks.txt:
698         * docs/design/part-events.txt:
699         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
700         Small docs updates.
701         Only update the seeking values when we are not
702         busy streaming.
703
704 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
705
706         * gst/base/gstbasesrc.c: (gst_base_src_loop):
707           Oops, ignore the result of gst_pad_push_event here.
708
709 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
710
711         * gst/base/gstbasesrc.c: (gst_base_src_loop),
712         (gst_base_src_activate_push):
713           Send discont event from the loop function, as pads
714           aren't activated yet in the activate_push handler.
715
716         * gst/gstbin.c: (bin_bus_handler):
717           Don't leak element name.
718
719 2005-07-18  Andy Wingo  <wingo@pobox.com>
720
721         * configure.ac: Use AS_LIBTOOL_TAGS.
722
723 2005-07-18  Wim Taymans  <wim@fluendo.com>
724
725         * docs/gst/gstreamer.types:
726         Remove deleted types.
727
728 2005-07-18  Wim Taymans  <wim@fluendo.com>
729
730         * check/elements/gstfakesrc.c: (GST_START_TEST):
731         * configure.ac:
732         * gst/Makefile.am:
733         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
734         (init_popt_callback):
735         * gst/gst.h:
736         * gst/gst_private.h:
737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
738         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
739         * gst/gstbin.h:
740         * gst/gstbus.h:
741         * gst/gstconfig.h.in:
742         * gst/gstelement.c: (gst_element_class_init),
743         (gst_element_set_base_time), (gst_element_get_base_time),
744         (iterator_fold_with_resync), (gst_element_change_state),
745         (gst_element_dispose), (gst_element_get_bus):
746         * gst/gstelement.h:
747         * gst/gstelementfactory.h:
748         * gst/gsterror.c: (_gst_core_errors_init):
749         * gst/gsterror.h:
750         * gst/gstevent.h:
751         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
752         * gst/gstindex.c:
753         * gst/gstinfo.c: (_gst_debug_init):
754         * gst/gstmessage.c: (_gst_message_copy):
755         * gst/gstmessage.h:
756         * gst/gstminiobject.h:
757         * gst/gstobject.c:
758         * gst/gstobject.h:
759         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
760         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
761         * gst/gstpad.h:
762         * gst/gstparse.h:
763         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
764         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
765         (gst_pipeline_get_last_stream_time):
766         * gst/gstpipeline.h:
767         * gst/gstpluginfeature.h:
768         * gst/gstquery.h:
769         * gst/gstscheduler.c:
770         * gst/gstscheduler.h:
771         * gst/gststructure.h:
772         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
773         (gst_task_finalize), (gst_task_func), (gst_task_create),
774         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
775         (gst_task_stop), (gst_task_pause):
776         * gst/gsttask.h:
777         * gst/gsttypefind.h:
778         * gst/gsttypes.h:
779         * gst/registries/gstlibxmlregistry.c: (load_feature),
780         (gst_xml_registry_load), (gst_xml_registry_save_feature):
781         * gst/registries/gstxmlregistry.c:
782         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
783         * gst/schedulers/threadscheduler.c:
784         * libs/gst/control/dparammanager.h:
785         * tools/gst-inspect.c: (print_element_list),
786         (print_plugin_features), (print_element_features):
787         * tools/gst-xmlinspect.c: (print_element_list),
788         (print_plugin_info), (main):
789         Removed plugable schedulers.
790         Removed Scheduler/Manager from elements.
791         Removed gsttypes.h, rearranged includes.
792         Removed dependency pad<->element, element<>pipeline, and
793         various others,  fix includes.
794         implement gst_pad_get_parent() with gst_object_get_parent()
795         Make GstTask sefcontained.
796         Fix _get_state() on GstBin, it did not return ASYNC with a 0
797         timeout.
798         Fix endless loop in iterator_fold_with_resync.
799
800
801 2005-07-18  Wim Taymans  <wim@fluendo.com>
802
803         * gst/Makefile.am:
804         * gst/gstarch.h:
805         Remove old file.
806
807 2005-07-18  Wim Taymans  <wim@fluendo.com>
808
809         * gst/Makefile.am:
810         No more cothreads.h
811
812 2005-07-18  Wim Taymans  <wim@fluendo.com>
813
814         * gst/cothreads.c:
815         * gst/cothreads.h:
816         Let's remove these.
817
818 2005-07-18  Wim Taymans  <wim@fluendo.com>
819
820         * docs/design/part-dynamic.txt:
821         * docs/design/part-events.txt:
822         * docs/design/part-seeking.txt:
823         Some more docs in the works.
824
825         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
826         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
827         (gst_base_transform_setcaps), (gst_base_transform_get_size),
828         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
829         (gst_base_transform_handle_buffer),
830         (gst_base_transform_sink_activate_push),
831         (gst_base_transform_src_activate_pull),
832         (gst_base_transform_set_passthrough),
833         (gst_base_transform_is_passthrough):
834         Refcounting fixes.
835
836         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
837         Cleanups.
838
839         * gst/gstevent.c: (gst_event_finalize):
840         Set SRC to NULL.
841
842         * gst/gstutils.c: (gst_element_unlink),
843         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
844         (gst_pad_proxy_setcaps):
845         * gst/gstutils.h:
846         Add _get_parent_element() to get a pads parent as an element.
847
848 2005-07-18  Wim Taymans  <wim@fluendo.com>
849
850         * check/gst/gstbin.c: (GST_START_TEST):
851         Remove bogus test.
852
853 2005-07-18  Wim Taymans  <wim@fluendo.com>
854
855         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
856         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
857         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
858         (gst_base_sink_event), (gst_base_sink_do_sync),
859         (gst_base_sink_chain), (gst_base_sink_loop),
860         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
861         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
862         Refcounting fixes.
863         Fix logic for returning ASYNC when not prerolled.
864
865 2005-07-18  Wim Taymans  <wim@fluendo.com>
866
867         * gst/gstqueue.c: (gst_queue_handle_sink_event):
868         Fix nasty refcount bug.
869
870 2005-07-16 Philippe Khalaf <burger@speedy.org>
871         * gst/elements/gstfdsrc.c:
872         * gst/elements/gstfdsrc.h:
873         * gst/elements/gstelements.c:
874         * gst/elements/Makefile.am:
875         Ported fdsrc to 0.9.
876
877 2005-07-16  Wim Taymans  <wim@fluendo.com>
878
879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
880         (gst_base_sink_do_sync):
881         Fix compile error.
882
883 2005-07-16  Wim Taymans  <wim@fluendo.com>
884
885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
886         (gst_base_sink_event), (gst_base_sink_get_times),
887         (gst_base_sink_do_sync), (gst_base_sink_change_state):
888         * gst/base/gstbasesink.h:
889         Store and use discont values when syncing buffers as described
890         in design docs.
891         
892         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
893         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
894         (gst_base_src_activate_push):
895         Push discont event when starting.
896
897         * gst/elements/gstidentity.c: (gst_identity_transform):
898         Small cleanups.
899
900         * gst/gstbin.c: (gst_bin_change_state):
901         Small cleanups in base_time  distribution.
902
903         * gst/gstelement.c: (gst_element_set_base_time),
904         (gst_element_get_base_time), (gst_element_change_state):
905         * gst/gstelement.h:
906         Added methods for the base_time of the element.
907         Some MT fixes.
908
909         * gst/gstpipeline.c: (gst_pipeline_send_event),
910         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
911         (gst_pipeline_get_last_stream_time):
912         * gst/gstpipeline.h:
913         MT fixes.
914         Handle seeking as described in design doc, remove stream_time
915         hack.
916         Cleanups clock and stream_time selection code. Added accessors
917         for the stream_time.
918         
919
920 2005-07-16  Andy Wingo  <wingo@pobox.com>
921
922         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
923         (#305291).
924
925 2005-07-16  Wim Taymans  <wim@fluendo.com>
926
927         * check/gst/gstbin.c: (GST_START_TEST):
928         Make elements silent as the deep_notify refs the
929         parent, which might make the test fail.
930
931         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
932         Don't hold the lock for too long.
933
934 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
935
936         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
937           Don't unref the caps we passed to gst_caps_make_writable() after
938           passing them. gst_caps_make_writable() will do that for us.
939
940 2005-07-15  Andy Wingo  <wingo@pobox.com>
941
942         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
943         (#157311).
944
945         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
946         own marshalling function for the handoff signal. Properly type the
947         buffer as a buffer. Fixes some warnings. Should do a more general
948         solution.
949         (gst_identity_class_init): Plug into the right marshaller.
950
951 2005-07-15  Wim Taymans  <wim@fluendo.com>
952
953         * docs/design/part-TODO.txt:
954         * docs/design/part-clocks.txt:
955         * docs/design/part-element-sink.txt:
956         * docs/design/part-events.txt:
957         * docs/design/part-gstpipeline.txt:
958         Updated docs, mostly DISCONT related.
959
960 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
961
962         * docs/pwg/building-pads.xml:
963           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
964
965 2005-07-15  Andy Wingo  <wingo@pobox.com>
966
967         * tools/gst-typefind.c: Update, add copyright block.
968
969         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
970         Normalize and truncate caps before fixation.
971
972         * gst/gstcaps.h:
973         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
974         discards all but the first structure from its argument.
975
976 2005-07-15  Wim Taymans  <wim@fluendo.com>
977
978         * gst/base/gstbasetransform.c: (gst_base_transform_init),
979         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
980         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
981         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
982         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
983         (gst_base_transform_chain), (gst_base_transform_change_state),
984         (gst_base_transform_set_passthrough),
985         (gst_base_transform_is_passthrough):
986         * gst/base/gstbasetransform.h:
987         Make passthrough work using the bufferpools.
988         Changed API a bit, subclasses have to write into a buffer
989         provided by the base class.
990         More debug info in nego functions.
991         
992         * gst/elements/gstidentity.c: (gst_identity_init),
993         (gst_identity_transform):
994         Port to new base class.
995
996 2005-07-15  Wim Taymans  <wim@fluendo.com>
997
998         * gst/gstmessage.c: (gst_message_new_state_changed):
999         * tools/gst-launch.c: (event_loop), (main):
1000         Totally dump messages in -launch with the -m option.
1001         Fix message name for State messages,
1002
1003 2005-07-14  Wim Taymans  <wim@fluendo.com>
1004
1005         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1006         Post error messages on errors.
1007
1008 2005-07-14  Wim Taymans  <wim@fluendo.com>
1009
1010         * gst/gstcaps.c: (gst_caps_do_simplify):
1011         Remove debug info.
1012
1013         * gst/gsterror.h:
1014         Define error for stream stopped.
1015
1016         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1017         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1018         Do proper return values.
1019
1020         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1021         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1022         (gst_pad_get_range):
1023         Better return values.
1024
1025         * gst/gstpad.h:
1026         Reorganise return values, add macro to check for fatal errors.
1027
1028         * gst/gstqueue.c: (gst_queue_chain):
1029         Return proper GstFlowReturn values,
1030
1031 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1032
1033         * docs/gst/gstreamer-sections.txt:
1034         * docs/gst/gstreamer.types:
1035         * docs/gst/tmpl/gst.sgml:
1036         * docs/gst/tmpl/gstbasesink.sgml:
1037         * docs/gst/tmpl/gstbasesrc.sgml:
1038         * docs/gst/tmpl/gstbasetransform.sgml:
1039         * docs/gst/tmpl/gstbin.sgml:
1040         * docs/gst/tmpl/gstbuffer.sgml:
1041         * docs/gst/tmpl/gstcaps.sgml:
1042         * docs/gst/tmpl/gstclock.sgml:
1043         * docs/gst/tmpl/gstcompat.sgml:
1044         * docs/gst/tmpl/gstconfig.sgml:
1045         * docs/gst/tmpl/gstelement.sgml:
1046         * docs/gst/tmpl/gstelementdetails.sgml:
1047         * docs/gst/tmpl/gstelementfactory.sgml:
1048         * docs/gst/tmpl/gstenumtypes.sgml:
1049         * docs/gst/tmpl/gsterror.sgml:
1050         * docs/gst/tmpl/gstevent.sgml:
1051         * docs/gst/tmpl/gstfakesink.sgml:
1052         * docs/gst/tmpl/gstfakesrc.sgml:
1053         * docs/gst/tmpl/gstfilesink.sgml:
1054         * docs/gst/tmpl/gstfilesrc.sgml:
1055         * docs/gst/tmpl/gstfilter.sgml:
1056         * docs/gst/tmpl/gstformat.sgml:
1057         * docs/gst/tmpl/gstghostpad.sgml:
1058         * docs/gst/tmpl/gstimplementsinterface.sgml:
1059         * docs/gst/tmpl/gstindex.sgml:
1060         * docs/gst/tmpl/gstindexfactory.sgml:
1061         * docs/gst/tmpl/gstinfo.sgml:
1062         * docs/gst/tmpl/gstiterator.sgml:
1063         * docs/gst/tmpl/gstmacros.sgml:
1064         * docs/gst/tmpl/gstmemchunk.sgml:
1065         * docs/gst/tmpl/gstminiobject.sgml:
1066         * docs/gst/tmpl/gstobject.sgml:
1067         * docs/gst/tmpl/gstpad.sgml:
1068         * docs/gst/tmpl/gstpadtemplate.sgml:
1069         * docs/gst/tmpl/gstparse.sgml:
1070         * docs/gst/tmpl/gstpipeline.sgml:
1071         * docs/gst/tmpl/gstplugin.sgml:
1072         * docs/gst/tmpl/gstpluginfeature.sgml:
1073         * docs/gst/tmpl/gstquery.sgml:
1074         * docs/gst/tmpl/gstqueue.sgml:
1075         * docs/gst/tmpl/gstregistry.sgml:
1076         * docs/gst/tmpl/gstregistrypool.sgml:
1077         * docs/gst/tmpl/gstscheduler.sgml:
1078         * docs/gst/tmpl/gstschedulerfactory.sgml:
1079         * docs/gst/tmpl/gststructure.sgml:
1080         * docs/gst/tmpl/gstsystemclock.sgml:
1081         * docs/gst/tmpl/gsttaglist.sgml:
1082         * docs/gst/tmpl/gsttagsetter.sgml:
1083         * docs/gst/tmpl/gsttrace.sgml:
1084         * docs/gst/tmpl/gsttrashstack.sgml:
1085         * docs/gst/tmpl/gsttypefind.sgml:
1086         * docs/gst/tmpl/gsttypefindfactory.sgml:
1087         * docs/gst/tmpl/gsttypes.sgml:
1088         * docs/gst/tmpl/gsturihandler.sgml:
1089         * docs/gst/tmpl/gsturitype.sgml:
1090         * docs/gst/tmpl/gstutils.sgml:
1091         * docs/gst/tmpl/gstvalue.sgml:
1092         * docs/gst/tmpl/gstversion.sgml:
1093         * docs/gst/tmpl/gstxml.sgml:
1094         * docs/libs/tmpl/gstcontrol.sgml:
1095         * docs/libs/tmpl/gstdataprotocol.sgml:
1096         * docs/libs/tmpl/gstdparam.sgml:
1097         * docs/libs/tmpl/gstdplinint.sgml:
1098         * docs/libs/tmpl/gstdpman.sgml:
1099         * docs/libs/tmpl/gstdpsmooth.sgml:
1100         * docs/libs/tmpl/gstgetbits.sgml:
1101         * docs/libs/tmpl/gstunitconvert.sgml:
1102         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1103         (gst_push_src_base_init), (gst_push_src_class_init),
1104         (gst_push_src_init), (gst_push_src_create):
1105         * gst/base/gstpushsrc.h:
1106         * gst/elements/gstelements.c:
1107         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1108         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1109         (gst_fake_sink_init), (gst_fake_sink_set_property),
1110         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1111         (gst_fake_sink_event), (gst_fake_sink_preroll),
1112         (gst_fake_sink_render), (gst_fake_sink_change_state):
1113         * gst/elements/gstfakesink.h:
1114         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1115         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1116         (gst_fake_src_base_init), (gst_fake_src_class_init),
1117         (gst_fake_src_init), (gst_fake_src_event_handler),
1118         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1119         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1120         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1121         (gst_fake_src_create_buffer), (gst_fake_src_create),
1122         (gst_fake_src_start), (gst_fake_src_stop):
1123         * gst/elements/gstfakesrc.h:
1124         * gst/elements/gstfilesink.c: (_do_init),
1125         (gst_file_sink_base_init), (gst_file_sink_class_init),
1126         (gst_file_sink_init), (gst_file_sink_dispose),
1127         (gst_file_sink_set_location), (gst_file_sink_set_property),
1128         (gst_file_sink_get_property), (gst_file_sink_open_file),
1129         (gst_file_sink_close_file), (gst_file_sink_query),
1130         (gst_file_sink_event), (gst_file_sink_render),
1131         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1132         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1133         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1134         * gst/elements/gstfilesink.h:
1135         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1136         (gst_file_src_class_init), (gst_file_src_init),
1137         (gst_file_src_finalize), (gst_file_src_set_location),
1138         (gst_file_src_set_property), (gst_file_src_get_property),
1139         (gst_file_src_map_region), (gst_file_src_map_small_region),
1140         (gst_file_src_create_mmap), (gst_file_src_create_read),
1141         (gst_file_src_create), (gst_file_src_is_seekable),
1142         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1143         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1144         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1145         (gst_file_src_uri_handler_init):
1146         * gst/elements/gstfilesrc.h:
1147           more autistic cleanliness in functions/names/defines
1148
1149 2005-07-13  Andy Wingo  <wingo@pobox.com>
1150
1151         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1152         source couldn't negotiate.
1153
1154         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1155         connections again.
1156
1157         * gst/gstutils.h:
1158         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1159         function. I am channeling Hades. Put your boots on suckers!!!
1160
1161 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1162
1163         * testsuite/caps/Makefile.am:
1164         * testsuite/caps/value_compare.c:
1165         * testsuite/caps/value_intersect.c:
1166         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1167           move two testsuite apps over to the check dir
1168
1169 2005-07-12  Wim Taymans  <wim@fluendo.com>
1170
1171         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1172         Added more debug info in the negotiate process.
1173
1174         * gst/gstmessage.h:
1175         Prepare for segment playback.
1176
1177         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1178         Better debugging.
1179
1180         * gst/gstutils.c:
1181         Some more docs.
1182
1183         * tools/gst-launch.c: (main):
1184         NULL pipeline on errors.
1185
1186 2005-07-12  Andy Wingo  <wingo@pobox.com>
1187
1188         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1189         not it comes from a malloc region. Make sure our copy gets freed.
1190
1191 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1192
1193         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1194         * check/gst/gstmessage.c: (GST_START_TEST):
1195         * check/gst/gststructure.c: (GST_START_TEST),
1196         (gst_structure_suite), (main):
1197           more testing
1198         * gst/gstelement.c: (gst_element_message_full):
1199           clean up GError and debug string now that they get copied
1200         * gst/gstmessage.c: (gst_message_new_error),
1201         (gst_message_new_warning), (gst_message_parse_error),
1202         (gst_message_parse_warning):
1203           use GST_TYPE_G_ERROR for structure_new, and take copies of
1204           arguments, so that we don't mess up refcounting
1205
1206 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1207
1208         * check/Makefile.am:
1209           add per-test valgrind targets
1210         * check/gst-libs/gdp.c: (GST_START_TEST),
1211         (gst_data_protocol_suite), (main):
1212           clean up
1213
1214 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         * check/Makefile.am:
1217           instate more valgrindable tests
1218         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1219         (GST_START_TEST), (fakesrc_suite):
1220         * check/gst/gstpad.c: (GST_START_TEST):
1221         * check/gst/gststructure.c: (GST_START_TEST):
1222           fix test leaks
1223         * docs/gst/tmpl/gstminiobject.sgml:
1224         * gst/gstpad.c: (gst_pad_finalize):
1225           fix the static mutex leak
1226
1227 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1228
1229         * check/Makefile.am:
1230           add two more tests for valgrinding
1231         * check/gst/gstvalue.c: (GST_START_TEST):
1232           test refcount of deserialized buffer, found a leak
1233         * docs/gst/gstreamer-docs.sgml:
1234         * docs/gst/gstreamer-sections.txt:
1235         * docs/gst/gstreamer.types:
1236         * docs/gst/tmpl/gstminiobject.sgml:
1237           add miniobject to docs
1238         * gst/gstminiobject.c:
1239           add some docs
1240         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1241         (gst_string_unwrap):
1242           fix a hard-to-find invalid write for one of the tests
1243           fix a leak for deserialized buffers
1244
1245 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1246
1247         * docs/pwg/advanced-events.xml:
1248         * docs/pwg/advanced-request.xml:
1249         * docs/pwg/advanced-scheduling.xml:
1250         * docs/pwg/appendix-porting.xml:
1251         * docs/pwg/building-boiler.xml:
1252         * docs/pwg/intro-preface.xml:
1253         * docs/pwg/other-ntoone.xml:
1254           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1255           of example code and explanation for pad activation, loop() and
1256           getrange() functions and a bit more. Remove old comments pointing
1257           to loop-functions.
1258         * examples/pwg/Makefile.am:
1259           Add loop/getrange examples.
1260
1261 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * configure.ac:
1264           check for valgrind binary + some fixes
1265         * check/gst.supp:
1266           valgrind suppressions for the tests
1267         * check/Makefile.am:
1268           add a valgrind: target that valgrinds the unit tests
1269         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1270         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1271         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1272         * check/gst/gstghostpad.c:
1273           added some cleanup
1274         * check/gst/gstdata.c:
1275           removed
1276         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1277         (thread_unref), (gst_mini_object_suite), (main):
1278           added
1279         * gst/gst.c: (gst_deinit):
1280         * gst/gst.h:
1281           add a method to clean up.
1282         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1283         (gst_system_clock_obtain):
1284           allow for disposing the system clock.
1285         * tools/gst-launch.c: (main):
1286           deinit
1287
1288 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1289
1290         * docs/gst/tmpl/gstbasesrc.sgml:
1291         * docs/gst/tmpl/gstfakesrc.sgml:
1292         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1293         (gst_base_src_init), (gst_base_src_set_property),
1294         (gst_base_src_get_property), (gst_base_src_get_range),
1295         (gst_base_src_start):
1296         * gst/base/gstbasesrc.h:
1297           add num-buffers property
1298         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1299         (gst_fakesrc_init), (gst_fakesrc_set_property),
1300         (gst_fakesrc_get_property), (gst_fakesrc_create),
1301         (gst_fakesrc_start):
1302           remove num-buffers property
1303
1304 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1305
1306         * docs/gst/gstreamer-sections.txt:
1307         * docs/gst/tmpl/gstbasesink.sgml:
1308         * docs/gst/tmpl/gstbasesrc.sgml:
1309         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1310         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1311         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1312         (gst_base_sink_set_property), (gst_base_sink_get_property),
1313         (gst_base_sink_handle_object), (gst_base_sink_event),
1314         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1315         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1316         (gst_base_sink_loop), (gst_base_sink_deactivate),
1317         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1318         (gst_base_sink_change_state):
1319         * gst/base/gstbasesink.h:
1320         * gst/base/gstbasesrc.h:
1321         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1322         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1323         (gst_filesink_init):
1324           more macro splitting
1325
1326 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1327
1328         * gst/gstelement.c: (gst_element_get_bus):
1329           add debug
1330         * tools/gst-launch.c: (check_intr), (event_loop):
1331           fix bus leaks
1332
1333 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1334
1335         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1336           fix a caps leak
1337
1338 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1341         (gst_base_src_finalize):
1342           add finalize method and clean up properly
1343         * gst/gstpipeline.c: (gst_pipeline_dispose):
1344           add debug
1345
1346 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1347
1348         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1349         (gst_bin_suite):
1350           add more things to check
1351         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1352         * gst/gstelement.c:
1353           more debug
1354
1355 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1356
1357         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1358         (GST_START_TEST), (fakesrc_suite):
1359         * check/gst-libs/gdp.c: (GST_START_TEST):
1360         * check/gst/gst.c: (GST_START_TEST):
1361         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1362         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1363         * check/gst/gstbus.c: (GST_START_TEST):
1364         * check/gst/gstcaps.c: (GST_START_TEST):
1365         * check/gst/gstdata.c: (GST_START_TEST):
1366         * check/gst/gstelement.c: (GST_START_TEST):
1367         * check/gst/gstghostpad.c: (GST_START_TEST):
1368         * check/gst/gstiterator.c: (GST_START_TEST):
1369         * check/gst/gstmessage.c: (GST_START_TEST):
1370         * check/gst/gstobject.c: (GST_START_TEST):
1371         * check/gst/gstpad.c: (GST_START_TEST):
1372         * check/gst/gststructure.c: (GST_START_TEST):
1373         * check/gst/gstsystemclock.c: (GST_START_TEST),
1374         (gst_systemclock_suite):
1375         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1376         * check/gst/gstvalue.c: (GST_START_TEST):
1377         * check/pipelines/cleanup.c: (GST_START_TEST):
1378         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1379         * check/states/sinks.c: (GST_START_TEST):
1380         * check/gstcheck.c: (gst_check_init):
1381         * check/gstcheck.h:
1382           add debugging category
1383           use GST_START_TEST now, so we add a debug line
1384
1385 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1388           add test for state change message on a bin
1389         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1390           add another test
1391         * gst/gstbin.c: (gst_bin_init):
1392         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1393         * gst/gstelement.c: (gst_element_post_message),
1394         (gst_element_set_state):
1395         * gst/gstelementfactory.c: (gst_element_factory_create):
1396         * gst/gstmessage.c: (gst_message_new):
1397         * gst/gstscheduler.c:
1398           various debugging additions and cleanups
1399
1400 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1401
1402         * check/Makefile.am:
1403         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1404         (main):
1405           adding tests for elements
1406         * gst/gstelement.c: (gst_element_dispose):
1407
1408 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1409
1410         * gst/registries/gstlibxmlregistry.c: (load_feature):
1411           plug more leaks.  A simple gst_init() now is leakfree, yay.
1412
1413 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1414
1415         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1416         (gst_xml_registry_load):
1417           plug another memleak
1418
1419 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1420
1421         * configure.ac:
1422           use GST_SET_ERROR_CFLAGS
1423         * docs/faq/cvs.xml:
1424           change to ERROR_CFLAGS
1425
1426 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1427
1428         * configure.ac:
1429           make GST_ERROR_CFLAGS overridable and re-enable Werror
1430         * docs/faq/cvs.xml:
1431           add a note about error CFLAGS
1432         * docs/gst/tmpl/gstfakesrc.sgml:
1433         * gst/elements/gstfakesrc.c:
1434           comment out some unused code
1435         * gst/gst.c: (split_and_iterate):
1436         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1437         (load_feature):
1438           plug some memleaks
1439
1440 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1441
1442         * common/Makefile.am:
1443         * common/gtk-doc.mak:
1444         * docs/gst/Makefile.am:
1445           factor out gtk-doc.mak
1446
1447 2005-07-07  Wim Taymans  <wim@fluendo.com>
1448
1449         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1450         (gst_thread_scheduler_dispose):
1451         Unlock the STREAM_LOCK completely.
1452
1453 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1454
1455         * check/Makefile.am:
1456         * check/elements/.cvsignore:
1457         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1458         (START_TEST), (fakesrc_suite), (main):
1459         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1460         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1461         (gst_fakesrc_create), (gst_fakesrc_start):
1462         * gst/elements/gstfakesrc.h:
1463           adding a first element test
1464
1465 2005-07-07  Andy Wingo  <wingo@pobox.com>
1466
1467         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1468         debug message.
1469
1470 2005-07-07  Wim Taymans  <wim@fluendo.com>
1471
1472         * gst/gstquery.c:
1473         * gst/gstquery.h:
1474         Remove old types
1475
1476 2005-07-07  Wim Taymans  <wim@fluendo.com>
1477
1478         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1479         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1480         Allow subclasses to implement their own negotiation.
1481
1482 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1483
1484         * docs/design/part-gstbin.txt:
1485         * docs/design/part-gstpipeline.txt:
1486           Update design notes to reflect the movement of
1487           responsibility for bus handling from GstPipeline to
1488           GstBin
1489
1490 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1491
1492         * configure.ac:
1493           Remove unnecessary queue2/3/4 examples.
1494
1495 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1496
1497         * examples/Makefile.am:
1498         * examples/helloworld/helloworld.c: (event_loop), (main):
1499         * examples/queue/queue.c: (event_loop), (main):
1500         * examples/queue2/queue2.c: (main):
1501           Update a couple of the examples to work again.
1502
1503         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1504         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1505          Spelling corrections and extra debug.
1506         
1507         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1508         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1509         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1510         * gst/gstbin.h:
1511         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1512         (gst_pipeline_change_state):
1513         * gst/gstpipeline.h:
1514           Move the bus handler for children to the GstBin, and create a
1515           separate bus for receiving messages from children to the one the
1516           bus sends 'upwards' on.
1517
1518 2005-07-06  Wim Taymans  <wim@fluendo.com>
1519
1520         * gst/base/README:
1521         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1522         (gst_base_sink_handle_object), (gst_base_sink_loop),
1523         (gst_base_sink_change_state):
1524         * gst/base/gstbasesink.h:
1525         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1526         (gst_base_src_init), (gst_base_src_setcaps),
1527         (gst_base_src_getcaps), (gst_base_src_loop),
1528         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1529         (gst_base_src_start), (gst_base_src_change_state):
1530         * gst/base/gstbasesrc.h:
1531         Make basesrc negotiate.
1532         Handle the case where preroll fails in basesink.
1533         Update README.
1534
1535 2005-07-06  Wim Taymans  <wim@fluendo.com>
1536
1537         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1538         Implement the fixate function.
1539         Clean up acceptcaps.
1540
1541 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1542
1543         * docs/pwg/building-filterfactory.xml:
1544         * docs/pwg/pwg.xml:
1545           Remove never-written filter-factory chapter; I'll add the various
1546           base classes to part 4 ("other element types") later on.
1547
1548 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1549
1550         * docs/pwg/advanced-negotiation.xml:
1551         * docs/pwg/building-boiler.xml:
1552         * docs/pwg/building-pads.xml:
1553         * docs/pwg/pwg.xml:
1554         * examples/pwg/Makefile.am:
1555           Add a chapter on caps negotiation, simplify the original code
1556           samples a bit w.r.t. caps negotiation, add link to the advanced
1557           section. Add a bunch of examples showing different use cases of
1558           different types of caps negotiation. Upstream renegotiation isn't
1559           fully documented yet since nobody knows how that works.
1560
1561 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1562
1563         * check/gst/gstpad.c:
1564         * check/gstcheck.c:
1565         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1566           if pad has no parent, return NULL as list of internal links
1567
1568 2005-07-05  Andy Wingo  <wingo@pobox.com>
1569
1570         * gst/elements/gstfilesrc.c:
1571         * gst/elements/gstfakesrc.c: 
1572         * gst/base/gstpushsrc.c:
1573         * gst/base/gstbasesrc.h: 
1574         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1575         
1576 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1577
1578         * Makefile.am:
1579           better report generation target (lcov needs a patch)
1580
1581 2005-07-05  Andy Wingo  <wingo@pobox.com>
1582
1583         * gst/elements, testsuite: Null if we got it...
1584
1585 2005-07-05  Wim Taymans  <wim@fluendo.com>
1586
1587         * configure.ac:
1588         * libs/gst/dataprotocol/Makefile.am:
1589         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1590         * libs/gst/dataprotocol/dataprotocol.h:
1591         * pkgconfig/Makefile.am:
1592         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1593         * pkgconfig/gstreamer-dataprotocol.pc.in:
1594         Ported dataprotol to 0.9. 
1595         Added pkgconfig files.
1596
1597 2005-07-05  Andy Wingo  <wingo@pobox.com>
1598
1599         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1600         Default to returning TRUE for the case when tranform_caps returns
1601         a fixed caps, like for identity or volume.
1602
1603         * check/gst/gstbus.c (pound_bus_with_messages): 
1604         * check/gst/gstmessage.c (START_TEST): 
1605         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1606         message API change.
1607
1608         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1609         logic weaks here: always run transform_caps, trying passthrough
1610         operation only if the original caps intersects with the transform.
1611
1612         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1613         source and sink caps.
1614
1615         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1616         Intersect the peer caps with the pad template before going into
1617         transform_caps.
1618         (gst_base_transform_transform_caps): More debugging.
1619
1620         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1621         src argument.
1622
1623 2005-07-04  Edward Hervey  <edward@fluendo.com>
1624
1625         * gst/gstutils.c:
1626         * gst/gstutils.h:
1627         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1628         in bindings.
1629
1630 2005-07-04  Andy Wingo  <wingo@pobox.com>
1631
1632         * check/gst/gstpad.c: Only set explicit caps on pads.
1633
1634 2005-07-01  Andy Wingo  <wingo@pobox.com>
1635
1636         * tests/network-clock.scm: Commentary update.
1637
1638         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1639         Didn't really make sense, not implementable with basetransform,
1640         etc.
1641         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1642         attempt at implementing the sync property, needs an unlock method.
1643
1644         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1645         New func, by default returns the same caps (the identity
1646         transformation).
1647         (gst_base_transform_getcaps): Uses transform_caps to return
1648         something sensible.
1649         (gst_base_transform_setcaps): Complicated logic to get caps on
1650         both pads, even if they are different, and to call set_caps once
1651         for every time both pads get their caps set.
1652         (gst_base_transform_handle_buffer): Give the ref to the transform
1653         function. Allows in-place modification of the buffer.
1654
1655         * gst/base/gstbasetransform.h (transform_caps): New class method.
1656         Given caps on one side, what can I do on the other.
1657         (set_caps): Take two caps, one for each side of the element.
1658
1659         * gst/gstpad.h:
1660         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1661         caps in place. This is safe because we can check the mutability of
1662         the caps, and a good idea because fixate functions are just called
1663         as a matter of last resort. (Not actually implemented.)
1664         (gst_pad_set_caps): If the caps we're setting is actually the same
1665         as the existing pad caps, just update the pointer without calling
1666         setcaps. Assert that caps is either NULL or fixed, as per the
1667         docs.
1668
1669         * gst/gstghostpad.c: Update for fixate changes.
1670
1671 2005-07-02  Andy Wingo  <wingo@pobox.com>
1672
1673         * gst/gstcaps.c:
1674         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1675         two refcounts makes it immutable, which is enough. Doc more.
1676
1677 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1678
1679         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1680           Put the mini_object into GValue as a mini_object,
1681           not a gpointer, since that's how we declared
1682           the signal.
1683
1684 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1685
1686         * examples/pwg/Makefile.am:
1687           Fix buildbot again.
1688
1689 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1690
1691         * docs/pwg/building-testapp.xml:
1692           Add extra check.
1693         * examples/pwg/Makefile.am:
1694           Fix buildbot.
1695
1696 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1697
1698         * configure.ac:
1699         * examples/Makefile.am:
1700         * examples/pwg/Makefile.am:
1701         * examples/pwg/extract.pl:
1702           Enable building the PWG examples.
1703         * docs/pwg/advanced-interfaces.xml:
1704           Add URI interface stub.
1705         * docs/pwg/advanced-types.xml:
1706         * docs/pwg/other-autoplugger.xml:
1707         * docs/pwg/appendix-porting.xml:
1708         * docs/pwg/pwg.xml:
1709           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1710         * docs/pwg/building-boiler.xml:
1711         * docs/pwg/building-chainfn.xml:
1712         * docs/pwg/building-pads.xml:
1713         * docs/pwg/building-props.xml:
1714         * docs/pwg/building-state.xml:
1715         * docs/pwg/building-testapp.xml:
1716           Update the building-*.xml parts for 0.9 changes. All examples
1717           code blocks compile in examples/pwg/*.
1718
1719 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1720
1721         * docs/manual/advanced-autoplugging.xml:
1722         * docs/manual/appendix-checklist.xml:
1723         * docs/manual/appendix-integration.xml:
1724         * docs/manual/highlevel-components.xml:
1725           Fix playbin/decodebin examples, update docs a bit, mention bus
1726           instead of signals in various places, mention kmplayer and
1727           kaffeine since they have a working GStreamer backend in the KDE
1728           section.
1729
1730 2005-06-30  Wim Taymans  <wim@fluendo.com>
1731
1732         * CHANGES-0.9:
1733         * docs/design/draft-ghostpads.txt:
1734         * docs/design/draft-push-pull.txt:
1735         * docs/design/draft-query.txt:
1736         * docs/design/part-TODO.txt:
1737         * docs/design/part-query.txt:
1738         Added CHANGES-0.9 doc, updated status of other docs.
1739         
1740         * gst/gstquery.h:
1741         Remove "hmm" macro
1742
1743 2005-06-30  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1746         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1747         (gst_base_sink_change_state):
1748         * gst/base/gstbasesink.h:
1749         Some tweaks, only EOS and a buffer complete a preroll.
1750
1751 2005-06-30  Andy Wingo  <wingo@pobox.com>
1752
1753         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1754         activate_push down to the internal pad as well.
1755
1756 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1757
1758         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1759
1760         * gst/gsttaginterface.c:
1761           Some documentation fixes (#307394 and #307397).
1762
1763 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1764
1765         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1766
1767         * gst/gstvalue.c: (gst_value_intersect_list):
1768           Fix memleak (#309125).
1769
1770 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1771
1772         * docs/manual/advanced-dataaccess.xml:
1773           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1774         * docs/manual/basics-pads.xml:
1775           Add reference for filtered caps to above chapter.
1776
1777 2005-06-30  Wim Taymans  <wim@fluendo.com>
1778
1779         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1780         (gst_bin_change_state):
1781         Probes are gone.
1782         Lame attempt at making the state change function a bit
1783         more readable.
1784
1785 2005-06-30  Wim Taymans  <wim@fluendo.com>
1786
1787         * docs/design/part-clocks.txt:
1788         * docs/design/part-element-sink.txt:
1789         * docs/design/part-events.txt:
1790         * docs/design/part-preroll.txt:
1791         * docs/design/part-states.txt:
1792         Some more tweeks and additions to the docs.
1793
1794 2005-06-30  Wim Taymans  <wim@fluendo.com>
1795
1796         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1797         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1798         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1799         (gst_pad_check_pull_range), (gst_pad_get_range),
1800         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1801         * gst/gstpad.h:
1802         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1803         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1804         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1805         (gst_pad_remove_buffer_probe):
1806         Removed atomic operations, use existing LOCK.
1807         Move exception handling out of main code path.
1808
1809 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1810
1811         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1812         (silly_return_true_function), (gst_pad_class_init),
1813         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1814         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1815         (gst_pad_send_event):
1816           Fix accumulator, add default value by using _emitv() instead
1817           of _emit() for signal emission.
1818
1819 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1820
1821         * docs/manual/advanced-dataaccess.xml:
1822         * examples/manual/Makefile.am:
1823           Add probe example.
1824         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1825           Make work (??).
1826
1827 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1828
1829         * gst/elements/gstfilesink.c: (gst_filesink_render):
1830           Simplify code so that we don't have to handle short
1831           writes and return GST_FLOW_ERROR if an error occured.
1832
1833 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1834
1835         * docs/gst/gstreamer-docs.sgml:
1836           Remove probes more.
1837
1838 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1839
1840         * docs/gst/gstreamer-sections.txt:
1841         * docs/gst/tmpl/gstpad.sgml:
1842         * docs/gst/tmpl/gstprobe.sgml:
1843         * gst/Makefile.am:
1844         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1845         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1846         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1847         (gst_pad_push_event), (gst_pad_send_event):
1848         * gst/gstpad.h:
1849         * gst/gstutils.c: (gst_pad_add_data_probe),
1850         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1851         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1852         (gst_pad_remove_buffer_probe):
1853         * gst/gstutils.h:
1854           Remove old probes, add new g-signal-based probes and some utility
1855           functions.
1856
1857 2005-06-29  Edward Hervey  <edward@fluendo.com>
1858
1859         * gst/gstelementfactory.c:
1860         * gst/gstutils.h:
1861         * gst/gstutils.c:
1862         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1863         the definition to the header file.
1864
1865 2005-06-29  Andy Wingo  <wingo@pobox.com>
1866
1867         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1868         plugins from the source directory.
1869
1870 2005-06-29  Wim Taymans  <wim@fluendo.com>
1871
1872         * docs/gst/tmpl/gstbuffer.sgml:
1873         * docs/gst/tmpl/gstclock.sgml:
1874         Some fixings for blantently wrong text.
1875
1876 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1877
1878         * check/Makefile.am:
1879         * gst/gst.c: (add_path_func), (init_pre):
1880         * gst/gstregistry.c: (gst_registry_add_path):
1881           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1882           only scan the GST_PLUGIN_PATH locations, and not add
1883           system locations
1884
1885 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1886
1887         * docs/gst/gstreamer-sections.txt:
1888         * docs/gst/tmpl/gstbasesrc.sgml:
1889         * gst/gstelement.c:
1890         * gst/gstelement.h:
1891         * gst/gstevent.c:
1892         * gst/gstutils.c:
1893           doc fixes
1894
1895 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1896
1897         * docs/manual/advanced-autoplugging.xml:
1898           Fix autoplugging example.
1899
1900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1901
1902         * docs/manual/advanced-autoplugging.xml:
1903         * docs/manual/mime-world.fig:
1904           Try to get autoplugging working, fix type detection. Fix text
1905           in hello-world image.
1906
1907 2005-06-29  Wim Taymans  <wim@fluendo.com>
1908
1909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1910         (gst_base_sink_change_state):
1911         Small debug line.
1912
1913         * gst/gstclock.h:
1914         map SIGNAL and BROADCAST to the right function.
1915
1916         * gst/gstobject.h:
1917         Remove redundant braces.
1918
1919         * gst/gstpad.c: (gst_pad_set_caps):
1920         Don't call setcaps function when reseting caps to NULL.
1921
1922         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1923         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1924         (gst_system_clock_id_unschedule):
1925         Use BROADCAST as this is what we do.
1926
1927 2005-06-29  Wim Taymans  <wim@fluendo.com>
1928
1929         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1930         We are actually prerolling before commiting the state
1931         change. 
1932
1933 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1934
1935         * docs/manual/advanced-clocks.xml:
1936         * docs/manual/advanced-interfaces.xml:
1937         * docs/manual/advanced-metadata.xml:
1938         * docs/manual/advanced-position.xml:
1939         * docs/manual/advanced-schedulers.xml:
1940         * docs/manual/advanced-threads.xml:
1941         * docs/manual/appendix-porting.xml:
1942         * docs/manual/basics-bins.xml:
1943         * docs/manual/basics-bus.xml:
1944         * docs/manual/basics-elements.xml:
1945         * docs/manual/basics-helloworld.xml:
1946         * docs/manual/basics-pads.xml:
1947         * docs/manual/highlevel-components.xml:
1948         * docs/manual/manual.xml:
1949         * docs/manual/thread.fig:
1950           Update (until threads/scheduling) Application Development Manual;
1951           remove GstThread, add GstBus, add simple porting checklist, add
1952           documentation for tag writing, clocks, make all examples until this
1953           part compile and run.
1954         * examples/manual/Makefile.am:
1955           Update from changes to Application Development Manual; add bus
1956           example, remove thread example.
1957
1958 2005-06-28  Wim Taymans  <wim@fluendo.com>
1959
1960         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1961         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1962         (gst_bus_source_dispatch):
1963         Add debugging messages.
1964         Make internal methods static.
1965         Handle the case where the bus is flushed in the handler.
1966         
1967         * gst/gstelement.c: (gst_element_get_bus):
1968         Fix refcount in _get_bus();
1969
1970         * gst/gstpipeline.c: (gst_pipeline_change_state),
1971         (gst_pipeline_get_clock_func):
1972         Clock refcounting fixes.
1973         Handle the case where preroll timed out more gracefully.
1974         
1975         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1976         Clean up the internal thread in dispose. This is needed
1977         for subclasses that actually get disposed.
1978         
1979         * gst/schedulers/threadscheduler.c:
1980         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1981         (gst_thread_scheduler_dispose):
1982         Free thread pool in dispose.
1983
1984 2005-06-28  Andy Wingo  <wingo@pobox.com>
1985
1986         * tests/network-clock-utils.scm (debug, print-event): New utils.
1987
1988         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1989         (*packet-loss*): Unified loss probability.
1990         (network-time): Report out-of-band events.
1991
1992         * tests/plot-data: Add support for out-of-band events. Hack it
1993         into this script instead of passing it down the pipe; should fix
1994         this later.
1995
1996 2005-06-28  Wim Taymans  <wim@fluendo.com>
1997
1998         * docs/gst/gstreamer.types:
1999         * docs/gst/tmpl/gstbasesrc.sgml:
2000         * docs/gst/tmpl/gstpad.sgml:
2001         Docs fixes.
2002
2003 2005-06-28  Wim Taymans  <wim@fluendo.com>
2004
2005         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2006         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2007         (gst_proxy_pad_do_fixatecaps):
2008         Correctly proxy the check_pull_range function.
2009
2010 2005-06-28  Andy Wingo  <wingo@pobox.com>
2011
2012         * tests/network-clock.scm: Removed need for slib.
2013         
2014 2005-06-28  Wim Taymans  <wim@fluendo.com>
2015
2016         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2017         (gst_basesink_preroll_queue_flush):
2018         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2019         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2020         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2021         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2022         (gst_proxy_pad_set_property):
2023         * gst/gstpad.c:
2024         * gst/gstpad.h:
2025         * gst/gstqueue.c: (gst_queue_init):
2026         The deprecated pad loop function is removed now.
2027
2028 2005-06-28  Andy Wingo  <wingo@pobox.com>
2029
2030         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2031         New parameters, simulate network packet loss.
2032
2033         * tests/network-clock-utils.scm: Initialize the RNG.
2034
2035 2005-06-28  Wim Taymans  <wim@fluendo.com>
2036
2037         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2038         (gst_basesink_event), (gst_basesink_deactivate):
2039         Flushing the preroll queue always needs to unlock the waiters.
2040
2041 2005-06-28  Edward Hervey  <edward@fluendo.com>
2042
2043         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2044         Wheen a seek was successful on a pipeline, set the stream_time to the
2045         seek offset in order to have a synchronized stream_time.
2046
2047 2005-06-28  Wim Taymans  <wim@fluendo.com>
2048
2049         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2050         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2051         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2052         (gst_proxy_pad_do_fixatecaps):
2053         Call wrapper function instead of just calling the function
2054         pointers. This takes care of any locking and whatmore.
2055
2056 2005-06-28  Wim Taymans  <wim@fluendo.com>
2057
2058         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2059         (gst_pad_pull_range):
2060         * gst/gstpad.h:
2061         CONNECTED -> LINKED.
2062
2063 2005-06-28  Andy Wingo  <wingo@pobox.com>
2064
2065         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2066         source-munging commit!!!
2067
2068         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2069         (gst_object_sink): Take gpointer arguments, not GstObject --
2070         avoids casts. Like GLib.
2071
2072         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2073         activate.
2074
2075 2005-06-27  Andy Wingo  <wingo@pobox.com>
2076
2077         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2078         remaining buffer.
2079
2080         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2081         returns a sorted copy of the trace list.
2082         (gst_alloc_trace_print_live): New API, only prints traces with
2083         live objects. Sort the list.
2084         (gst_alloc_trace_print_all): Sort the list.
2085         (gst_alloc_trace_print): Align columns.
2086
2087         * gst/elements/gstttypefindelement.c:
2088         * gst/elements/gsttee.c:
2089         * gst/base/gstbasesrc.c:
2090         * gst/base/gstbasesink.c:
2091         * gst/base/gstbasetransform.c:
2092         * gst/gstqueue.c: Adapt for pad activation changes.
2093
2094         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2095         sched.
2096         (gst_pipeline_dispose): Drop ref on sched.
2097
2098         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2099         (gst_pad_activate_default): Push mode by default.
2100         (pre_activate_switch, post_activate_switch): New stubs, things to
2101         do before and after switching activation modes on pads.
2102         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2103         the pad's activate function to choose which mode to activate.
2104         Shortcut on deactivation and call the right function directly.
2105         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2106         mode.
2107         (gst_pad_activate_push): New API, same for push mode.
2108         (gst_pad_set_activate_function) 
2109         (gst_pad_set_activatepull_function) 
2110         (gst_pad_set_activatepush_function): Setters for new API.
2111
2112         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2113         Trace all miniobjects.
2114         (gst_mini_object_make_writable): Unref the arg if we copy, like
2115         gst_caps_make_writable.
2116
2117         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2118
2119         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2120         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2121         Adapt for new pad API.
2122
2123         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2124
2125         * gst/gstelement.h:
2126         * gst/gstelement.c (gst_element_iterate_src_pads) 
2127         (gst_element_iterate_sink_pads): New API functions.
2128         
2129         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2130         should fold into gstiterator.c in some form.
2131         (gst_element_pads_activate): Simplified via use of fold and
2132         delegation of decisions to gstpad->activate.
2133
2134         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2135         help in debugging.
2136
2137         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2138         class once in init, like gstmessage. Didn't run into this issue
2139         but it seems correct. Don't initialize a trace, gstminiobject does
2140         that.
2141
2142         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2143         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2144         to the bus.
2145         (assert_live_count): New util function, uses alloc traces to check
2146         cleanup.
2147
2148         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2149         To be modified when unlink drops the internal pad.
2150
2151 2005-06-27  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2154         (gst_bin_change_state):
2155         Cleanup the get_state() function a little, make sure it
2156         iterates the same set of elements.
2157         Added stub iterate_state_order().
2158
2159 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2160
2161         * docs/gst/gstreamer-docs.sgml:
2162         * docs/gst/gstreamer-sections.txt:
2163         * docs/gst/gstreamer.types:
2164         * docs/gst/tmpl/gstbasesink.sgml:
2165         * docs/gst/tmpl/gstbasesrc.sgml:
2166         * docs/gst/tmpl/gstbasetransform.sgml:
2167         * docs/gst/tmpl/gstelement.sgml:
2168         * docs/gst/tmpl/gstiterator.sgml:
2169         * gst/base/gstbasesrc.c:
2170         * gst/base/gstbasesrc.h:
2171         * gst/base/gstbasetransform.h:
2172         * gst/gstelement.c:
2173         * gst/gstiterator.h:
2174           adding basetransform and iterator docs
2175
2176 2005-06-27  Andy Wingo  <wingo@pobox.com>
2177
2178         * docs/design/part-activation.txt: Notes on how activation should
2179         work -- not quite implemented yet.
2180
2181 2005-06-25  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2184         At least get the chain function correct, needs more
2185         fixing.
2186
2187 2005-06-25  Wim Taymans  <wim@fluendo.com>
2188
2189         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2190         (gst_basesink_handle_object), (gst_basesink_event),
2191         (gst_basesink_do_sync), (gst_basesink_handle_event),
2192         (gst_basesink_change_state):
2193         * gst/gsttask.h:
2194         Right, two problems here: ghostpads don't take locks and
2195         glib _rec_mutex_lock_full() with depth==0 still locks.
2196         Catch illegal locking and g_warn them.
2197
2198 2005-06-25  Wim Taymans  <wim@fluendo.com>
2199
2200         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2201         Have to check for completion now...
2202
2203 2005-06-25  Wim Taymans  <wim@fluendo.com>
2204
2205         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2206         (gst_basesink_handle_object), (gst_basesink_event),
2207         (gst_basesink_do_sync), (gst_basesink_handle_event),
2208         (gst_basesink_change_state):
2209         * gst/gstpad.h:
2210         Unlock STREAM_LOCK whatever the recursion was.
2211
2212 2005-06-25  Wim Taymans  <wim@fluendo.com>
2213
2214         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2215         (gst_basesink_preroll_queue_empty),
2216         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2217         (gst_basesink_event), (gst_basesink_do_sync),
2218         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2219         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2220         (gst_basesink_change_state):
2221         Reworked the base sink, handle event and buffer serialisation
2222         correctly and removed possible deadlock.
2223         Handle EOS correctly.
2224
2225 2005-06-25  Wim Taymans  <wim@fluendo.com>
2226
2227         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2228         (gst_pipeline_change_state):
2229         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2230         Allow elements to post EOS in the state change function.
2231         Fix up -launch, make it exit the poll loop when the
2232         pipeline actually changed state.
2233         Fix up warning parsing in -launch.
2234
2235 2005-06-25  Wim Taymans  <wim@fluendo.com>
2236
2237         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2238         (gst_tee_sink_activate):
2239         Core takes STREAM_LOCK for us now.
2240
2241 2005-06-25  Wim Taymans  <wim@fluendo.com>
2242
2243         * gst/gstelement.c: (gst_element_get_state_func),
2244         (gst_element_set_state):
2245         * gst/gstelement.h:
2246         * gst/gstmessage.c: (gst_message_parse_error),
2247         (gst_message_parse_warning):
2248         Keep track of current target state while performing a state
2249         change so that subclasses can do something interesting.
2250         Fix parsing of warning/error messages when GError is NULL.
2251
2252 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2253
2254         * docs/gst/Makefile.am:
2255         * docs/gst/gstreamer-docs.sgml:
2256         * docs/gst/gstreamer-sections.txt:
2257         * docs/gst/gstreamer.types:
2258         * docs/gst/tmpl/gstbasesink.sgml:
2259         * docs/gst/tmpl/gstbasesrc.sgml:
2260         * docs/gst/tmpl/gstbin.sgml:
2261         * docs/gst/tmpl/gstcompat.sgml:
2262         * docs/gst/tmpl/gstfakesink.sgml:
2263         * docs/gst/tmpl/gstfakesrc.sgml:
2264         * docs/gst/tmpl/gstfilesink.sgml:
2265         * docs/gst/tmpl/gstfilesrc.sgml:
2266         * docs/gst/tmpl/gstindex.sgml:
2267         * docs/manual/appendix-quotes.xml:
2268         * gst/base/gstbasesrc.h:
2269         * gst/elements/gstfakesrc.h:
2270         * gst/gstmessage.h:
2271           start pulling in base classes and elements in our docs
2272
2273 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2274
2275         * docs/gst/Makefile.am:
2276         * docs/libs/Makefile.am:
2277           fixed make distcheck with gtk-doc 1.3
2278
2279 2005-06-23  Wim Taymans  <wim@fluendo.com>
2280
2281         * gst/gstelement.c: (gst_element_get_state_func),
2282         (gst_element_set_state), (gst_element_change_state):
2283         When the state did not change, also report NO_PREROLL
2284         when it matters.
2285
2286 2005-06-23  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/gstpad.c: (gst_pad_event_default):
2289         * gst/gstqueue.c: (gst_queue_loop):
2290         No unsafe task pausing please.
2291
2292 2005-06-23  Wim Taymans  <wim@fluendo.com>
2293
2294         * gst/schedulers/threadscheduler.c:
2295         (gst_thread_scheduler_task_start),
2296         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2297         Ref the task before pushing it on the threadpool. This
2298         makes sure that we have a ref when the threadfunction is
2299         actually called.
2300
2301 2005-06-23  Andy Wingo  <wingo@pobox.com>
2302
2303         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2304         offset is greater than the file's size.
2305
2306         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2307         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2308         * gst/gstobject.c (gst_object_class_init): Make the class lock
2309         recursive. Wim won't let me drop deep_notify. Decodebin works
2310         again, whoopdy doo.
2311
2312         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2313         internal pad, and hacks accordingly. Doesn't do it on the target
2314         pad because we change its caps. Probably catches all cases of
2315         interest tho.
2316         (gst_ghost_pad_set_property): Connect to notify::caps as
2317         appropritate.
2318
2319         * tests/network-clock.scm (plot-simulation): Pipe data to the
2320         elite python skript.
2321
2322         * tests/network-clock-utils.scm (define-parameter): New macro,
2323         defines a parameter that can be set via the command line.
2324         (set-parameter!, parse-parameter-arguments): Command line args
2325         parser.
2326
2327         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2328         stdin.
2329
2330 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2331
2332         * gst/elements/gsttypefindelement.c:
2333         (gst_type_find_element_handle_event):
2334           Don't restart typefinding on a discont.
2335         * gst/gstelement.c: (gst_element_set_state):
2336           Debug spelling fix.
2337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2338           Allow changing mode of an active pad.
2339           Debug output fixes.
2340         * gst/registries/gstlibxmlregistry.c: (load_feature):
2341           Don't cast a static pad template to a normal pad template.
2342
2343 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2344
2345         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2346         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2347           remove gst_strtoll completely, since it didn't actually do
2348           anything more than what g_ascii_strtoull already does.
2349           check for range errors when deserializing
2350           do a cast for the unsigned cases; but further fixing needs
2351           a decision on what the interpretation of "(int)" and
2352           deserialization should be for values that fall outside the
2353           type's boundaries (ie, refuse, or interpret as casting)
2354
2355 2005-06-23  Wim Taymans  <wim@fluendo.com>
2356
2357         * check/Makefile.am:
2358         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2359         * docs/design/part-live-source.txt:
2360         * docs/design/part-states.txt:
2361         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2362         (gst_basesrc_set_live), (gst_basesrc_is_live),
2363         (gst_basesrc_get_range), (gst_basesrc_activate),
2364         (gst_basesrc_change_state):
2365         * gst/base/gstbasesrc.h:
2366         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2367         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2368         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2369         * gst/gstelement.c: (gst_element_get_state_func),
2370         (gst_element_set_state):
2371         * gst/gstelement.h:
2372         * gst/gsttypes.h:
2373         * tools/gst-launch.c: (event_loop), (main):
2374         Added support for live sources and other elements that
2375         cannot do preroll.
2376         Updated design docs, added live-source design doc.
2377         Implemented live source functionality in basesrc
2378         Fix error condition in _bin_get_state()
2379         Implement live source handling in -launch.
2380         Added check for live sources.
2381         Fixed case in GstBin where elements were changed state
2382         multiple times.
2383
2384
2385 2005-06-23  Andy Wingo  <wingo@pobox.com>
2386
2387         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2388         borken refcounting.
2389
2390         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2391         gst_caps_replace takes care of this for us.
2392
2393         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2394         gst_pad_set_caps on the target, not just its setcaps() function.
2395
2396         * tests/network-clock.scm: 
2397         * tests/network-clock-utils.scm: A network clock simulator.
2398         Something of an algorithmic testbed before doing something in C.
2399
2400 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2401
2402         * check/Makefile.am:
2403         * check/gst/capslist.h:
2404           copy over from 0.8, and add two with bitmasks specified with
2405           (int) 0xFF...
2406         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2407           add test to parse everything from capslist.h
2408         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2409         (main):
2410           add test for structure deserialization
2411         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2412           add tests for deserialization of strings to int types
2413         * gst/gststructure.c: (gst_structure_nth_field_name):
2414         * gst/gststructure.h:
2415           add a way to get the name of a field referenced by index
2416         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2417           instead of checking if the resulting long long lies between
2418           min and max, we check if the long long would fit into
2419           a number of bytes for the final type.
2420           This fixes cases where a string represents 2^32 - 1, which
2421           when cast to int would be the (valid) -1, but is bigger than
2422           G_MAXINT
2423
2424 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2425
2426         * gst/parse/grammar.y:
2427           add a log line for type deserialization
2428
2429 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2430
2431         * check/gst/gstvalue.c: (START_TEST):
2432         * gst/gstvalue.c: (gst_value_deserialize):
2433           return long long, not int, so gint64 deserialization actually
2434           works.  Is there any flag that makes the compiler check this ?
2435           Fixes #308559
2436
2437 2005-06-22  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstbuffer.h:
2440         Added convenience macros for setting buffers in GValue.
2441
2442 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2443
2444         * check/gst/.cvsignore:
2445         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2446           add a test deserializing int64, and comment part out because
2447           it fails, yay !
2448
2449 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2450
2451         * check/Makefile.am:
2452         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2453         * testsuite/Makefile.am:
2454         * testsuite/caps/Makefile.am:
2455         * testsuite/caps/value_serialize.c:
2456         * testsuite/test_gst_init.c:
2457           move a value_serialize test over
2458
2459 2005-06-20  Wim Taymans  <wim@fluendo.com>
2460
2461         * gst/gstpad.c:
2462         Small doc updates.
2463         
2464         * gst/gstvalue.c: (gst_value_compare_buffer),
2465         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2466         (gst_value_compare_flags), (gst_value_serialize_flags),
2467         (gst_value_deserialize_flags), (_gst_value_initialize):
2468         Fix serialisation of buffers, they are not boxed types anymore
2469
2470 2005-06-20  Wim Taymans  <wim@fluendo.com>
2471
2472         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2473         Testcase to show error in buffer-on-caps serialisation.
2474
2475 2005-06-20  Andy Wingo  <wingo@pobox.com>
2476
2477         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2478         will be adding to later.
2479
2480         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2481         if its socks fill with rocks.
2482         (gst_system_clock_obtain): Set the name on object construction.
2483         Avoid double-checked locking.
2484
2485 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2486
2487         * gst/gsturi.c: (gst_element_make_from_uri):
2488           Fix potential endless loop.
2489
2490 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2491
2492         * check/Makefile.am:
2493           add gsttag
2494         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2495         (main):
2496           move over from testsuite dir and clean up
2497         * configure.ac:
2498         * gst/gsttag.c:
2499         * testsuite/Makefile.am:
2500         * testsuite/tags/.cvsignore:
2501         * testsuite/tags/Makefile.am:
2502         * testsuite/tags/merge.c:
2503           remove testsuite/tags
2504
2505 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2506
2507         * docs/gst/gstreamer-sections.txt:
2508         * docs/gst/tmpl/gstenumtypes.sgml:
2509         * win32/gstenumtypes.c:
2510           clean up documentation build a little
2511
2512 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2513
2514         * check/gstcheck.h:
2515           add macros for checking refcounts on objects and caps
2516         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2517           add some more unit tests
2518         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2519         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2520           fix leaked refcounts (I hope :)) so unittest works
2521         * gst/gstpad.h:
2522           whitespace removal
2523
2524 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2525
2526         * configure.ac: back to HEAD
2527
2528 === release 0.9.1 ===
2529
2530 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2531
2532         * NEWS:
2533         * RELEASE:
2534           updated
2535
2536 2005-06-17  Andy Wingo  <wingo@pobox.com>
2537
2538         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2539         assert; it's always possible that the pad gets deactivated in
2540         between the checks in gstpad.c and the implementation. Rely on
2541         finish_preroll() to return a FLUSHING or similar instead of on the
2542         assert.
2543         
2544         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2545         clock and post an EOS message if we come out of finish_preroll in
2546         the playing state.
2547
2548 2005-06-16  David Schleef  <ds@schleef.org>
2549
2550         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2551         (gst_capsfilter_set_property): Allow NULL as possible value
2552         for filter_caps property, indicating GST_CAPS_ANY.
2553
2554 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2555
2556         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2557           fix debug output
2558         * gst/schedulers/Makefile.am:
2559           use libgst prefix
2560         * gstreamer.spec.in:
2561           fix spec for it
2562
2563 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2564
2565         * gstreamer.spec.in:
2566           clean up
2567
2568 2005-06-08  Andy Wingo  <wingo@pobox.com>
2569
2570         * gst/gstutils.c: RPAD fixes all around.
2571         (gst_element_link_pads): Refcounting fixes.
2572
2573         * tools/gst-inspect.c:
2574         * tools/gst-xmlinspect.c:
2575         * parse/grammar.y:
2576         * gst/base/gsttypefindhelper.c:
2577         * gst/base/gstbasesink.c:
2578         * gst/gstqueue.c: RPAD fixes.
2579
2580         * gst/gstghostpad.h:
2581         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2582         pads. The tricky thing is they provide both source and sink
2583         interfaces, since they proxy the internal pad for the external
2584         pad, and vice versa. Implement with lower-level ProxyPad objects,
2585         with the interior proxy pad as a child of the exterior ghost pad.
2586         Should write a doc on this.
2587         
2588         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2589         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2590         gst_object API.
2591         
2592         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2593         pads are real pads. No ghost pads in this file. Not documenting
2594         the myriad s/RPAD/PAD/ and REALIZE fixes.
2595         (gst_pad_class_init): Add properties for "direction" and
2596         "template". Both are construct-only, so they can't change during
2597         the life of the pad. Fixes properly deriving from GstPad.
2598         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2599         derived objects, just set properties when creating the objects via
2600         g_object_new.
2601         (gst_pad_get_parent): Implement as a function, return NULL if the
2602         parent is not an element.
2603         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2604         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2605         
2606         * gst/gstobject.c (gst_object_class_init): Make name a construct
2607         property. Don't set it in the object init.
2608
2609         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2610         with UNKNOWN direction.
2611         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2612         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2613         (gst_element_remove_pad): Remove ghost-pad special cases.
2614         (gst_element_pads_activate): Remove rpad cruft.
2615
2616         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2617         catch the pad's-parent-not-an-element case.
2618
2619         * gst/gst.h: Include gstghostpad.h.
2620
2621         * gst/gst.c (init_post): No more real, ghost pads.
2622
2623         * gst/Makefile.am: Add gstghostpad.[ch].
2624
2625         * check/Makefile.am:
2626         * check/gst/gstbin.c:
2627         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2628         into a bin creates ghost pads, and that the refcounts are right.
2629         Partly moved from gstbin.c.
2630
2631 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2632
2633         * check/gst-libs/.cvsignore:
2634         * check/gst/.cvsignore:
2635         * check/pipelines/.cvsignore:
2636           ignore more
2637         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2638         (START_TEST), (cleanup_suite), (main):
2639           add some tests related to cleanup after running pipelines
2640
2641 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2642
2643         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2644           add a testsuite for GstBuffer
2645
2646 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2647
2648         * gst/gstminiobject.h:
2649           add defines for accessing the refcount
2650
2651 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2652
2653         * Makefile.am: added support for html unit test coverage reports
2654
2655 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2656
2657         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2658           Free existing caps if the capsfilter changes. Add a FIXME about
2659           setting those caps on the pads.
2660
2661         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2662           Before adding a ghost pad to a parent bin, check that there isn't
2663           already one for the element on the bin. Prevents infinite recursion
2664           when using decodebin in parse pipelines. Andy says he'll rewrite the
2665           way this works anyway, so ignore the hack.
2666
2667 2005-06-02  Andy Wingo  <wingo@pobox.com>
2668
2669         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2670         file size, pass it on to the type find helper.
2671
2672         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2673         segment_start and segment_end properly according to the seek
2674         method. Segment_end is still a bit flaky because offset can be
2675         negative for CUR and END cases, but it takes -1 as an "unset"
2676         value.
2677
2678 2005-06-02  Wim Taymans  <wim@fluendo.com>
2679
2680         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2681         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2682         (gst_basesink_activate):
2683         * gst/base/gstbasesink.h:
2684         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2685         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2686         (gst_pad_query), (gst_pad_start_task):
2687         * gst/gstpad.h:
2688         * gst/gstqueue.c: (gst_queue_bufferalloc),
2689         (gst_queue_handle_sink_event), (gst_queue_chain):
2690         Bufferalloc: return GstFlowReturn to more accuratly report
2691         why allocation failed.
2692
2693 2005-06-02  Wim Taymans  <wim@fluendo.com>
2694
2695         * gst/gstpipeline.c: (gst_pipeline_send_event):
2696         Take snapshot of state without blocking.
2697
2698 2005-06-02  Wim Taymans  <wim@fluendo.com>
2699
2700         * docs/design/part-TODO.txt:
2701         * docs/design/part-caps.txt:
2702         * docs/design/part-clocks.txt:
2703         * docs/design/part-negotiation.txt:
2704         * docs/design/part-preroll.txt:
2705         Small doc updates 
2706
2707 2005-05-30  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/elements/gstidentity.c: (gst_identity_event),
2710         (gst_identity_transform), (gst_identity_get_property):
2711         Protect last_message property as it is accessed from
2712         multiple threads.
2713
2714 2005-05-30  Wim Taymans  <wim@fluendo.com>
2715
2716         * gst/gstelement.c: (gst_element_init),
2717         (gst_element_pads_activate), (gst_element_change_state):
2718         Slicker pad activation code.
2719
2720 2005-05-30  Wim Taymans  <wim@fluendo.com>
2721
2722         * gst/Makefile.am:
2723         * gst/gstelement.h:
2724         * gst/gstelementfactory.h:
2725         * gst/gsttypes.h:
2726         Move elementfactory methods to separate .h file.
2727
2728 2005-05-30  Wim Taymans  <wim@fluendo.com>
2729
2730         * docs/design/part-overview.txt:
2731         * gst/gstsystemclock.h:
2732         Small typo fixes, doc updates.
2733
2734 2005-05-30  Wim Taymans  <wim@fluendo.com>
2735
2736         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2737         (init_popt_callback):
2738         Remove cpu-opt flag.
2739
2740 2005-05-30  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2743         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2744         * gst/gstbuffer.h:
2745         Avoid typechecking in places where not needed.
2746         Added accessor for malloc_data.
2747
2748 2005-05-30  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2751         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2752         (gst_pad_configure_sink), (gst_pad_configure_src),
2753         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2754         (gst_pad_start_task):
2755         Propagate errors from _set_caps() in configure_src/sink
2756         functions instead of returning TRUE.
2757         FLUSH events can travel up and downstream
2758
2759
2760 2005-05-30  Wim Taymans  <wim@fluendo.com>
2761
2762         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2763         (gst_basesink_activate):
2764         Handle EOS in preroll.
2765
2766 2005-05-30  Wim Taymans  <wim@fluendo.com>
2767
2768         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2769         (gst_queue_loop), (gst_queue_handle_src_event):
2770         Remove old pieces of code
2771         Flushing the queue in an upstream event is a very bad idea.
2772
2773 2005-05-26  Andy Wingo  <wingo@pobox.com>
2774
2775         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2776         gst_value_set_mini_object so as to add a ref on the object (which
2777         will be removed when the value is unset).
2778
2779         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2780         arg type in ::handoff.
2781
2782         * gst/gstelement.c (gst_element_change_state): Also deactivate
2783         pads in READY->NULL, just in case the element didn't make it to
2784         PAUSED. Wingo tested, Wim approved.
2785
2786 2005-05-26  Wim Taymans  <wim@fluendo.com>
2787
2788         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2789         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2790         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2791         A flushing pad cannot be used to alloc_buffer from.
2792
2793 2005-05-26  Wim Taymans  <wim@fluendo.com>
2794
2795         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2796         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2797         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2798         (gst_bus_create_watch), (gst_bus_add_watch_full):
2799         * gst/gstbus.h:
2800         Implement a real GSource and use g_main_context_wakeup() to
2801         signal new messages instead of the socketpair.
2802
2803 2005-05-25  Wim Taymans  <wim@fluendo.com>
2804
2805         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2806         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2807         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2808         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2809         (gst_pad_send_event), (gst_pad_start_task):
2810         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2811         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2812         (gst_queue_sink_activate), (gst_queue_src_activate),
2813         (gst_queue_change_state):
2814         * gst/gstqueue.h:
2815         Fix state changes for non sinks. We now change sinks, then elements
2816         with unconnected srcpads, then the rest.
2817         More efficient queue unlocking in flush and state changes.
2818         Set the pad activate mode even if it does not have an activate
2819         function.
2820
2821 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2822
2823         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2824           Don't go in pull mode for non-seekable sources.
2825         * gst/elements/gsttypefindelement.h:
2826         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2827         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2828         (free_entry), (stop_typefinding),
2829         (gst_type_find_element_handle_event), (find_peek),
2830         (gst_type_find_element_chain), (do_pull_typefind),
2831         (gst_type_find_element_change_state):
2832           Allow typefinding (w/o seeking) in push-mode, simplified version
2833           of what was in 0.8.
2834         * gst/gstutils.c: (gst_buffer_join):
2835         * gst/gstutils.h:
2836           gst_buffer_join() from 0.8.
2837
2838 2005-05-25  Wim Taymans  <wim@fluendo.com>
2839
2840         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2841         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2842         (gst_pad_send_event), (gst_pad_start_task):
2843         Disable attempt at mode switching until it is figured out.
2844
2845 2005-05-25  Wim Taymans  <wim@fluendo.com>
2846
2847         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2848         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2849         (gst_basesink_finish_preroll), (gst_basesink_chain),
2850         (gst_basesink_loop), (gst_basesink_activate),
2851         (gst_basesink_change_state):
2852         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2853         (gst_basesrc_get_range), (gst_basesrc_loop),
2854         (gst_basesrc_activate):
2855         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2856         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2857         (gst_real_pad_init), (gst_real_pad_set_property),
2858         (gst_real_pad_get_property), (gst_pad_set_active),
2859         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2860         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2861         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2862         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2863         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2864         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2865         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2866         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2867         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2868         (gst_pad_stop_task):
2869         * gst/gstpad.h:
2870         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2871         (gst_queue_loop), (gst_queue_src_activate):
2872         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2873         (gst_task_get_state):
2874         * gst/gsttask.h:
2875         * gst/schedulers/threadscheduler.c:
2876         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2877         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2878         in task function.
2879         Remove ACTIVE pad flag, use FLUSHING everywhere
2880         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2881         functions.
2882         Add locks around IS_FLUSHING when reading.
2883         Take STREAM lock in chain(), get_range() functions so plugins
2884         don't need to take it anymore.
2885         
2886
2887
2888 2005-05-25  Wim Taymans  <wim@fluendo.com>
2889
2890         * tools/gst-launch.c: (event_loop):
2891         Unref message after using its contents instead of
2892         before.
2893
2894 2005-05-24  Wim Taymans  <wim@fluendo.com>
2895
2896         * docs/design/draft-ghostpads.txt:
2897         * docs/design/draft-push-pull.txt:
2898         * docs/design/draft-query.txt:
2899         * docs/design/part-overview.txt:
2900         Docs updates, added general overview doc.
2901
2902 2005-05-21  David Schleef  <ds@schleef.org>
2903
2904         * docs/gst/tmpl/old/GstBin.sgml:
2905         * docs/gst/tmpl/old/GstBuffer.sgml:
2906         * docs/gst/tmpl/old/GstCaps.sgml:
2907         * docs/gst/tmpl/old/GstClock.sgml:
2908         * docs/gst/tmpl/old/GstCompat.sgml:
2909         * docs/gst/tmpl/old/GstData.sgml:
2910         * docs/gst/tmpl/old/GstElement.sgml:
2911         * docs/gst/tmpl/old/GstEvent.sgml:
2912         * docs/gst/tmpl/old/GstIndex.sgml:
2913         * docs/gst/tmpl/old/GstStructure.sgml:
2914         * docs/gst/tmpl/old/GstTag.sgml:
2915         * docs/gst/tmpl/old/cothreads.sgml:
2916         * docs/gst/tmpl/old/cothreads_compat.sgml:
2917         * docs/gst/tmpl/old/gettext.sgml:
2918         * docs/gst/tmpl/old/gobject2gtk.sgml:
2919         * docs/gst/tmpl/old/grammar.tab.sgml:
2920         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2921         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2922         * docs/gst/tmpl/old/gst_private.sgml:
2923         * docs/gst/tmpl/old/gstaggregator.sgml:
2924         * docs/gst/tmpl/old/gstarch.sgml:
2925         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2926         * docs/gst/tmpl/old/gstbufferstore.sgml:
2927         * docs/gst/tmpl/old/gstdata_private.sgml:
2928         * docs/gst/tmpl/old/gstdisksink.sgml:
2929         * docs/gst/tmpl/old/gstdisksrc.sgml:
2930         * docs/gst/tmpl/old/gstelementfactory.sgml:
2931         * docs/gst/tmpl/old/gstextratypes.sgml:
2932         * docs/gst/tmpl/old/gstfakesink.sgml:
2933         * docs/gst/tmpl/old/gstfakesrc.sgml:
2934         * docs/gst/tmpl/old/gstfdsink.sgml:
2935         * docs/gst/tmpl/old/gstfdsrc.sgml:
2936         * docs/gst/tmpl/old/gstfilesink.sgml:
2937         * docs/gst/tmpl/old/gstfilesrc.sgml:
2938         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2939         * docs/gst/tmpl/old/gstidentity.sgml:
2940         * docs/gst/tmpl/old/gstindexfactory.sgml:
2941         * docs/gst/tmpl/old/gstmarshal.sgml:
2942         * docs/gst/tmpl/old/gstmd5sink.sgml:
2943         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2944         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2945         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2946         * docs/gst/tmpl/old/gstpipefilter.sgml:
2947         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2948         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2949         * docs/gst/tmpl/old/gstshaper.sgml:
2950         * docs/gst/tmpl/old/gstspider.sgml:
2951         * docs/gst/tmpl/old/gstspideridentity.sgml:
2952         * docs/gst/tmpl/old/gststatistics.sgml:
2953         * docs/gst/tmpl/old/gsttee.sgml:
2954         * docs/gst/tmpl/old/gsttimecache.sgml:
2955         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2956         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2957         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2958         * docs/gst/tmpl/old/types.sgml:
2959           I didn't intend to add these or check them in.
2960
2961 2005-05-19  David Schleef  <ds@schleef.org>
2962
2963         * configure.ac: Use -no-common everywhere.  In a sane world, it
2964           would be the default in libtool, because without it, you can't
2965           build DLLs on Windows.
2966         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2967         * docs/gst/gstreamer-sections.txt:
2968         * docs/gst/tmpl/gstcpu.sgml:
2969         * docs/gst/tmpl/gstdata.sgml:
2970         * docs/gst/tmpl/gstthread.sgml:
2971
2972 2005-05-19  David Schleef  <ds@schleef.org>
2973
2974         * gst/gstminiobject.c: (gst_value_set_mini_object),
2975         (gst_value_take_mini_object), (gst_value_get_mini_object):
2976         * gst/gstminiobject.h: Add GValue set/get functions.
2977
2978 2005-05-19  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2981         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2982         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2983         * gst/gstbuffer.h:
2984         * gst/gstbus.c: (gst_bus_post):
2985         * gst/gstelement.c: (gst_element_get_random_pad):
2986         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2987         Make subbufer unref the parent in finalize.
2988         some more debugging info.
2989
2990
2991 2005-05-19  Wim Taymans  <wim@fluendo.com>
2992
2993         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2994         (gst_basesink_init), (gst_basesink_finalize),
2995         (gst_basesink_activate), (gst_basesink_change_state):
2996         Don't free preroll queue too early.
2997
2998 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2999
3000         * gst/Makefile.am:
3001         * gst/ROADMAP:
3002           Hi, I'm outdated. Please shoot me.
3003
3004 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3005
3006         * gst/gstpipeline.c: (gst_pipeline_send_event):
3007           Do not access variables after they have been deleted.
3008
3009 2005-05-19  Wim Taymans  <wim@fluendo.com>
3010
3011         * tools/gst-inspect.c: (print_plugin_features):
3012         A plugin feature does unfortunatly not use the
3013         object name yet...
3014
3015 2005-05-18  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3018         Port _span() functions to new subbuffers.
3019
3020 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3021
3022         * gst/gstbin.c: (gst_bin_add_func):
3023           Fix clock settery in bins when adding kids after the clock has
3024           been selected.
3025
3026 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3027
3028         * gst/elements/gstidentity.c: (gst_identity_class_init):
3029           Workaround until signals support GstMiniObject.
3030
3031 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3032
3033         * gst/gstbuffer.c:
3034         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3035
3036 2005-05-18  Wim Taymans  <wim@fluendo.com>
3037
3038         * gst/base/Makefile.am:
3039         * gst/base/gstadapter.c: (gst_adapter_base_init),
3040         (gst_adapter_class_init), (gst_adapter_init),
3041         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3042         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3043         (gst_adapter_flush), (gst_adapter_available),
3044         (gst_adapter_available_fast):
3045         * gst/base/gstadapter.h:
3046         Ported and added adapter to the base classes.
3047
3048 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3049
3050         * gst/gst.c:
3051         * gst/gstmessage.c:
3052           Make sure the class is reffed/unreffed once before threads can be
3053           used.  Fixes #304551.
3054
3055 2005-05-17  Wim Taymans  <wim@fluendo.com>
3056
3057         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3058         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3059         * gst/gstminiobject.c: (gst_mini_object_get_type),
3060         (gst_mini_object_free):
3061         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3062         (gst_pad_push), (gst_pad_push_event):
3063         * gst/gstqueue.c: (gst_queue_change_state):
3064         Don't queue buffers in basesink when we are flushing.
3065         Unref buffer when flushing in basesink.
3066         Flush queue when going to READY
3067         Unref buffer when _push() returns an error.
3068         Don't free MiniObject instance when refcount is incremented
3069         in _finalize() so that we can recover objects.
3070
3071 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3072
3073         * docs/manual/advanced-schedulers.xml:
3074         * docs/manual/appendix-checklist.xml:
3075         * docs/pwg/advanced-clock.xml:
3076         * docs/pwg/advanced-interfaces.xml:
3077         * docs/pwg/advanced-request.xml:
3078         * docs/pwg/advanced-types.xml:
3079         * docs/pwg/intro-preface.xml:
3080         * examples/plugins/example.c: (gst_example_get_type),
3081         (gst_example_class_init), (gst_example_chain),
3082         (gst_example_set_property), (gst_example_get_property),
3083         (gst_example_change_state), (plugin_init):
3084         * examples/plugins/example.h:
3085           small doc fixes
3086
3087 2005-05-17  Wim Taymans  <wim@fluendo.com>
3088
3089         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3090         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3091         * gst/gstqueue.c: (gst_queue_change_state):
3092         Clear queue when going to READY.
3093         Remove IN_SETCAPS flag too.
3094
3095 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3098           Remove implicit cast from gboolean to GstElementStateReturn;
3099           make sure we still return failure in paused => ready case if
3100           the parent class fails to change state and our own stop 
3101           vfunc succeeds.
3102
3103 2005-05-17  Wim Taymans  <wim@fluendo.com>
3104
3105         * tools/gst-launch.c: (event_loop):
3106         Message was unreffed too soon.
3107
3108 2005-05-16  Andy Wingo  <wingo@pobox.com>
3109
3110         * gst/gstbin.c (sink_iterator_filter): Err... um...
3111
3112         * check/gst/gstbin.c (test_ghost_pads): New test for the
3113         ghosting-if-elements-not-in-same-bin behavior.
3114
3115 2005-05-16  David Schleef  <ds@schleef.org>
3116
3117         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3118         accessing refcount directly.
3119
3120 2005-05-15  David Schleef  <ds@schleef.org>
3121
3122         * check/Makefile.am: remove GstData checks
3123         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3124         * gst/Makefile.am: add miniobject, remove data
3125         * gst/gst.h: add miniobject, remove data
3126         * gst/gstdata.c: remove
3127         * gst/gstdata.h: remove
3128         * gst/gstdata_private.h: remove
3129         * gst/gsttypes.h: remove GstEvent and GstMessage
3130         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3131         * gst/gstmarshal.list: change BOXED -> OBJECT
3132
3133         Implement GstMiniObject.
3134         * gst/gstminiobject.c:
3135         * gst/gstminiobject.h:
3136
3137         Modify to be subclasses of GstMiniObject.
3138         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3139         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3140         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3141         (gst_subbuffer_get_type), (gst_subbuffer_init),
3142         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3143         (gst_buffer_span):
3144         * gst/gstbuffer.h:
3145         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3146         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3147         (_gst_event_copy), (gst_event_new):
3148         * gst/gstevent.h:
3149         * gst/gstmessage.c: (_gst_message_initialize),
3150         (gst_message_get_type), (gst_message_class_init),
3151         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3152         (gst_message_new), (gst_message_new_error),
3153         (gst_message_new_warning), (gst_message_new_tag),
3154         (gst_message_new_state_changed), (gst_message_new_application):
3155         * gst/gstmessage.h:
3156         * gst/gstprobe.c: (gst_probe_perform),
3157         (gst_probe_dispatcher_dispatch):
3158         * gst/gstprobe.h:
3159         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3160         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3161         (_gst_query_copy), (gst_query_new):
3162
3163         Update elements for GstData -> GstMiniObject changes
3164         * gst/gstquery.h:
3165         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3166         (gst_queue_chain), (gst_queue_loop):
3167         * gst/elements/gstbufferstore.c:
3168         (gst_buffer_store_add_buffer_func),
3169         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3170         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3171         (gst_fakesink_render):
3172         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3173         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3174         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3175         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3176         (gst_filesrc_create_read):
3177         * gst/elements/gstidentity.c: (gst_identity_class_init):
3178         * gst/elements/gsttypefindelement.c:
3179         (gst_type_find_element_src_event), (free_entry_buffers),
3180         (gst_type_find_element_handle_event):
3181         * libs/gst/dataprotocol/dataprotocol.c:
3182         (gst_dp_header_from_buffer):
3183         * libs/gst/dataprotocol/dataprotocol.h:
3184         * libs/gst/dataprotocol/dp-private.h:
3185
3186 2005-05-15  David Schleef  <ds@schleef.org>
3187
3188         * gst/elements/gstelements.c: Don't include headers that were
3189         just removed.
3190
3191 2005-05-15  David Schleef  <ds@schleef.org>
3192
3193         * gst/elements/Makefile.am: Remove some elements that don't
3194         need to be in the core (or even exist at all).
3195         * gst/elements/gstaggregator.c:
3196         * gst/elements/gstaggregator.h:
3197         * gst/elements/gstmd5sink.c:
3198         * gst/elements/gstmd5sink.h:
3199         * gst/elements/gstmultifilesrc.c:
3200         * gst/elements/gstmultifilesrc.h:
3201         * gst/elements/gstpipefilter.c:
3202         * gst/elements/gstpipefilter.h:
3203         * gst/elements/gstshaper.c:
3204         * gst/elements/gstshaper.h:
3205         * gst/elements/gststatistics.c:
3206         * gst/elements/gststatistics.h:
3207         * po/POTFILES.in: Remove above files.
3208
3209 2005-05-14  Andy Wingo  <wingo@pobox.com>
3210
3211         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3212         so as to get the refs right.
3213         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3214         unreffing objects that don't pass the filter.
3215
3216         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3217         gst_element_set_bus.
3218         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3219         normal cases, this will destroy the bus.
3220
3221         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3222         object.
3223
3224         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3225         has no sinks.
3226
3227 2005-05-13  Andy Wingo  <wingo@pobox.com>
3228
3229         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3230         gst_pad_link, call pad_link_maybe_ghosting,
3231         (pad_link_maybe_ghosting): Links pads, making sure that the
3232         elements being linked are in the same bin.
3233         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3234         Helpers for pad_link_maybe_ghosting.
3235
3236 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3237
3238         * configure.ac:
3239           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3240
3241 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * docs/design/part-element-source.txt:
3244           Mention GstPushSrc
3245
3246 2005-05-12  Wim Taymans  <wim@fluendo.com>
3247
3248         * gst/base/gstbasesink.c: (gst_basesink_init),
3249         (gst_basesink_activate):
3250         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3251         (gst_basesrc_is_seekable):
3252         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3253         (bin_element_is_sink), (gst_bin_change_state):
3254         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3255         * gst/gstelement.h:
3256         Identify sinks by their flag to avoid overly complicated
3257         checks (fow now).
3258         Do state changes even for elements not reachable from the
3259         sinks.
3260         BaseSink is a sink now :)
3261         Some more debugging info in the basesrc.
3262
3263
3264 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3265
3266         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3267           Implement _query on a bin, similar to _send_event.
3268
3269 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3272           Discont event offset format should be GST_FORMAT_BYTES,
3273           not GST_FORMAT_TIME.
3274
3275 2005-05-12  Wim Taymans  <wim@fluendo.com>
3276
3277         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3278         Same fix as Ronald's but without the signal. 
3279
3280 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3281
3282         * gst/gstutils.c: (gst_element_query_position):
3283           No, an element is not a pad.
3284
3285 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3286
3287         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3288         (gst_bin_get_state):
3289           If a child is removed from a bin while we remove the child from
3290           the bin and while we're retrieving its state, signal this to the
3291           get_state function so we abort the wait (instead of waiting for
3292           a timeout) and can immediately re-iterate over all other elements.
3293
3294 2005-05-12  Wim Taymans  <wim@fluendo.com>
3295
3296         * gst/base/Makefile.am:
3297         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3298         (gst_basesrc_start):
3299         * gst/base/gstbasesrc.h:
3300         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3301         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3302         (gst_pushsrc_init), (gst_pushsrc_create):
3303         * gst/base/gstpushsrc.h:
3304         Added is_seekable to BaseSrc
3305         Added simple PushSrc.
3306
3307 2005-05-11  Wim Taymans  <wim@fluendo.com>
3308
3309         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3310         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3311         (gst_element_link_pads), (gst_element_query_position),
3312         (gst_element_query_convert), (intersect_caps_func),
3313         (gst_pad_query_position), (gst_pad_query_convert):
3314         Fix refcounting in utils function.
3315         No point in trying to activate a pad when it's added, it could
3316         be added from the state change function and then we deadlock, the
3317         element has to decide what to do.
3318
3319 2005-05-10  Andy Wingo  <wingo@pobox.com>
3320
3321         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3322         *all* the arguments.
3323
3324         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3325         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3326         lock (according to the docs -- if this is wrong change the docs).
3327
3328         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3329         flush messages in the NULL state.
3330
3331         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3332         message immediately and return.
3333         (gst_bus_set_flushing): New function. If a bus is flushing, it
3334         flushes out any queued messages and immediately unrefs new
3335         messages. This is so when an element goes to NULL, all of the
3336         unhandled messages coming from it can be freed, and their
3337         references to the element dropped. In other words: message source
3338         ref considered harmful :P
3339
3340         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3341         we're finished with it.
3342
3343         * gst/gstmessage.c (gst_message_new_state_changed): 
3344
3345 2005-05-10  Wim Taymans  <wim@fluendo.com>
3346
3347         * gst/gstvalue.c: (gst_value_compare_flags),
3348         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3349         (_gst_value_initialize):
3350         Added flags serialize/deserialize/compare code.
3351
3352 2005-05-09  Andy Wingo  <wingo@pobox.com>
3353
3354         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3355         Intersect the peer's caps with our caps.
3356
3357 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3358
3359         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3360         * gst/elements/gsttypefindelement.c: (find_peek):
3361           Handle negative offsets better. Fixes decodebin.
3362
3363 2005-05-09  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3366         (gst_base_transform_event):
3367         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3368         Implement accept_caps.
3369         Fix silly lock/unlock mismatch in base class.
3370
3371 2005-05-09  Wim Taymans  <wim@fluendo.com>
3372
3373         * docs/design/draft-push-pull.txt:
3374         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3375         * gst/elements/gstfilesink.c: (gst_filesink_init),
3376         (gst_filesink_query):
3377         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3378         (gst_type_find_handle_src_query), (find_element_get_length):
3379         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3380         * gst/gstelement.h:
3381         * gst/gstmessage.c:
3382         * gst/gstmessage.h:
3383         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3384         (gst_real_pad_get_caps_unlocked),
3385         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3386         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3387         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3388         (gst_real_pad_dispose), (gst_real_pad_finalize),
3389         (gst_pad_load_and_link), (gst_pad_save_thyself),
3390         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3391         (gst_pad_check_pull_range), (gst_pad_pull_range),
3392         (gst_pad_template_get_type), (gst_pad_template_class_init),
3393         (gst_pad_template_init), (gst_pad_template_dispose),
3394         (name_is_valid), (gst_static_pad_template_get),
3395         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3396         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3397         (gst_pad_get_element_private), (gst_pad_start_task),
3398         (gst_pad_pause_task), (gst_pad_stop_task),
3399         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3400         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3401         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3402         (gst_ghost_pad_new):
3403         * gst/gstpad.h:
3404         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3405         (gst_query_new_position), (gst_query_set_position),
3406         (gst_query_parse_position), (gst_query_new_convert),
3407         (gst_query_set_convert), (gst_query_parse_convert):
3408         * gst/gstquery.h:
3409         * gst/gstqueryutils.c:
3410         * gst/gstqueryutils.h:
3411         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3412         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3413         (gst_queue_handle_src_query):
3414         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3415         (gst_element_query_position), (gst_element_query_convert),
3416         (intersect_caps_func), (gst_pad_query_position),
3417         (gst_pad_query_convert):
3418         * gst/gstutils.h:
3419         * tools/gst-inspect.c: (print_pad_info):
3420         * tools/gst-xmlinspect.c: (print_element_info):
3421         Remove old query functions. Ported old code.
3422         Added position/convert helper functions to gstutils.
3423         Reordered gstpad.c code, grouping relevant things.
3424         Remove gst_message_new(), always need to speficy a specific
3425         message.
3426
3427
3428 2005-05-09  Andy Wingo  <wingo@pobox.com>
3429
3430         * gst/gstiterator.h: Add some includes.
3431
3432         * gst/gstqueryutils.h: Include more headers.
3433
3434         * gst/gstpad.h:
3435         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3436         some uses of gst_pad_query.
3437
3438         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3439         NULL out parameters.
3440         (gst_query_new_position): New proc, allocates a new position
3441         query.
3442
3443         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3444         gstqueryutils.c to the build.
3445
3446         * gst/gststructure.c (gst_structure_set_valist): Implement with
3447         the generic G_VALUE_COLLECT.
3448         
3449 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3450
3451         * gst/Makefile.am: (gst_headers):
3452         Added gstqueryutils.h to the list of headers to install, that was
3453         a 'nachty' move wingo :)
3454
3455 2005-05-06  Andy Wingo  <wingo@pobox.com>
3456
3457         * gst/gstquery.h
3458         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3459         GstData, init a memchunk.
3460         (standard_definitions): Add a few query types, deprecate a few.
3461         (gst_query_get_type): New proc.
3462         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3463         implementation.
3464         (gst_query_new_application, gst_query_get_structure): New public
3465         procs.
3466
3467         * docs/design/draft-query.txt: Removed LINKS from the query types,
3468         because all the rest can be dispatched to other pads -- seemed
3469         ugly to have a query that couldn't be dispatched. internal_links
3470         is fine as a pad method.
3471
3472         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3473         in gstpad.c, but maintain binary compatibility for the moment.
3474         Will fix before 0.9 is out.
3475
3476         * gst/gstqueryutils.c: 
3477         * gst/gstqueryutils.h: New files, implement 3 methods for each
3478         query type: parse_query, parse_response, and set. Probably need an
3479         allocator as well.
3480
3481         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3482
3483         * gst/elements/gstfilesink.c (gst_filesink_query2):
3484         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3485         query_types, and formats methods.
3486
3487         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3488         (gst_pad_set_query2_function): New functions.
3489         (gst_real_pad_init): Set query2_default as the default query2
3490         function. Basically just dispatches to internally linked pads.
3491
3492         Needs review!
3493         
3494         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3495         without using the atomic operations. Only one thread can possibly
3496         be accessing the data at this point. Changed so as to avoid
3497         gst_atomic operations.
3498
3499 2005-05-06  Wim Taymans  <wim@fluendo.com>
3500
3501         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3502         Also set caps if we use the fallback buffer alloc.
3503
3504 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         * docs/gst/Makefile.am:
3507         * docs/gst/gstreamer-docs.sgml:
3508         * docs/gst/gstreamer-sections.txt:
3509         * docs/gst/tmpl/gstatomic.sgml:
3510         * docs/gst/tmpl/gstmemchunk.sgml:
3511         * testsuite/elements/struct_i386.h:
3512         * win32/GStreamer.vcproj:
3513         * win32/Makefile:
3514           Purge GstAtomic stuff from docs and win32 makefiles as well
3515
3516 2005-05-06  Wim Taymans  <wim@fluendo.com>
3517
3518         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3519         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3520         * gst/gstpad.c: (gst_pad_peer_get_caps):
3521         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3522         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3523         (gst_queue_src_activate), (gst_queue_change_state):
3524         * gst/gstqueue.h:
3525         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3526         (intersect_caps_func):
3527         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3528         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3529         Some fixes for the peer_get_caps() change.
3530
3531 2005-05-06  Wim Taymans  <wim@fluendo.com>
3532
3533         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3534         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3535         (gst_basesink_activate):
3536         Actually do something with error codes returned from the push
3537         functions.
3538
3539 2005-05-06  Wim Taymans  <wim@fluendo.com>
3540
3541         * docs/design/part-element-sink.txt:
3542         * docs/design/part-element-source.txt:
3543         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3544         (gst_basesink_event), (gst_basesink_activate):
3545         * gst/base/gstbasesink.h:
3546         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3547         (gst_basesrc_activate):
3548         * gst/base/gstbasesrc.h:
3549         * gst/gstelement.c: (gst_element_pads_activate):
3550         Some more documentation.
3551         Fixed scheduling decision in _pads_activate().
3552
3553 2005-05-05  Andy Wingo  <wingo@pobox.com>
3554
3555         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3556         the test suite.
3557
3558 2005-05-05  Wim Taymans  <wim@fluendo.com>
3559
3560         * gst/base/Makefile.am:
3561         * gst/base/gstbasesink.h:
3562         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3563         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3564         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3565         (gst_collectpads_class_init), (gst_collectpads_init),
3566         (gst_collectpads_finalize), (gst_collectpads_new),
3567         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3568         (find_pad), (gst_collectpads_remove_pad),
3569         (gst_collectpads_is_active), (gst_collectpads_collect),
3570         (gst_collectpads_collect_range), (gst_collectpads_start),
3571         (gst_collectpads_stop), (gst_collectpads_peek),
3572         (gst_collectpads_pop), (gst_collectpads_available),
3573         (gst_collectpads_read), (gst_collectpads_flush),
3574         (gst_collectpads_chain):
3575         * gst/base/gstcollectpads.h:
3576         * gst/elements/Makefile.am:
3577         * gst/elements/gstelements.c:
3578         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3579         (gst_fakesink_get_times), (gst_fakesink_event),
3580         (gst_fakesink_preroll), (gst_fakesink_render):
3581         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3582         (gst_filesink_init), (gst_filesink_set_location),
3583         (gst_filesink_open_file), (gst_filesink_close_file),
3584         (gst_filesink_pad_query), (gst_filesink_event),
3585         (gst_filesink_render), (gst_filesink_change_state):
3586         * gst/elements/gstfilesink.h:
3587         Added object to help in making collect pad based elements.
3588         Ported filesink.
3589         Make event function in sink baseclass return gboolean.
3590
3591 2005-05-05  Wim Taymans  <wim@fluendo.com>
3592
3593         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3594         (gst_bin_get_by_name):
3595         * gst/gstbuffer.h:
3596         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3597         (gst_clock_finalize):
3598         * gst/gstdata.c: (gst_data_replace):
3599         * gst/gstdata.h:
3600         * gst/gstelement.c: (gst_element_request_pad),
3601         (gst_element_pads_activate):
3602         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3603         (gst_object_unref):
3604         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3605         (gst_pad_set_checkgetrange_function),
3606         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3607         (gst_pad_check_pull_range), (gst_pad_pull_range),
3608         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3609         (gst_pad_pause_task), (gst_pad_stop_task):
3610         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3611         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3612         Fix name lookup in GstBin.
3613         Added _data_replace() function and _buffer_replace()
3614         Use finalize method to clean up clock.
3615         Fix refcounting on request pads.
3616         Fix pad schedule mode error.
3617         Some more object refcounting debug info,
3618
3619
3620 2005-05-04  Andy Wingo <wingo@pobox.com>
3621
3622         * check/Makefile.am:
3623         * docs/gst/tmpl/gstatomic.sgml:
3624         * docs/gst/tmpl/gstplugin.sgml:
3625         * gst/base/gstbasesink.c: (gst_basesink_activate):
3626         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3627         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3628         (gst_basesrc_query), (gst_basesrc_set_property),
3629         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3630         (gst_basesrc_activate):
3631         * gst/base/gstbasesrc.h:
3632         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3633         (gst_base_transform_src_activate):
3634         * gst/elements/gstelements.c:
3635         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3636         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3637         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3638         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3639         (gst_type_find_element_checkgetrange),
3640         (gst_type_find_element_activate):
3641         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3642         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3643         (gst_caps_load_thyself):
3644         * gst/gstelement.c: (gst_element_pads_activate),
3645         (gst_element_save_thyself), (gst_element_restore_thyself):
3646         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3647         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3648         * gst/gstpad.h:
3649         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3650         (gst_xml_parse_file), (gst_xml_parse_memory),
3651         (gst_xml_get_element), (gst_xml_make_element):
3652         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3653         (_file_index_id_save_xml), (gst_file_index_commit):
3654         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3655         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3656         (load_paths):
3657         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3658         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3659         * tools/gst-complete.c: (main):
3660         * tools/gst-compprep.c: (main):
3661         * tools/gst-inspect.c: (print_element_properties_info):
3662         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3663         * tools/gst-xmlinspect.c: (print_element_properties):
3664         GCC 4 fixen.
3665         
3666 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3667
3668         * gst/gstplugin.c: (gst_plugin_check_module),
3669         (gst_plugin_check_file), (gst_plugin_load_file):
3670             apply patch from #172526 to make register work on MacOSX
3671
3672 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3673
3674         * docs/gst/tmpl/gstconfig.sgml:
3675         * gst/gstconfig.h.in:
3676           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3677         * testsuite/debug/printf_extension.c: (main):
3678           Do not use GST_PTR_FORMAT on pointers to types with
3679           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3680         * testsuite/elements/property.h:
3681           use correct printf format
3682
3683 2005-05-02  Wim Taymans  <wim@fluendo.com>
3684
3685         * docs/design/draft-push-pull.txt:
3686         * docs/design/draft-query.txt:
3687         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3688         (gst_basesrc_start):
3689         Added draft for new query API.
3690         Added draft for better selecting scheduling methods.
3691         Make basesrc ignore length if the subclass does not support
3692         it.
3693
3694 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3695
3696         * gst/Makefile.am:
3697           possible fixes for automake-1.5 - _LIBADD is reserved
3698
3699 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * docs/faq/Makefile.am:
3702         * docs/manual/Makefile.am:
3703         * docs/manuals.mak:
3704         * docs/pwg/Makefile.am:
3705         * gst/Makefile.am:
3706           possible fixes for automake-1.5
3707
3708 2005-04-28  Wim Taymans  <wim@fluendo.com>
3709
3710         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3711         (gst_basesink_pad_getcaps), (gst_basesink_init),
3712         (gst_basesink_do_sync):
3713         * gst/gstclock.c: (gst_clock_entry_new):
3714         * gst/gstevent.c: (gst_event_discont_get_value):
3715         * gst/gstpipeline.c: (pipeline_bus_handler),
3716         (gst_pipeline_change_state):
3717         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3718         Better debugging of clocking info.
3719         Allow NULL values when getting discont values.
3720
3721 2005-04-27  Wim Taymans  <wim@fluendo.com>
3722
3723         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3724         * check/gst/gstpad.c: (gst_pad_suite):
3725         Increase timeout for checks.
3726
3727 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3728
3729         * check/Makefile.am:
3730           fix the broken rule for cleanup.  Apparently this rule is
3731           only needed on FC2, so maybe this warrants further autotool
3732           inspection.
3733
3734 2005-04-26  Wim Taymans  <wim@fluendo.com>
3735
3736         * gst/gsttrashstack.h:
3737         Ooohh. a nasty one! After having a failed pop() from the stack,
3738         it's possible that the stack is empty. In that case, don't
3739         follow the NULL pointer.
3740
3741 2005-04-25  Wim Taymans  <wim@fluendo.com>
3742
3743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3744         (gst_pad_set_checkgetrange_function),
3745         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3746         (gst_pad_check_pull_range), (gst_pad_pull_range),
3747         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3748         (gst_pad_pause_task), (gst_pad_stop_task):
3749         * gst/gstplugin.c: (gst_plugin_load):
3750         * gst/gstplugin.h:
3751         Remove gst_library_load as it does more harm than good with
3752         the new g_module flags.
3753         Revert bogus caps template check in pad linking, pad caps
3754         are important when linking not the template, which is more
3755         general than the current caps.
3756
3757 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3758
3759         * gst/autoplug/.cvsignore:
3760         * gst/autoplug/Makefile.am:
3761         * gst/autoplug/gstsearchfuncs.c:
3762         * gst/autoplug/gstsearchfuncs.h:
3763         * gst/autoplug/gstspider.c:
3764         * gst/autoplug/gstspider.h:
3765         * gst/autoplug/gstspideridentity.c:
3766         * gst/autoplug/gstspideridentity.h:
3767         * gst/autoplug/spidertest.c:
3768           Die, spider, die.
3769
3770 2005-04-25  Wim Taymans  <wim@fluendo.com>
3771
3772         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3773         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3774         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3775         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3776         * gst/gstpad.h:
3777         Added stubs for unimplemented functions. 
3778
3779 2005-04-24  David Schleef  <ds@schleef.org>
3780
3781         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3782         please fix.
3783
3784 2005-04-24  David Schleef  <ds@schleef.org>
3785
3786         Convert everything from GstAtomicInt to g_atomic_int_*, and
3787         remove gstatomic.
3788         * gst/Makefile.am:
3789         * gst/gstatomic.c:
3790         * gst/gstatomic.h:
3791         * gst/gstatomic_impl.h:
3792         * gst/gstbuffer.c:
3793         * gst/gstcaps.c:
3794         * gst/gstcaps.h:
3795         * gst/gstclock.c:
3796         * gst/gstclock.h:
3797         * gst/gstdata.c:
3798         * gst/gstdata.h:
3799         * gst/gstdata_private.h:
3800         * gst/gstevent.c:
3801         * gst/gstinfo.c:
3802         * gst/gstinfo.h:
3803         * gst/gstmessage.c:
3804         * gst/gstobject.c:
3805         * gst/gstobject.h:
3806         * gst/gststructure.c:
3807         * gst/gststructure.h:
3808         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3809         * gst/gstutils.h:
3810
3811 2005-04-24  David Schleef  <ds@schleef.org>
3812
3813         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3814         make the regressions tests work.  Remove some code that is no
3815         longer true.
3816         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3817         Disable warning for pads without templates.
3818
3819 2005-04-24  David Schleef  <ds@schleef.org>
3820
3821         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3822         functions that handle filtered links.
3823         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3824         removed functions.
3825         * gst/gstutils.c: Fix/remove utility functions that handle
3826         filtered caps.
3827         * gst/gstutils.h:
3828         * gst/gstvalue.c: Add serialization/deserialization of caps
3829         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3830         requires fixing so that the filter caps notation creates
3831         a capsfilter element and sets the filter_caps property.  I
3832         think everyone probably wants to keep the shorthand notation.
3833         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3834         * docs/gst/tmpl/gstpad.sgml:
3835
3836         * gst/elements/gstelements.c: Register capsfilter element.
3837         * gst/Makefile.am: fix spacing
3838         * docs/random/ds/0.9-suggested-changes: random
3839
3840 2005-04-23  David Schleef  <ds@schleef.org>
3841
3842         * gst/elements/Makefile.am:
3843         * gst/elements/gstcapsfilter.c: New element that acts like an
3844         identity, but filters caps.  Will eventually replace filtered
3845         caps in pad linking.
3846         * gst/gstutils.c: (gst_element_create_all_pads): New function
3847         to create all the ALWAYS pads that are registered with an
3848         element class.  This functionality should eventually be
3849         merged in with GstElement initialization.
3850         * gst/gstutils.h:
3851         * testsuite/trigger/README: part of trigger test code that should
3852         have been checked in a long time ago.
3853
3854 2005-04-23  David Schleef  <ds@schleef.org>
3855
3856         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3857         needed with new versions of libtool (nobody will confirm this),
3858         and hard to carry around.
3859         * gst/autoplug/Makefile.am:
3860         * gst/base/Makefile.am:
3861         * gst/elements/Makefile.am:
3862         * gst/indexers/Makefile.am:
3863         * gst/schedulers/Makefile.am:
3864         * libs/gst/bytestream/Makefile.am:
3865         * libs/gst/control/Makefile.am:
3866         * libs/gst/dataprotocol/Makefile.am:
3867         * libs/gst/getbits/Makefile.am:
3868
3869 2005-04-21  Wim Taymans  <wim@fluendo.com>
3870
3871         * docs/design/draft-push-pull.txt:
3872         * docs/design/part-MT-refcounting.txt:
3873         * docs/design/part-TODO.txt:
3874         * docs/design/part-caps.txt:
3875         * docs/design/part-events.txt:
3876         * docs/design/part-gstbus.txt:
3877         * docs/design/part-gstpipeline.txt:
3878         * docs/design/part-messages.txt:
3879         * docs/design/part-push-pull.txt:
3880         * docs/design/part-query.txt:
3881         Some more docs.
3882
3883 2005-04-21  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3886         (gst_message_new), (gst_message_new_error),
3887         (gst_message_new_warning), (gst_message_new_tag),
3888         (gst_message_new_state_changed), (gst_message_new_application),
3889         (gst_message_get_structure):
3890         * gst/gstmessage.h:
3891         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3892         (gst_structure_copy_conditional):
3893         Use parent refcount in GstMessage to ensure GstStructure
3894         consistency.
3895         Cleaned up headers a bit.
3896         
3897
3898 2005-04-20  Wim Taymans  <wim@fluendo.com>
3899
3900         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3901         (gst_basesink_pad_getcaps), (gst_basesink_init),
3902         (gst_basesink_chain_unlocked):
3903         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3904         (gst_type_find_helper):
3905         * gst/elements/gsttypefindelement.c:
3906         (gst_type_find_element_have_type), (gst_type_find_element_init),
3907         (stop_typefinding), (gst_type_find_element_handle_event),
3908         (find_suggest), (gst_type_find_element_chain),
3909         (gst_type_find_element_checkgetrange),
3910         (gst_type_find_element_getrange), (do_typefind),
3911         (gst_type_find_element_activate):
3912         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3913         (gst_buffer_default_free), (gst_buffer_default_copy),
3914         (gst_buffer_set_caps):
3915         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3916         (gst_caps_replace):
3917         * gst/gstmessage.c: (gst_message_new),
3918         (gst_message_new_state_changed):
3919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3920         (gst_pad_set_checkgetrange_function),
3921         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3922         (gst_pad_set_caps), (gst_pad_check_pull_range),
3923         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3924         * gst/gstpad.h:
3925         * gst/gsttypefind.c: (gst_type_find_register):
3926         Make gst_caps_replace() work like other _replace() functions.
3927         Use _caps_replace() where possible.
3928         Make sure _message_new() initialises its field.
3929         Add gst_static_pad_template_get_caps()
3930
3931
3932 2005-04-18  Andy Wingo  <wingo@pobox.com>
3933
3934         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3935         on the peer, not the pad. I think that was a typo. Pass an extra
3936         arg to see if random access is possible. Activate the pads as
3937         PULL_RANGE if possible.
3938
3939         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3940
3941         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3942         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3943         to PROP_....
3944
3945 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3946
3947         * docs/faq/using.xml:
3948           Add note on gstreamer-properties (#154996).
3949
3950 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3951
3952         * docs/random/bbb/optional-properties:
3953           Some analysis on optional properties.
3954
3955 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3956
3957         * docs/gst/tmpl/gstelementfactory.sgml:
3958         * gst/gstelement.h:
3959         * gst/gstelementfactory.c: (gst_element_factory_init),
3960         (gst_element_factory_cleanup), (gst_element_register),
3961         (__gst_element_factory_add_static_pad_template),
3962         (gst_element_factory_get_static_pad_templates),
3963         (gst_element_factory_can_src_caps),
3964         (gst_element_factory_can_sink_caps):
3965         * gst/registries/Makefile.am:
3966         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3967         (gst_xml_registry_class_init), (gst_xml_registry_init),
3968         (gst_xml_registry_new), (gst_xml_registry_set_property),
3969         (gst_xml_registry_get_property), (get_time), (make_dir),
3970         (gst_xml_registry_get_perms_func),
3971         (plugin_times_older_than_recurse), (plugin_times_older_than),
3972         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3973         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3974         (add_to_char_array), (read_string), (read_uint), (read_enum),
3975         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3976         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3977         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3978         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3979         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3980         (gst_xml_registry_rebuild):
3981         * gst/registries/gstlibxmlregistry.h:
3982         * tools/gst-compprep.c: (main):
3983         * tools/gst-inspect.c: (print_pad_templates_info):
3984         * tools/gst-xmlinspect.c: (print_element_info):
3985           Use libxml2 for registry parsing, use staticpadtemplates in
3986           elementfactories. Makes gst_init() +/- 10x faster.
3987
3988 2005-04-12  Wim Taymans  <wim@fluendo.com>
3989
3990         * gst/base/Makefile.am:
3991         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3992         (gst_basesink_pad_getcaps), (gst_basesink_init),
3993         (gst_basesink_event), (gst_basesink_change_state):
3994         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3995         (gst_basesrc_init), (gst_basesrc_query),
3996         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3997         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3998         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3999         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4000         (gst_basesrc_stop), (gst_basesrc_activate),
4001         (gst_basesrc_change_state):
4002         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4003         (helper_find_suggest), (gst_type_find_helper):
4004         * gst/base/gsttypefindhelper.h:
4005         * gst/elements/Makefile.am:
4006         * gst/elements/gstelements.c:
4007         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4008         (gst_fakesink_get_times), (gst_fakesink_event),
4009         (gst_fakesink_preroll), (gst_fakesink_render):
4010         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4011         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4012         (gst_fakesrc_get_property), (gst_fakesrc_create),
4013         (gst_fakesrc_start), (gst_fakesrc_stop):
4014         * gst/elements/gstfakesrc.h:
4015         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4016         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4017         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4018         (gst_filesrc_create_read), (gst_filesrc_create),
4019         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4020         (gst_filesrc_start):
4021         * gst/elements/gsttypefindelement.c:
4022         (gst_type_find_element_have_type), (gst_type_find_element_init),
4023         (start_typefinding), (stop_typefinding), (push_buffer_store),
4024         (gst_type_find_element_handle_event),
4025         (gst_type_find_element_chain),
4026         (gst_type_find_element_checkgetrange),
4027         (gst_type_find_element_getrange), (do_typefind),
4028         (gst_type_find_element_activate),
4029         (gst_type_find_element_change_state):
4030         * gst/elements/gsttypefindelement.h:
4031         * gst/gstpipeline.c: (pipeline_bus_handler):
4032         Added typefind helper.
4033         Small preroll fix in the base sink.
4034         Disable typefind code in basesrc.
4035         Crude port of typefindelement.
4036         Fakesrc cleanups.
4037
4038
4039 2005-04-11  Wim Taymans  <wim@fluendo.com>
4040
4041         * check/gst/gstbus.c: (gstbus_suite):
4042         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4043         * check/gstcheck.h:
4044           Fix up the timeout so that the test does not fail.
4045
4046 2005-04-06  Wim Taymans  <wim@fluendo.com>
4047
4048         * gst/base/README:
4049         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4050         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4051         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4052         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4053         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4054         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4055         (gst_basesrc_stop), (gst_basesrc_activate),
4056         (gst_basesrc_change_state), (basesrc_find_peek),
4057         (basesrc_find_suggest), (gst_basesrc_type_find):
4058         * gst/base/gstbasesrc.h:
4059         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4060         (gst_filesrc_class_init), (gst_filesrc_init),
4061         (gst_filesrc_finalize), (gst_filesrc_set_location),
4062         (gst_filesrc_set_property), (gst_filesrc_get_property),
4063         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4064         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4065         (gst_filesrc_create_read), (gst_filesrc_create),
4066         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4067         * gst/elements/gstfilesrc.h:
4068         * gst/gstelement.c: (gst_element_get_state_func),
4069         (gst_element_lost_state), (gst_element_pads_activate):
4070         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4071         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4072         (gst_pad_pull_range):
4073         * gst/gstpad.h:
4074         More work on the generic source base class, implement seeking,
4075         query.
4076         Make filesrc extend the base source class.
4077         Added gst_pad_set_checkgetrange_function to GstPad.
4078
4079 2005-04-06  Andy Wingo  <wingo@pobox.com>
4080
4081         * pkgconfig/gstreamer-base.pc.in:
4082         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4083
4084         * pkgconfig/Makefile.am:
4085         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4086
4087 2005-04-04  Wim Taymans  <wim@fluendo.com>
4088
4089         * gst/base/Makefile.am:
4090         * gst/base/README:
4091         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4092         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4093         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4094         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4095         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4096         (gst_basesrc_base_init), (gst_basesrc_class_init),
4097         (gst_basesrc_init), (gst_basesrc_get_formats),
4098         (gst_basesrc_get_query_types), (gst_basesrc_query),
4099         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4100         (gst_basesrc_set_property), (gst_basesrc_get_property),
4101         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4102         (gst_basesrc_loop), (gst_basesrc_activate),
4103         (gst_basesrc_change_state):
4104         * gst/base/gstbasesrc.h:
4105         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4106         (gst_fakesrc_class_init), (gst_fakesrc_init),
4107         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4108         (gst_fakesrc_get_property), (gst_fakesrc_create):
4109         * gst/elements/gstfakesrc.h:
4110         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4111         (gst_filesrc_open_file), (gst_filesrc_loop),
4112         (gst_filesrc_activate), (filesrc_find_peek),
4113         (gst_filesrc_type_find):
4114         Made base source class, make fakesrc extend it.
4115         Add comments to basesink class.
4116         Some filesrc cleanup.
4117
4118 2005-03-31  David Schleef  <ds@schleef.org>
4119
4120         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4121         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4122         expected to link against libgstreamer.
4123         * gst/base/Makefile.am: link against libgstreamer
4124         * gst/elements/Makefile.am: same
4125
4126 2005-03-31  Andy Wingo  <wingo@pobox.com>
4127
4128         * tests/instantiate/Makefile.am:
4129         * tests/instantiate/caps.c: Add test to test speed of caps copy
4130         and free.
4131
4132         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4133         GMemChunk to be fair.
4134
4135         * gst/gsttrashstack.h: Remove warning about using the fallback
4136         trash stack implementation, it's still faster than malloc.
4137
4138 2005-03-30  Andy Wingo  <wingo@pobox.com>
4139
4140         * tests/complexity.c: Add a copyright.
4141
4142 2005-03-31  Wim Taymans  <wim@fluendo.com>
4143
4144         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4145         (gst_base_transform_class_init), (gst_base_transform_init),
4146         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4147         (gst_base_transform_get_property),
4148         (gst_base_transform_sink_activate),
4149         (gst_base_transform_src_activate),
4150         (gst_base_transform_change_state):
4151         * gst/base/gstbasetransform.h:
4152         * gst/elements/gstidentity.c: (gst_identity_class_init),
4153         (gst_identity_event), (gst_identity_check_perfect),
4154         (gst_identity_transform), (gst_identity_start),
4155         (gst_identity_stop):
4156         Added start/stop methods to transform base class so subclasses 
4157         don't need to deal with state changes even.
4158
4159 2005-03-31  Wim Taymans  <wim@fluendo.com>
4160
4161         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4162         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4163         * gst/gstevent.h:
4164         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4165         (gst_pad_pull_range):
4166         Added rate to the discont event to prepare for variable speed
4167         and reverse playback.
4168
4169 2005-03-29  David Schleef  <ds@schleef.org>
4170
4171         * configure.ac:
4172         * testsuite/trigger/Makefile.am:
4173         * testsuite/trigger/trigger.c: A little example program to show
4174         how trigger-based elements can work.
4175
4176 2005-03-29  Wim Taymans  <wim@fluendo.com>
4177
4178         * gst/base/Makefile.am:
4179         * gst/base/README:
4180         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4181         (gst_basesink_base_init), (gst_basesink_class_init),
4182         (gst_basesink_pad_getcaps), (gst_basesink_init),
4183         (gst_basesink_activate), (gst_basesink_change_state):
4184         * gst/base/gstbasesink.h:
4185         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4186         (gst_base_transform_base_init), (gst_base_transform_finalize),
4187         (gst_base_transform_class_init), (gst_base_transform_init),
4188         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4189         (gst_base_transform_event), (gst_base_transform_getrange),
4190         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4191         (gst_base_transform_set_property),
4192         (gst_base_transform_get_property),
4193         (gst_base_transform_sink_activate),
4194         (gst_base_transform_src_activate),
4195         (gst_base_transform_change_state):
4196         * gst/base/gstbasetransform.h:
4197         * gst/elements/gstidentity.c: (gst_identity_finalize),
4198         (gst_identity_class_init), (gst_identity_init),
4199         (gst_identity_event), (gst_identity_check_perfect),
4200         (gst_identity_transform), (gst_identity_set_property),
4201         (gst_identity_get_property), (gst_identity_change_state):
4202         * gst/elements/gstidentity.h:
4203         * gst/gstelement.c: (gst_element_get_state_func),
4204         (gst_element_lost_state), (gst_element_pads_activate):
4205         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4206         (gst_pad_check_pull_range), (gst_pad_pull_range):
4207         * gst/gstpad.h:
4208         Simplify pad activation.
4209         Added function to check if pull_range can be performed.
4210         Error out when pulling inactive or flushing pads.
4211         Removed const from refcounted types as it does not make sense.
4212         Simplify pad templates in basesink
4213         Added base class for simple 1-to-1 transforms.
4214         Make identity subclass the base transform.
4215
4216 2005-03-29  Andy Wingo  <wingo@pobox.com>
4217
4218         * docs/libs/gstreamer-libs-overrides.txt: 
4219         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4220         really don't understand what's going on, but like whatever. I want
4221         green buildbot!
4222
4223         * docs/gst/Makefile.am:
4224         * docs/libs/Makefile.am: Dist the overrides files.
4225
4226         * check/Makefile.am (clean-local): Remove .libs directories.
4227
4228         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4229         elements to EXTRA_DIST, so po/ files are happy.
4230
4231         * po/POTFILES.in: Er, remove it here.
4232
4233         * po/POTFILES: Remove gstspider.c.
4234
4235         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4236
4237         * docs/libs/gstreamer-libs-docs.sgml: 
4238         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4239         bytestream.
4240
4241         * tests/complexity.c (main): Set the length of the preroll queue
4242         on the sinks to prevent a lockup.
4243
4244         * libs/gst/dataprotocol/Makefile.am: 
4245         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4246         the same as the one in check/gst-libs/gdp.c.
4247
4248         * po/, docs/gst/: Commit automatic changes to docs and po files.
4249
4250         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4251         the versioned libgstbase.
4252
4253         * check/Makefile.am: Depend on an unversioned gst-register, seems
4254         to make autoconf happier.
4255
4256         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4257
4258 2005-03-28  Wim Taymans  <wim@fluendo.com>
4259
4260         * configure.ac:
4261         * docs/design/part-gstelement.txt:
4262         * docs/design/part-negotiation.txt:
4263         * docs/design/part-preroll.txt:
4264         * docs/design/part-scheduling.txt:
4265         * docs/design/part-states.txt:
4266         * gst/Makefile.am:
4267         * gst/base/Makefile.am:
4268         * gst/base/README:
4269         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4270         (gst_basesink_base_init), (gst_basesink_class_init),
4271         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4272         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4273         (gst_basesink_set_pad_functions),
4274         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4275         (gst_basesink_set_property), (gst_basesink_get_property),
4276         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4277         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4278         (gst_basesink_preroll_queue_push),
4279         (gst_basesink_preroll_queue_empty),
4280         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4281         (gst_basesink_event), (gst_basesink_get_times),
4282         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4283         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4284         (gst_basesink_loop), (gst_basesink_activate),
4285         (gst_basesink_change_state):
4286         * gst/base/gstbasesink.h:
4287         * gst/elements/Makefile.am:
4288         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4289         (gst_fakesink_class_init), (gst_fakesink_init),
4290         (gst_fakesink_set_property), (gst_fakesink_get_property),
4291         (gst_fakesink_get_times), (gst_fakesink_event),
4292         (gst_fakesink_preroll), (gst_fakesink_render),
4293         (gst_fakesink_change_state):
4294         * gst/elements/gstfakesink.h:
4295         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4296         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4297         * gst/gstelement.c: (gst_element_add_pad),
4298         (gst_element_get_state_func), (gst_element_abort_state),
4299         (gst_element_commit_state), (gst_element_lost_state),
4300         (gst_element_set_state), (gst_element_pads_activate):
4301         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4302         * gst/gstpipeline.c: (gst_pipeline_send_event),
4303         (gst_pipeline_change_state):
4304         Added state change code.
4305         Added/updated docs.
4306         Added sink base class, make fakesink extend the base class.
4307         Small cleanups in GstPipeline.
4308
4309 2005-03-26  David Schleef  <ds@schleef.org>
4310
4311         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4312         is broken and should be implemented in a different library.
4313         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4314         * gst/gst.h: remove gstcpu.h
4315         * gst/gstcpu.c: remove
4316         * gst/gstcpu.h: remove
4317         * gst/Makefile.am.future: Remove this file.  It's ancient.
4318
4319 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4320
4321         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4322         (gst_bin_send_event):
4323           Add default event/set_manager handlers. The set_manager handler
4324           takes care that the manager is distributed over kids that were
4325           already in the bin before the manager was set. The event handler
4326           is a utility virtual function that sends the event over all sinks,
4327           so that gst_element_send_event (bin, event); has the expected
4328           behaviour.
4329         * gst/gstpad.c: (gst_pad_event_default):
4330           Re-install default event handling for discontinuities, so that
4331           seeking works without requiring hacks in applications or extra
4332           code in sinks.
4333         * gst/gstpipeline.c: (gst_pipeline_class_init),
4334         (gst_pipeline_send_event):
4335           Half hack, half utility: set a pipeline to PAUSED for seek events,
4336           since that is the only way we can guarantee a/v sync. Means that
4337           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4338           and it "just works".
4339
4340 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4341
4342         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4343           Lock/unlock mismatch.
4344
4345 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * docs/faq/gst-uninstalled:
4348           add gst-plugins-base
4349         * docs/gst/Makefile.am:
4350           don't error out until docs are fixed
4351         * docs/gst/gstreamer.types:
4352           remove thread
4353
4354 2005-03-22  Wim Taymans  <wim@fluendo.com>
4355
4356         * check/Makefile.am:
4357         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4358         * gst/gststructure.c: (gst_structure_set_valist),
4359         (gst_structure_copy_conditional):
4360         Activated more tests.
4361         Added message test.
4362         Added G_TYPE_POINTER to GstStructure.
4363         
4364
4365 2005-03-22  Wim Taymans  <wim@fluendo.com>
4366
4367         * docs/design/part-TODO.txt:
4368         * docs/design/part-events.txt:
4369         * docs/design/part-gstbin.txt:
4370         * docs/design/part-gstbus.txt:
4371         * docs/design/part-gstpipeline.txt:
4372         * docs/design/part-messages.txt:
4373         * gst/gstbus.c:
4374         * gst/gstmessage.c:
4375         Docs updates
4376
4377 2005-03-21  Wim Taymans  <wim@fluendo.com>
4378
4379         * gst/gstbus.c: (gst_bus_post):
4380         Fix copy-and-paste error.
4381
4382 2005-03-21  Wim Taymans  <wim@fluendo.com>
4383
4384         * check/Makefile.am:
4385         * gst/Makefile.am:
4386         * gst/elements/Makefile.am:
4387         * gst/elements/gstelements.c:
4388         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4389         (gst_fakesink_event), (gst_fakesink_chain):
4390         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4391         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4392         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4393         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4394         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4395         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4396         (gst_fakesrc_loop), (gst_fakesrc_activate),
4397         (gst_fakesrc_change_state):
4398         * gst/elements/gstfakesrc.h:
4399         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4400         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4401         (gst_filesrc_open_file), (gst_filesrc_loop),
4402         (gst_filesrc_activate), (gst_filesrc_change_state),
4403         (filesrc_find_peek), (filesrc_find_suggest),
4404         (gst_filesrc_type_find):
4405         * gst/elements/gstidentity.c: (gst_identity_finalize),
4406         (gst_identity_class_init), (gst_identity_init),
4407         (gst_identity_proxy_getcaps), (identity_queue_push),
4408         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4409         (gst_identity_getrange), (gst_identity_chain),
4410         (gst_identity_sink_loop), (gst_identity_src_loop),
4411         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4412         (gst_identity_set_property), (gst_identity_get_property),
4413         (gst_identity_change_state):
4414         * gst/elements/gstidentity.h:
4415         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4416         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4417         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4418         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4419         (gst_tee_sink_activate):
4420         * gst/elements/gsttee.h:
4421         * gst/gst.c: (gst_register_core_elements), (init_post):
4422         * gst/gst.h:
4423         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4424         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4425         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4426         (gst_bin_change_state):
4427         * gst/gstbin.h:
4428         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4429         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4430         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4431         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4432         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4433         (bus_watch_callback), (bus_watch_destroy),
4434         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4435         (poll_timeout), (gst_bus_poll):
4436         * gst/gstbus.h:
4437         * gst/gstcaps.h:
4438         * gst/gstdata.h:
4439         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4440         (gst_element_post_message), (gst_element_message_full),
4441         (gst_element_get_state_func), (gst_element_get_state),
4442         (gst_element_abort_state), (gst_element_commit_state),
4443         (gst_element_lost_state), (gst_element_set_state),
4444         (gst_element_pads_activate), (gst_element_change_state),
4445         (gst_element_dispose), (gst_element_set_manager_func),
4446         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4447         (gst_element_set_manager), (gst_element_get_manager),
4448         (gst_element_set_bus), (gst_element_get_bus),
4449         (gst_element_set_scheduler), (gst_element_get_scheduler):
4450         * gst/gstelement.h:
4451         * gst/gstevent.c: (gst_event_new_segment_seek),
4452         (gst_event_new_flush):
4453         * gst/gstevent.h:
4454         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4455         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4456         (gst_message_new_eos), (gst_message_new_error),
4457         (gst_message_new_warning), (gst_message_new_tag),
4458         (gst_message_new_state_changed), (gst_message_new_application),
4459         (gst_message_get_structure), (gst_message_parse_tag),
4460         (gst_message_parse_state_changed), (gst_message_parse_error),
4461         (gst_message_parse_warning):
4462         * gst/gstmessage.h:
4463         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4464         (gst_real_pad_set_property), (gst_pad_set_active),
4465         (gst_pad_is_active), (gst_pad_set_blocked_async),
4466         (gst_pad_set_blocked), (gst_pad_is_blocked),
4467         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4468         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4469         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4470         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4471         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4472         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4473         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4474         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4475         (gst_pad_set_caps), (gst_pad_configure_sink),
4476         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4477         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4478         (gst_real_pad_dispose), (gst_real_pad_finalize),
4479         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4480         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4481         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4482         * gst/gstpad.h:
4483         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4484         (pipeline_bus_handler), (gst_pipeline_change_state),
4485         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4486         * gst/gstpipeline.h:
4487         * gst/gstprobe.h:
4488         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4489         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4490         (gst_queue_link_src), (gst_queue_bufferalloc),
4491         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4492         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4493         (gst_queue_loop), (gst_queue_handle_src_event),
4494         (gst_queue_handle_src_query), (gst_queue_src_activate),
4495         (gst_queue_change_state):
4496         * gst/gstqueue.h:
4497         * gst/gstscheduler.c: (gst_scheduler_init),
4498         (gst_scheduler_dispose), (gst_scheduler_create_task),
4499         (gst_scheduler_factory_create):
4500         * gst/gstscheduler.h:
4501         * gst/gststructure.c: (gst_structure_get_type),
4502         (gst_structure_copy_conditional):
4503         * gst/gststructure.h:
4504         * gst/gsttaginterface.h:
4505         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4506         (gst_task_init), (gst_task_dispose), (gst_task_create),
4507         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4508         (gst_task_pause):
4509         * gst/gsttask.h:
4510         * gst/gstthread.c:
4511         * gst/gstthread.h:
4512         * gst/gsttypes.h:
4513         * gst/schedulers/Makefile.am:
4514         * gst/schedulers/cothreads_compat.h:
4515         * gst/schedulers/entryscheduler.c:
4516         * gst/schedulers/faircothreads.c:
4517         * gst/schedulers/faircothreads.h:
4518         * gst/schedulers/fairscheduler.c:
4519         * gst/schedulers/gstbasicscheduler.c:
4520         * gst/schedulers/gstoptimalscheduler.c:
4521         * gst/schedulers/gthread-cothreads.h:
4522         * gst/schedulers/threadscheduler.c:
4523         (gst_thread_scheduler_task_get_type),
4524         (gst_thread_scheduler_task_class_init),
4525         (gst_thread_scheduler_task_init),
4526         (gst_thread_scheduler_task_start),
4527         (gst_thread_scheduler_task_stop),
4528         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4529         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4530         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4531         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4532         (plugin_init):
4533         * libs/gst/Makefile.am:
4534         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4535         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4536         (gst_file_pad_parent_set):
4537         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4538         (gst_dp_event_from_packet):
4539         * tests/complexity.c: (main):
4540         * tests/mass_elements.c: (main):
4541         * testsuite/states/locked.c: (message_received), (main):
4542         * testsuite/states/parent.c: (main):
4543         * tools/gst-inspect.c: (print_element_flag_info),
4544         (print_implementation_info), (print_pad_info):
4545         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4546         (main):
4547         * tools/gst-md5sum.c: (event_loop), (main):
4548         * tools/gst-typefind.c: (main):
4549         * tools/gst-xmlinspect.c: (print_element_info):
4550         Next big merge.
4551         Added GstBus for mainloop integration.
4552         Added GstMessage for sending notifications on the bus.
4553         Added GstTask as an abstraction for pipeline entry points.
4554         Removed GstThread.
4555         Removed Schedulers.
4556         Simplified GstQueue for multithreaded core.
4557         Made _link threadsafe, removed old capsnego.
4558         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4559         Added pad blocking functions.
4560         Reworked scheduling functions in GstPad to prepare for
4561         scheduling updates soon.
4562         Moved events out of data stream.
4563         Simplified GstEvent types.
4564         Added return values to push/pull.
4565         Removed clocking from GstElement.
4566         Added prototypes for state change function for next merge.
4567         Removed iterate from bins and state change management.
4568         Fixed some elements, disabled others for now.
4569         Fixed -inspect and -launch.
4570         Added check for GstBus.
4571
4572 2005-03-10  Wim Taymans  <wim@fluendo.com>
4573
4574         * docs/design/part-MT-refcounting.txt:
4575         * docs/design/part-clocks.txt:
4576         * docs/design/part-gstelement.txt:
4577         * docs/design/part-gstobject.txt:
4578         * docs/design/part-standards.txt:
4579         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4580         (gst_bin_remove_func), (gst_bin_remove):
4581         * gst/gstbin.h:
4582         * gst/gstbuffer.c:
4583         * gst/gstcaps.h:
4584         * testsuite/clock/clock1.c: (main):
4585         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4586         (main):
4587         * testsuite/dlopen/loadgst.c: (do_test):
4588         * testsuite/refcounting/bin.c: (add_remove_test1),
4589         (add_remove_test2), (main):
4590         * testsuite/refcounting/element.c: (main):
4591         * testsuite/refcounting/element_pad.c: (main):
4592         * testsuite/refcounting/pad.c: (main):
4593         * tools/gst-launch.c: (sigint_handler_sighandler):
4594         * tools/gst-typefind.c: (main):
4595         Doc updates.
4596         Added doc about clock.
4597         removed gst_bin_iterate_recurse_up(), marked methods
4598         for removal.
4599         Fix more testsuites.
4600
4601 2005-03-09  Wim Taymans  <wim@fluendo.com>
4602
4603         * gst/gstpad.c: (gst_pad_get_direction),
4604         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4605         (gst_pad_collect_valist):
4606         * testsuite/bins/interface.c: (main):
4607         * testsuite/caps/audioscale.c: (test_caps):
4608         * testsuite/caps/caps.c: (test1), (test2), (test3):
4609         * testsuite/caps/deserialize.c: (main):
4610         * testsuite/caps/enumcaps.c: (main):
4611         * testsuite/caps/filtercaps.c: (main):
4612         * testsuite/caps/intersect2.c: (main):
4613         * testsuite/caps/random.c: (main):
4614         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4615         * testsuite/caps/sets.c: (check_caps):
4616         * testsuite/caps/simplify.c: (check_caps), (main):
4617         * testsuite/caps/subtract.c: (check_caps):
4618         Fix _pad_get_direction wrt ghostpads.
4619         Fix caps testsuite.
4620
4621 2005-03-09  Wim Taymans  <wim@fluendo.com>
4622
4623         * check/Makefile.am:
4624         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4625         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4626         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4627         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4628         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4629         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4630         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4631         (bin_element_is_sink), (gst_bin_iterate_sinks),
4632         (gst_bin_iterate_all_by_interface):
4633         * gst/gstbin.h:
4634         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4635         (gst_element_change_state), (gst_element_dispose),
4636         (gst_element_finalize), (gst_element_set_loop_function):
4637         * gst/gstelement.h:
4638         * gst/gstiterator.c: (find_custom_fold_func):
4639         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4640         (gst_pad_collectv), (gst_pad_collect_valist),
4641         (gst_pad_template_new):
4642         * gst/gstpipeline.c: (gst_pipeline_class_init),
4643         (gst_pipeline_dispose), (gst_pipeline_set_property),
4644         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4645         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4646         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4647         * gst/gstutils.h:
4648         * gst/schedulers/entryscheduler.c:
4649         * gst/schedulers/gstbasicscheduler.c:
4650         (gst_basic_scheduler_cothreaded_chain),
4651         (gst_basic_scheduler_chain_add_element):
4652         * testsuite/bins/interface.c: (main):
4653         Added GstBin test.
4654         Added GstSystemClock test.
4655         Implemented clock distribution code in GstBin.
4656         Implemented iterate sinks method for future use.
4657         Rearranged gstelement.h
4658         Fix GstIterator comparison bug.
4659         Moved some code to GstPipeline, mostly clocking related.
4660
4661 2005-03-09  Wim Taymans  <wim@fluendo.com>
4662
4663         * configure.ac:
4664         * gst/gst_private.h:
4665         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4666         (gst_bin_remove_func), (gst_bin_remove),
4667         (gst_bin_get_by_name_recurse_up):
4668         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4669         (gst_clock_id_compare_func), (gst_clock_id_wait),
4670         (gst_clock_id_wait_async), (gst_clock_init),
4671         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4672         * gst/gstelement.h:
4673         * gst/gstinfo.c: (_gst_debug_init):
4674         * gst/gstobject.h:
4675         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4676         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4677         * gst/gstpad.h:
4678         Bump version number, we're now 0.9.0
4679         Add future debugging category.
4680         Fix NULL _unref() in _get_by_name_recurse_up
4681         Rearrange gstpad.h.
4682         Update some docs.
4683
4684 2005-03-08  Wim Taymans  <wim@fluendo.com>
4685
4686         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4687         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4688         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4689         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4690         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4691         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4692         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4693         * gst/elements/gstidentity.c: (gst_identity_class_init):
4694         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4695         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4696         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4697         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4698         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4699         (gst_tee_link):
4700         * gst/gstelement.c: (gst_element_class_init),
4701         (gst_element_base_class_init), (gst_element_init),
4702         (gst_element_get_random_pad), (gst_element_wait_state_change),
4703         (gst_element_change_state), (gst_element_dispose),
4704         (gst_element_finalize), (gst_element_set_loop_function):
4705         * gst/gstelement.h:
4706         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4707         * gst/gstthread.c: (gst_thread_class_init),
4708         (gst_thread_release_children_locks), (gst_thread_change_state):
4709         * gst/schedulers/gstbasicscheduler.c:
4710         (gst_basic_scheduler_loopfunc_wrapper),
4711         (gst_basic_scheduler_chain_wrapper),
4712         (gst_basic_scheduler_src_wrapper),
4713         (gst_basic_scheduler_remove_element):
4714         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4715         Remove threadsafe properties. Fix elements because GObject
4716         complains when installing a property before declaring a
4717         set/get_property handler.
4718         Rearrange gstelement.h file, use STATE macros for state locks.
4719         Free mutexes in the finalize method instead of dispose.
4720
4721 2005-03-08  Wim Taymans  <wim@fluendo.com>
4722
4723         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4724         * gst/gstthread.c: (gst_thread_release_children_locks):
4725         Added parentage check.
4726         Fix build og GstThread again.
4727
4728 2005-03-08  Wim Taymans  <wim@fluendo.com>
4729
4730         * docs/design/part-MT-refcounting.txt:
4731         * docs/design/part-conventions.txt:
4732         * docs/design/part-gstobject.txt:
4733         * docs/design/part-relations.txt:
4734         * docs/design/part-standards.txt:
4735         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4736         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4737         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4738         (gst_bin_iterate_all_by_interface):
4739         * gst/gstbuffer.h:
4740         * gst/gstclock.h:
4741         * gst/gstelement.c: (gst_element_class_init),
4742         (gst_element_change_state), (gst_element_set_loop_function):
4743         * gst/gstelement.h:
4744         * gst/gstiterator.c:
4745         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4746         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4747         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4748         (gst_object_set_parent), (gst_object_unparent),
4749         (gst_object_check_uniqueness):
4750         * gst/gstobject.h:
4751         Docs updates, clean up some headers.
4752
4753 2005-03-07  Wim Taymans  <wim@fluendo.com>
4754
4755         * check/.cvsignore:
4756         * check/Makefile.am:
4757         * check/gst-libs/.cvsignore:
4758         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4759         * check/gst/.cvsignore:
4760         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4761         (START_TEST), (gstbus_suite), (main):
4762         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4763         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4764         (gst_data_suite), (main):
4765         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4766         (add_fold_func), (gstiterator_suite), (main):
4767         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4768         (thread_name_object), (thread_name_object_default),
4769         (gst_object_name_compare), (gst_object_suite), (main):
4770         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4771         (gst_pad_suite), (main):
4772         * check/gstcheck.c: (gst_check_log_message_func),
4773         (gst_check_log_critical_func), (gst_check_init):
4774         * check/gstcheck.h:
4775         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4776         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4777         Added checks.
4778
4779 2005-03-07  Wim Taymans  <wim@fluendo.com>
4780
4781         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4782         (gst_list_iterator_next), (gst_list_iterator_resync),
4783         (gst_list_iterator_free), (gst_iterator_new_list),
4784         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4785         (gst_iterator_free), (gst_iterator_push), (filter_next),
4786         (filter_resync), (filter_uninit), (filter_free),
4787         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4788         (gst_iterator_foreach), (find_custom_fold_func),
4789         (gst_iterator_find_custom):
4790         * gst/gstiterator.h:
4791         Added missing files.
4792
4793 2005-03-07  Wim Taymans  <wim@fluendo.com>
4794
4795         * Makefile.am:
4796         * configure.ac:
4797         * docs/design/part-MT-refcounting.txt:
4798         * docs/design/part-conventions.txt:
4799         * docs/design/part-gstobject.txt:
4800         * docs/design/part-relations.txt:
4801         * examples/mixer/mixer.c: (main):
4802         * examples/thread/thread.c: (eos), (main):
4803         * gst/Makefile.am:
4804         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4805         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4806         (gst_spider_plug_from_srcpad):
4807         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4808         (gst_spider_identity_change_state),
4809         (gst_spider_identity_sink_loop_type_finding):
4810         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4811         * gst/elements/gstidentity.c: (gst_identity_init):
4812         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4813         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4814         * gst/elements/gsttypefindelement.c: (free_entry):
4815         * gst/gst.c:
4816         * gst/gst.h:
4817         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4818         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4819         (gst_bin_set_index), (gst_bin_set_element_sched),
4820         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4821         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4822         (gst_bin_iterate_elements), (iterate_child_recurse),
4823         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4824         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4825         (compare_interface), (gst_bin_get_by_interface),
4826         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4827         * gst/gstbin.h:
4828         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4829         (gst_buffer_default_free), (gst_buffer_default_copy),
4830         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4831         (gst_buffer_create_sub):
4832         * gst/gstbuffer.h:
4833         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4834         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4835         (gst_caps_unref), (gst_static_caps_get),
4836         (gst_caps_remove_and_get_structure), (gst_caps_append),
4837         (gst_caps_append_structure), (gst_caps_remove_structure),
4838         (gst_caps_copy_nth), (gst_caps_set_simple),
4839         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4840         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4841         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4842         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4843         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4844         (gst_caps_structure_figure_out_union),
4845         (gst_caps_switch_structures), (gst_caps_do_simplify),
4846         (gst_caps_replace), (gst_caps_from_string),
4847         (gst_caps_copy_conditional):
4848         * gst/gstcaps.h:
4849         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4850         (_gst_clock_id_free), (gst_clock_id_unref),
4851         (gst_clock_id_compare_func), (gst_clock_id_wait),
4852         (gst_clock_id_wait_async), (gst_clock_class_init),
4853         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4854         (gst_clock_get_time), (gst_clock_set_time_adjust),
4855         (gst_clock_set_property), (gst_clock_get_property):
4856         * gst/gstclock.h:
4857         * gst/gstcompat.h:
4858         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4859         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4860         * gst/gstdata.h:
4861         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4862         (gst_element_requires_clock), (gst_element_provides_clock),
4863         (gst_element_set_clock), (gst_element_clock_wait),
4864         (gst_element_wait), (gst_element_set_time_delay),
4865         (gst_element_is_indexable), (gst_element_add_pad),
4866         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4867         (pad_compare_name), (gst_element_get_static_pad),
4868         (gst_element_request_pad), (gst_element_get_request_pad),
4869         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4870         (gst_element_class_get_pad_template_list),
4871         (gst_element_class_get_pad_template), (gst_element_error_func),
4872         (gst_element_get_random_pad), (gst_element_get_event_masks),
4873         (gst_element_send_event), (gst_element_seek),
4874         (gst_element_get_query_types), (gst_element_query),
4875         (gst_element_get_formats), (gst_element_convert),
4876         (gst_element_is_locked_state), (gst_element_set_locked_state),
4877         (gst_element_sync_state_with_parent), (gst_element_change_state),
4878         (gst_element_finalize), (gst_element_yield),
4879         (gst_element_interrupt), (gst_element_set_scheduler),
4880         (gst_element_get_scheduler), (gst_element_set_loop_function):
4881         * gst/gstelement.h:
4882         * gst/gstevent.h:
4883         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4884         (gst_format_get_by_nick), (gst_format_get_details),
4885         (gst_format_iterate_definitions):
4886         * gst/gstformat.h:
4887         * gst/gstindex.c: (gst_index_gtype_resolver):
4888         * gst/gstinfo.c:
4889         * gst/gstinfo.h:
4890         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4891         (gst_mem_chunk_free):
4892         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4893         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4894         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4895         (gst_object_dispatch_properties_changed),
4896         (gst_object_set_name_default), (gst_object_set_name),
4897         (gst_object_get_name), (gst_object_set_name_prefix),
4898         (gst_object_get_name_prefix), (gst_object_set_parent),
4899         (gst_object_get_parent), (gst_object_unparent),
4900         (gst_object_check_uniqueness), (gst_object_save_thyself),
4901         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4902         (gst_object_set_property), (gst_object_get_property),
4903         (gst_object_get_path_string):
4904         * gst/gstobject.h:
4905         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4906         (gst_real_pad_init), (gst_real_pad_get_property),
4907         (gst_pad_custom_new), (gst_pad_get_direction),
4908         (gst_pad_set_active), (gst_pad_is_active),
4909         (gst_pad_set_event_function), (gst_pad_is_linked),
4910         (gst_pad_link_free), (gst_pad_link_intersect),
4911         (gst_pad_link_fixate), (gst_pad_set_caps),
4912         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4913         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4914         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4915         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4916         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4917         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4918         (gst_pad_realize), (gst_pad_get_allowed_caps),
4919         (gst_real_pad_dispose), (gst_real_pad_finalize),
4920         (gst_pad_collectv), (gst_pad_collect_valist),
4921         (gst_pad_template_dispose), (gst_pad_template_new),
4922         (gst_pad_get_internal_links):
4923         * gst/gstpad.h:
4924         * gst/gstpipeline.c: (gst_pipeline_dispose),
4925         (gst_pipeline_change_state):
4926         * gst/gstpipeline.h:
4927         * gst/gstplugin.c:
4928         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4929         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4930         * gst/gstpluginfeature.h:
4931         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4932         * gst/gstquery.c: (_gst_query_type_initialize),
4933         (gst_query_type_register), (gst_query_type_get_by_nick),
4934         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4935         * gst/gstquery.h:
4936         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4937         * gst/gstscheduler.c: (gst_scheduler_add_element),
4938         (gst_scheduler_factory_create):
4939         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4940         (gst_structure_free), (gst_structure_set_name),
4941         (gst_structure_id_set_value), (gst_structure_set_value),
4942         (gst_structure_set_valist), (gst_structure_remove_field),
4943         (gst_structure_remove_fields),
4944         (gst_structure_remove_fields_valist),
4945         (gst_structure_remove_all_fields), (gst_structure_foreach),
4946         (gst_structure_map_in_place),
4947         (gst_caps_structure_fixate_field_nearest_int),
4948         (gst_caps_structure_fixate_field_nearest_double):
4949         * gst/gststructure.h:
4950         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4951         (gst_system_clock_init), (gst_system_clock_dispose),
4952         (gst_system_clock_async_thread),
4953         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4954         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4955         * gst/gstsystemclock.h:
4956         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4957         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4958         * gst/gsttaginterface.c:
4959         * gst/gstthread.c: (gst_thread_dispose),
4960         (gst_thread_release_children_locks), (gst_thread_change_state),
4961         (gst_thread_main_loop):
4962         * gst/gsttrashstack.h:
4963         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4964         * gst/gsttypes.h:
4965         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4966         (gst_element_request_pad), (gst_element_get_pad_from_template),
4967         (gst_element_request_compatible_pad),
4968         (gst_element_get_compatible_pad_filtered),
4969         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4970         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4971         (gst_element_link_many), (gst_element_link),
4972         (gst_element_link_pads), (gst_element_unlink_pads),
4973         (gst_element_unlink_many), (gst_element_unlink),
4974         (gst_pad_can_link_filtered), (gst_pad_can_link),
4975         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4976         (gst_object_default_error), (gst_bin_add_many),
4977         (gst_bin_remove_many), (gst_element_populate_std_props),
4978         (gst_element_class_install_std_props), (gst_buffer_merge),
4979         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4980         (link_fold_func), (gst_pad_proxy_setcaps):
4981         * gst/gstutils.h:
4982         * gst/gstvalue.c: (gst_value_deserialize_string):
4983         * gst/parse/grammar.y:
4984         * gst/schedulers/gstbasicscheduler.c:
4985         (gst_basic_scheduler_cothreaded_chain),
4986         (gst_basic_scheduler_chain_recursive_add),
4987         (gst_basic_scheduler_pad_link):
4988         * gst/schedulers/gstoptimalscheduler.c:
4989         (get_group_schedule_function),
4990         (gst_opt_scheduler_state_transition),
4991         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4992         * libs/gst/bytestream/bytestream.c:
4993         * libs/gst/dataprotocol/dataprotocol.c:
4994         (gst_dp_header_from_buffer):
4995         * po/nb.po:
4996         * po/ru.po:
4997         * tests/threadstate/threadstate2.c: (eos):
4998         * tools/gst-compprep.c: (main):
4999         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5000         (print_pad_info), (print_children_info):
5001         * tools/gst-launch.c: (idle_func), (main):
5002         * tools/gst-md5sum.c: (idle_func), (main):
5003         * tools/gst-xmlinspect.c: (print_element_info):
5004         First THREADED backport attempt, focusing on adding locks and
5005         making sure the API is threadsafe. Needs more work. More docs
5006         follow this week.
5007
5008 2005-02-24  Andy Wingo  <wingo@pobox.com>
5009
5010         * tests/bench-complexity.scm:
5011         * tests/complexity.gnuplot: New files, good for running complexity
5012         benchmarks.
5013
5014         * tests/Makefile.am:
5015         * tests/complexity.c: New test, sets up N elements, at each level
5016         teeing into M streams per element. Eeeenteresting.
5017
5018         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5019         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5020         running bench-mass_elements.scm.
5021
5022         * tests/bench-mass_elements.scm: New script, runs mass_elements
5023         for various numbers of identities, outputting the results to a
5024         file. Requires guile 1.6. Just for testing.
5025
5026 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5027
5028         * gst/schedulers/fairscheduler.c:
5029           compile with debug disabled
5030
5031 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5032
5033         * configure.ac:
5034           hunting season on 0.9 is now OPEN
5035
5036 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5037
5038         * docs/libs/tmpl/gstcontrol.sgml:
5039         * docs/libs/tmpl/gstdparam.sgml:
5040         * docs/libs/tmpl/gstdplinint.sgml:
5041         * docs/libs/tmpl/gstdpman.sgml:
5042         * docs/libs/tmpl/gstdpsmooth.sgml:
5043         * docs/libs/tmpl/gstunitconvert.sgml:
5044           more docs for the state of dparams
5045
5046 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5047
5048         * gst/gstelementfactory.c: (gst_element_factory_create):
5049         * gst/gstobject.c: (gst_object_init),
5050         (gst_object_set_name_default), (gst_object_set_name):
5051           name objects by default, not in gst_element_factory_create. Allows
5052           using elements created with g_object_new. (fixes #167283)
5053
5054 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5055
5056         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5057           make the time that debugging functions print relative to when
5058           gst_init was called
5059
5060 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5061
5062         * gst/gsttaginterface.c:
5063           Fix inline docs: tag setter vararg functions are NULL-terminated,
5064           GST_TAG_INVALID doesn't exist any more.
5065
5066 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5067
5068         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5069         Allocate the 1 byte more memory that was forgotten!!!!!
5070         fixes memory corruption on 64bit platforms
5071
5072 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5073
5074         * docs/pwg/building-pads.xml:
5075         * docs/pwg/intro-basics.xml:
5076           fixed a few typos, relabeled introductionary list of types
5077         * docs/random/ensonic/dparams.txt:
5078           more notes abut dparam changes
5079         * libs/gst/control/dparam.c: (gst_dparam_attach):
5080         * libs/gst/control/dparammanager.c:
5081         * libs/gst/control/dparammanager.h:
5082           - many comments and notes on dparam implementation
5083           - new dparams are were not initialized to the default value
5084             from param spec
5085
5086 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5087
5088         submitted by: Peter Astakhov
5089
5090         * po/LINGUAS:
5091         * po/ru.po:
5092           adding Russian translation
5093
5094 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * configure.ac:
5097         * docs/gst/Makefile.am:
5098         * docs/libs/Makefile.am:
5099           make sure popt is added to gtk-doc flags.  Fixes #147782.
5100
5101 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5102
5103         * docs/faq/using.xml:
5104           Fix typo in FAQ (artssink => artsdsink)
5105
5106 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5107
5108         * tools/gst-launch.1.in:
5109           Fix typo (#166699).
5110
5111 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5112
5113         * docs/faq/using.xml:
5114           Add -v argument to fakesrc/fakesink gst-launch line,
5115           so that the promised output will actually show up.
5116
5117 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5118
5119         * gst/gstthread.c: (gst_thread_change_state):
5120           Implement state-change error handling (#166073).
5121
5122 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5123
5124         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5125           Release interrupt after handling (#166250).
5126
5127 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * configure.ac:
5130           back to HEAD
5131
5132 === release 0.8.9 ===
5133
5134 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5135
5136         * NEWS:
5137         * RELEASE:
5138         * configure.ac:
5139           releasing 0.8.9, "Like Eating Glass"
5140
5141 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5142
5143         submitted by: Clytie Siddall
5144
5145         * po/vi.po: Added Vietnamese translation
5146
5147 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         patch by: Tim Philipp-Müller
5150
5151         * configure.ac:
5152         * gst/gstpad.c:
5153           unref data when probe function returns FALSE.  Fixes #166362
5154
5155 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5156
5157         * gst/gst.c: (gst_init_get_popt_table):
5158           Fix typo (#166269).
5159
5160 2005-02-04  Andy Wingo  <wingo@pobox.com>
5161
5162         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5163         the debugging on whether the caps are compatible.
5164
5165 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5166
5167         * docs/manual/basics-elements.xml:
5168           Fix two typos.
5169
5170 2005-02-02  Wim Taymans  <wim@fluendo.com>
5171
5172         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5173         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5174         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5175         Remove some FIXMEs after analysing and commenting why they
5176         are not issues.
5177
5178 2005-02-02  Wim Taymans  <wim@fluendo.com>
5179
5180         * gst/schedulers/gstoptimalscheduler.c:
5181         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5182         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5183         (get_invalid_call), (chain_invalid_call),
5184         (get_group_schedule_function), (loop_group_schedule_function),
5185         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5186         (gst_opt_scheduler_state_transition),
5187         (gst_opt_scheduler_add_element),
5188         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5189         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5190         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5191         (gst_opt_scheduler_show):
5192         Added lock to protect scheduler data structures.
5193
5194 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5195
5196         * testsuite/threads/threadi.c: (cb_data):
5197           Fix buglet in test.
5198
5199 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5200
5201         * testsuite/threads/Makefile.am:
5202         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5203           On Wim's request, split the test in three separately-compiled
5204           tests that each test a very specific bug. Two of them still fail,
5205           will create bugs for those. threadi.c indicates why they fail.
5206
5207 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5208
5209         * gst/schedulers/gstoptimalscheduler.c:
5210         (get_group_schedule_function):
5211           Try to work with the threading mess that queue_link is.
5212
5213 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5214
5215         * gst/gstbin.c: (gst_bin_remove_func):
5216           Explicitely make an element release locks in a group when being
5217           remove from a bin.
5218         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5219           If there's no scheduler, always return immediately (similar to
5220           gst_element_interrupt).
5221
5222 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5223
5224         * gst/gstbin.c: (gst_bin_child_state_change_func):
5225           Remove a piece of code that could never be reached.
5226         * docs/gst/gstreamer-sections.txt:
5227         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5228         (gst_pad_call_get_function):
5229         * gst/gstpad.h:
5230         * testsuite/pad/Makefile.am:
5231           Fix #150546, enable tests.
5232
5233 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5234
5235         * docs/pwg/advanced-types.xml:
5236           Fix description for buffer-frames=0.
5237         * docs/gst/tmpl/gstbin.sgml:
5238         * gst/gstbin.c: (gst_bin_child_state_change_func),
5239         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5240         * gst/gstbin.h:
5241         * testsuite/threads/Makefile.am:
5242         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5243         (cb_state), (cb_play), (main):
5244           Fix non-recursive state changes to *really* change the state
5245           of the object, and not just call parent_class->state_change.
5246           Fix a lot of lockups caused by this. Fixes #132775. Add test
5247           for the problem. Also enable test to show #142588 (fixed).
5248         * gst/gstthread.c: (gst_thread_change_state),
5249         (gst_thread_child_state_change):
5250           Don't exit the thread if we go to NULL and are inside thread
5251           context. Instead, return control to the main thread context
5252           and exit from there.
5253         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5254           Don't unset virtual functions, since those may still be used.
5255           That's not necessarily correct, but suffices for now.
5256         * configure.ac:
5257         * testsuite/Makefile.am:
5258         * testsuite/pad/Makefile.am:
5259         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5260         (gst_test_sink_base_init), (gst_test_sink_chain),
5261         (gst_test_sink_init), (main):
5262         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5263         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5264         (main):
5265         * testsuite/pad/link.c: (gst_test_element_class_init),
5266         (gst_test_element_base_init), (gst_test_src_get),
5267         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5268         (gst_test_filter_loop), (gst_test_filter_init),
5269         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5270         (cb_error), (main):
5271           Add tests to show #150546. Pass, but should fail (currently
5272           disabled from the testsuite).
5273         * gst/gstscheduler.c: (gst_scheduler_dispose):
5274           Dereference child schedulers on dispose (#94464).
5275         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5276           Fix typo.
5277         * testsuite/threads/thread.c: (main):
5278           Add more debug.
5279
5280 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5281
5282         * gst/gstpad.c: (gst_pad_push):
5283           Oops, revert previous commit, broke testsuite...
5284
5285 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5286
5287         * gst/gstpad.c: (gst_pad_push):
5288           Add check that the pad on which the push is performed is not a
5289           get-based pad (#150546).
5290
5291 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5292
5293         * gst/elements/gsttypefindelement.c:
5294         (gst_type_find_element_handle_event):
5295           Fix buffer pushing if stream EOSes during typefinding.
5296
5297 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5298
5299         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5300
5301         * gst/gstvalue.c: (gst_string_wrap):
5302           Allow NULL-strings as argument (#165365).
5303
5304 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5305
5306         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5307
5308         * gst/schedulers/faircothreads.c:
5309         (gst_fair_scheduler_cothread_queue_show):
5310           Fix build without debug enabled.
5311
5312 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5313
5314         * docs/gst/gstreamer-sections.txt:
5315         * docs/libs/gstreamer-libs-docs.sgml:
5316         * docs/libs/gstreamer-libs-sections.txt:
5317         * docs/libs/tmpl/gstcontrol.sgml:
5318         * docs/libs/tmpl/gstdparam.sgml:
5319         * docs/libs/tmpl/gstdplinint.sgml:
5320         * docs/libs/tmpl/gstdpman.sgml:
5321         * docs/libs/tmpl/gstdpsmooth.sgml:
5322         * docs/libs/tmpl/gstputbits.sgml:
5323         * docs/libs/tmpl/gstunitconvert.sgml:
5324         * libs/gst/control/dparam.c:
5325         * libs/gst/control/dparam.h:
5326         * libs/gst/control/dparammanager.c:
5327         (gst_dpman_add_required_dparam_callback),
5328         (gst_dpman_add_required_dparam_direct),
5329         (gst_dpman_add_required_dparam_array),
5330         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5331         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5332         (gst_dpman_get_manager)
5333           restructured DParam docs
5334
5335 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5336
5337         * gst-element-check.m4:
5338           Only check for gst-inspect if we haven't already
5339           found it in previous element check runs
5340
5341 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5342
5343         * docs/gst/Makefile.am:
5344         * docs/libs/Makefile.am:
5345           fixed install rules to treat style.css as optional
5346
5347 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5348
5349         * docs/gst/Makefile.am:
5350         * docs/libs/Makefile.am:
5351           install style.css along with docs
5352         * docs/gst/tmpl/gstbin.sgml:
5353         * docs/gst/tmpl/gstclock.sgml:
5354         * docs/gst/tmpl/gstdata.sgml:
5355         * docs/gst/tmpl/gstelement.sgml:
5356         * gst/gstbin.h:
5357         * gst/gstelement.c: (gst_element_class_init):
5358         * gst/gstelement.h:
5359           fixing incomplete docs
5360
5361 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5362
5363         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5364           Don't unref seek event twice when fflush() fails
5365           
5366 2005-01-22  David Schleef  <ds@schleef.org>
5367
5368         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5369
5370 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5371
5372         * docs/gst/Makefile.am:
5373         * docs/libs/Makefile.am:
5374           added params for deprecation guards
5375         * gst/gst.c:
5376         * gst/gst.h:
5377         * gst/gsterror.c: (_gst_resource_errors_init),
5378         (_gst_stream_errors_init):
5379         * gst/gsterror.h:
5380           documented some more enums
5381
5382 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5383         * gst/autoplug/gstspideridentity.c:
5384         Cosmetic fix - spider_find_peek should be static
5385         * gst/parse/parse.l:
5386         Applying fix for #164261
5387
5388 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5389
5390         * docs/gst/gstreamer-sections.txt:
5391         * docs/gst/tmpl/gstplugin.sgml:
5392         * docs/libs/gstreamer-libs-sections.txt:
5393         * docs/libs/tmpl/gstcontrol.sgml:
5394         * gst/gstbuffer.h:
5395         * gst/gsttag.h:
5396         * gst/gstvalue.c:
5397           added docs for the TAG defines
5398
5399 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5400
5401         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5402           Only unref entry if there is an entry.
5403
5404 2005-01-17  Wim Taymans  <wim@fluendo.com>
5405
5406         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5407         (remove_from_group), (schedule_group), (normalize_group),
5408         (gst_opt_scheduler_iterate):
5409         Also ref/unref decoupled elements before iterating the
5410         group since they are not added to the list of elements.
5411
5412 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5413
5414         * docs/manual/highlevel-components.xml:
5415           Add subtitle/streamselection as new features to playbin.
5416
5417 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5418
5419         * docs/manual/manual.xml:
5420           Re-enable dataaccess docs (oops).
5421
5422 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5423
5424         * docs/pwg/advanced-types.xml:
5425         * docs/random/mimetypes:
5426           Add documentation on libsndfile types (#163309), by Steve Baker
5427           <steve@stevebaker.org>.
5428         * gst/gstelement.c: (gst_element_release_request_pad):
5429           If an element has no explicit function, just remove the pad.
5430
5431 2005-01-17  Luca Ognibene  <luogni@tin.it>
5432
5433         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5434
5435         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5436           Fix memleak (#163801).
5437
5438 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5439
5440         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5441           I think this is actually more correct...
5442
5443 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5444
5445         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5446           Another workaround for memory access while destroyed in callback.
5447           Please, someone with refcount knowledge, have a look at this.
5448
5449 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5450
5451         * docs/faq/faq.xml:
5452         * docs/faq/legal.xml:
5453           move the legal Q&A here
5454
5455 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5456
5457         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5458         (gst_tee_request_new_pad):
5459           Fix negotiation.
5460
5461 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5462
5463         * docs/random/omega/caps2:
5464         * testsuite/caps/caps_strings:
5465           replace framerate aproximations by their real value
5466           (24000/1001, 30000/1001, 60000/1001)
5467           Partially fixes bug #164049
5468
5469 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5470
5471         * docs/gst/Makefile.am:
5472           don't fail on the stupid GstPoptOption
5473
5474 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * gst/gstpad.h:
5477         * gst/gstprobe.c:
5478           allow probes to work on ghost pads by realizing the pad
5479           probe debugging
5480
5481 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5482
5483         * docs/gst/gstreamer-sections.txt:
5484         * docs/gst/tmpl/gstpad.sgml:
5485         * gst/gstpad.c: (gst_pad_set_active_recursive):
5486         * gst/gstpad.h:
5487           Add gst_pad_set_active_recursive().
5488
5489 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * docs/random/release:
5492           updates
5493         * gst/gst_private.h:
5494         * gst/gstinfo.c:
5495         * gst/gstobject.c:
5496           move deep_notify logging to a new category
5497         * gst/gstprobe.c:
5498         * gst/gstprobe.h:
5499           add stuff so bindings can wrap probes
5500
5501 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5502
5503         * gst/gstplugin.c: (gst_plugin_load):
5504           Fix plugin loading if plugin/lib was already loaded. Fixes
5505           #163383
5506
5507 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5508
5509         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5510
5511         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5512           Protect plugin loading by a mutex so it's threadsafe. Fixes
5513           #163234.
5514
5515 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5516
5517         * gst/gstevent.c: (_gst_event_copy):
5518           Reference source object when copying events, since it'll be
5519           dereferenced on event dereferencing as well.
5520
5521 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5522
5523         * docs/gst/gstreamer-sections.txt:
5524         * docs/gst/tmpl/gstevent.sgml:
5525         * gst/gstevent.c: (gst_event_new_filler_stamped),
5526         (gst_event_filler_get_duration):
5527         * gst/gstevent.h:
5528           Add two new functions for filler events (which are used to
5529           synchronize streams if one of them is not having any data
5530           for a while) without interrupting the actual data-stream.
5531           Basically a no-op.
5532         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5533         (gst_queue_link_sink), (gst_queue_link_src),
5534         (gst_queue_change_state):
5535           Allow for renegotiation while filled. Required for stream
5536           switching while playing.
5537
5538 2005-01-08  Benjamin Otte  <otte@gnome.org>
5539
5540         * gst/gstelement.c: (gst_element_link_many):
5541           fix up g_return_if_fail's
5542         * po/LINGUAS:
5543         * po/de.po:
5544           add German translation, that was somehow not included
5545
5546 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5547
5548         * docs/random/mimetypes:
5549           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5550           do not add them to riff-lib as they are not common
5551
5552 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5553
5554         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5555           Check for existence of probe after performing the probe before
5556           re-accessing it to prevent segfaults caused by removal of the
5557           probe in the callback.
5558
5559 2005-01-05  David Schleef  <ds@schleef.org>
5560
5561         * testsuite/registry/Makefile.am:
5562         * testsuite/registry/gst-print-formats.c:
5563         (print_pad_templates_info), (print_element_list),
5564         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5565         (g_list_uniqify), (get_pad_templates_info),
5566         (get_element_mime_list), (print_mime_list), (main): A little
5567         program that looks through the registry to find elements of
5568         a given type.  Not particularly interesting as a test, except
5569         that there's no other test covering the same area.
5570
5571 2005-01-05  David Schleef  <ds@schleef.org>
5572
5573         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5574         (fault_handler_sigaction), (fault_spin),
5575         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5576         in signal.h-type signal handlers by not calling forbidden functions,
5577         including gst_element_set_state().
5578
5579 2005-01-05  David Schleef  <ds@schleef.org>
5580
5581         * gst/gstvalue.h: Mark _gst_reserved[] as private
5582
5583 2005-01-05  David Schleef  <ds@schleef.org>
5584
5585         * gst/gstvalue.c: Fix doc build problem.
5586
5587 2005-01-05  David Schleef  <ds@schleef.org>
5588
5589         * gst/gstvalue.c: Add some documentation
5590
5591 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5592
5593         * docs/README:
5594           another shell oneliner for empty return value docs
5595         * gst/gstcaps.c:
5596         * gst/gstvalue.c:
5597         * libs/gst/control/dparam.c:
5598           more doc fixes (parameters and return values)
5599
5600 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5601
5602         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5603
5604         * gst/gstregistry.h:
5605         * gst/registries/gstxmlregistry.c:
5606           Fix macro's for Mingw (fixes #162276).
5607
5608 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5609
5610         * docs/README:
5611           quick shell oneliner to find undocumented members
5612         * docs/gst/tmpl/gstplugin.sgml:
5613         * docs/gst/tmpl/gstscheduler.sgml:
5614         * docs/gst/tmpl/gstthread.sgml:
5615           more enumtypes cleanup
5616         * gst/gsterror.h:
5617           activated documentation comments, now someone needs to document
5618           the enums :(
5619
5620 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5621
5622         * docs/manual/manual.xml:
5623           Add dataaccess part (doh!).
5624
5625 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5626
5627         * docs/manual/advanced-autoplugging.xml:
5628           Fix typo (intiate -> initiate).
5629
5630 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5631
5632         * docs/random/bbb/streamselection:
5633           Add some notes on how to handle multi-subtitle/-audio streams.
5634
5635 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5636
5637         * docs/gst/gstreamer-docs.sgml:
5638         * docs/gst/gstreamer-sections.txt:
5639         * docs/gst/tmpl/gstenumtypes.sgml:
5640         * docs/gst/tmpl/gsterror.sgml:
5641         * docs/gst/tmpl/gstevent.sgml:
5642         * docs/gst/tmpl/gstpad.sgml:
5643         * docs/gst/tmpl/gstpadtemplate.sgml:
5644         * docs/gst/tmpl/gstthread.sgml:
5645           removed gstenumtypes section from docs and put all the enums into
5646           their sections
5647
5648 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5649
5650         * gst/gstplugin.c:
5651           document gst_library_load a bit more (riff special case + return
5652           value if already loaded)
5653         * testsuite/bytestream/filepadsink.c:
5654           plugin name is 'gstbytestream', not 'bytestream'
5655
5656 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5657
5658         * docs/random/bbb/subtitles:
5659           Add some first mind rumblings on proper subtitle support.
5660
5661 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * po/ca.po:
5664         * po/sv.po:
5665           updated translations
5666
5667 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5668
5669         * docs/manual/advanced-dataaccess.xml:
5670           Add section on how to use fakesrc/fakesink/identity in your
5671           application, plus section on how to embed plugins. Also mention
5672           probes.
5673         * docs/manual/appendix-checklist.xml:
5674         * docs/manual/appendix-debugging.xml:
5675         * docs/manual/appendix-gnome.xml:
5676         * docs/manual/appendix-integration.xml:
5677           Debug -> checklist, GNOME -> integration, add sections on Linux,
5678           KDE integration and add other things useful for application
5679           development.
5680         * docs/manual/manual.xml:
5681           Remove some fixmes, update some file pointers.
5682         * docs/pwg/appendix-checklist.xml:
5683           Fix typo.
5684         * docs/pwg/building-boiler.xml:
5685           Remove ugly header and add commented fixme.
5686         * docs/pwg/pwg.xml:
5687           Add fixme.
5688         * examples/manual/Makefile.am:
5689           Add example for added docs.
5690
5691 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * configure.ac:
5694           back to HEAD
5695
5696 === release 0.8.8 ===
5697
5698 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5699
5700         * NEWS:
5701         * RELEASE:
5702         * configure.ac:
5703           Releasing 0.8.8, "I'll Take Care Of You"
5704
5705 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5706
5707         * configure.ac:
5708           second prerelease
5709
5710 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5711
5712         patch by: Wim Taymans
5713
5714         * gst/gstbin.c:
5715           Fix for #159852 - make iterate emission threadsafe
5716
5717 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5718
5719         * docs/faq/cvs.xml:
5720           notes about new fdo account request
5721
5722 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5723
5724         * docs/gst/gstreamer-docs.sgml:
5725         * docs/gst/tmpl/gstenumtypes.sgml:
5726         * docs/gst/tmpl/gstplugin.sgml:
5727         * docs/libs/gstreamer-libs-docs.sgml:
5728           Added missing short docs. Added ids for navigation.
5729
5730 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5731
5732         * docs/manual/advanced-autoplugging.xml:
5733         * docs/manual/advanced-schedulers.xml:
5734         * docs/manual/advanced-threads.xml:
5735           Rewrites. Remove cothreads, go a bit into opt specifically,
5736           document threads and their gotchas, and do some technical stuff
5737           on autoplugging plus add some working examples. Fixes #157395.
5738         * examples/manual/Makefile.am:
5739           Add typefind/autoplugger example (one that actually works).
5740           Remove queue example since it's a duplicate of the thread one.
5741
5742 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5743
5744         * gst/gstvalue.c: (gst_value_deserialize_string):
5745           use deprecated g_value_set_string_take_ownership to keep compatible
5746           with glib 2.2
5747
5748 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5749
5750         * gst/gstvalue.c: (gst_value_deserialize_string):
5751           revert last patch, only dom a g_utf8_validate now before accepting
5752           the string - caps parsing strips " from strings so we can't rely on
5753           them
5754         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5755           disable a test that tested the above and comment it
5756
5757 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5758
5759         Patch reviewed by David Schleef  <ds@schleef.org>
5760
5761         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5762         bug #153882)
5763         * win32/gstenumtypes.h: same
5764
5765 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5766
5767         * gst/gstpad.c: (gst_pad_query):
5768           Do query on realized pad, similar to how convert/send_event handle
5769           this. Also makes sense, since this pad belongs to the function to
5770           which this query will be sent. Fixes #158163.
5771
5772 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5773
5774         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5775
5776 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5777
5778         * docs/faq/general.xml: fix pipeline to actually work
5779
5780 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5781
5782         * gst/gstvalue.c: (gst_value_deserialize_string):
5783           check that a simple string that gets deserialized does not contain
5784           invalid characters
5785         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5786           remove a test that tested a wring behaviour
5787
5788 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5789
5790         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5791
5792         * docs/manual/intro-motivation.xml:
5793           Fix typos.
5794
5795 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5796
5797         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5798
5799         * docs/gst/tmpl/gstprobe.sgml:
5800           Fix documentation of probe callback - it is supposed to return
5801           FALSE, not TRUE, to remove data from the stream (#159087).
5802
5803 2004-12-16  Daniel Gazard  <dany42@free.fr>
5804
5805         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5806
5807         * gst/gstelementfactory.c: (gst_element_factory_create):
5808           Fix compile failure if compiling without libxml2 support (#149936).
5809
5810 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5811
5812         * docs/manual/advanced-autoplugging.xml:
5813         * docs/manual/highlevel-components.xml:
5814           Move spider from autoplugging to components. Autoplugging is for
5815           internals, not for solutions. ;-).
5816
5817 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5818
5819         * docs/random/ds/0.9-suggested-changes:
5820           Make note on device/location/uri property names.
5821
5822 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5823
5824         * docs/manual/advanced-autoplugging.xml:
5825         * docs/manual/advanced-clocks.xml:
5826         * docs/manual/advanced-interfaces.xml:
5827         * docs/manual/advanced-metadata.xml:
5828         * docs/manual/advanced-position.xml:
5829         * docs/manual/advanced-schedulers.xml:
5830         * docs/manual/advanced-threads.xml:
5831         * docs/manual/appendix-gnome.xml:
5832         * docs/manual/appendix-programs.xml:
5833         * docs/manual/appendix-quotes.xml:
5834         * docs/manual/autoplugging.xml:
5835         * docs/manual/basics-bins.xml:
5836         * docs/manual/basics-data.xml:
5837         * docs/manual/basics-elements.xml:
5838         * docs/manual/basics-helloworld.xml:
5839         * docs/manual/basics-init.xml:
5840         * docs/manual/basics-pads.xml:
5841         * docs/manual/basics-plugins.xml:
5842         * docs/manual/bins-api.xml:
5843         * docs/manual/bins.xml:
5844         * docs/manual/buffers-api.xml:
5845         * docs/manual/buffers.xml:
5846         * docs/manual/clocks.xml:
5847         * docs/manual/components.xml:
5848         * docs/manual/cothreads.xml:
5849         * docs/manual/debugging.xml:
5850         * docs/manual/dparams-app.xml:
5851         * docs/manual/dynamic.xml:
5852         * docs/manual/elements-api.xml:
5853         * docs/manual/elements.xml:
5854         * docs/manual/factories.xml:
5855         * docs/manual/gnome.xml:
5856         * docs/manual/goals.xml:
5857         * docs/manual/helloworld.xml:
5858         * docs/manual/helloworld2.xml:
5859         * docs/manual/highlevel-components.xml:
5860         * docs/manual/highlevel-xml.xml:
5861         * docs/manual/init-api.xml:
5862         * docs/manual/intro-basics.xml:
5863         * docs/manual/intro-motivation.xml:
5864         * docs/manual/intro-preface.xml:
5865         * docs/manual/intro.xml:
5866         * docs/manual/links-api.xml:
5867         * docs/manual/links.xml:
5868         * docs/manual/manual.xml:
5869         * docs/manual/motivation.xml:
5870         * docs/manual/pads-api.xml:
5871         * docs/manual/pads.xml:
5872         * docs/manual/plugins-api.xml:
5873         * docs/manual/plugins.xml:
5874         * docs/manual/programs.xml:
5875         * docs/manual/queues.xml:
5876         * docs/manual/quotes.xml:
5877         * docs/manual/schedulers.xml:
5878         * docs/manual/states-api.xml:
5879         * docs/manual/states.xml:
5880         * docs/manual/threads.xml:
5881         * docs/manual/typedetection.xml:
5882         * docs/manual/win32.xml:
5883         * docs/manual/xml.xml:
5884           Try 2. This time, include a short preface as a "general
5885           introduction", also add code blocks around all code samples
5886           so they get compiled. We still need a way to tell readers
5887           the filename of the code sample. In some cases, don't show
5888           all code in the documentation, but do include it in the generated
5889           code. This allows for focussing on specific bits in the docs,
5890           while still having a full test application available.
5891         * examples/manual/Makefile.am:
5892           Fix up examples for new ADM. Add several of the new examples that
5893           were either added or were missing from the build system.
5894         * examples/manual/extract.pl:
5895           Allow nameless blocks.
5896
5897 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * docs/manual/elements-api.xml:
5900         * docs/manual/helloworld.xml:
5901         * examples/manual/extract.pl:
5902           fix last example.  Add example of adding code blocks that are not
5903           shown in docbook output.
5904
5905 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * docs/manual/dynamic.xml:
5908         * docs/manual/elements-api.xml:
5909         * docs/manual/gnome.xml:
5910         * docs/manual/helloworld2.xml:
5911         * docs/manual/init-api.xml:
5912         * docs/manual/queues.xml:
5913         * docs/manual/threads.xml:
5914         * docs/manual/xml.xml:
5915         * examples/manual/extract.pl:
5916           Make it possible to extract example code from separate blocks.
5917           Should make Ronald happy.
5918
5919 2004-12-15  Wim Taymans  <wim@fluendo.com>
5920
5921         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5922         (remove_from_group), (group_elements_set_visited),
5923         (normalize_group), (gst_opt_scheduler_iterate):
5924         Fix bug where a flag was not updated on a decoupled entry point 
5925         because we were just checking the group element list and decoupled
5926         elements are not in that list..
5927
5928 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5929
5930         * docs/manual/advanced-autoplugging.xml:
5931         * docs/manual/advanced-clocks.xml:
5932         * docs/manual/advanced-dparams.xml:
5933         * docs/manual/advanced-interfaces.xml:
5934         * docs/manual/advanced-metadata.xml:
5935         * docs/manual/advanced-position.xml:
5936         * docs/manual/advanced-schedulers.xml:
5937         * docs/manual/advanced-threads.xml:
5938         * docs/manual/appendix-debugging.xml:
5939         * docs/manual/appendix-gnome.xml:
5940         * docs/manual/appendix-programs.xml:
5941         * docs/manual/appendix-quotes.xml:
5942         * docs/manual/appendix-win32.xml:
5943         * docs/manual/autoplugging.xml:
5944         * docs/manual/basics-bins.xml:
5945         * docs/manual/basics-data.xml:
5946         * docs/manual/basics-elements.xml:
5947         * docs/manual/basics-helloworld.xml:
5948         * docs/manual/basics-init.xml:
5949         * docs/manual/basics-pads.xml:
5950         * docs/manual/basics-plugins.xml:
5951         * docs/manual/bins-api.xml:
5952         * docs/manual/bins.xml:
5953         * docs/manual/buffers-api.xml:
5954         * docs/manual/buffers.xml:
5955         * docs/manual/clocks.xml:
5956         * docs/manual/components.xml:
5957         * docs/manual/cothreads.xml:
5958         * docs/manual/debugging.xml:
5959         * docs/manual/dparams-app.xml:
5960         * docs/manual/dynamic.xml:
5961         * docs/manual/elements-api.xml:
5962         * docs/manual/elements.xml:
5963         * docs/manual/factories.xml:
5964         * docs/manual/gnome.xml:
5965         * docs/manual/goals.xml:
5966         * docs/manual/helloworld.xml:
5967         * docs/manual/helloworld2.xml:
5968         * docs/manual/highlevel-components.xml:
5969         * docs/manual/highlevel-xml.xml:
5970         * docs/manual/init-api.xml:
5971         * docs/manual/intro-motivation.xml:
5972         * docs/manual/intro-preface.xml:
5973         * docs/manual/intro.xml:
5974         * docs/manual/links-api.xml:
5975         * docs/manual/links.xml:
5976         * docs/manual/manual.xml:
5977         * docs/manual/motivation.xml:
5978         * docs/manual/pads-api.xml:
5979         * docs/manual/pads.xml:
5980         * docs/manual/plugins-api.xml:
5981         * docs/manual/plugins.xml:
5982         * docs/manual/programs.xml:
5983         * docs/manual/queues.xml:
5984         * docs/manual/quotes.xml:
5985         * docs/manual/schedulers.xml:
5986         * docs/manual/states-api.xml:
5987         * docs/manual/states.xml:
5988         * docs/manual/threads.xml:
5989         * docs/manual/typedetection.xml:
5990         * docs/manual/win32.xml:
5991         * docs/manual/xml.xml:
5992           First try at rewriting the ADM. Needs lotsamore work, but some
5993           parts might already be somewhat useful.
5994         * docs/pwg/advanced-interfaces.xml:
5995           Remove properties interface, it never actually existed (except for
5996           on my HD...).
5997
5998 2004-12-13  David Schleef  <ds@schleef.org>
5999
6000         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6001         be NULL (bug #160220).
6002
6003 2004-12-13  David Schleef  <ds@schleef.org>
6004
6005         * configure.ac: remove all mmx stuff, because it's not used.
6006         * docs/random/ds/0.9-suggested-changes: additional notes
6007         * include/Makefile.am: we don't use these anymore
6008         * include/mmx.h: remove
6009         * include/sse.h: remove
6010
6011 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6012
6013         * docs/random/mimetypes:
6014           Add FOURCC code for h264 codec (VSSH)
6015           Add alternate FOURCC codes for h263 related codecs
6016
6017 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6018
6019         * docs/manual/programs.xml:
6020           Added more gst-launch examples.
6021
6022 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6023
6024         * gst/gstqueue.c: (gst_queue_handle_src_query):
6025           Check for availability again.
6026
6027 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6028
6029         * gst/gstcaps.c: (gst_caps_compare_structures):
6030           Simple caps go first. This has the nice side-effect of fixing an
6031           obscure warning.
6032
6033 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6034
6035         * gst/gstversion.h.in:
6036           Protect header.
6037
6038 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6039
6040         * gst/schedulers/gstoptimalscheduler.c:
6041         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6042         (gst_opt_scheduler_get_wrapper):
6043           When we're recursing into a chain run, only run the directly
6044           related group, not all queued ones. This will fix a possible
6045           deadlock in chains with more than two groups.
6046
6047 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6048
6049         * autogen.sh:
6050           remove patch if autopoint fails
6051
6052 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6053
6054         * docs/gst/gstreamer-sections.txt:
6055           Document Thomas' addition, fix build, make Luis the sheriff happy.
6056
6057 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6058
6059         * gst/gstplugin.c:
6060         * gst/gstplugin.h:
6061           add accessor for version field
6062
6063 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6064
6065         submitted by: Luca Ferretti <elle.uca@infinito.it>
6066
6067         * po/LINGUAS:
6068         * po/it.po:
6069           New tranlation added: Italian
6070
6071 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6072
6073         * gst/gstpad.c: (gst_pad_is_negotiated),
6074         (gst_pad_get_negotiated_caps):
6075           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6076           it doesn't actually check the contents), so be sure to hand it
6077           a RealPad else we'll crash.
6078
6079 2004-12-03  Wim Taymans  <wim@fluendo.com>
6080
6081         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6082         (gst_queue_link), (gst_queue_handle_src_query):
6083         Reverted to 1.110 until this makes the testsuite and various
6084         apps work.
6085
6086 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6087
6088         * docs/upload.mak: fix included CVS conflict strings
6089
6090 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6091
6092         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6093
6094         * gst/gstelement.c: (gst_element_error_full):
6095           Use g_error_new_literal because error text may have
6096           percentage signs in it. Fixes #160019.
6097
6098 2004-12-01  Benjamin Otte  <otte@gnome.org>
6099
6100         * gst/elements/gstbufferstore.c:
6101         (gst_buffer_store_add_buffer_func):
6102           don't try to make subbuffers bigger than they can be. (fixes
6103           #159970)
6104
6105 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6106
6107         * docs/gst/gstreamer-sections.txt:
6108         * docs/gst/tmpl/gstvalue.sgml:
6109           Add new function to docs to fix build.
6110
6111 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6112
6113         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6114         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6115         (_gst_pad_default_fixate_foreach):
6116         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6117         * gst/gstvalue.h:
6118           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6119           in some cases (arrays), the fixedness depends on the content.
6120         * gst/gstqueue.c: (gst_queue_handle_src_query):
6121           Check for availability before doing something.
6122
6123 2004-11-29  Wim Taymans  <wim@fluendo.com>
6124
6125         * testsuite/threads/Makefile.am:
6126         * testsuite/threads/signals.c: (gst_test_get_type),
6127         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6128         (gst_test_set_property), (gst_test_get_property),
6129         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6130         (gst_test_do_prop), (run_thread), (main):
6131         Added a bunch of testcases that show threadsafety bugs in glib.
6132
6133 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6134
6135         * docs/manual/programs.xml:
6136           Added a first batch of gst-launch examples, as provided by Ronald
6137           and others from the devel-mlist
6138
6139 2004-11-28  Benjamin Otte  <otte@gnome.org>
6140
6141         * gst/gstelement.c: (gst_element_negotiate_pads):
6142           simplify
6143         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6144         (gst_value_serialize_string), (gst_value_deserialize_string):
6145           add unwrapping of previously wrapped strings. Fix bug in wrapping
6146           while at it.
6147         * testsuite/caps/value_serialize.c: (test1),
6148         (test_string_serialization), (test_string_deserialization), (main):
6149           add tests for string (de)serialization
6150
6151 2004-11-26  Wim Taymans  <wim@fluendo.com>
6152
6153         * testsuite/threads/159566.c: (object_deep_notify), (main):
6154         * testsuite/threads/Makefile.am:
6155         Added testsuite to show bug #159566
6156
6157 2004-11-25  Wim Taymans  <wim@fluendo.com>
6158
6159         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6160         (gst_thread_child_state_change), (gst_thread_main_loop):
6161         Ref the thread object in the GThread mainloop. Break out of the
6162         thread mainloop if it holds the last ref. This properly exits
6163         the threads when disposing the thread from its own context. It
6164         also avoids possible deadlocks in the dispose function.
6165
6166 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6167
6168         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6169         it is necessary to wait.
6170
6171 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6172
6173         * docs/pwg/building-boiler.xml:
6174           Make description somewhat clearer.
6175
6176 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6177
6178         * docs/upload.mak:
6179           Apparently docs changed location on FDO's server.
6180
6181 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6182
6183         * docs/pwg/appendix-checklist.xml:
6184           Add some random notes on things to check when writing an element.
6185           This list can be extended as people see fit.
6186
6187 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6188
6189         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6190         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6191         pad. The queue will now wait until it is empty and forward the new
6192         caps to the source.
6193         * gst/gstbin.c (gst_bin_set_element_sched)
6194         (gst_bin_unset_element_sched): Make sure that all elements and
6195         links are registered and unregistered with the scheduler exactly
6196         once. This elaborates on a fix by Benjamin Otte, but
6197         guarantees that decoupled elements are also registered.
6198
6199 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6200
6201         * docs/manual/quotes.xml:
6202           add a quote
6203         * configure.ac:
6204         * gst/gst.c:
6205         * gst/gstinfo.c:
6206           add LIBDIR and move init message higher up so it's at the start
6207
6208 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6209
6210         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6211         * gstreamer.spec.in: add fair
6212
6213 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6214
6215         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6216         * gst/elements/gstidentity.c: (gst_identity_class_init):
6217           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6218           <teuf@gnome.org> (#157263).
6219         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6220         (gst_type_find_handle_src_query):
6221           Subtract size of internally stored data from position queries.
6222
6223 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6224
6225         * gst/schedulers/fairscheduler.c:
6226         * gst/schedulers/faircothreads.c:
6227         * gst/schedulers/faircothreads.h:
6228         New cothread based scheduler: Fair scheduler.
6229         * gst/schedulers/gthread-cothreads.h: 
6230         Add the standard #if around the whole file.
6231         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6232         compilation of the functions defined in this file. This is
6233         necessary to be able to use this file as a normal header.
6234         * gst/schedulers/Makefile.am: Add compiling support for fair
6235         scheduler.
6236         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6237         scheduler cothreads layer from documentation generation.
6238
6239 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6240
6241         * gst/autoplug/gstspideridentity.c:
6242         (gst_spider_identity_sink_loop_type_finding):
6243           Don't crash if that function is not implemented.
6244
6245 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6246
6247         * docs/pwg/advanced-types.xml:
6248           Another typo.
6249
6250 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6251
6252         * docs/pwg/intro-preface.xml:
6253           Hm, ok, so the brackets weren't really useful...
6254         * docs/pwg/other-ntoone.xml:
6255           Fix embarassing typo.
6256
6257 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6258
6259         * docs/pwg/intro-preface.xml:
6260           Rewrite preface.
6261
6262 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6263
6264         * docs/pwg/advanced-scheduling.xml:
6265         * docs/pwg/advanced-tagging.xml:
6266         * docs/pwg/advanced-types.xml:
6267         * docs/pwg/building-boiler.xml:
6268         * docs/pwg/building-chainfn.xml:
6269         * docs/pwg/building-signals.xml:
6270         * docs/pwg/building-state.xml:
6271         * docs/pwg/building-testapp.xml:
6272         * docs/pwg/intro-basics.xml:
6273         * docs/pwg/other-manager.xml:
6274         * docs/pwg/other-source.xml:
6275           Typo fixes.
6276         * docs/pwg/other-manager.xml:
6277           Add some first content. No example code yet.
6278         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6279           Remove double newlines.
6280
6281 2004-11-04  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6284         (remove_from_group), (normalize_group), (group_migrate_connected),
6285         (gst_opt_scheduler_iterate):
6286         * testsuite/schedulers/.cvsignore:
6287         * testsuite/schedulers/Makefile.am:
6288         * testsuite/schedulers/queue_link.c: (main):
6289         Added testcase for scheduler segfault.
6290         Fix scheduler segfault when removing a decoupled
6291         entry point as the last element from a group.
6292
6293 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6294
6295         * gst/gstmarshal.list: add missing marshaller, fixes build
6296
6297 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6298
6299         * docs/random/signal: added notes about using BOXED for GstBuffer
6300         signal marshallers, not POINTER
6301
6302 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6303
6304         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6305         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6306         POINTER=>BOXED changes to marshal GstBuffers
6307
6308 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6309
6310         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6311         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6312
6313 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6314
6315         * docs/gst/gstreamer-sections.txt:
6316         * docs/gst/tmpl/gstcaps.sgml:
6317         * docs/gst/tmpl/gsterror.sgml:
6318         * docs/gst/tmpl/gstinfo.sgml:
6319         * docs/gst/tmpl/gstmacros.sgml:
6320         * docs/gst/tmpl/gstutils.sgml:
6321         * docs/random/ensonic/interfaces.txt:
6322         * gst/gstinfo.h:
6323           added some more docs, removed two obsolete defines
6324
6325 2004-11-02  Kjartan Maraas <as at gnome.org>
6326
6327         reviewed by: Wim Taymans, Ronald Bultje.
6328
6329         * gst/cothreads.c: (cothread_create):
6330         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6331         (gst_bin_child_state_change_func):
6332         * gst/gstbuffer.c: (gst_buffer_span):
6333         * gst/gstelement.c: (gst_element_get_index),
6334         (gst_element_get_event_masks), (gst_element_get_query_types),
6335         (gst_element_get_formats):
6336         * gst/gsterror.c: (_gst_core_errors_init),
6337         (_gst_library_errors_init), (_gst_resource_errors_init),
6338         (_gst_stream_errors_init):
6339         * gst/gstobject.c: (gst_object_default_deep_notify):
6340         * gst/gstpad.c: (gst_pad_get_event_masks),
6341         (gst_pad_get_internal_links_default):
6342         * gst/gstplugin.c: (gst_plugin_register_func),
6343         (gst_plugin_get_module):
6344         * gst/gststructure.c: (gst_structure_get_string),
6345         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6346         (gst_structure_to_abbr):
6347         * gst/gstutils.c: (gst_print_element_args):
6348         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6349         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6350         Aplied part of patch #157127: Cleanup of issues reported by 
6351         sparse.
6352         Also do not try to use cothreads when there is no cothread
6353         context yet.
6354
6355 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6356
6357         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6358         (gst_opt_scheduler_iterate):
6359         Applied patch #154061. Running a pipeline in which an element 
6360         calls GST_ELEMENT_ERROR in the chain function, the opt 
6361         scheduler doesn't unref the chain so it never gets freed.
6362
6363 2004-11-02  Wim Taymans  <wim@fluendo.com>
6364
6365         * gst/gststructure.c: (gst_structure_get_abbrs),
6366         (gst_structure_from_abbr), (gst_structure_to_abbr):
6367         Remove that ugly if-then thing in the code that converts
6368         between strings and types.
6369
6370 2004-11-02  Wim Taymans  <wim@fluendo.com>
6371
6372         * gst/gstscheduler.c: (gst_scheduler_add_element),
6373         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6374         Aplied clock distribution patch, this should fix bug
6375         #148787.
6376
6377 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6378
6379         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6380
6381         * po/LINGUAS:
6382         * po/nb.po:
6383           Added Norwegian Bokmaal translation
6384
6385 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6386
6387         * tools/gst-inspect.c: (print_signal_info):
6388           print signal arguments as pointers if they are
6389
6390 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6391
6392         * docs/pwg/building-boiler.xml:
6393           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6394
6395 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6396
6397         * gst/parse/parse.l:
6398         * testsuite/parse/parse1.c: (main):
6399         Since parse can do 'element name=a:b' make 'a:b.' work as
6400         well. 
6401         Added testcase to verify fix.
6402
6403 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6404
6405         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6406         Use the realpad when printing the direction.
6407         Add extra \n when printing extensions of typefind factories.
6408
6409 2004-10-13  David Schleef  <ds@schleef.org>
6410
6411         * examples/manual/Makefile.am: $< isn't portable in Makefile
6412         rules.
6413
6414 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6415
6416         * docs/gst/tmpl/gstobject.sgml:
6417         * docs/gst/tmpl/gstplugin.sgml:
6418         * docs/gst/tmpl/gstpluginfeature.sgml:
6419         * docs/gst/tmpl/gstregistry.sgml:
6420         * docs/gst/tmpl/gstversion.sgml:
6421         * gst/gstbin.c:
6422           more api documentation
6423         * gst/gstplugin.c: (gst_plugin_register_func),
6424         (gst_plugin_check_file), (gst_plugin_load_file):
6425           better error signaling and logging
6426
6427 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6428
6429         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6430           Subtract current queue contents from position queries.
6431
6432 2004-10-11  Johan Dahlin  <johan@gnome.org>
6433
6434         * gst/gsturi.c (gst_uri_get_location): unescape string
6435         (gst_uri_construct): escape string.
6436
6437 2004-10-11  Benjamin Otte  <otte@gnome.org>
6438
6439         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6440         (gst_pad_try_set_caps_nonfixed):
6441           allow renegotiation of unconnected pads (as inside spider). Simply
6442           return OK if unconnected - mimic try_set_caps there.
6443
6444 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6445
6446         * gst/gstbin.c: (gst_bin_sync_children_state):
6447           Add missing break.
6448
6449 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6450
6451         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6452         Set element to EOS before sending EOS event
6453
6454 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6455
6456         * gst/elements/gsttypefindelement.c:
6457         (gst_type_find_element_handle_event):
6458         Handle EOS events when doing the transition from
6459         typefind to data passing. This should fix the
6460         infinite loops in short files.
6461
6462 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6463
6464         * gst/gstthread.c: (gst_thread_change_state),
6465         (gst_thread_child_state_change):
6466         Make sure no iteration happens while performing
6467         the state change as it could mess up the internal
6468         consistency of the thread state.
6469
6470 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6471
6472         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6473         (gst_thread_change_state), (gst_thread_child_state_change):
6474         Do not try to grab the iterate lock in the state change method
6475         when we are in the same thread as the iterate or else we
6476         could deadlock. Some other cleanups.
6477
6478 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6479
6480         * configure.ac:
6481           bump nano to cvs
6482
6483 === release 0.8.7 ===
6484
6485 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6486
6487         * configure.ac:
6488         * NEWS:
6489         * RELEASE:
6490         * configure.ac:
6491           releasing 0.8.7, "A Cruise"
6492
6493 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6494
6495         * docs/random/mimetypes:
6496         Add an entry for Sony ATRAC3 audio format with mime-type
6497         used by rmdemux et riff-read
6498
6499 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6500
6501         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6502         Push the buffer store instead of clearing it in case that
6503         the stream is not seekable.
6504
6505 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6506
6507         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6508         (gst_thread_main_loop):
6509         Lock the iteration and the state change so that automatic
6510         negotiation and fixation does not happen at the same time
6511         as the in stream negotiation.
6512
6513 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6514
6515         * configure.ac:
6516           bump nano to cvs
6517
6518 === release 0.8.6 ===
6519
6520 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6521
6522         * configure.ac:
6523         * NEWS:
6524         * RELEASE:
6525         * configure.ac:
6526           releasing 0.8.6, "Narc"
6527
6528 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6529
6530         * configure.ac:
6531           prerel bump
6532
6533 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6534
6535         patch by: Steve Lhomme
6536
6537         * gst/elements/gstfakesrc.c:
6538         * gst/elements/gstidentity.c:
6539         * gst/gstthread.c:
6540           Fix for #153881
6541
6542 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6543
6544         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6545         Fix threadsafety of the crc checking function.
6546
6547 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         patch by: Ronald Bultje
6550
6551         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6552         (gst_type_find_element_handle_event),
6553         (gst_type_find_element_chain):
6554         * gst/elements/gsttypefindelement.h:
6555          #153657.
6556          Filter out discont event from seekable sources when typefind
6557          asks them to seek.  Fixes typefind with demuxers for
6558          avi, asf and matroska.
6559
6560 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6561
6562         * docs/gst/gstreamer-sections.txt:
6563         * gst/gstcaps.c:
6564         * gst/gstcaps.h:
6565         * gst/gstpad.c:
6566           Revert preferred caps: (#147789)
6567
6568 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6569
6570         * win32/dirent.c:
6571           fix a memory leak
6572
6573 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6574
6575         * configure.ac:
6576           bump for prerelease
6577
6578 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6579
6580         * docs/Makefile.am:
6581         * docs/manual/elements-api.xml:
6582           restructure so that common stuff is shown first
6583         * docs/manual/init-api.xml:
6584           convert to examples
6585         * docs/manual/manual.xml:
6586         * docs/manuals.mak:
6587         * docs/url.entities:
6588           link to API on the website, possibly override later in build
6589         * examples/manual/.cvsignore:
6590           ignore more
6591         * examples/manual/Makefile.am:
6592           add more examples
6593         * examples/manual/extract.pl:
6594           error out on failure
6595
6596 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         * docs/gst/tmpl/gstthread.sgml:
6599         * docs/manual/init-api.xml:
6600         * examples/manual/Makefile.am:
6601           convert two code bits to examples
6602
6603 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6604
6605         * gst/gstelement.c: (gst_element_change_state):
6606           Well, actually, I was about to remove this insane assert when
6607           I noticed Wim already did that. A warning is nice so we can
6608           fix actual ugs (using --g-fatal-warnings and backtraces), so
6609           I added that instead.
6610
6611 2004-09-06  Wim Taymans  <wim@fluendo.com>
6612
6613         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6614         (gst_element_threadsafe_properties_post_run),
6615         (gst_element_set_state), (gst_element_change_state):
6616         Added extra refcounting around various places. 
6617
6618 2004-09-06  Wim Taymans  <wim@fluendo.com>
6619
6620         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6621         Fix debug info.
6622
6623 2004-09-06  Wim Taymans  <wim@fluendo.com>
6624
6625         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6626         (remove_from_group):
6627         Some more debug info.
6628
6629 2004-09-03  Wim Taymans  <wim@fluendo.com>
6630
6631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6632         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6633         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6634         (gst_fakesrc_get), (gst_fakesrc_change_state):
6635         * gst/elements/gstfakesrc.h:
6636         * gst/elements/gstidentity.c: (gst_identity_class_init),
6637         (gst_identity_init), (gst_identity_chain),
6638         (gst_identity_set_property), (gst_identity_get_property),
6639         (gst_identity_change_state):
6640         * gst/elements/gstidentity.h:
6641         Added datarate properties to limit the datarate.
6642
6643 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6644
6645         * gst/autoplug/gstspider.c: (plugin_init):
6646           don't set a rank. We don't want to autoplug by inserting spiders.
6647
6648 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6649
6650         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6651         (gst_spider_identity_plug):
6652           add a template for spider's sink
6653         * gst/gst.c: (gst_register_core_elements):
6654           queue's rank should be NULL, we don't want spider to add it.
6655
6656 2004-08-18  David Schleef  <ds@schleef.org>
6657
6658         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6659         * docs/libs/Makefile.am: same
6660         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6661         * docs/random/ds/0.9-planning: random additions
6662         * docs/random/ds/0.9-suggested-changes: same
6663         * gst/gstxml.h: remove vestigal GstXMLNs definition
6664
6665         Preferred caps: (#147789)
6666         * docs/gst/gstreamer-sections.txt: Add symbols
6667         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6668         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6669         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6670         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6671         (gst_caps_get_preferred), (gst_caps_set_preferred),
6672         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6673         (gst_caps_use_preferred): Handle caps preferences
6674         * gst/gstcaps.h: Add caps preferences
6675         * gst/gstpad.c: (gst_pad_link_get_preferred),
6676         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6677         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6678         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6679         negotiation.
6680
6681 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6682
6683         * gst/autoplug/gstspideridentity.c:
6684         (gst_spider_identity_request_new_pad):
6685         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6686         (gst_aggregator_init):
6687         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6688         (gst_fakesink_init):
6689         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6690         (gst_fakesrc_init):
6691         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6692         (gst_fdsink_init):
6693         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6694         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6695         (gst_filesink_init):
6696         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6697         (gst_filesrc_init):
6698         * gst/elements/gstidentity.c: (gst_identity_base_init),
6699         (gst_identity_init):
6700         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6701         (gst_multifilesrc_init):
6702         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6703         (gst_pipefilter_init):
6704         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6705         (gst_statistics_init):
6706         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6707         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6708           s/gst_pad_new/&_from_template/
6709           register pad templates in the base_init function
6710           add static pad template definitions
6711
6712 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6713
6714         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6715         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6716         * testsuite/refcounting/pad.c: (main):
6717         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6718           s/gst_pad_new/&_from_template/
6719           prepare deprecation of gst_pad_new
6720
6721 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6722
6723         patch by: Luca Ognibene <skaboy81@virgilio.it>
6724
6725         * gst/gstcaps.c:
6726         * gst/gstelement.c:
6727         * gst/gstpad.c:
6728         * gst/gstxml.c:
6729           fix memleaks.  Fixes #150001
6730
6731 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6732
6733         * docs/random/ds/0.9-suggested-changes:
6734           add notes - mostly about pad templates
6735
6736 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6737
6738         * win32/GStreamer.vcproj:
6739           temporary locale files are .gmo not .mo
6740
6741 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6742
6743         * configure.ac: bump nano to cvs
6744
6745 === release 0.8.5 ===
6746
6747 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6748
6749         * configure.ac:
6750           releasing 0.8.5, "Stuttgart"
6751         * NEWS:
6752         * RELEASE:
6753         * configure.ac:
6754         * docs/random/release:
6755           updates for release
6756
6757 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         patch by: Wim Taymans (wim@fluendo.com)
6760
6761         * gst/gstbuffer.c:
6762         * gst/gstindex.h:
6763         * libs/gst/dataprotocol/dataprotocol.c:
6764           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6765
6766 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6767
6768         * Makefile.am:
6769         * win32/MANIFEST:
6770           add win32 dir to the build.  Fixes #149981.
6771
6772 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6773
6774         * configure.ac:
6775           bump libtool versioning
6776         * gst/gststructure.c:
6777           mark function as static
6778         * po/af.po:
6779         * po/az.po:
6780         * po/ca.po:
6781         * po/cs.po:
6782         * po/en_GB.po:
6783         * po/fr.po:
6784         * po/nl.po:
6785         * po/sq.po:
6786         * po/sr.po:
6787         * po/sv.po:
6788         * po/tr.po:
6789         * po/uk.po:
6790           translations update
6791         * win32/README.txt:
6792           trademark protection
6793
6794 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6795
6796         * configure.ac:
6797           fix GST_ORIGIN
6798           set GST_PACKAGE to source, and distinguish between release and other
6799         * tools/gst-inspect.c:
6800           print out plugin an element factory is part of so we see this info
6801
6802 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * docs/gst/gstreamer-sections.txt:
6805         * docs/gst/tmpl/gstbuffer.sgml:
6806         * docs/gst/tmpl/gstschedulerfactory.sgml:
6807           reorder docs a little, make GstBuffer's more sensible.
6808         * gst/gstbuffer.h:
6809           API: added GST_BUFFER_FLAG_DELTA_UNIT
6810         * gst/gstscheduler.c:
6811           comment API addition
6812
6813 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6814
6815         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6816           work with non-regular files that can be mmapped (like /dev/zero)
6817         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6818           get rid of typefinds that require a seek when we can't seek instead
6819           of trying them over and over again
6820         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6821           return non-zero failure value when the pipeline was interrupted or
6822           an error occurred
6823
6824 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6825
6826         * win32/config.h:
6827         * win32/GStreamer.vcproj:
6828           compile and install the locales
6829
6830 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6831
6832         * gst/gstvalue.c:
6833           fix a possible memory leak under Windows
6834
6835 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6836
6837         * win32/GStreamer.vcproj:
6838           fix a memory leak that occured under Windows
6839         * win32/gstreamer.def:
6840           add gst_scheduler_register
6841
6842 2004-08-11  Benjamin Otte  <otte@gnome.org>
6843
6844         * docs/gst/gstreamer-sections.txt:
6845         * gst/gstscheduler.c: (gst_scheduler_register):
6846         * gst/gstscheduler.h:
6847           API:
6848           add gst_scheduler_register shortcut similar to gst_element_register
6849         * gst/schedulers/entryscheduler.c: (plugin_init):
6850         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6851         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6852           use it
6853
6854 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6855
6856         * gst/gstvalue.h:
6857           fix a memory leak that occured under Windows
6858
6859 2004-08-10  Colin Walters  <walters@redhat.com>
6860
6861         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6862         Don't use O_EXCL to open temporary registry.  It will prevent
6863         registry creation if a temporary one already exists, which
6864         is unnecessary.
6865
6866 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6867
6868         * docs/gst/gstreamer-sections.txt:
6869         * docs/gst/tmpl/gstvalue.sgml:
6870           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6871
6872 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6873
6874         * win32/gstbytestream.vcproj:
6875         * win32/gstelements.vcproj:
6876         * win32/gstgetbits.vcproj:
6877         * win32/gst-inspect.vcproj:
6878         * win32/gst-launch.vcproj:
6879         * win32/gstoptimalscheduler.vcproj:
6880         * win32/GStreamer.vcproj:
6881         * win32/gst-register.vcproj:
6882         * win32/gstspider.vcproj:
6883           update the include and lib dirs to fit standard libraries as
6884           described in the Win32 manual
6885
6886 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6887
6888         * win32/config.h:
6889         * win32/gstversion.h:
6890           enable NLS again, push the version number for the coming 0.8.5 release
6891
6892 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6893
6894         * gst/gstvalue.h:
6895           export gst_type_XXX for windows DLLs
6896
6897 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         * docs/faq/gst-uninstalled:
6900           fix PKG_CONFIG_PATH and PYTHONPATH
6901         * gst/schedulers/Makefile.am:
6902           cleanup
6903         * libs/gst/bytestream/bytestream.c:
6904           remove newline
6905         * po/LINGUAS:
6906         * po/sq.po:
6907           adding Albanian translation (Laurent Dhima)
6908         * po/cs.po:
6909           updated
6910
6911 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6912
6913         * po/ca.po:
6914         * po/sv.po:
6915           updated translations
6916
6917 2004-08-04  Benjamin Otte  <otte@gnome.org>
6918
6919         * tests/mass_elements.c: (main):
6920           allow specifying src and sink element explicitly, so I can test
6921           videotestsrc instead of fakesrc
6922
6923 2004-08-04  Benjamin Otte  <otte@gnome.org>
6924
6925         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6926         (gst_structure_id_empty_new), (gst_structure_empty_new),
6927         (gst_structure_copy):
6928           add gst_structure_id_empty_new_with_size to allow preallocating
6929           value array sizes. Use this in gst_structure_copy to get rid of
6930           reallocs.
6931           don't do quark=>string=>quark when copying structures
6932
6933 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6934
6935         * docs/manual/win32.xml:
6936         * win32/README.txt:
6937           update documentation with the clean version of dependencies
6938
6939 2004-08-03  Benjamin Otte  <otte@gnome.org>
6940
6941         * gst/schedulers/entryscheduler.c:
6942         (gst_entry_scheduler_remove_element):
6943           fix for GST_DISABLE_DEBUG
6944         * tools/gst-launch.c: (print_tag):
6945           fixes for G_DISABLE_ASSERT
6946
6947 2004-08-03  Benjamin Otte  <otte@gnome.org>
6948
6949         * gst/gst.c: (gst_register_core_elements):
6950           fix for G_DISABLE_ASSERT
6951         * gst/gstinfo.c: (__gst_in_valgrind):
6952           add for GST_DISABLE_DEBUG
6953
6954 2004-08-03  Benjamin Otte  <otte@gnome.org>
6955
6956         * gst/parse/parse.l:
6957           fix for G_DISABLE_ASSERT
6958
6959 2004-08-03  Wim Taymans  <wim@fluendo.com>
6960
6961         * gst/gstbin.c: (gst_bin_get_type),
6962         (gst_bin_child_state_change_func):
6963         * gst/gstthread.c: (gst_thread_change_state):
6964         Backported some debug logging from a reverted patch
6965         Don't try to destroy the thread twice. Added some more
6966         debugging in GstThread. Unlock and signal even if we
6967         are in the thread context.
6968
6969 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6970
6971         * po/uk.po:
6972           updated translation
6973
6974 2004-07-30  David Schleef  <ds@schleef.org>
6975
6976         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6977
6978 2004-07-29  David Schleef  <ds@schleef.org>
6979
6980         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6981         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6982
6983 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6984
6985         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6986         (gst_bin_add_func), (gst_bin_remove_func),
6987         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6988         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6989         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6990         (gst_bin_sync_children_state):
6991         * gst/gstbin.h:
6992         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6993         (gst_thread_change_state):
6994         * testsuite/states/Makefile.am:
6995           revert state change patches as agreed so we can rework them
6996           gradually
6997
6998 2004-07-29  Benjamin Otte  <otte@gnome.org>
6999
7000         * libs/gst/control/Makefile.am:
7001           link to libgstreamer (fixes Debian bug 262019, see
7002           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7003
7004 2004-07-29  Wim Taymans  <wim@fluendo.com>
7005
7006         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7007         (check_from_fraction_convert), (transform_test), (main):
7008         Make the test less pedantic about float roundoff errors.
7009
7010 2004-07-29  Benjamin Otte  <otte@gnome.org>
7011
7012         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7013         (gst_filesrc_srcpad_event):
7014           make seek events to before start/after end of file not fail, but
7015           seek to start/end instead
7016         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7017           add more output
7018
7019 2004-07-29  Benjamin Otte  <otte@gnome.org>
7020
7021         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7022           check that caps are fixed
7023         * gst/gstpad.c: (gst_pad_template_new):
7024           don't try to simplify caps, costs too much time on gst_init
7025         * gst/gstplugin.c: (gst_plugin_add_feature):
7026           G_ERROR if features are added twice
7027         * gst/gsttypefind.c: (gst_type_find_register):
7028         * gst/gstelementfactory.c: (gst_element_register):
7029           don't add features twice
7030         * docs/random/ds/0.9-suggested-changes:
7031           add note about possible gst_init optimization
7032
7033 2004-07-28  David Schleef  <ds@schleef.org>
7034
7035         * testsuite/elements/Makefile.am:
7036         * testsuite/elements/struct_i386.h:
7037         * testsuite/elements/struct_size.c: (main):  A little test
7038         to keep distcheck from working if someone changes a structure
7039         size accidentally.
7040
7041 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7042
7043         * docs/libs/Makefile.am:
7044         * docs/libs/gstreamer-libs-docs.sgml:
7045         * docs/libs/gstreamer-libs-sections.txt:
7046         * docs/libs/tmpl/gstbytestream.sgml:
7047         * docs/libs/tmpl/gstcontrol.sgml:
7048         * docs/libs/tmpl/gstdataprotocol.sgml:
7049         * docs/libs/tmpl/gstgetbits.sgml:
7050         * libs/gst/bytestream/Makefile.am:
7051         * libs/gst/bytestream/bytestream.c:
7052         * libs/gst/bytestream/bytestream.h:
7053         * libs/gst/control/Makefile.am:
7054         * libs/gst/dataprotocol/Makefile.am:
7055         * libs/gst/getbits/Makefile.am:
7056         * libs/gst/getbits/getbits.h:
7057           various doc and style fixes, adding bytestream to libs docs.
7058
7059 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7060
7061         * docs/gst/gstreamer-docs.sgml:
7062         * docs/libs/Makefile.am:
7063         * docs/libs/gstreamer-libs-docs.sgml:
7064         * docs/libs/gstreamer-libs-sections.txt:
7065         * libs/gst/control/dparam.c:
7066           more doc fixes.  gst-libs docs now build the same way as gst.
7067
7068 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7069
7070         * configure.ac:
7071         * testsuite/Makefile.am:
7072         * testsuite/bins/Makefile.am:
7073         * testsuite/caps/Makefile.am:
7074         * testsuite/cleanup/Makefile.am:
7075         * testsuite/clock/Makefile.am:
7076         * testsuite/debug/Makefile.am:
7077         * testsuite/dlopen/Makefile.am:
7078         * testsuite/dynparams/Makefile.am:
7079         * testsuite/elements/.cvsignore:
7080         * testsuite/elements/Makefile.am:
7081         * testsuite/enumcaps/Makefile.am:
7082         * testsuite/enumcaps/enumcaps.c:
7083         * testsuite/ghostpads/Makefile.am:
7084         * testsuite/indexers/Makefile.am:
7085         * testsuite/negotiation/Makefile.am:
7086         * testsuite/parse/Makefile.am:
7087         * testsuite/plugin/Makefile.am:
7088         * testsuite/refcounting/Makefile.am:
7089         * testsuite/schedulers/.cvsignore:
7090         * testsuite/states/Makefile.am:
7091         * testsuite/tags/Makefile.am:
7092         * testsuite/threads/Makefile.am:
7093           fold enumcaps into caps dir
7094           clean up Makefile.am's for testsuite
7095
7096 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7097
7098         * docs/gst/Makefile.am:
7099         * docs/libs/Makefile.am:
7100           clean up docs build.  Fixes needless rebuilding of template files.
7101
7102 2004-07-28  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7105         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7106         Make sure that a bin state change tries to keep the children
7107         in sync. 
7108         Added debug logging to the thread.
7109
7110 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7111
7112         * win32/GStreamer.vcproj:
7113         * win32/gstreamer.def:
7114           more exports for the plugins
7115
7116 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7117
7118         * win32/gstgetbits.vcproj:
7119         * win32/gstgetbits.def:
7120         * win32/msvc71.sln:
7121           add support for the getbits plugin
7122
7123 2004-07-27  Wim Taymans  <wim@fluendo.com>
7124
7125         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7126         (gst_value_transform_fraction_double), (_gst_value_initialize):
7127         * testsuite/caps/Makefile.am:
7128         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7129         (check_from_fraction_convert), (transform_test), (main):
7130         Added transform functions between double and fraction.
7131         Added testcase to verify transforms
7132
7133 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7134
7135         * win32/GStreamer.vcproj:
7136           rename GStreamer-0.8.lib to libgstreamer.lib
7137
7138 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7139
7140         * win32/gstelements.vcproj:
7141         * win32/gstoptimalscheduler.vcproj:
7142           fixes for the Release build
7143
7144 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7145
7146         * win32/config.h:
7147           update the version number
7148
7149 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7150
7151         * win32/GStreamer.vcproj:
7152           add gstinterface to the build
7153
7154 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7155
7156         * win32/gstreamer.def:
7157           add many definitions needed by plugins,
7158           GST_CAT_DEFAULT only available in the Debug build ?
7159
7160 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7161
7162         * gst/gstelement.c: (gst_element_set_eos_recursive):
7163           various whitespace fixes.
7164           doc fix, fixes #148497
7165
7166 2004-07-25  Benjamin Otte  <otte@gnome.org>
7167
7168         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7169           don't delay links on the sink elements, it causes unnegotiated
7170           links.
7171         * gst/elements/gsttypefindelement.c:
7172         (gst_type_find_element_base_init):
7173           add our padtemplates, we indeed do have some.
7174         * gst/elements/gsttypefindelement.c:
7175         (gst_type_find_element_handle_event),
7176         (gst_type_find_element_chain):
7177           don't push data when typefinding failed.
7178         * gst/gstpad.c: (gst_pad_link_fixate):
7179           check that no fixate function returns empty caps.
7180         * gst/gstpad.c: (gst_pad_push):
7181           check that the link is negotiated before data gets pushed.
7182         * tools/gst-register.c: (main):
7183           don't assert (fixes #148283)
7184
7185 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7186
7187         * docs/gst/gstreamer-sections.txt:
7188         * docs/gst/tmpl/gstconfig.sgml:
7189           add GST_PLUGIN_EXPORT definition
7190
7191 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7192
7193         * gst/gstplugin.h:
7194         * gst/gstconfig.h.in:
7195         * win32/gstconfig.h:
7196         * win32/gstelements.def:
7197         * win32/gstelements.vcproj:
7198         * win32/gstoptimalscheduler.def:
7199         * win32/gstoptimalscheduler.vcproj:
7200         * win32/gstspider.def:
7201         * win32/gstspider.vcproj:
7202           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7203
7204 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * docs/gst/gstreamer-sections.txt:
7207           remove GST_CAT_DEFAULT because the type has changed
7208
7209 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7210
7211         * win32/gstbytestream.vcproj:
7212         * win32/gstelements.vcproj:
7213         * win32/gst-inspect.vcproj:
7214         * win32/gst-launch.vcproj:
7215         * win32/gstoptimalscheduler.vcproj:
7216         * win32/GStreamer.vcproj:
7217         * win32/gst-register.vcproj:
7218         * win32/gstspider.vcproj:
7219         * win32/msvc71.sln:
7220           Copy the files where needed after building, The testsuite will be
7221           built separately
7222
7223 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7224
7225         * win32/config.h:
7226         * win32/README.txt:
7227         * docs/manual/win32.xml:
7228         Fixed the plugin and GStreamer location
7229
7230 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7231
7232         * win32/gstreamer.def:
7233         More exports for the plugins
7234
7235 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7236
7237         * gst/gstinfo.h:
7238         Marc was right, we need to export literally GST_CAT_DEFAULT
7239
7240 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7241
7242         * win32/config.h:
7243         NLS crashes in gettext, disabled until this is solved
7244
7245 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7246
7247         * win32/gst-inspect.vcproj:
7248         * win32/gst-launch.vcproj:
7249         Should use NLS when available
7250
7251 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7252
7253         * gst/registries/gstxmlregistry.c:
7254         removing the file doesn't seem to be a good idea on Linux
7255
7256 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7257
7258         * gst/registries/gstxmlregistry.c:
7259         Remove the registry before renaming the tempfile (needed for Windows)
7260
7261 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7262
7263         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7264         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7265         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7266         * gst/elements/gstmultifilesrc.h:
7267         Added newmedia property so it generates newmedia events between each
7268         file when property is set, as well as fixed eos handling
7269
7270 2004-07-22  David Schleef  <ds@schleef.org>
7271
7272         * gst/gststructure.c: (gst_structure_id_empty_new),
7273         (gst_structure_empty_new):  Set type field correctly.
7274         * gst/gststructure.h: Check type field correctly.
7275         * testsuite/caps/Makefile.am:
7276         * testsuite/caps/structure.c: (test1), (main): Add a very small
7277         test for structures.
7278
7279 2004-07-22  David Schleef  <ds@schleef.org>
7280
7281         * docs/random/ds/0.9-suggested-changes: more comments
7282         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7283
7284 2004-07-22  Benjamin Otte  <otte@gnome.org>
7285
7286         * gst/gstelementfactory.c: (gst_element_register):
7287           set the factory in the class struct, so gst_element_get_factory
7288           actually works
7289         * gst/parse/grammar.y:
7290           set element to playing when it gets unlocked as we can't rely on the
7291           bin state - all elements in the bin state might still be locked in
7292           NULL)
7293
7294 2004-07-22  Benjamin Otte  <otte@gnome.org>
7295
7296         * gst/gstelement.c: (gst_element_set_state_func):
7297           make this a static function
7298
7299 2004-07-22  Wim Taymans  <wim@fluendo.com>
7300
7301         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7302         (gst_opt_scheduler_pad_link):
7303         fix 147894-2 and the group_link problem.
7304
7305 2004-07-22  Wim Taymans  <wim@fluendo.com>
7306
7307         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7308         (handoff_identity), (main):
7309         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7310         (handoff_identity), (main):
7311         * testsuite/schedulers/Makefile.am:
7312         * testsuite/schedulers/group_link.c: (main):
7313         Show bug in scheduler when linking chain and loop based element 
7314         where the chain based element was not yet in a group.
7315
7316 2004-07-21  Benjamin Otte  <otte@gnome.org>
7317
7318         * gst/.cvsignore:
7319         * gst/autoplug/.cvsignore:
7320         * gst/elements/.cvsignore:
7321         * gst/indexers/.cvsignore:
7322         * libs/gst/bytestream/.cvsignore:
7323         * libs/gst/control/.cvsignore:
7324         * libs/gst/getbits/.cvsignore:
7325         * testsuite/states/.cvsignore:
7326         * testsuite/threads/.cvsignore:
7327           keep this up to date, since I seem to be the only one who cares
7328           about not missing files on commits (editor's note: no you don't,
7329           but feel free to change them at the time you add stuff instead
7330           of later on)
7331
7332 2004-07-21  Benjamin Otte  <otte@gnome.org>
7333
7334         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7335         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7336         (gst_bin_child_state_change_func), (set_kid_state_func),
7337         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7338           make state changes work correctly and reentrant (so removing
7339           elements from bins during state changes of bins doesn't cause
7340           segfaults or even wrong states)
7341           add debugging category and debugging output to print children states
7342         * gst/gstbin.c: (gst_bin_dispose): 
7343           add some assertion checks
7344         * gst/gstbin.h:
7345         * gst/gstbin.c: (gst_bin_sync_children_state):
7346           deprecate this function - it just does gst_bin_set_state (bin,
7347           GST_STATE (bin)) 
7348         * testsuite/threads/queue.c: (main):
7349           don't use gst_bin_sync_children_state anymore
7350         * testsuite/states/Makefile.am:
7351         * testsuite/states/bin.c:
7352           test that the state changes of bins work as expected
7353         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7354           some adjustments to change states correctly, too
7355         * gst/gstthread.c: (gst_thread_change_state):
7356           don't enable/disable "threadsafe" properties, they're unused and
7357           cause random segfaults
7358         * testsuite/threads/Makefile.am:
7359           the queue check randomly passes now, ignore it
7360
7361 2004-07-21  Benjamin Otte  <otte@gnome.org>
7362
7363         * gst/gstpad.c:
7364           check if data is NULL before outputting debug info. (fixes #145100)
7365
7366 2004-07-21  Benjamin Otte  <otte@gnome.org>
7367
7368         * gst/schedulers/entryscheduler.c:
7369         (gst_entry_scheduler_loop_wrapper),
7370         (gst_entry_scheduler_chain_wrapper),
7371         (gst_entry_scheduler_get_wrapper):
7372           reset the state when the cothread starts, so we don't get assertion
7373           failures on restarting of cothreads
7374
7375 2004-07-20  Benjamin Otte  <otte@gnome.org>
7376
7377         * gst/gstelement.c: (gst_element_link_pads_filtered):
7378           use correct sinkpad, if only sinkpad is specified, but not srcpad
7379           (fixes #147889)
7380         * gst/gstelement.c: (gst_element_set_state_func),
7381         (gst_element_change_state): ref/unref the element, signal handlers
7382         could get rid of the element otherwise
7383
7384 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7385
7386         * docs/random/ds/0.9-suggested-changes:
7387           Make note about renaming fixed-list to array.
7388         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7389         (_gst_value_initialize):
7390           Add array intersections.
7391         * testsuite/caps/intersect2.c: (main):
7392           Add test for array intersections.
7393
7394 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7395
7396         * configure.ac: back to cvs
7397
7398 === release 0.8.4 ===
7399
7400 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7401
7402         * configure.ac:
7403           releasing 0.8.4, "Paella"
7404           bump libtool versioning
7405
7406 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7407
7408         * po/LINGUAS:
7409         * po/ca.po:
7410           adding Catalan translation (Jordi Mallach)
7411
7412 2004-07-20  Wim Taymans  <wim@fluendo.com>
7413
7414         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7415         (handoff_identity), (main):
7416         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7417         (handoff_identity), (main):
7418         * testsuite/schedulers/Makefile.am:
7419         Added failing testcase for variant of #147894
7420
7421 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         patch by: David Moore
7424
7425         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7426         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7427         (group_migrate_connected):
7428         * testsuite/schedulers/Makefile.am:
7429           fix for #142813 (Deadlock in optimal scheduler)
7430
7431 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7432
7433         patch by: Wim Taymans
7434
7435         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7436         (gst_opt_scheduler_schedule_run_queue),
7437         (gst_opt_scheduler_get_wrapper), (get_group),
7438         (group_migrate_connected):
7439         * testsuite/schedulers/Makefile.am:
7440           fix for #147819 (Add some checks in the opt scheduler)
7441
7442 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7443
7444         patch by: Benjamin Otte
7445
7446         * gst/gstelementfactory.c: (__gst_element_details_set):
7447           fix for #147929: running gst-register in non-utf8 locale can cause
7448           invalid registry
7449
7450 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7451
7452         patch by: Wim Taymans
7453
7454         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7455         (group_has_element), (element_get_reachables_func),
7456         (group_migrate_connected):
7457           fix for #147894 (opt scheduler decoupled elements mismanagement)
7458         * testsuite/schedulers/Makefile.am:
7459           testsuite app now passes
7460
7461 2004-07-19  Wim Taymans  <wim@fluendo.com>
7462
7463         * testsuite/schedulers/147819.c: (handoff_identity1),
7464         (handoff_identity2), (main):
7465         * testsuite/schedulers/Makefile.am:
7466         Added testcase for bug 147819
7467
7468 2004-07-19  Wim Taymans  <wim@fluendo.com>
7469
7470         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7471         (handoff_identity), (main):
7472         * testsuite/schedulers/Makefile.am:
7473         Added testcase for bug 147894
7474
7475 2004-07-16  Wim Taymans  <wim@fluendo.com>
7476
7477         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7478         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7479         * testsuite/schedulers/Makefile.am:
7480         Added testsuite for bug 142183 in its two incarnations. Refcount
7481         is not increased for scheduled elements and threadsafe properties
7482         mutexes are not properly unlocked.
7483
7484 2004-07-16  Wim Taymans  <wim@fluendo.com>
7485
7486         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7487         (create_chain), (destroy_chain), (create_group), (destroy_group),
7488         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7489         (group_dec_link), (gst_opt_scheduler_pad_link),
7490         (group_inc_links_for_element), (group_migrate_connected):
7491         Call group_inc_link with the proper src->sink ordering -- 
7492         break this, and we break sort_chain. patch from wingo for bug
7493         147713.
7494         Partially revert patch 1.89. When adding a loop based element to 
7495         the scheduler, the links to other groups are automatically followed
7496         and incremented. This should not happen because the bin will call
7497         pad_link explicitly for those connection, resulting in them counted 
7498         twice. Results in assertion failure on pipeline cleanup.
7499
7500 2004-07-16  Wim Taymans  <wim@fluendo.com>
7501
7502         * testsuite/schedulers/143777-2.c: (main):
7503         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7504         (main):
7505         * testsuite/schedulers/Makefile.am:
7506         Added cleanup code to testcase 143777-2.
7507         Added testcase to show bug 147713, does not really show the
7508         deadlock as I can't figure out how to trigger it, but it does
7509         demonstrate bad ordering in the scheduler.
7510
7511 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7512
7513         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7514           change strndup to g_strndup.  Fixes #147707
7515
7516 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7517
7518         * po/af.po:
7519         * po/az.po:
7520         * po/cs.po:
7521         * po/en_GB.po:
7522         * po/fr.po:
7523         * po/nl.po:
7524         * po/sr.po:
7525         * po/sv.po:
7526         * po/tr.po:
7527         * po/uk.po:
7528           updated translations
7529
7530 2004-07-16  Benjamin Otte  <otte@gnome.org>
7531
7532         * gst/gstvalue.c: (gst_greatest_common_divisor):
7533           use ints and return ints, fractions only use ints, too, so this
7534           avoids accidently casting multiplications to unsigned
7535         (gst_value_lcopy_fraction): it's ints, not uint32
7536         (gst_value_set_fraction): disallow minint, multiplying and negation
7537           are broken with it
7538         (gst_value_fraction_multiply): fix to make large numbers work and get
7539         rid of the assumption that the multiplication of two ints fits an
7540         int64 - dunno if that's true for all systems
7541         * testsuite/caps/Makefile.am:
7542         * testsuite/caps/fraction-multiply-and-zero.c:
7543         (check_multiplication), (check_equal), (zero_test), (main):
7544           add tests for all the stuff above
7545         * testsuite/caps/value_compare.c: (test1):
7546           fix comment
7547         * tests/.cvsignore:
7548         * testsuite/caps/.cvsignore:
7549         * testsuite/debug/.cvsignore:
7550         * testsuite/dlopen/.cvsignore:
7551         * testsuite/states/.cvsignore:
7552           get up to date
7553
7554 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7555
7556         * docs/manual/bins-api.xml:
7557         * docs/manual/factories.xml:
7558         * docs/manual/helloworld.xml:
7559         * docs/manual/links-api.xml: 
7560           fixes for out of date info, incorrect info and grammar
7561
7562 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7563
7564         * docs/manual/pads.xml:
7565         * docs/manual/pads-api.xml: grammar fix
7566
7567 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7568
7569         * docs/manual/pads-api.xml: typo + grammar fix
7570
7571 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7572
7573         * docs/gst/gstreamer-sections.txt:
7574           add new symbols
7575         * docs/gst/tmpl/gstelement.sgml:
7576         * docs/gst/tmpl/gstpad.sgml:
7577         * docs/gst/tmpl/gsttypes.sgml:
7578         * docs/gst/tmpl/gstvalue.sgml:
7579           update docs
7580         * gst/gststructure.c: (gst_structure_set_valist),
7581         (gst_structure_from_abbr), (gst_structure_to_abbr):
7582         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7583         (gst_greatest_common_divisor), (gst_value_init_fraction),
7584         (gst_value_copy_fraction), (gst_value_collect_fraction),
7585         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7586         (gst_value_get_fraction_numerator),
7587         (gst_value_get_fraction_denominator),
7588         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7589         (gst_value_deserialize_fraction),
7590         (gst_value_transform_fraction_string),
7591         (gst_value_transform_string_fraction),
7592         (gst_value_compare_fraction), (_gst_value_initialize):
7593         * gst/gstvalue.h:
7594           adding GstFraction GValue type, get/set, and multiply
7595         * testsuite/caps/Makefile.am:
7596         * testsuite/caps/fraction.c: (test), (main):
7597         * testsuite/caps/string-conversions.c: (main):
7598         * testsuite/caps/value_compare.c: (test1), (main):
7599           add regression tests for GstFraction
7600
7601 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7602         
7603         * docs/manual/init-api.xml: Grammar fix
7604
7605 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7606
7607         * docs/manual/states.xml: Fix inconsistent information
7608
7609 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7610
7611         * gst/gstelement.c: (gst_element_set_state):
7612         * gst/gstpad.c: (gst_pad_try_set_caps):
7613         * gst/gststructure.c:
7614         * gst/gstthread.c: (gst_thread_child_state_change):
7615         * gst/gstvalue.c: (gst_value_compare_double):
7616         * gst/gstvalue.h:
7617         * testsuite/parse/parse1.c: (main):
7618           debugging additions and style cleanups
7619
7620 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7621
7622         * docs/manual/states.xml: Grammar fix
7623
7624 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7625
7626         * docs/manual/pads.xml: Grammar fix
7627
7628 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7629
7630         * docs/manual/elements.xml: Fixed image reference
7631
7632 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7633
7634         * docs/manual/goals.xml: Grammar fix
7635
7636 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7637
7638         * docs/manual/motivation.xml:
7639         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7640
7641 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7642
7643         * docs/manual/motivation.xml: Fix spelling
7644
7645 2004-07-15  Benjamin Otte  <otte@gnome.org>
7646
7647         * gst/gstelement.h: 
7648           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7649           strings.
7650         * gst/gstelement.c (gst_element_class_init):
7651           GError's are boxed, not objects
7652         * gst/gstmarshal.list:
7653           update list for the fixed error signal
7654
7655 2004-07-14  Andy Wingo  <wingo@pobox.com>
7656
7657         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7658         there all along, but the function wasn't. (guile-gstreamer's build
7659         system uses the address of the function -- I wasn't actually
7660         trying to use this.)
7661
7662 2004-07-14  Andy Wingo  <wingo@pobox.com>
7663
7664         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7665         as gst_pad_proxy_pad_link) just link to every other pad when they
7666         are called. In the case where the graph has cycles, this will mean
7667         that a call to try_set_caps will recurse. Allow this recursion
7668         and return OK, while we wait for the first try_set_caps to give a
7669         proper return value.
7670         (gst_pad_link_call_link_functions): Since this function is the
7671         only one to set the NEGOTIATING flag on a pad, if the flag is set
7672         it means that the link functions have indirectly recursed. If this
7673         happens, error out to avoid infinite recursion and an eventual
7674         SEGV.
7675         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7676         (gst_pad_proxy_getcaps): Intersect the result with the template
7677         caps to ensure that the return value is valid.
7678
7679 2004-07-14  Andy Wingo  <wingo@pobox.com>
7680
7681         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7682         one refcount, the calling function is the owner of the buffer.
7683
7684 2004-07-14  Wim Taymans  <wim@fluendo.com>
7685
7686         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7687         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7688         Fix stupid warning when an element is to be migrated but
7689         is already migrated.
7690
7691 2004-07-14  Wim Taymans  <wim@fluendo.com>
7692
7693         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7694         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7695         Make sure that a single non-loop-based element does not 
7696         end up in a group. This fixes the testsuite again.
7697
7698 2004-07-14  Wim Taymans  <wim@fluendo.com>
7699
7700         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7701         (add_to_group), (merge_groups), (schedule_group),
7702         (gst_opt_scheduler_get_wrapper), (group_elements),
7703         (group_dec_link), (gst_opt_scheduler_pad_link),
7704         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7705         (gst_opt_scheduler_iterate):
7706         move isolated groups to a new chain.
7707         Emit a warning instead of segfaulting in some error cases.
7708         Fix a bug where the link count between groups was not calculated 
7709         correctly. Fixes #144510.
7710
7711 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7712         * gst/elements/gstfilesrc.c:
7713           Binary files support under Windows now OK
7714       
7715 2004-07-13  Benjamin Otte  <otte@gnome.org>
7716
7717           compatibility fixes for Solaris 8/gcc 2.95
7718         * configure.ac:
7719           include libintl libs in LDFLAGS
7720         * gstvalue.c (gst_value_deserialize_buffer):
7721           cast isxdigit stuff to int to silence compiler warning
7722
7723 2004-07-12  Benjamin Otte  <otte@gnome.org>
7724
7725         * gst/gsttypes.h:
7726           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7727           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7728           just causes support madness
7729         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7730           make it work without this
7731         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7732         (gst_file_index_commit):
7733           glib IO channels don't want binary mode
7734         * testsuite/bytestream/filepadsink.c: (main):
7735         * testsuite/bytestream/test1.c: (read_param_file):
7736           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7737
7738 2004-07-12  Benjamin Otte  <otte@gnome.org>
7739
7740         * gst/gstelement.c: (gst_element_class_init),
7741         (gst_element_set_state), (gst_element_set_state_func):
7742           virutalize gst_element_set_state, use set_state member in class
7743           struct that was already added in 0.7 for this.
7744         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7745         (gst_bin_change_state):
7746           make gst_bin_foreach works similar to other foreach functions, plug
7747           memleaks in it. Make functions using it work with the new approach.
7748           Document gst_bin_foreach, so it can be exported if we want to
7749         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7750           use virtualized set_state to make set_state on bins set the state of
7751           all its children.
7752
7753 2004-07-12  Benjamin Otte  <otte@gnome.org>
7754
7755         * configure.ac:
7756           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7757           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7758         * gst/gstpad.c: (gst_pad_alloc_buffer):
7759           allow buffer_alloc functions to return NULL and allocate a normal
7760           buffer in that case
7761
7762 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7763         * gst/elements/gstfilesink.c:
7764         * gst/elements/gstfilesrc.c:
7765         * gst/indexers/gstfileindex.c:
7766         * gst/gsttypes.h:
7767         * testsuite/bytestream/filepadsink.c:
7768         * testsuite/bytestream/test1.c:
7769           Handle binary files under Windows
7770
7771 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7772         * docs/manual/win32.xml:
7773         * win32/config.h:
7774         * win32/gst-register.vcproj:
7775         * win32/gstreamer.def:
7776           Update to another gettext public build
7777
7778 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7779         * gst/gstplugin.c:
7780           Fix an impossible C syntax
7781         * win32/config.h:
7782           Disable i18n under Windows for the moment
7783         * win32/gst-register.vcproj:
7784           Use this configuration
7785
7786 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7787         * docs/manual/quotes.xml:
7788           Keep the quotes file alive
7789         * docs/random/ds/0.9-suggested-changes:
7790           Add the suggestion of including a 'rowstride' as part of video
7791           format caps
7792
7793 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7794
7795         * gst/gstelement.c: (gst_element_set_state),
7796         (gst_element_change_state):
7797           d'oh.  Set PENDING state correctly before forcing bin to change.
7798         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7799         (gst_structure_parse_fixed_list):
7800         * gst/schedulers/gstoptimalscheduler.c:
7801         (gst_opt_scheduler_state_transition):
7802         * testsuite/states/parent.c: (main):
7803           remove comment now that it's fixed.
7804
7805 2004-07-11  Benjamin Otte  <otte@gnome.org>
7806
7807         * gst/gstclock.h:
7808           GST_SECOND shouldn't cause a conversion to unsigned.
7809         * testsuite/clock/.cvsignore:
7810         * testsuite/clock/Makefile.am:
7811         * testsuite/clock/signedness.c: (main):
7812           make sure it never will again
7813
7814 2004-07-11  Andy Wingo  <wingo@pobox.com>
7815
7816         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7817         whose state is higher than the bin state, raise the bin state to
7818         ensure that bin state := highest child state.
7819         
7820 2004-07-11  Andy Wingo  <wingo@pobox.com>
7821
7822         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7823         procedure on the children of a bin. Assumes that the procedure can
7824         change the set of children.
7825         (set_kid_state_func): New static function.
7826         (gst_bin_change_state): Use gst_bin_foreach to call
7827         set_kid_state_func. Fixes a bug: if a child had a state-change
7828         handler that removes it from the bin, there would be a segfault.
7829         Hopefully it should also work in the case where the state-change
7830         handler on one child adds or removes other children. In any case,
7831         fixes should go to gst_bin_foreach.
7832
7833 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7834
7835         * gst/gstelement.c: (gst_element_set_state):
7836           compatibility fix for latest plugins release.  Change loop back
7837           to while {}
7838
7839 2004-07-09  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7842         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7843         (gst_thread_main_loop):
7844         Since remove is virtual in GstBin we must not assume the 
7845         elements GList to have anothing useful.
7846         Add some more logging to GstThread and be a bit more paranoid
7847         when resetting the scheduler.
7848         Set the state of the bin to NULL before removing the children.
7849
7850 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7851
7852         * testsuite/threads/Makefile.am:
7853         * testsuite/threads/threadg.c:
7854           added test to check if problem when removing all elements from a
7855           GstThread before setting GstThread state to NULL
7856
7857 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7858
7859         * docs/gst/tmpl/gstelement.sgml:
7860         * docs/gst/tmpl/gsttypes.sgml:
7861         * gst/gstbin.c: (gst_bin_change_state):
7862         * gst/gstelement.c: (gst_element_set_state),
7863         (gst_element_change_state):
7864           rework so that for bins we try to set the state on all children
7865           as well even if the bin is in the correct state already.
7866           change while to do so at least one iteration is done.
7867           For regular elements, we fall back to the previous behaviour for
7868           now since we first need a new plugins release.
7869         * testsuite/states/parent.c: (main):
7870           test for this case
7871           Fixes #123774
7872
7873 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7874
7875         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7876         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7877         (gst_queue_release_locks), (gst_queue_change_state),
7878         (gst_queue_set_property):
7879           add proper lock debugging.  Change dispose to finalize, since
7880           we're freeing mutexes and other stuff which should happen only once.
7881
7882 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7883
7884         * docs/gst/tmpl/gstelement.sgml:
7885         * docs/gst/tmpl/gstplugin.sgml:
7886         * docs/gst/tmpl/gsttypes.sgml:
7887         * docs/pwg/building-state.xml:
7888         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7889         * gst/gstelement.c: (gst_element_change_state):
7890         * gst/gstthread.c: (gst_thread_change_state):
7891           catch wrong state changes in element base class.
7892
7893 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7894
7895         * gst/gstinfo.h:
7896           clean up layout a little.
7897
7898 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7899
7900         * configure.ac:
7901         * testsuite/Makefile.am:
7902         * testsuite/states/Makefile.am:
7903         * testsuite/states/parent.c: (main):
7904           re-enable states testsuite dir.  Add test for state changes and
7905           parent behaviour
7906
7907 2004-07-09  Wim Taymans  <wim@fluendo.com>
7908
7909         * gst/schedulers/gstoptimalscheduler.c:
7910         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7911         (element_get_reachables_func), (element_get_reachables),
7912         (debug_element), (rechain_group), (group_migrate_connected),
7913         (gst_opt_scheduler_pad_unlink):
7914         Do not try to migrate decoupled elements to a new group since
7915         they are not added to groups.
7916
7917 2004-07-08  Benjamin Otte  <otte@gnome.org>
7918
7919         * gst/gstelement.c: (gst_element_error_func):
7920           make reentrant (= allow removing elements in error handler)
7921
7922 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7923
7924         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7925         (gst_pad_send_event), (gst_pad_call_chain_function):
7926           events sent to elements below PAUSED cannot be handled, so
7927           don't try to
7928
7929 2004-07-08  Wim Taymans  <wim@fluendo.com>
7930
7931         * gst/schedulers/gstoptimalscheduler.c:
7932         (chain_recursively_migrate_group), (create_group),
7933         (schedule_group), (gst_opt_scheduler_pad_link),
7934         (group_elements_set_visited), (element_get_reachables_func),
7935         (element_get_reachables), (group_can_reach_group), (debug_element),
7936         (rechain_group), (group_migrate_connected),
7937         (gst_opt_scheduler_pad_unlink):
7938         * testsuite/schedulers/Makefile.am:
7939         Implemented group splitting and rechaining.
7940         Fixes 143777 and 143777-2 in the testsuite.
7941
7942 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7943
7944         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7945           extra debugging
7946         * gst/gstevent.h:
7947         * gst/gstinfo.c: (gst_debug_log_default):
7948           print time nicely.  add thread pointer until someone figures out
7949           a completely portable way of getting at thread id's.
7950         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7951         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7952         (gst_pad_call_chain_function):
7953           extra debugging
7954         * gst/schedulers/gstoptimalscheduler.c:
7955         (get_group_schedule_function), (loop_group_schedule_function),
7956         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7957         (pad_clear_queued), (gst_opt_scheduler_iterate):
7958           rename BUFPEN and friends to DATAPEN since that's what they are.
7959
7960 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7961
7962         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7963         * gst/gstbuffer.h:
7964         * gst/gstpad.c:
7965           cleanups and debugging
7966
7967 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7968
7969         * configure.ac:
7970         * gst/gstvalue.c: (gst_value_compare_enum),
7971         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7972         (gst_value_can_compare), (gst_value_compare):
7973         * testsuite/Makefile.am:
7974         * testsuite/enumcaps/Makefile.am:
7975         * testsuite/enumcaps/enumcaps.c:
7976           Fix enum serialization, deserialization, comparison in caps, add
7977           a test to ensure that this continues working in the future.
7978
7979 2004-07-06  David Schleef  <ds@schleef.org>
7980
7981         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7982         Fix memleak.
7983
7984 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7987         * gst/gstplugin.h:
7988         * gst/registries/gstxmlregistry.c:
7989         (plugin_times_older_than_recurse), (plugin_times_older_than),
7990         (gst_xml_registry_parse_padtemplate):
7991           only rebuild registry when actual plugins have a newer time than
7992           the registry.  Fixes #145520
7993
7994 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7995
7996         * docs/manual/manual.xml:
7997         * docs/manual/win32.xml:
7998           add chapter on win32 building.  fixes #142422
7999
8000 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8001
8002         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8003
8004         * gst/autoplug/gstspider.c: (gst_spider_init),
8005         (gst_spider_dispose):
8006           fix spider memleaks.  fixes #137863
8007
8008 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8009
8010         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8011
8012         * gst/schedulers/gstoptimalscheduler.c:
8013         (gst_opt_scheduler_pad_unlink):
8014           fix SIGBUS error, fixes #145338
8015
8016 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8017
8018         * gst/gstobject.c: (gst_object_replace):
8019         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8020         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8021           clean up clock lifecycle.  Fixes #109831
8022
8023 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8024
8025         * po/LINGUAS:
8026         * po/cs.po:
8027           added Czech translation (Miloslav Trmac)
8028
8029 2004-07-04  David Schleef  <ds@schleef.org>
8030
8031         * tools/Makefile.am:
8032         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8033
8034 2004-07-04  David Schleef  <ds@schleef.org>
8035
8036         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8037
8038 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8039
8040         * gst/gstbin.c: (gst_bin_restore_thyself):
8041           chain to parent restore so the bins get restored correctly
8042           in the editor
8043
8044 2004-07-03  David Schleef  <ds@schleef.org>
8045
8046         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8047         Actually do something in these functions, like before the big
8048         caps change.  (bug #145137)
8049
8050 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8051
8052         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8053         (gst_element_get_compatible_pad_filtered):
8054         * gst/gstthread.c: (gst_thread_main_loop):
8055           more debugging
8056
8057 2004-07-02  David Schleef  <ds@schleef.org>
8058
8059         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8060         * gst/gstobject.h:
8061         * gst/gstparse.h:
8062         * gst/gsttrace.h:
8063         * gst/gstxml.h:
8064
8065 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8066
8067         * gst/gstpad.c: (gst_pad_check_schedulers),
8068         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8069         (gst_pad_link_prepare):
8070           revert until testsuite is fixed
8071
8072 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8073
8074         * testsuite/Makefile.am:
8075         * testsuite/caps/filtercaps.c: (main):
8076         * testsuite/clock/clock1.c: (main):
8077         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8078           fix some more tests
8079
8080 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8083         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8084         * testsuite/cleanup/cleanup4.c: (main):
8085           fix testsuite
8086
8087 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * libs/gst/control/control.c:
8090         * libs/gst/control/dparam.c:
8091         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8092         * libs/gst/control/dparammanager.c:
8093         * libs/gst/control/dparammanager.h:
8094         * testsuite/dynparams/Makefile.am:
8095         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8096         (gst_dptest_change_state), (gst_dptest_chain), (main):
8097           fix testcase for dparams
8098           add debugging category
8099
8100 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8101
8102         * testsuite/Rules:
8103           change path
8104
8105 2004-07-02  Benjamin Otte  <otte@gnome.org>
8106
8107         * tests/.cvsignore:
8108         * tests/Makefile.am:
8109         * tests/mass_elements.c: (gst_get_current_time), (main):
8110           add simple benchmark to test various speeds of fakesrc ! identity !
8111           identity ! ... ! fakesink.
8112           Usage: mass_elements [num_identities] [num_buffers]
8113           If not specified they default to 1000.
8114
8115 2004-07-02  Benjamin Otte  <otte@gnome.org>
8116
8117         * gst/gstpad.c: (gst_pad_check_schedulers),
8118         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8119         (gst_pad_link_prepare):
8120           check that pads that get linked belong to the same manager. The old
8121           code allowed linking elements before putting them into bins, so it
8122           worked to link them and then put them in different threads, which
8123           lead to weird behaviour.
8124           Since this effectively disallows linking elements before putting
8125           them in a bin, some applications might not work after this and error
8126           out. If these applications are too critical, we might need to revert
8127           that patch. Please test this before the next release...
8128
8129 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8130
8131         * gst/gstpad.c: (gst_pad_get_caps):
8132           throw an error if the getcaps function does not return a subset of
8133           the template caps.
8134         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8135           make disconts without position info an error in debugging
8136         * tests/spidey_bench.c: (handoff), (main):
8137           don't count first try when averaging
8138
8139 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8140
8141         * gst/gstplugin.c: (gst_plugin_load_file):
8142           figure out problem with dynamic test
8143
8144 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * docs/gst/Makefile.am:
8147           fix docs build
8148
8149 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * po/POTFILES.in:
8152         * po/af.po:
8153         * po/az.po:
8154         * po/en_GB.po:
8155         * po/fr.po:
8156         * po/nl.po:
8157         * po/sr.po:
8158         * po/sv.po:
8159         * po/tr.po:
8160         * po/uk.po:
8161         * tools/gst-register.c: (plugin_added_func), (main):
8162           i18n-ize -register, fix plural
8163
8164 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * gst/elements/gstidentity.c: (gst_identity_class_init),
8167         (gst_identity_init), (gst_identity_chain),
8168         (gst_identity_set_property), (gst_identity_get_property):
8169         * gst/elements/gstidentity.h:
8170           check for perfect stream
8171
8172 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8173
8174         * gst/elements/gstidentity.c: (gst_identity_chain):
8175           print offset_end
8176
8177 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8178
8179         * docs/gst/Makefile.am:
8180         * docs/gst/gstreamer-docs.sgml:
8181           doc fixes
8182
8183 2004-06-24  David Schleef  <ds@schleef.org>
8184
8185         * autogen.sh:  Remove call to env, since the buildbot isn't
8186         broken anymore.
8187
8188 2004-06-24  Wim Taymans  <wim@fluendo.com>
8189
8190         * gst/elements/Makefile.am:
8191         * gst/elements/gstelements.c:
8192         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8193         (gst_multifdsink_class_init), (gst_multifdsink_init),
8194         (gst_multifdsink_add), (gst_multifdsink_remove),
8195         (gst_multifdsink_clear), (gst_multifdsink_chain),
8196         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8197         * gst/elements/gstmultifdsink.h:
8198         Added an element that writes to multiple filedescriptors at once.
8199
8200 2004-06-24  Benjamin Otte  <otte@gnome.org>
8201
8202         * gst/parse/grammar.y:
8203           don't try to link elements before they have been added to bins
8204
8205 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8206
8207         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8208         (gst_file_pad_get_length):
8209         * libs/gst/bytestream/filepad.h:
8210           add 2 new functions
8211
8212 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8213
8214         * docs/gst/gstreamer-sections.txt:
8215         remove from docs, the define that Benjamin removed from gstelement.h
8216
8217 2004-06-22  Benjamin Otte  <otte@gnome.org>
8218
8219         * gst/gstelement.h:
8220           remove define that referenced a nonexisting GstElement struct member
8221
8222 2004-06-20  Benjamin Otte  <otte@gnome.org>
8223
8224         * gst/gstdata.c: (gst_data_is_writable):
8225           whoops, return values were wrong, so writable data was marked as
8226           non-writable and vice versa. (fixes #143953, spotted by Francis
8227           Labonte)
8228           Shows how rarely we need to copy data ;)
8229
8230 2004-06-20  Benjamin Otte  <otte@gnome.org>
8231
8232         * testsuite/schedulers/.cvsignore:
8233         * testsuite/schedulers/Makefile.am:
8234         * testsuite/schedulers/143777-2.c: (main):
8235           add test for opt breakage in bug #143777
8236
8237 2004-06-20  Benjamin Otte  <otte@gnome.org>
8238
8239         * gst/gstpad.c: (gst_pad_call_chain_function):
8240           check for if we were unlinked while inside the chainfunction (fixes
8241           entrygthread having issues with #143777)
8242         * testsuite/schedulers/143777.c: (main):
8243         * testsuite/schedulers/Makefile.am:
8244           add a test for that fix
8245
8246 2004-06-20  Benjamin Otte  <otte@gnome.org>
8247
8248         * gst/gstvalue.c: (gst_value_set_int_range):
8249           test that start is smaller then end
8250         * libs/gst/bytestream/Makefile.am:
8251         * libs/gst/bytestream/filepad.c: 
8252         * libs/gst/bytestream/filepad.h:
8253           add GstFilePad - a pad that behaves like a FILE*
8254         * testsuite/bytestream/.cvsignore:
8255         * testsuite/bytestream/Makefile.am:
8256         * testsuite/bytestream/filepadsink.c: 
8257           test for the GstFilePad
8258
8259 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8260
8261         * gst/elements/gstidentity.c: (gst_identity_class_init),
8262         (gst_identity_init), (gst_identity_set_clock),
8263         (gst_identity_chain), (gst_identity_set_property),
8264         (gst_identity_get_property):
8265         * gst/elements/gstidentity.h:
8266         * gst/gstclock.c: (gst_clock_id_wait):
8267           add a "sync" property to sync to the clock
8268
8269 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8270
8271         * gst/gstelementfactory.c: (gst_element_factory_create):
8272           make the freakin "elementfactory bla has no type" message more
8273           useful. So we actually can do something when someone shows up
8274           complaining about it.
8275
8276 2004-06-15  Johan Dahlin  <johan@gnome.org>
8277
8278         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8279         found. This matches the old behavior better. Thanks to Thomas for
8280         pointing out.
8281
8282 2004-06-14  David Schleef  <ds@schleef.org>
8283
8284         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8285         -fomit-frame-pointer.  Appears to generate correct code in
8286         other cases as well.
8287
8288 2004-06-14  Johan Dahlin  <johan@gnome.org>
8289
8290         * tools/gst-inspect.c (main): Add two new command line options: -a
8291         to print all elements and -n to print the name on each line. Also
8292         fix some error reporting.
8293         (main): Simplify, remove -n and always print names if -a is specified
8294
8295 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8296
8297         * win32/gstconfig.h:
8298         * win32/GSTreamer.vcproj:
8299         * win32/Makefile:
8300         * gst/gstconfig.h.in:
8301         * gst/gst.h:
8302         * gst/gstbin.h:
8303         * gst/gstelement.h:
8304         * gst/gstevent.h:
8305         * gst/gstobject.h:
8306         * gst/gstpad.h:
8307         * docs/gst/gstreamer-sections.txt:
8308         * docs/gst/tmpl/gstconfig.sgml:
8309           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8310
8311 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8312         * docs/gst/gstreamer-sections.txt:
8313         * docs/gst/tmpl/gstconfig.sgml:
8314         Add the GSTREAMER_EXPORT macro to the docs
8315
8316 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8317
8318         * tools/gst-compprep.c: (handle_xmlerror), (main):
8319         Add a check for the version that introduced SetStructuredError to fix
8320         the build on FC1
8321
8322 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8323
8324         * win32/msvc71.sln:
8325         * win32/testsuite/:
8326           prepare to compile the testsuite with MSVC
8327
8328 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8329
8330         * docs/manual/win32.xml:
8331           attempt to transform the Win32 README into an XML doc
8332
8333 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8334
8335         * gst/gst.c:
8336         * gst/gstbin.*:
8337         * gst/config.h.in:
8338         * gst/gstelement.*:
8339         * gst/gstevent.h:
8340         * gst/gstobject.*:
8341         * gst/gstpad.h:
8342         * tools/gst-register.c:
8343         * win32/gstreamer.def:
8344           extern symbols are now exported for the Windows DLL
8345
8346 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8347
8348         * gst/gstinfo.h:
8349           fix a problem to enable/disable DEBUG under MSVC
8350
8351 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8352
8353         * win32/:
8354           enable more debug code in DEBUG build
8355
8356 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8357
8358         * win32/config.h:
8359         * gst/gst-i18n-app.h:
8360           enable NLS under Windows
8361
8362 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8363         * tools/gst-compprep.c: (handle_xmlerror), (main):
8364           Make an error that baffled me a bit clearer
8365
8366 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * gst/gstqueue.c:
8369           don't use g_queue_get_length () because it's 2.4, use ->length
8370
8371 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8372
8373         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8374
8375         * tools/gst-inspect.c: (print_signal_info):
8376           don't free random data twice. (fixes #144185)
8377
8378 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8379
8380         * gst/gstqueue.c:
8381         * gst/gstqueue.h:
8382           fix removing from the wrong queue on event timeout
8383           fix disposing of the event queue by casting correctly
8384           add mutexes for handling the event queue
8385           someone was sleeping when fixing queue last time around :)
8386
8387 2004-06-10  Johan Dahlin  <johan@gnome.org>
8388
8389         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8390         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8391
8392 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * docs/random/gdp:
8395         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8396         * libs/gst/dataprotocol/dataprotocol.c:
8397         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8398         (gst_dp_buffer_from_header):
8399         * libs/gst/dataprotocol/dataprotocol.h:
8400         * libs/gst/dataprotocol/dp-private.h:
8401           rev version to 0.1, add buffer flags and copy them
8402
8403 2004-06-09  Johan Dahlin  <johan@gnome.org>
8404
8405         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8406         the flags from the buffer we're copying.
8407
8408 2004-06-09  Wim Taymans  <wim@fluendo.com>
8409
8410         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8411         * gst/elements/gstidentity.c: (gst_identity_init),
8412         (gst_identity_chain):
8413         Print more buffer info in fakesink.
8414         Make identity output similar to fakesink.
8415
8416 2004-06-07  Daniel Gazard  <dany42@free.fr>
8417
8418         reviewed by Benjamin Otte  <otte@gnome.org>
8419
8420         * configure.ac:
8421           fix cross compiling not working. (fixes #143741)
8422
8423 2004-06-07  Benjamin Otte  <otte@gnome.org>
8424
8425         * gst/gstelement.c: (gst_element_set_time_delay):
8426           add failure check
8427         * gst/gstinfo.h:
8428           put brackets around macro arguments of GST_TIME_ARGS, add note to
8429           move it to correct header in 0.9
8430
8431 2004-06-07  Benjamin Otte  <otte@gnome.org>
8432
8433         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8434         (gst_file_index_load), (_file_index_id_save_entries),
8435         (gst_file_index_commit), (gst_file_index_add_association),
8436         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8437         (gst_file_index_plugin_init):
8438           make debugging use a default category
8439
8440 2004-06-06  David Moore  <dcm@acm.org>
8441
8442         reviewed by Benjamin Otte  <otte@gnome.org>
8443
8444         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8445         (gst_fdsrc_change_state):
8446           reset offset counter when going READY => PAUSED. (fixes #142903)
8447
8448 2004-06-06  ed@catmur.co.uk
8449
8450         reviewed by Benjamin Otte  <otte@gnome.org>
8451
8452         * gst/registries/gstxmlregistry.c:
8453         (gst_xml_registry_rebuild_recurse):
8454           don't rely on g_dir_open to figure out if a file is a directory, use
8455           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8456           directories. (fixes #142850)
8457
8458 2004-06-06  Benjamin Otte  <otte@gnome.org>
8459
8460         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8461           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8462         * libs/gst/bytestream/adapter.c:
8463         * libs/gst/bytestream/adapter.h:
8464           fix copyright in header and typo in debugging category name
8465
8466 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8467
8468         * configure.ac:
8469           bump nano to cvs
8470
8471 === release 0.8.3 ===
8472
8473 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8474
8475         * configure.ac:
8476           update libtool versioning
8477           do a new release
8478         * docs/gst/tmpl/gstelement.sgml:
8479         * docs/gst/tmpl/gsttypes.sgml:
8480         * gst/gstinfo.c: (_gst_debug_init):
8481           put back GST_CAT_DATAFLOW to fix API breakage
8482
8483 2004-06-04  David Schleef  <ds@schleef.org>
8484
8485         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8486
8487 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8488
8489         * configure.ac:
8490           bump nano to cvs
8491
8492 === release 0.8.2 ===
8493
8494 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8495
8496         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8497           check GST_DEBUG environment variable which is parsed the same way
8498           as --gst-debug=
8499
8500 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8501
8502         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8503                             gstmd5sink.c gstshaper.c gsttee.c
8504                             gsttypefindelement.c
8505         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8506
8507           - removing trailing commas at end of enums
8508             it is correct C99 code but C90 compilers would complain
8509             (AIX, Forte, ...)
8510             ('should' fix #143290, at least partially)
8511
8512 2004-05-27  Wim Taymans  <wim@fluendo.com>
8513
8514         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8515         (chain_group_set_enabled), (create_group), (add_to_group),
8516         (merge_groups), (setup_group_scheduler), (group_elements),
8517         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8518         Don't try to follow the pad connections with other groups
8519         when a loop based element is added to the scheduler because
8520         the bin will inform the scheduler about the pad links a little
8521         later.
8522
8523 2004-05-27  Wim Taymans  <wim@fluendo.com>
8524
8525         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8526         (remove_from_chain), (chain_group_set_enabled),
8527         (setup_group_scheduler), (group_element_set_enabled),
8528         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8529         (gst_opt_scheduler_show):
8530         Elements without a group can do a state change as well, just wait
8531         with the setup of the scheduling function when it is added to a
8532         chain.
8533
8534 2004-05-27  Wim Taymans  <wim@fluendo.com>
8535
8536         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8537         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8538         (merge_groups), (setup_group_scheduler),
8539         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8540         (gst_opt_scheduler_show):
8541         Fixes to maintain internal consistency of the scheduler data
8542         structures. 
8543          - adding an enabled group to a chain should increment the
8544            number of enabled elements in that chain.
8545          - removing an enabled group from a chain could disable the
8546            chain.
8547          - removing a disabled group from a chain could enable the
8548            chain.
8549          - add g_assert when internal inconsistency is detected.
8550          - adding an element to a group could increase the number of
8551            links this group has with other groups.
8552          - merging two groups also merges the chains.
8553          - also show group links in the _show method.
8554            
8555
8556 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8557
8558         * gst/gstcaps.c: (gst_caps_structure_simplify):
8559           don't print error messages when there is no error
8560         * gst/gstvalue.c: (gst_value_compare_int_range):
8561           compare the second value, too
8562         * testsuite/caps/Makefile.am:
8563         * testsuite/caps/random.c: (assert_on_error), (main):
8564           add tests to make sure the two things above are checked for
8565
8566 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * configure.ac:
8569         * libs/gst/dataprotocol/Makefile.am:
8570         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8571         * libs/gst/dataprotocol/dataprotocol.h:
8572           wrap header in GST_ENABLE_NEW.  make code use it
8573
8574 2004-05-23  Johan Dahlin  <johan@gnome.org>
8575
8576         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8577         so verbose and print GstElement signal names all the time.
8578
8579 2004-05-22  David Schleef  <ds@schleef.org>
8580
8581         * gst/registries/gstxmlregistry.c:
8582         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8583         (bug #142957)
8584
8585 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8586
8587         * configure.ac:
8588           scrub cflags for glib2 so gcc doesn't complain when glib is in
8589           /usr/local
8590
8591 2004-05-21  Johan Dahlin  <johan@gnome.org>
8592
8593         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8594         __GNUC__, patch from Brian Cameron, fixes bug #142804
8595
8596 2004-05-20  David Schleef  <ds@schleef.org>
8597
8598         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8599         comparison code.  (bug #142819)
8600
8601 2004-05-20  Wim Taymans  <wim@fluendo.com>
8602
8603         * gst/gstbuffer.c: (gst_buffer_default_copy):
8604         * gst/gstbuffer.h:
8605         Added Comment to a flag.
8606         copy relevant flags in _buffer_copy.
8607
8608 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8609
8610         reviewed by: Wim Taymans <wim at fluendo dot com>
8611
8612         * gst/gstbuffer.h:
8613           add GST_BUFFER_IN_CAPS buffer flag
8614         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8615         (gst_structure_parse_any_list), (gst_structure_parse_list),
8616         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8617         * gst/gstvalue.c: (gst_value_serialize_any_list),
8618         (gst_value_transform_any_list_string),
8619         (gst_value_list_prepend_value), (gst_value_list_append_value),
8620         (gst_value_list_get_size), (gst_value_list_get_value),
8621         (gst_value_transform_list_string),
8622         (gst_value_transform_fixed_list_string),
8623         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8624         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8625         (_gst_value_initialize):
8626         * gst/gstvalue.h:
8627           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8628           < , > as a format.
8629         * testsuite/caps/string-conversions.c: (main):
8630           add regression tests for < >
8631
8632 2004-05-20  Johan Dahlin  <johan@gnome.org>
8633
8634         * docs/gst/Makefile.am (all-local): Re-add
8635
8636 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8637
8638         * docs/gst/Makefile.am:
8639         * docs/gst/gstreamer-docs.sgml:
8640         * docs/libs/Makefile.am:
8641         * docs/libs/gstreamer-libs-docs.sgml:
8642           fix distcheck issues
8643
8644 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8645
8646         * libs/gst/dataprotocol/Makefile.am:
8647           add to autotest
8648
8649 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * libs/gst/dataprotocol/Makefile.am:
8652         * libs/gst/dataprotocol/dataprotocol.c:
8653         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8654         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8655         * libs/gst/dataprotocol/dp-private.h:
8656           use GST macros to read/write fixed length ints
8657           add some more asserts
8658
8659 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8660
8661         * docs/libs/gstreamer-libs-docs.sgml:
8662         * docs/libs/gstreamer-libs-sections.txt:
8663           remove idct and putbits
8664         * configure.ac:
8665         * docs/libs/tmpl/gstdataprotocol.sgml:
8666         * libs/gst/Makefile.am:
8667         * libs/gst/dataprotocol/Makefile.am:
8668         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8669         (buffer_test), (caps_test), (event_test), (main):
8670         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8671         (gst_dp_dump_byte_array), (gst_dp_init),
8672         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8673         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8674         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8675         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8676         (gst_dp_validate_header), (gst_dp_validate_payload),
8677         (gst_dp_validate_packet), (plugin_init):
8678         * libs/gst/dataprotocol/dataprotocol.h:
8679         * libs/gst/dataprotocol/dp-private.h:
8680           add dataprotocol
8681
8682 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8683
8684         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8685           fix int variable deserialization and add a helper so we can actually
8686           debug this.
8687
8688 2004-05-18  David Schleef  <ds@schleef.org>
8689
8690         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8691           argv[0].  Calling yourself is probably not the best way to
8692           construct a test like this, btw.
8693
8694 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8695
8696         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8697           don't claim to be more intelligent than a scheduler when the
8698           scheduler claims the pipeline is stopped
8699         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8700         (safe_cothread_destroy),
8701         (gst_entry_scheduler_remove_all_cothreads),
8702         (gst_entry_scheduler_reset), (_remove_cothread),
8703         (gst_entry_scheduler_state_transition):
8704           hold off cothread destruction if we're not in main cothread
8705         * configure.ac:
8706         * testsuite/Makefile.am:
8707           add new test dir
8708         * testsuite/schedulers/.cvsignore:
8709         * testsuite/schedulers/Makefile.am:
8710           add tests
8711         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8712           check relinking and adding/removing elements from a running pipeline
8713         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8714           check unlinking in a running pipeline
8715         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8716           check unreffing a running pipeline
8717         * testsuite/schedulers/useless_iteration.c: (main):
8718           check iterating a pipeline that contains running threads works
8719
8720 2004-05-18  David Schleef  <ds@schleef.org>
8721
8722         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8723           is false.
8724
8725 2004-05-18  Wim Taymans  <wim@fluendo.com>
8726
8727         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8728         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8729         Fixed an error introduced with patch for 1.63. When setting
8730         a get based element as the entry point in a group, make sure
8731         to mark the group as GET based.
8732
8733 2004-05-18  Wim Taymans  <wim@fluendo.com>
8734
8735         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8736         (setup_group_scheduler), (loop_group_schedule_function),
8737         (gst_opt_scheduler_pad_link):
8738         Added some more debug info and fixed a bug where the group
8739         type was set to LOOP but it was in fact unknown.
8740
8741 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8742
8743         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8744           make resetting scheduler work twice in a row
8745
8746 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8747
8748         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8749         (CREATE_USERIALIZATION), (_gst_value_initialize),
8750         (gst_value_compare_float), (gst_value_serialize_float),
8751         (gst_value_deserialize_float), (gst_value_compare_enum),
8752         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8753           add serialization and comparison functions for long, int64, enum and
8754           float values
8755         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8756           use best serialization function in type hierarchy instead of only a
8757           matching one. This is required for enums to work.
8758         * gst/parse/grammar.y:
8759           use gst_caps_deserialize
8760         * testsuite/parse/Makefile.am:
8761           parse1 now works
8762         * testsuite/parse/parse1.c: (main):
8763           remove aggregator check, aggregator is broken, this test works now
8764           but fails because of bug #138012
8765         * testsuite/parse/parse2.c: (main):
8766           s/xvideosink/xvimagesink - this test looks a lot like we should
8767           disable it
8768
8769 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8770
8771         * gst/gstelement.c: (gst_element_class_init):
8772           whoops, store the signal id correctly
8773         * gst/schedulers/gstbasicscheduler.c:
8774         (gst_basic_scheduler_chain_wrapper):
8775           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8776           chain function isn't linked
8777
8778 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8779         * configure.ac:
8780         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8781         support until we decide where the flags should be used
8782         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8783         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8784         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8785         Output refused caps in the debug info
8786
8787 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/elements/gstidentity.c: (gst_identity_chain):
8790           add duration debug
8791         * gst/gstinfo.c: (gst_debug_log_default):
8792           add timestamp
8793
8794 2004-05-13  Benjamin Otte  <otte@gnome.org>
8795
8796         * gst/gstpipeline.c: (gst_pipeline_dispose),
8797         (gst_pipeline_change_state):
8798           call gst_scheduler_reset on dispose (fixes #141416)
8799
8800 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8801
8802         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8803           compute mapsize correctly
8804         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8805           use correct datatypes when calling a varargs function
8806         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8807           push a DISCONT event as first thing
8808         * gst/gst_private.h:
8809         * gst/gstinfo.c: (_gst_debug_init):
8810           remove GST_DATAFLOW debugging category
8811         * gst/gstbin.c: (gst_bin_iterate):
8812           use GST_SCHEDULING category
8813         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8814         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8815         (gst_pad_call_get_function):
8816           add GST_DATAFLOW to easily track flow of buffers or events.
8817         * gst/gstqueue.c: (gst_queue_get_type),
8818         (gst_queue_handle_pending_events), (gst_queue_chain),
8819         (gst_queue_get), (gst_queue_handle_src_event):
8820           use own static debugging category GST_DATAFLOW for dataflow,
8821           use DEBUG category for showing which path events go, use LOG
8822           category for buffers.
8823
8824 2004-05-10  David Schleef  <ds@schleef.org>
8825
8826         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8827
8828 2004-05-10  David Schleef  <ds@schleef.org>
8829
8830         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8831         symbols, because otherwise we don't know what they are.  Thanks,
8832         the GStreamer team.
8833         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8834
8835 2004-05-10  David Schleef  <ds@schleef.org>
8836
8837         (from Steve Lhomme)
8838         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8839         are deleted.  Fix.
8840         * win32/Makefile.inspect:
8841         * win32/Makefile.launch:
8842         * win32/Makefile.register:
8843
8844 2004-05-10  David Schleef  <ds@schleef.org>
8845
8846         * gst/gstinfo.h: Add missing inline function.
8847         * gst/gsttrace.c: add include
8848         * gst/parse/grammar.y: remove unused code
8849         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8850         more portable.
8851         * tools/gst-register.c: wrap unistd.h
8852         
8853         More additions/fixes from Steve for the MSVC build.
8854         * win32/GStreamer.vcproj:
8855         * win32/Makefile:
8856         * win32/Makefile.inspect:
8857         * win32/Makefile.launch:
8858         * win32/Makefile.register:
8859         * win32/README.txt:
8860         * win32/gst-inspect.vcproj:
8861         * win32/gst-launch.vcproj:
8862         * win32/gst-register.vcproj:
8863         * win32/gstbytestream.def:
8864         * win32/gstbytestream.vcproj:
8865         * win32/gstconfig.h:
8866         * win32/gstelements.def:
8867         * win32/gstelements.vcproj:
8868         * win32/gstenumtypes.c:
8869         * win32/gstenumtypes.h:
8870         * win32/gstoptimalscheduler.def:
8871         * win32/gstoptimalscheduler.vcproj:
8872         * win32/gstreamer.def:
8873         * win32/gstspider.def:
8874         * win32/gstspider.vcproj:
8875         * win32/gstversion.h:
8876         * win32/msvc71.sln:
8877
8878 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8879
8880         * gst/gstelement.c: (gst_element_class_init),
8881         (gst_element_no_more_pads):
8882         * gst/gstelement.h:
8883           add gst_element_no_more_pads and the "no-more-pads" signal
8884
8885 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8886
8887         * gst/gstregistry.c: (gst_registry_add_plugin):
8888           refuse to add plugins when a plugin with same name is already
8889           registered. Fixes a bunch of "How to remove plugins?" issues.
8890           May lead to other problems though, let's test
8891
8892 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8893
8894         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8895         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8896         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8897
8898 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8899
8900         * tests/Makefile.am: fix am16 issue
8901
8902 2004-05-09  Benjamin Otte  <otte@gnome.org>
8903
8904         * libs/gst/bytestream/Makefile.am:
8905           we should indeed add .c files to makefiles or they won't be built
8906           (d'oh)
8907
8908 2004-05-08  Benjamin Otte  <otte@gnome.org>
8909
8910         * gst/gstpad.c: (gst_pad_proxy_fixate):
8911           really reduce the set of caps
8912
8913 2004-05-08  Benjamin Otte  <otte@gnome.org>
8914
8915         * tests/Makefile.am:
8916         * tests/spidey_bench.c: (handoff), (main):
8917           add benchmark to test how long spider needs to create a pipeline
8918
8919 2004-05-08  Benjamin Otte  <otte@gnome.org>
8920
8921         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8922           mark links as unengaged when unnegotiating instead of deactivating.
8923           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8924
8925 2004-05-08  Benjamin Otte  <otte@gnome.org>
8926
8927         * docs/manual/helloworld.xml:
8928           s/audiosink/osssink (patch by Patrick Guimond)
8929
8930 2004-05-07  David Schleef  <ds@schleef.org>
8931
8932         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8933         since it contains important stuff.
8934
8935 2004-05-07  David Schleef  <ds@schleef.org>
8936
8937         * testsuite/caps/caps.c: (test3), (main): A check for appending
8938         ANY caps.
8939
8940 2004-05-07  David Schleef  <ds@schleef.org>
8941
8942         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8943         which may contain commas.  Fixes detection of -Wa,-mregnames
8944
8945 2004-05-06  David Schleef  <ds@schleef.org>
8946
8947         Changes to handle compilers that don't have variadic macro
8948         support.  In particular, glib headers define some inlines
8949         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8950         builds.
8951         * gst/Makefile.am:
8952         * gst/cothreads.c:
8953         * gst/elements/gstfdsink.c:
8954         * gst/elements/gstfdsrc.c:
8955         * gst/elements/gstfilesink.c:
8956         * gst/elements/gstfilesrc.c:
8957         * gst/gst_private.h:
8958         * gst/gstatomic.c:
8959         * gst/gstcaps.c: (gst_caps_append):
8960         * gst/gstcpu.c: (gst_cpuid_i386):
8961         * gst/gstelement.c:
8962         * gst/gsterror.c:
8963         * gst/gstfilter.c:
8964         * gst/gstinfo.h:
8965         * gst/gstprobe.c:
8966         * gst/gstquery.c:
8967         * gst/gstregistry.c:
8968         * gst/gststructure.c:
8969         * gst/gsttaginterface.c:
8970         * gst/gsttrace.c: (gst_trace_new):
8971         * gst/gsttrashstack.c:
8972         * gst/gsturi.c:
8973         * gst/gstvalue.c:
8974         * gst/parse/grammar.y:
8975         * gst/parse/parse.l:
8976         * tools/gst-inspect.c: (main):
8977         * tools/gst-launch.c: (main):
8978         * tools/gst-xmlinspect.c: (PUT_STRING):
8979
8980 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8981
8982         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8983         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8984         * gst/elements/gstfilesrc.h:
8985           send NEW_MEDIA events correctly
8986         * gst/elements/gsttypefindelement.c: (start_typefinding),
8987         (gst_type_find_element_handle_event):
8988           restart typefinding when we get a NEW_MEDIA event
8989         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8990         (gst_bin_dispose):
8991           don't die when someone removes elements in callbacks
8992         * gst/gstelement.c: (gst_element_change_state):
8993           improve debugging
8994         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8995           we need a NEW_MEDIA event to engage a link
8996         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8997           don't g_print debugging stuff
8998         * testsuite/caps/simplify.c: (check_caps):
8999
9000 2004-05-04  Benjamin Otte  <otte@gnome.org>
9001
9002         * gst/parse/grammar.y:
9003           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9004
9005 2004-05-04  Benjamin Otte  <otte@gnome.org>
9006
9007         * testsuite/caps/renegotiate.c: (main):
9008           improve output in error case
9009
9010 2004-05-04  Benjamin Otte  <otte@gnome.org>
9011
9012         * gst/parse/grammar.y:
9013           fix assert to not trigger when there's no error argument
9014         * gst/parse/parse.l:
9015           fix definition of caps to allow more than two structures
9016         * testsuite/caps/Makefile.am:
9017         * testsuite/caps/renegotiate.c: (main):
9018           it's sinesrc and works in that case
9019
9020 2004-05-04  Wim Taymans  <wim@fluendo.com>
9021
9022         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9023         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9024         when removing an element from a group, we always need to
9025         decrement the link count that this group had with other 
9026         groups through the element.
9027         added an extra assert to catch inconsistencies when decrementing
9028         the link count.
9029
9030 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9031
9032         * configure.ac:
9033         * docs/gst/Makefile.am:
9034         * docs/gst/gstreamer-sections.txt:
9035         * docs/gst/tmpl/gstcompat.sgml:
9036         * examples/appreader/Makefile.am:
9037         * examples/cutter/Makefile.am:
9038         * examples/events/Makefile.am:
9039         * examples/helloworld/Makefile.am:
9040         * examples/helloworld2/Makefile.am:
9041         * examples/launch/Makefile.am:
9042         * examples/manual/Makefile.am:
9043         * examples/mixer/Makefile.am:
9044         * examples/pingpong/Makefile.am:
9045         * examples/plugins/Makefile.am:
9046         * examples/queue/Makefile.am:
9047         * examples/queue2/Makefile.am:
9048         * examples/queue3/Makefile.am:
9049         * examples/queue4/Makefile.am:
9050         * examples/retag/Makefile.am:
9051         * examples/thread/Makefile.am:
9052         * examples/typefind/Makefile.am:
9053         * examples/xml/Makefile.am:
9054         * gst/Makefile.am:
9055         * gst/autoplug/Makefile.am:
9056         * gst/elements/Makefile.am:
9057         * gst/gstcompat.h:
9058         * gst/indexers/Makefile.am:
9059         * gst/parse/Makefile.am:
9060         * gst/registries/Makefile.am:
9061         * gst/schedulers/Makefile.am:
9062         * libs/gst/bytestream/Makefile.am:
9063         * libs/gst/control/Makefile.am:
9064         * libs/gst/getbits/Makefile.am:
9065         * po/af.po:
9066         * po/az.po:
9067         * po/en_GB.po:
9068         * po/fr.po:
9069         * po/nl.po:
9070         * po/sr.po:
9071         * po/sv.po:
9072         * po/tr.po:
9073         * po/uk.po:
9074         * tests/Makefile.am:
9075         * tests/bufspeed/Makefile.am:
9076         * tests/instantiate/Makefile.am:
9077         * tests/memchunk/Makefile.am:
9078         * tests/muxing/Makefile.am:
9079         * tests/negotiation/Makefile.am:
9080         * tests/probes/Makefile.am:
9081         * tests/sched/Makefile.am:
9082         * tests/seeking/Makefile.am:
9083         * tests/threadstate/Makefile.am:
9084         * testsuite/caps/Makefile.am:
9085         * testsuite/cleanup/Makefile.am:
9086         * testsuite/dlopen/Makefile.am:
9087         * testsuite/dynparams/Makefile.am:
9088         * testsuite/plugin/Makefile.am:
9089         * testsuite/states/Makefile.am:
9090         * tools/Makefile.am:
9091           reorganize compile/link flags to be consistent
9092           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9093
9094 2004-05-04  David Schleef  <ds@schleef.org>
9095
9096         The "once more, with feeling" check-in.
9097         * testsuite/caps/Makefile.am: dist caps_strings
9098         * testsuite/caps/renegotiate.c: (main): This test triggers a
9099           segfault in the core.  Marking as failing.
9100
9101 2004-05-03  David Schleef  <ds@schleef.org>
9102
9103         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9104           by the build bots.
9105         * testsuite/caps/renegotiate.c: (main): Same.
9106
9107 2004-05-03  David Schleef  <ds@schleef.org>
9108
9109         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9110
9111 2004-05-03  David Schleef  <ds@schleef.org>
9112
9113         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9114           variable to find our source file.
9115
9116 2004-05-03  David Schleef  <ds@schleef.org>
9117
9118         * configure.ac:  Link plugins with libgstreamer and dependent
9119           libraries
9120         * testsuite/caps/Makefile.am:
9121         * testsuite/caps/caps_strings:
9122         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9123           through a file of caps strings and test each one
9124
9125 2004-05-04  Benjamin Otte  <otte@gnome.org>
9126
9127         * libs/gst/bytestream/Makefile.am:
9128         * libs/gst/bytestream/adapter.c: 
9129         * libs/gst/bytestream/adapter.h:
9130           add GstAdapter, similar to bytestream, but doesn't require ugly event
9131           handling or uglier loopbased elements
9132
9133 2004-05-03  David Schleef  <ds@schleef.org>
9134
9135         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9136         * testsuite/caps/erathostenes.c:
9137         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9138
9139 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * docs/pwg/pwg.xml:
9142           remove hardcoded stylesheet path (duh)
9143         * docs/random/release:
9144         * docs/gst/gstreamer-sections.txt:
9145         * gst/Makefile.am:
9146         * gst/gst.h:
9147         * gst/gst_private.h:
9148         * gst/gstcaps.c:
9149         * gst/gstevent.c:
9150         * gst/gstformat.c:
9151         * gst/gstinfo.c:
9152         * gst/gstinfo.h:
9153         * gst/gstinterface.c:
9154         * gst/gstmemchunk.c:
9155         * gst/gstprobe.c:
9156         * gst/gstquery.c:
9157         * gst/gstregistry.c:
9158         * gst/gstregistrypool.c:
9159         * gst/gststructure.c:
9160         * gst/gsttaginterface.c:
9161         * gst/gstthread.c:
9162         * gst/gsttrace.c:
9163         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9164         * gst/gsturi.c:
9165         * gst/gstvalue.c:
9166           deprecate gst_info; remove gstlog.h
9167    
9168
9169 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * Makefile.am:
9172         * po/en_GB.po:
9173         * po/sv.po:
9174         * po/uk.po:
9175           updated translations
9176
9177 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9178
9179         * gst/gstbin.c: (gst_bin_dispose):
9180           better debugging
9181
9182 2004-05-03  Johan Dahlin  <johan@gnome.org>
9183
9184         * gst/schedulers/gstoptimalscheduler.c
9185         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9186         really is a GstElement. Avoids critical when running gst-launch -v
9187         and a oggdemux/decoding pipeline.
9188
9189 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9190
9191         * docs/gst/tmpl/gstpipeline.sgml :
9192         * docs/manual/elements-api.xml :
9193                 doc fix by Patrick Guimond (Protector) from devel ML
9194                 reviewed by ronald
9195
9196 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9197
9198         * docs/gst/Makefile.am :
9199         * docs/libs/Makefile.am :
9200                 apply a patch from Arwed v. Merkatz so that gtk-doc
9201                 generated docs install (same for .devhelp file)
9202                 (fixes part 1 of #138836)
9203
9204 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9205
9206         * docs/faq/dependencies.xml: typo
9207         * docs/faq/getting.xml :
9208             - fix download URL for new gstreamer site
9209             - hide sf.net download page as latest version aren't there
9210             - fix apt URLs
9211             - fill "get via CVS" paragraph (link to dev page on the site)
9212         * docs/faq/general.xml:
9213             hide status tables as they no more exists
9214             change case on plugins license file to reflect reality
9215         * docs/faq/troubleshooting.xml:
9216             remove the wiki question/answer as there is no more wiki
9217
9218 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9219
9220         * gst/gsterror.h:
9221           include the headers needed for declarations used in this header
9222
9223 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9224
9225         * docs/random/uraeus/gstreamer_and_midi.txt :
9226           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9227           (fixes #132288)
9228
9229 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9230
9231         reviewed by Benjamin Otte  <otte@gnome.org>
9232
9233         * gst/schedulers/gthread-cothreads.h:
9234           free allocated data for main cothread, too when destroying context
9235           (fixes #141417)
9236
9237 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9238
9239         * docs/manual/goals.xml : remove duplicated paragraph at end 
9240         of doc page (fixes #141448)
9241
9242 2004-04-29  David Schleef  <ds@schleef.org>
9243
9244         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9245         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9246
9247 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9248
9249         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9250           fix property
9251         * gst/gstcaps.c:
9252           fix doc string
9253         * po/POTFILES.in:
9254           rename typefind source file
9255
9256 2004-04-28  David Schleef  <ds@schleef.org>
9257
9258         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9259         * win32/GStreamer.vcproj:
9260         * win32/Makefile:
9261         * win32/config.h:
9262         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9263         (_trewinddir), (_ttelldir), (_tseekdir):
9264         * win32/dirent.h:
9265         * win32/gst-inspect.vcproj:
9266         * win32/gst-launch.vcproj:
9267         * win32/gst-register.vcproj:
9268         * win32/gstbytestream.vcproj:
9269         * win32/gstelements.vcproj:
9270         * win32/gstoptimalscheduler.vcproj:
9271         * win32/gstspider.vcproj:
9272         * win32/gtchar.h:
9273         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9274         * win32/mman.h:
9275         * win32/mman.inl:
9276         * win32/msvc71.sln:
9277
9278 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9279
9280         * gst/gst.c: (init_post):
9281         * gst/gstinfo.c:
9282           remove useless _gst_progname stuff
9283         * tools/gst-inspect.c: (print_field), (print_caps):
9284           improve caps output
9285
9286 2004-04-28  David Schleef  <ds@schleef.org>
9287
9288         Disable parsing of a lot of files that aren't part of the
9289         exported API.  Move corresponding template files to old/,
9290         waiting for removal when they don't contain anything
9291         interesting.
9292         * docs/gst/Makefile.am:
9293         * docs/gst/gstreamer-sections.txt:
9294         * docs/gst/tmpl/cothreads.sgml:
9295         * docs/gst/tmpl/cothreads_compat.sgml:
9296         * docs/gst/tmpl/gettext.sgml:
9297         * docs/gst/tmpl/gobject2gtk.sgml:
9298         * docs/gst/tmpl/grammar.tab.sgml:
9299         * docs/gst/tmpl/gst-i18n-app.sgml:
9300         * docs/gst/tmpl/gst-i18n-lib.sgml:
9301         * docs/gst/tmpl/gst_private.sgml:
9302         * docs/gst/tmpl/gstaggregator.sgml:
9303         * docs/gst/tmpl/gstarch.sgml:
9304         * docs/gst/tmpl/gstatomic_impl.sgml:
9305         * docs/gst/tmpl/gstbufferstore.sgml:
9306         * docs/gst/tmpl/gstdata_private.sgml:
9307         * docs/gst/tmpl/gstdisksink.sgml:
9308         * docs/gst/tmpl/gstdisksrc.sgml:
9309         * docs/gst/tmpl/gstelementfactory.sgml:
9310         * docs/gst/tmpl/gstextratypes.sgml:
9311         * docs/gst/tmpl/gstfakesink.sgml:
9312         * docs/gst/tmpl/gstfakesrc.sgml:
9313         * docs/gst/tmpl/gstfdsink.sgml:
9314         * docs/gst/tmpl/gstfdsrc.sgml:
9315         * docs/gst/tmpl/gstfilesink.sgml:
9316         * docs/gst/tmpl/gstfilesrc.sgml:
9317         * docs/gst/tmpl/gsthttpsrc.sgml:
9318         * docs/gst/tmpl/gstidentity.sgml:
9319         * docs/gst/tmpl/gstindexfactory.sgml:
9320         * docs/gst/tmpl/gstmarshal.sgml:
9321         * docs/gst/tmpl/gstmd5sink.sgml:
9322         * docs/gst/tmpl/gstmultidisksrc.sgml:
9323         * docs/gst/tmpl/gstmultifilesrc.sgml:
9324         * docs/gst/tmpl/gstpadtemplate.sgml:
9325         * docs/gst/tmpl/gstpipefilter.sgml:
9326         * docs/gst/tmpl/gstschedulerfactory.sgml:
9327         * docs/gst/tmpl/gstsearchfuncs.sgml:
9328         * docs/gst/tmpl/gstshaper.sgml:
9329         * docs/gst/tmpl/gstspider.sgml:
9330         * docs/gst/tmpl/gstspideridentity.sgml:
9331         * docs/gst/tmpl/gststatistics.sgml:
9332         * docs/gst/tmpl/gsttee.sgml:
9333         * docs/gst/tmpl/gsttimecache.sgml:
9334         * docs/gst/tmpl/gsttypefind.sgml:
9335         * docs/gst/tmpl/gsttypefindfactory.sgml:
9336         * docs/gst/tmpl/gstxmlregistry.sgml:
9337         * docs/gst/tmpl/gthread-cothreads.sgml:
9338         * docs/gst/tmpl/old/cothreads.sgml:
9339         * docs/gst/tmpl/old/cothreads_compat.sgml:
9340         * docs/gst/tmpl/old/gettext.sgml:
9341         * docs/gst/tmpl/old/gobject2gtk.sgml:
9342         * docs/gst/tmpl/old/grammar.tab.sgml:
9343         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9344         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9345         * docs/gst/tmpl/old/gst_private.sgml:
9346         * docs/gst/tmpl/old/gstaggregator.sgml:
9347         * docs/gst/tmpl/old/gstarch.sgml:
9348         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9349         * docs/gst/tmpl/old/gstbufferstore.sgml:
9350         * docs/gst/tmpl/old/gstdata_private.sgml:
9351         * docs/gst/tmpl/old/gstdisksink.sgml:
9352         * docs/gst/tmpl/old/gstdisksrc.sgml:
9353         * docs/gst/tmpl/old/gstelementfactory.sgml:
9354         * docs/gst/tmpl/old/gstextratypes.sgml:
9355         * docs/gst/tmpl/old/gstfakesink.sgml:
9356         * docs/gst/tmpl/old/gstfakesrc.sgml:
9357         * docs/gst/tmpl/old/gstfdsink.sgml:
9358         * docs/gst/tmpl/old/gstfdsrc.sgml:
9359         * docs/gst/tmpl/old/gstfilesink.sgml:
9360         * docs/gst/tmpl/old/gstfilesrc.sgml:
9361         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9362         * docs/gst/tmpl/old/gstidentity.sgml:
9363         * docs/gst/tmpl/old/gstindexfactory.sgml:
9364         * docs/gst/tmpl/old/gstmarshal.sgml:
9365         * docs/gst/tmpl/old/gstmd5sink.sgml:
9366         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9367         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9368         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9369         * docs/gst/tmpl/old/gstpipefilter.sgml:
9370         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9371         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9372         * docs/gst/tmpl/old/gstshaper.sgml:
9373         * docs/gst/tmpl/old/gstspider.sgml:
9374         * docs/gst/tmpl/old/gstspideridentity.sgml:
9375         * docs/gst/tmpl/old/gststatistics.sgml:
9376         * docs/gst/tmpl/old/gsttee.sgml:
9377         * docs/gst/tmpl/old/gsttimecache.sgml:
9378         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9379         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9380         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9381         * docs/gst/tmpl/old/types.sgml:
9382         * docs/gst/tmpl/types.sgml:
9383
9384         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9385         gtkdoc-scan doesn't like files with the same name in different
9386         directories.
9387         * gst/elements/Makefile.am:
9388         * gst/elements/gstelements.c:
9389         * gst/elements/gsttypefind.c: 
9390         * gst/elements/gsttypefind.h:
9391         * gst/elements/gsttypefindelement.c:
9392         * gst/elements/gsttypefindelement.h:
9393
9394 2004-04-28  David Schleef  <ds@schleef.org>
9395
9396         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9397         patch (bug #141317):
9398         * gst/gst-i18n-lib.h: Allow disabling gettext.
9399         * gst/gstatomic_impl.h: disable warning when it's dumb.
9400         * gst/gstclock.c: fix include
9401         * gst/gstcompat.h: fix variadic macro
9402         * gst/gstinfo.c: fix include
9403         * gst/gstmacros.h: add defines for inlines on MSVC
9404         * gst/gstplugin.c: fix includes
9405         * gst/gstregistry.c: fix includes
9406         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9407         * gst/gstsystemclock.c: fix include
9408         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9409         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9410         * gst/registries/gstxmlregistry.c:
9411         (gst_xml_registry_parse_element_factory): fix use of non-portable
9412         functions
9413         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9414         * libs/gst/control/dparammanager.h: same
9415
9416 2004-04-28  David Schleef  <ds@schleef.org>
9417
9418         Move a bunch of unused files to old/ with names that are
9419         not case-insensitive-unique.  These files still contain some
9420         useful information that needs to be merged into gstbin.sgml,
9421         etc., so they shouldn't be deleted yet.
9422         * docs/gst/tmpl/GstBin.sgml:
9423         * docs/gst/tmpl/GstBuffer.sgml:
9424         * docs/gst/tmpl/GstCaps.sgml:
9425         * docs/gst/tmpl/GstClock.sgml:
9426         * docs/gst/tmpl/GstCompat.sgml:
9427         * docs/gst/tmpl/GstData.sgml:
9428         * docs/gst/tmpl/GstElement.sgml:
9429         * docs/gst/tmpl/GstEvent.sgml:
9430         * docs/gst/tmpl/GstIndex.sgml:
9431         * docs/gst/tmpl/GstStructure.sgml:
9432         * docs/gst/tmpl/GstTag.sgml:
9433         * docs/gst/tmpl/old/GstBin.sgml:
9434         * docs/gst/tmpl/old/GstBuffer.sgml:
9435         * docs/gst/tmpl/old/GstCaps.sgml:
9436         * docs/gst/tmpl/old/GstClock.sgml:
9437         * docs/gst/tmpl/old/GstCompat.sgml:
9438         * docs/gst/tmpl/old/GstData.sgml:
9439         * docs/gst/tmpl/old/GstElement.sgml:
9440         * docs/gst/tmpl/old/GstEvent.sgml:
9441         * docs/gst/tmpl/old/GstIndex.sgml:
9442         * docs/gst/tmpl/old/GstStructure.sgml:
9443         * docs/gst/tmpl/old/GstTag.sgml:
9444
9445 2004-04-28  David Schleef  <ds@schleef.org>
9446
9447         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9448         (gst_caps_append), (gst_caps_append_structure),
9449         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9450         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9451         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9452         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9453         (gst_caps_intersect), (gst_caps_normalize),
9454         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9455         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9456         * gst/gstcaps.h: use GST_IS_CAPS().
9457
9458 2004-04-26  David Schleef  <ds@schleef.org>
9459
9460         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9461         assembly.  gcc doesn't handle it correctly. (bug #141083)
9462         * gst/gsttrashstack.h: same
9463
9464 2004-04-25  Benjamin Otte  <otte@gnome.org>
9465
9466         * gst/gstelement.c: (gst_element_change_state):
9467           fix assertion to do an int comparison
9468
9469 2004-04-25  Benjamin Otte  <otte@gnome.org>
9470
9471         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9472           better debugging output on error
9473
9474 2004-04-25  Benjamin Otte  <otte@gnome.org>
9475
9476         * gst/gstcaps.c: (gst_caps_subtract):
9477           fix memleak
9478
9479 2004-04-23  Benjamin Otte  <otte@gnome.org>
9480
9481         * gst/gstvalue.c: (gst_value_compare_buffer),
9482         (_gst_value_initialize):
9483           add comparison function for buffers
9484
9485 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9486
9487         * docs/pwg/pwg.xml:
9488           Just found out that this so-called "ima-wav" format is really
9489           just "dvi adpcm" (according to the MS WAV documentation). So
9490           renaming it. We didn't use it yet anyway.
9491
9492 2004-04-23  Benjamin Otte  <otte@gnome.org>
9493
9494         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9495           call gst_caps_is_subset
9496
9497 2004-04-23  Benjamin Otte  <otte@gnome.org>
9498
9499         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9500         (gst_caps_is_subset):
9501           add documentation
9502
9503 2004-04-23  Benjamin Otte  <otte@gnome.org>
9504           
9505         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9506         (gst_caps_structure_subtract), (gst_caps_subtract),
9507         (gst_caps_structure_figure_out_union),
9508         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9509           fix simplifying and subtracting not working correctly with optional
9510           properties
9511           solve assorted problems that make it now simplify ebven more
9512         * docs/gst/tmpl/gstcaps.sgml:
9513         * gst/gstcaps.h:
9514           make gst_caps_do_simplify return a bool to indicate if it simplified
9515         * testsuite/caps/simplify.c: (main):
9516           add more checks. The tests is quite a bit useless right now because
9517           the core is heavily simplifying itself.
9518         * testsuite/caps/caps.h:
9519           fix caps to contain all optional properties
9520
9521 2004-04-22  Benjamin Otte  <otte@gnome.org>
9522
9523         * docs/gst/tmpl/gstcaps.sgml:
9524         * docs/gst/tmpl/gstfilesrc.sgml:
9525         * docs/gst/tmpl/gststructure.sgml:
9526         * docs/gst/tmpl/gstvalue.sgml:
9527           update for recent API changes
9528         * gst/gstcaps.c: (gst_caps_do_simplify):
9529           fix to stop trying with a freed structure
9530         * gst/gstpad.c: (gst_pad_link_fixate):
9531           simplify caps
9532         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9533           remove C++ comment
9534         * gst/gstpad.h:
9535           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9536         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9537         (gst_structure_to_string):
9538           keep the correct type when using lists of ranges
9539         * gst/gstvalue.c: (gst_value_list_prepend_value),
9540         (gst_value_list_append_value):
9541           copy the value before adding to the list (d'oh)
9542         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9543         (gst_value_subtract_int_range_int_range):
9544           handle overflows correctly
9545         * gst/gstvalue.c: (gst_value_subtract_from_list):
9546           fix memleak
9547         * testsuite/caps/caps.h:
9548           add a caps that caused segfaults
9549
9550 2004-04-22  Benjamin Otte  <otte@gnome.org>
9551
9552         * testsuite/refcounting/pad.c: (main):
9553           fix test
9554
9555 2004-04-22  Benjamin Otte  <otte@gnome.org>
9556
9557         * gst/gstcaps.c: (gst_caps_subtract):
9558           allow subtracting ANY and EMPTY from ANY caps
9559
9560 2004-04-22  Benjamin Otte  <otte@gnome.org>
9561
9562         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9563         (gst_caps_union):
9564           only simplify in functions that create new caps. Simplifying in
9565           gst_caps_append breaks tests.
9566
9567 2004-04-22  Benjamin Otte  <otte@gnome.org>
9568
9569         * gst/gstcaps.c: (gst_caps_structure_simplify):
9570           unset GValue after use
9571         * gst/gstcaps.c: (gst_caps_append), 
9572         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9573           use gst_caps_simplify (reduces registry size by 30%)
9574         * gst/gstpad.c: (gst_pad_template_new):
9575           don't allow NULL caps
9576
9577 2004-04-22  Benjamin Otte  <otte@gnome.org>
9578
9579         * docs/gst/gstreamer-sections.txt:
9580           add gst_caps_do_simplify
9581         * gst/gstcaps.c:
9582           add documentation for gst_caps_do_simplify
9583         * gst/gstvalue.h:
9584           fix typo in gst_value_register_subtract_func declaration for gst-doc
9585
9586 2004-04-22  Benjamin Otte  <otte@gnome.org>
9587
9588         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9589           fix bug when converting from empty string.
9590         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9591         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9592           use gst_caps_new_empty to allocate a new caps. Only that function
9593           allocates memory for caps now.
9594         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9595         (gst_caps_remove_structure):
9596           add ability to remove one structure (but not to header yet)
9597         * gst/gstcaps.c: (gst_caps_compare_structures),
9598         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9599         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9600         * gst/gstcaps.h:
9601           add gst_caps_do_simplify that tries to simplify a caps in place.
9602           Deprecate old gst_caps_simplify function.
9603         * testsuite/caps/caps.h:
9604           add caps.h containing a common set of caps to test against.
9605         * testsuite/caps/sets.c: (check_caps), (main):
9606           use it.
9607         * testsuite/caps/.cvsignore:
9608         * testsuite/caps/Makefile.am:
9609         * testsuite/caps/simplify.c: (check_caps), (main):
9610           add test to check correctness and efficency of caps simplification.
9611
9612 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9613
9614         reviewed by Benjamin Otte  <otte@gnome.org>
9615
9616         * gst/gstparse.c: (_gst_parse_escape):
9617           Free the GString used in _gst_parse_escape()
9618
9619 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9620
9621         * gst/gstpad.c: (gst_pad_link_negotiate):
9622           refuse to link if the link is not possible
9623         * configure.ac:
9624         * testsuite/Makefile.am:
9625         * testsuite/negotiation/.cvsignore:
9626         * testsuite/negotiation/Makefile.am:
9627         * testsuite/negotiation/pad_link.c: (main):
9628           add test that checks the above behaviour
9629
9630 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * docs/gst/gstreamer-sections.txt:
9633           add newly added API
9634
9635 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9638         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9639         (gst_filesrc_open_file), (gst_filesrc_close_file),
9640         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9641         * gst/elements/gstfilesrc.h:
9642           add support for non-regular files (#140734)
9643
9644 2004-04-21  Benjamin Otte  <otte@gnome.org>
9645
9646         * gst/gstpad.c: (gst_pad_link_fixate):
9647           add sophisticated error checking code to see if fixation functions
9648           did their fixation right
9649
9650 2004-04-21  Benjamin Otte  <otte@gnome.org>
9651
9652         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9653           check for ANY caps before appending/unioning
9654         * gst/gstcaps.c: (gst_caps_is_subset),
9655         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9656         (gst_caps_structure_subtract), (gst_caps_subtract):
9657         * gst/gstcaps.h:
9658           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9659           the API. deprecate gst_caps_is_equal_fixed
9660         * gst/gstpad.c: (gst_pad_try_set_caps):
9661         * gst/gstqueue.c: (gst_queue_link):
9662           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9663         * gst/gststructure.c: (gst_structure_get_name_id):
9664         * gst/gststructure.h:
9665           add function gst_structure_get_name_id
9666         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9667         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9668         (gst_value_subtract_int_range_int_range),
9669         (gst_value_subtract_double_double_range),
9670         (gst_value_subtract_double_range_double),
9671         (gst_value_subtract_double_range_double_range),
9672         (gst_value_subtract_from_list), (gst_value_subtract_list),
9673         (gst_value_can_intersect), (gst_value_subtract),
9674         (gst_value_can_subtract), (gst_value_register_subtract_func),
9675         (_gst_value_initialize):
9676         * gst/gstvalue.h:
9677           add support for subtracting values from each other. Note that
9678           subtracting means subtracting as in set theory. Required for caps
9679           stuff above.
9680         * testsuite/caps/.cvsignore:
9681         * testsuite/caps/Makefile.am:
9682         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9683         * testsuite/caps/sets.c: (check_caps), (main):
9684         * testsuite/caps/subtract.c: (check_caps), (main):
9685           add tests for subtraction and equality code.
9686
9687 2004-04-20  David Schleef  <ds@schleef.org>
9688
9689         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9690         * gst/indexers/Makefile.am:
9691         * gst/schedulers/Makefile.am:
9692         * libs/gst/bytestream/Makefile.am:
9693         * libs/gst/control/Makefile.am:
9694         * libs/gst/getbits/Makefile.am:
9695
9696 2004-04-20  David Schleef  <ds@schleef.org>
9697
9698         * common/as-libtool.mak: Fine-tune DLL building.
9699         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9700         (like gst-plugins)
9701         * examples/plugins/Makefile.am: remove plugindir
9702         * gst/autoplug/Makefile.am: DLL building fixes
9703         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9704         Windows.
9705         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9706         * gst/indexers/Makefile.am: DLL building fixes
9707         * gst/schedulers/Makefile.am: DLL building fixes.
9708         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9709         * libs/gst/control/Makefile.am: same
9710         * libs/gst/getbits/Makefile.am: same
9711         * testsuite/Makefile.am: New dlopen directory
9712         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9713         when dlopened.
9714         * testsuite/dlopen/dlopen_gst.c: (main): same
9715         * testsuite/dlopen/loadgst.c: (do_test): same
9716
9717 2004-04-20  David Schleef  <ds@schleef.org>
9718
9719         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9720         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9721
9722 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9723
9724         * gst/gstelement.c: (gst_element_wait),
9725         (gst_element_set_time_delay), (gst_element_change_state):
9726           Use GST_TIME_*
9727
9728 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9729
9730         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9731         (gst_spider_identity_plug):
9732           improve debugging messages
9733         * gst/gstbin.c: (gst_bin_remove_func):
9734           make sure the state_change function is only called with simple state
9735           transitions
9736
9737 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9738
9739         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9740         (gst_fakesink_set_property), (gst_fakesink_chain):
9741         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9742         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9743         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9744         * gst/elements/gstidentity.c: (gst_identity_chain),
9745         (gst_identity_set_property):
9746         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9747         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9748           add warnings to _set_property for unknown arguments
9749           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9750
9751 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * Makefile.am:
9754         * docs/manuals.mak:
9755           add .po file download snippet
9756           fix a bug in the doc makefile
9757
9758 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9759
9760         * Makefile.am:
9761         * po/LINGUAS:
9762         * po/en_GB.po:
9763           Added en_GB translation (Gareth Owen)
9764
9765 2004-04-20  Johan Dahlin  <johan@gnome.org>
9766
9767         * gst/gstpad.c (_invent_event): Clean up
9768
9769 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9770
9771         * testsuite/caps/filtercaps.c: (main):
9772           fix test to test things correctly (caps are complicated)
9773
9774 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9775
9776         * testsuite/caps/Makefile.am:
9777         * testsuite/caps/filtercaps.c: (main):
9778           add test (that doesn't work right now, but should)
9779
9780 2004-04-19  David Schleef  <ds@schleef.org>
9781
9782         * configure.ac: Add test for allowing unaligned access.  Add define
9783         to put in gstconfig.h.
9784         * docs/gst/gstreamer-sections.txt: New symbols
9785         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9786         * docs/gst/tmpl/gstfilesrc.sgml:
9787         * docs/gst/tmpl/gstparse.sgml:
9788         * docs/gst/tmpl/gsttypes.sgml:
9789         * docs/gst/tmpl/gstutils.sgml:
9790         * docs/gst/tmpl/gstvalue.sgml:
9791         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9792         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9793         on most !i386/!powerpc architectures.  From Daniel Gazard
9794         <daniel.gazard@free.fr>.  (bug #140156)
9795         * po/af.po: Check in changes made by gettext.
9796         * po/az.po:
9797         * po/fr.po:
9798         * po/nl.po:
9799         * po/sr.po:
9800         * po/sv.po:
9801
9802 2004-04-20  Benjamin Otte  <otte@gnome.org>
9803
9804         * gst/schedulers/entryscheduler.c: 
9805         (gst_entry_scheduler_yield):
9806           refuse to yield when decoupled elements insist on doing that.
9807           At least it's better than crashing
9808
9809 2004-04-19  David Schleef  <ds@schleef.org>
9810
9811         * docs/libs/Makefile.am: Change sinclude to include
9812         * docs/gst/Makefile.am: same
9813         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9814
9815 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9816
9817         * po/LINGUAS:
9818         * po/uk.po:
9819           Added Ukrainian translation (Maxim V. Dziumanenko)
9820
9821 2004-04-19  Johan Dahlin  <johan@gnome.org>
9822
9823         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9824         checking here, do it before calling the function.
9825         Clean up, use for loops instead of while loops while iterating
9826         over lists.
9827
9828         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9829         in debug message.
9830         (gst_spider_create_and_plug): Improve debug message.
9831         General: Replace while loops which iterates over GLists with for
9832         loops. Which are much cleaner, improves readability, especially
9833         for gst_spider_identity_plug
9834
9835         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9836         fixes bug 140477
9837
9838 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * po/LINGUAS:
9841         * po/tr.po:
9842           Added Turkish translation (Baris Cicek)
9843
9844 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9845
9846         * docs/faq/troubleshooting.xml:
9847           Mention gst-register in the FAQ (fixes 139045).
9848
9849 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * docs/gst/gstreamer-sections.txt:
9852
9853 2004-04-17  Benjamin Otte  <otte@gnome.org>
9854
9855         * gst/gstelement.c: (gst_element_dispose):
9856           simplify
9857         * gst/gstpad.c: (gst_pad_call_chain_function):
9858           don't create loads of events due to bad macro usage
9859
9860 2004-04-16  David Schleef  <ds@schleef.org>
9861
9862         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9863         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9864         * gst/gstvalue.c: (gst_value_serialize_buffer),
9865         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9866         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9867         to indicate types that are fixed wrt caps or not.  Switching to
9868         this function fixes (bug #140298).
9869         * gst/gstvalue.h:
9870
9871 2004-04-16  David Schleef  <ds@schleef.org>
9872
9873         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9874         for GST_UNALIGNED_ACESS, since we essentially know which archs
9875         are ok.
9876
9877 2004-04-17  Benjamin Otte  <otte@gnome.org>
9878
9879         * docs/gst/Makefile.am:
9880           ignore gst/parse directory when building docs (fixes #140205)
9881
9882 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * testsuite/refcounting/mem.c: (vmsize):
9885           do error checking
9886
9887 2004-04-16  Johan Dahlin  <johan@gnome.org>
9888
9889         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9890         and gst_pad_call_get_function.
9891
9892 2004-04-15  David Schleef  <ds@schleef.org>
9893
9894         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9895         checks if we can access unaligned memory.
9896         * configure.ac: Use it.
9897
9898 2004-04-16  Benjamin Otte  <otte@gnome.org>
9899
9900         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9901         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9902         * gst/elements/gstfilesrc.h:
9903           s/seek_happened/need_discont/ and require discont before sending any
9904           data
9905
9906 2004-04-15  David Schleef  <ds@schleef.org>
9907
9908         * gst/gstvalue.c: (gst_value_serialize_buffer),
9909         (gst_value_deserialize_buffer), (_gst_value_initialize):
9910         Register these types as fundamental types. (bug #140015)
9911
9912 2004-04-16  Benjamin Otte  <otte@gnome.org>
9913
9914         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9915         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9916         (gst_pad_pull):
9917           implement enforcing discont events before buffers are passed. This
9918           allows state changes of only some elements and later correctly going
9919           on where they left off (or in short: you can now set audio sinks to
9920           NULL to release the device when the pipeline is paused)
9921         * gst/gstpad.c: (gst_pad_call_chain_function),
9922         (gst_pad_call_get_function):
9923         * gst/gstpad.h:
9924           add gst_pad_call_chain_function and gst_pad_call_get_function for
9925           scheduler interaction. They are required because of the changes
9926           above.
9927         * gst/schedulers/entryscheduler.c: (get_buffer),
9928         (gst_entry_scheduler_chain_wrapper),
9929         (gst_entry_scheduler_get_wrapper),
9930         (gst_entry_scheduler_state_transition),
9931         (gst_entry_scheduler_pad_link):
9932         * gst/schedulers/gstbasicscheduler.c:
9933         (gst_basic_scheduler_chain_wrapper),
9934         (gst_basic_scheduler_src_wrapper),
9935         (gst_basic_scheduler_chainhandler_proxy),
9936         (gst_basic_scheduler_gethandler_proxy),
9937         (gst_basic_scheduler_cothreaded_chain),
9938         (gst_basic_scheduler_chain_elements):
9939         * gst/schedulers/gstoptimalscheduler.c:
9940         (get_group_schedule_function), (pad_clear_queued),
9941         (gst_opt_scheduler_pad_link):
9942           use the new functions instead of calling get/chain-functions
9943           directly.
9944
9945 2004-04-15  David Schleef  <ds@schleef.org>
9946
9947         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9948         * docs/gst/tmpl/gstinfo.sgml: same
9949         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9950         gtk-doc put here.
9951         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9952         * examples/queue/queue.c: (main):  We iterate pipelines, not
9953         bins.  (bug #139996)
9954
9955 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9956
9957         * docs/pwg/advanced-types.xml:
9958           Add MS RLE support. Also document Qt RLE although I have no sample
9959           files for that yet. And document an extra property for ADPCM.
9960
9961 2004-04-15  David Schleef  <ds@schleef.org>
9962
9963         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9964         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9965         Windows.
9966
9967 2004-04-15  David Schleef  <ds@schleef.org>
9968
9969         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9970         symbol names to not conflict with new gstinfo.h symbols.
9971         * gst/gstinfo.h: Add inline functions for all those crazy
9972         compilers that don't know how to handle variadic macros (MSVC).
9973
9974 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * configure.ac: bump nano to 1
9977
9978 === release 0.8.1 ===
9979
9980 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9981
9982         * NEWS:
9983         * RELEASE:
9984         * configure.ac:
9985           releasing 0.8.1, "Snow Brigade"
9986
9987 2004-04-14  David Schleef  <ds@schleef.org>
9988
9989         * testsuite/Makefile.am: define tests_ignore
9990         * testsuite/Rules: Added new tests_ignore, which get compiled,
9991         but not run (generally because they're inconsistent or have
9992         heisenbugs).  Now we can ensure all the .c files compile in
9993         testsuite/.
9994         * testsuite/bins/Makefile.am: define tests_ignore
9995         * testsuite/bytestream/Makefile.am:
9996         * testsuite/caps/Makefile.am:
9997         * testsuite/clock/Makefile.am:
9998         * testsuite/debug/Makefile.am:
9999         * testsuite/debug/global.c: (gst_debug_log_one),
10000         (gst_debug_log_two): Fix compilation problem.
10001         * testsuite/dynparams/Makefile.am:
10002         * testsuite/elements/Makefile.am:
10003         * testsuite/ghostpads/Makefile.am:
10004         * testsuite/indexers/Makefile.am:
10005         * testsuite/parse/Makefile.am:
10006         * testsuite/plugin/Makefile.am:
10007         * testsuite/refcounting/Makefile.am:
10008         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10009         results, because it's not calculated correctly.
10010         * testsuite/refcounting/pad.c: (main): same
10011         * testsuite/states/Makefile.am:
10012         * testsuite/tags/Makefile.am:
10013         * testsuite/threads/Makefile.am:
10014
10015 2004-04-14  David Schleef  <ds@schleef.org>
10016
10017         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10018         generating bad code around the cpu detection asm code.
10019
10020 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10021
10022         * tools/gst-inspect.c: (print_element_info):
10023           print numeric version of rank as well, since we added some - 1
10024           rank values to elements
10025
10026 2004-04-13  David Schleef  <ds@schleef.org>
10027
10028         * configure.ac:  Disable various code when compiling for MinGW.
10029         * gst/elements/Makefile.am:
10030         * gst/elements/gstelements.c:
10031         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10032         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10033         * gst/registries/gstxmlregistry.c: (make_dir):
10034
10035 2004-04-13  David Schleef  <ds@schleef.org>
10036
10037         * gst/Makefile.am:
10038         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10039         assembly.
10040         * gst/gstcpuid_i386.s: remove
10041
10042 2004-04-13  David Schleef  <ds@schleef.org>
10043
10044         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10045         seems to think it needs to be done.
10046         * docs/gst/tmpl/gstfakesink.sgml:
10047         * docs/gst/tmpl/gstfakesrc.sgml:
10048         * docs/gst/tmpl/gstfdsink.sgml:
10049         * docs/gst/tmpl/gstfdsrc.sgml:
10050         * docs/gst/tmpl/gstfilesink.sgml:
10051         * docs/gst/tmpl/gstfilesrc.sgml:
10052         * docs/gst/tmpl/gstidentity.sgml:
10053         * docs/gst/tmpl/gstmd5sink.sgml:
10054         * docs/gst/tmpl/gstmultifilesrc.sgml:
10055         * docs/gst/tmpl/gstpipefilter.sgml:
10056         * docs/gst/tmpl/gstshaper.sgml:
10057         * docs/gst/tmpl/gstspider.sgml:
10058         * docs/gst/tmpl/gstspideridentity.sgml:
10059         * docs/gst/tmpl/gststatistics.sgml:
10060         * docs/gst/tmpl/gsttee.sgml:
10061         * docs/gst/tmpl/gsttypefind.sgml:
10062         * docs/gst/tmpl/gstutils.sgml:
10063
10064 2004-04-13  David Schleef  <ds@schleef.org>
10065
10066         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10067         and to build DLLs on Windows.
10068         * gst/Makefile.am:
10069         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10070         (gst_filesrc_open_file):
10071         * gst/schedulers/Makefile.am:
10072
10073 2004-04-13  David Schleef  <ds@schleef.org>
10074
10075         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10076         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10077         fixating lists.
10078
10079 2004-04-12  David Schleef  <ds@schleef.org>
10080
10081         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10082         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10083         to using it.
10084         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10085         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10086         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10087         * gst/gststructure.c: (gst_structure_set_valist),
10088         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10089         support for buffers.
10090         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10091         intended to be const.
10092         * gst/gsttag.h: same
10093         * gst/gstvalue.c: (gst_value_serialize_buffer),
10094         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10095         to (de)serialize buffers.
10096         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10097         * testsuite/caps/string-conversions.c: (main):
10098         * testsuite/caps/value_serialize.c: add new test
10099
10100 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10101
10102         * docs/pwg/advanced-types.xml:
10103           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10104
10105 2004-04-11  Benjamin Otte  <otte@gnome.org>
10106
10107         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10108           rename categories to basic_*
10109         * gst/schedulers/gstbasicscheduler.c: 
10110         (gst_basic_scheduler_chain_wrapper),
10111         (gst_basic_scheduler_chainhandler_proxy),
10112         (gst_basic_scheduler_gethandler_proxy),
10113         (gst_basic_scheduler_eventhandler_proxy):
10114           debugging category fixes - put common stuff in log category
10115         * gst/schedulers/gstbasicscheduler.c: 
10116         (gst_basic_scheduler_chain_elements):
10117           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10118           active and linking two active chains
10119
10120 2004-04-10  Benjamin Otte  <otte@gnome.org>
10121
10122         * docs/pwg/intro-preface.xml:
10123           fix dead links and remove reference to Wiki
10124
10125 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10126
10127         * gst/schedulers/gstbasicscheduler.c:
10128           make sure we can switch back to the main function if we're still in
10129           the main function (supposed to fix #139617)
10130         * gst/schedulers/gthread-cothreads.h:
10131           don't throw an error when switching to the same cothread
10132
10133 2004-04-09  Benjamin Otte  <otte@gnome.org>
10134
10135         * gst/gstbin.c: (gst_bin_get_type):
10136         * gst/gstclock.c: (gst_clock_get_type):
10137         * gst/gstindex.c: (gst_index_get_type):
10138         * gst/gstobject.c: (gst_object_get_type),
10139         (gst_signal_object_get_type):
10140         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10141         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10142         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10143         * gst/gstqueue.c: (gst_queue_get_type):
10144         * gst/gstregistry.c: (gst_registry_get_type):
10145         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10146         * gst/gstthread.c: (gst_thread_get_type):
10147           don't use memchunks for these objects, use malloc instead
10148
10149 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10150
10151         * docs/gst/.cvsignore:
10152         * docs/gst/Makefile.am:
10153         * docs/gst/gstreamer-sections.txt:
10154         * docs/gst/tmpl/gstaggregator.sgml:
10155         * docs/gst/tmpl/gstbuffer.sgml:
10156         * docs/gst/tmpl/gstclock.sgml:
10157         * docs/gst/tmpl/gstelement.sgml:
10158         * docs/gst/tmpl/gstfakesink.sgml:
10159         * docs/gst/tmpl/gstfakesrc.sgml:
10160         * docs/gst/tmpl/gstfdsink.sgml:
10161         * docs/gst/tmpl/gstfdsrc.sgml:
10162         * docs/gst/tmpl/gstfilesink.sgml:
10163         * docs/gst/tmpl/gstfilesrc.sgml:
10164         * docs/gst/tmpl/gstidentity.sgml:
10165         * docs/gst/tmpl/gstindex.sgml:
10166         * docs/gst/tmpl/gstinfo.sgml:
10167         * docs/gst/tmpl/gstmd5sink.sgml:
10168         * docs/gst/tmpl/gstmultifilesrc.sgml:
10169         * docs/gst/tmpl/gstpad.sgml:
10170         * docs/gst/tmpl/gstpipefilter.sgml:
10171         * docs/gst/tmpl/gstpipeline.sgml:
10172         * docs/gst/tmpl/gstpluginfeature.sgml:
10173         * docs/gst/tmpl/gstqueue.sgml:
10174         * docs/gst/tmpl/gstregistry.sgml:
10175         * docs/gst/tmpl/gstscheduler.sgml:
10176         * docs/gst/tmpl/gstshaper.sgml:
10177         * docs/gst/tmpl/gstspider.sgml:
10178         * docs/gst/tmpl/gstspideridentity.sgml:
10179         * docs/gst/tmpl/gststatistics.sgml:
10180         * docs/gst/tmpl/gstsystemclock.sgml:
10181         * docs/gst/tmpl/gsttee.sgml:
10182         * docs/gst/tmpl/gstthread.sgml:
10183         * docs/gst/tmpl/gsttypefind.sgml:
10184         * docs/gst/tmpl/gstutils.sgml:
10185           further doc build fixes
10186
10187 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10188
10189         * docs/gst/Makefile.am:
10190           make docs exit on scanning problems
10191           fix nonsrcdir build issues
10192         * docs/gst/gstreamer-sections.txt:
10193           adding stuff from -unused
10194         * gst/gstqueue.h:
10195           create GstQueueSize
10196         * gst/schedulers/cothreads_compat.h:
10197           fix cothread warnings
10198
10199 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10200
10201         * docs/gst/gstreamer-sections.txt:
10202           remove defines deprecated by Benjamin
10203
10204 2004-04-07  Benjamin Otte  <otte@gnome.org>
10205
10206         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10207           when the buffer is complete, don't check if other buffers are needed
10208         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10209           check that the offset is >0 so we don't try to read before the
10210           beginning of the file
10211         * gst/gstpad.c: (gst_pad_set_pad_template):
10212           sink the template, so we don't end up with 130k pad templates
10213
10214 2004-04-06  Benjamin Otte  <otte@gnome.org>
10215
10216         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10217           don't ref the element, adding already reffed it. And we didn't unref
10218           it later anyway... (huge memleak when you used many spider elements)
10219         * gst/gstelement.c: (gst_element_base_class_finalize):
10220         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10221         (gst_element_register):
10222         * gst/gsturi.c: (gst_element_make_from_uri):
10223           use gst_object_(un)ref instead of g_object(un)ref
10224
10225 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10226
10227         * gst/gstbuffer.h:
10228           remove macro that wouldn't work anymore because struct member has
10229           been removed.
10230         * gst/schedulers/entryscheduler.c: (schedule_forward):
10231           fix segfault for unconnected pads
10232         
10233 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10234
10235         reviewed by David Schleef <ds@schleef.org>
10236
10237         * gst/gstinfo.h:
10238           *_FORMAT modifiers should require putting a % in front of them for
10239           consistency reasons.
10240
10241 2004-04-05  Colin Walters  <walters@redhat.com>
10242
10243         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10244         space.
10245
10246 2004-04-05  Benjamin Otte  <otte@gnome.org>
10247
10248         * configure.ac:
10249         * gst/Makefile.am:
10250         * gst/gst_private.h:
10251         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10252           add support for detecting if GStreamer runs inside valgrind.
10253           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10254           print a big message in valgrind that GStreamer has detected it's
10255           running inside and might now use different code.
10256         * gst/gstmemchunk.c: (populate), (free_area),
10257         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10258         (gst_mem_chunk_free):
10259           flag memchunks for valgrind, so it can detect leaking of chunks.
10260           This allows detecting leaks of GstBuffer and GstEvent correctly
10261           inside valgrind.
10262
10263 2004-04-05  David Schleef  <ds@schleef.org>
10264
10265         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10266           jensgr@gmx.net (Jens Granseuer)
10267
10268 2004-04-05  David Schleef  <ds@schleef.org>
10269
10270         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10271         (gst_buffer_default_free), (gst_buffer_default_copy),
10272         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10273         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10274         structures in one place.
10275
10276 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10277
10278         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10279           (GST_TIME_FORMAT, GST_TIME_ARGS)
10280
10281 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10282
10283         * testsuite/elements/Makefile.am:
10284           disable test until it stops breaking make distcheck
10285
10286 2004-04-05  Johan Dahlin  <johan@gnome.org>
10287
10288         * po/sv.po: Updated translation
10289
10290 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10291
10292         * gst/gstplugin.c: (gst_plugin_load_file):
10293           fix segfault for when original plugin was loaded statically
10294
10295 2004-04-05  Benjamin Otte  <otte@gnome.org>
10296
10297         * testsuite/debug/category.c: (main):
10298         * testsuite/debug/commandline.c: (main):
10299         * testsuite/debug/output.c: (main):
10300           fix tests to work again with debugging enabled
10301
10302 2004-04-05  Benjamin Otte  <otte@gnome.org>
10303
10304         * gst/schedulers/gstbasicscheduler.c:
10305         (gst_basic_scheduler_pad_link):
10306           fix to work with recent scheduling changes
10307
10308 2004-04-05  Benjamin Otte  <otte@gnome.org>
10309
10310         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10311         prepareChangeLog doesn't work when cvs indents):
10312           don't throw an error when no element can be scheduled, there's too
10313           many weird reasons why it doesn't work. Return STOPPED instead.
10314           decoupled elemts' schedulability doesn't depend on bufpens.
10315
10316 2004-04-04  Benjamin Otte  <otte@gnome.org>
10317
10318         * gst/schedulers/gstbasicscheduler.c:
10319         (gst_basic_scheduler_pad_select):
10320           fix uninitialized variable warnings
10321
10322 2004-04-04  Benjamin Otte  <otte@gnome.org>
10323
10324         * gst/gstpad.c: (gst_pad_collect_valist):
10325           fix uninitialized variable warning
10326         * gst/schedulers/entryscheduler.c: (schedule_forward):
10327           fix shadowed variable
10328
10329 2004-04-04  Benjamin Otte  <otte@gnome.org>
10330
10331         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10332         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10333         (gst_pad_select):
10334         * gst/gstpad.h:
10335         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10336         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10337         * gst/gstscheduler.h:
10338           implement gst_pad_collect as replacement for gst_pad_select.
10339           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10340           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10341           new pad_select, lock and unlock calls.
10342         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10343         * gst/cothreads.h:
10344         * gst/schedulers/cothreads_compat.h:
10345         * gst/schedulers/gthread-cothreads.h:
10346           remove unused cothread_lock and cothread_unlock calls
10347         * gst/schedulers/entryscheduler.c:
10348         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10349         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10350         (gst_entry_scheduler_pad_select):
10351           update to new API
10352         * gst/schedulers/gstbasicscheduler.c:
10353         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10354         (gst_basic_scheduler_pad_select):
10355           remove useless lock and unlock calls, update pad_select to new API
10356           (untested)
10357         * gst/schedulers/gstoptimalscheduler.c:
10358         (gst_opt_scheduler_class_init):
10359           remove useless select, lock and unlock function calls
10360         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10361           use gst_pad_collect instead of gst_pad_select
10362
10363 2004-04-04  Benjamin Otte  <otte@gnome.org>
10364
10365         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10366         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10367         (schedule_next_element), (print_entry):
10368           add can_schedule_pad to handle element states.
10369           add schedule_forward to select the correct entry to schedule next
10370
10371 2004-04-03  Benjamin Otte  <otte@gnome.org>
10372
10373         * gst/schedulers/entryscheduler.c: 
10374           remove unused variable, fix error inside Rb, fix compile warning in
10375           unreachable code
10376
10377 2004-04-03  Benjamin Otte  <otte@gnome.org>
10378
10379         * gst/schedulers/entryscheduler.c:
10380           completely revamp the inner workings, so it's a lot easier to
10381           understand and extend
10382
10383 2004-04-03  Andy Wingo  <wingo@pobox.com>
10384
10385         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10386         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10387         This allows better introspection of pipeline topology.
10388         (add_to_chain): Don't do trickery to put loop elements first;
10389         rather, queue a chain sort by marking the chain as dirty.
10390         (remove_from_chain): Mark the chain dirty.
10391         (sort_chain): New function. Sorts the group list so that terminal
10392         sinks are first. This means elements on the sink side will be
10393         preferentially sscheduled before elements on the src side of the
10394         pipeline.
10395         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10396         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10397         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10398         (group_inc_link): Change argument and variable names to match the
10399         new link structure member names (src and sink).
10400         (group_dec_link): Add some description
10401
10402 2004-04-03  Benjamin Otte  <otte@gnome.org>
10403
10404         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10405         * gst/gstinfo.h:
10406         * testsuite/debug/category.c: (main):
10407         * testsuite/debug/commandline.c: (main):
10408         * testsuite/debug/output.c: (main):
10409         * testsuite/debug/printf_extension.c: (main):
10410           fix to successfully build and test with --disable-gst-debug
10411           configure switch (fixes #138705)
10412
10413 2004-04-03  Benjamin Otte  <otte@gnome.org>
10414
10415         * docs/pwg/building-boiler.xml:
10416           add cvs login line and s/anonymous/anoncvs/
10417
10418 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10419
10420         reviewed by Benjamin Otte  <otte@gnome.org>
10421
10422         * gst/gststructure.c: (gst_structure_free):
10423           memleak fix: free fields array (partial fix for #134839)
10424
10425 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10426
10427         * docs/random/ds/0.9-suggested-changes:
10428           Add a note to change handoff use in fakesrc to be usable in
10429           a more generic way (fakesrc should be renamed to appsrc or so).
10430         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10431           Change signal type to scope, so we can fill the buffer in the
10432           handoff handler (that's the whole use of this signal...).
10433
10434 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10435
10436         * docs/pwg/other-ntoone.xml:
10437           Document muxers and n-to-1 elements.
10438
10439 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10440
10441         * gst/registries/gstxmlregistry.c
10442         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10443         determine if a file is a G_MODULE. The old one discards paths
10444         containing "so" somewhere in the middle. My home directory is
10445         called "soto". Go figure...
10446
10447 2004-03-31  David Schleef  <ds@schleef.org>
10448
10449         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10450         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10451         * gst/gstbuffer.h:
10452
10453 2004-03-31  David Schleef  <ds@schleef.org>
10454
10455         * gst/gstvalue.c: (gst_value_union_int_int_range),
10456         (gst_value_union_int_range_int_range), (gst_value_can_union),
10457         (gst_value_union), (_gst_value_initialize):  Add some union
10458         implementations.  We didn't have any previously.
10459         * testsuite/caps/Makefile.am:
10460         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10461         (gst_audioscale_getcaps), (test_caps), (main): A little test
10462         that is the same as the caps manipulation in audioscale.
10463
10464 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10465
10466         * docs/faq/general.xml:
10467           add entry about "does gst support format X?"
10468
10469 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10470
10471         * gst/gstthread.c:
10472           fix docs
10473         * gst/gstutils.h:
10474           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10475
10476 2004-03-30  Benjamin Otte  <otte@gnome.org>
10477
10478         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10479           set the offset of the buffer to the requested offset
10480         * gst/elements/gsttypefind.c: (stop_typefinding):
10481           revert patch 1.18 (which I unfortunately don't know the reason for).
10482           This is needed to allow downstream elements to seek. Otherwise
10483           typefind might overwrite a previous seek by downstream elements.
10484           This lead to errors with id3tag and typefind on some mp3s.
10485         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10486         (gst_entry_scheduler_iterate):
10487           be more verbose when debugging
10488
10489 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10490
10491         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10492           make sure we don't get NULL strings
10493
10494 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10495
10496         * gst/gstcaps.c:
10497         * gst/gstelement.c:
10498         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10499         * gst/gstindex.c: (gst_index_resolver_get_type),
10500         (gst_index_get_type), (gst_index_factory_get_type):
10501         * gst/gstinfo.c:
10502         * gst/gstpad.c:
10503         * gst/gstplugin.c:
10504         * gst/gsturi.c: (gst_uri_handler_get_type):
10505         * gst/gstvalue.c:
10506           first batch of documentation fixes
10507
10508 2004-03-29  David Schleef  <ds@schleef.org>
10509
10510         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10511         * docs/gst/gstreamer-docs.sgml:  More hacking
10512         * docs/gst/gstreamer-sections.txt:
10513         * docs/gst/tmpl/cothreads_compat.sgml:
10514         * docs/gst/tmpl/gstcaps.sgml:
10515         * docs/gst/tmpl/gstclock.sgml:
10516         * docs/gst/tmpl/gstelement.sgml:
10517         * docs/gst/tmpl/gstevent.sgml:
10518         * docs/gst/tmpl/gstpad.sgml:
10519         * docs/gst/tmpl/gstutils.sgml:
10520         * docs/gst/tmpl/gstxml.sgml:
10521         * docs/gst/tmpl/gthread-cothreads.sgml:
10522         * docs/random/ds/0.9-suggested-changes:
10523         * gst/elements/gstfakesink.h: doc fixes
10524         * gst/elements/gstfakesrc.h: doc fixes
10525         * gst/gstcaps.c: doc fixes
10526         * gst/gstcaps.h: doc fixes
10527         * gst/gstelement.c: doc fixes
10528         * gst/gstelement.h: doc fixes
10529         * gst/gstindex.c: doc fixes
10530         * gst/gstinfo.c: doc fixes
10531         * gst/gstpad.c: doc fixes
10532         * gst/gstpad.h: doc fixes
10533         * gst/gstplugin.c: doc fixes
10534         * gst/gsttypefind.h: doc fixes
10535         * gst/gsturi.c: doc fixes
10536         * gst/gstvalue.c: doc fixes
10537
10538 2004-03-29  Colin Walters  <walters@redhat.com>
10539
10540         * gst/registries/gstxmlregistry.c (get_time)
10541         (plugin_times_older_than_recurse):
10542         Use the result of stat to determine whether a path is a file,
10543         so we don't attempt to opendir() files.
10544
10545 2004-03-29  Benjamin Otte  <otte@gnome.org>
10546
10547         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10548           print caps in debugging output when setting caps failed
10549         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10550         (schedule_next_element), (get_buffer), (run_chainhandler),
10551         (element_may_start), (gst_entry_scheduler_chain_handler),
10552         (gst_entry_scheduler_get_handler),
10553         (gst_entry_scheduler_state_transition),
10554         (gst_entry_scheduler_pad_link):
10555           make this scheduler a testcase for mandatory
10556           discont-before-first-buffer which is needed if we want to allow apps
10557           to release the sound device.
10558           add SCHED_ASSERT macro to print scheduler state before an assertion
10559           triggers.
10560
10561 2004-03-29  Benjamin Otte  <otte@gnome.org>
10562
10563         * COPYING:
10564           replace by LGPL (former COPYING.LIB). The core is completely
10565           licensed LGPL.
10566         * COPYING.LIB:
10567           remove
10568
10569 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10570
10571         * po/af.po:
10572         * po/sv.po:
10573           updated Afrikaans and Swedish
10574
10575 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10576
10577         * po/LINGUAS:
10578         * po/az.po:
10579           adding Azerbaijani (Mətin Əmirov)
10580
10581 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10582
10583         * gst/gstelement.h: 
10584         * gst/gstelement.c (gst_element_set_time_delay): New function for
10585         setting element time taking into account a hardware buffering
10586         delay.
10587         (gst_element_set_time): Now just an invocation of
10588         gst_element_set_time_delay.
10589         * gst/gstclock.h: 
10590         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10591         allowing to set event times in the future.
10592         (gst_clock_get_event_time): Now just an invocation of
10593         gst_clock_get_event_time_delay.
10594
10595 2004-03-28  Benjamin Otte  <otte@gnome.org>
10596
10597         * gst/gstbin.c: (gst_bin_set_element_sched),
10598         (gst_bin_unset_element_sched):
10599           don't add decoupled elements to schedulers - otherwise it's
10600           impossible to control if a link to a decoupled element was already
10601           removed from a scheduler or not.
10602         * gst/schedulers/cothreads_compat.h:
10603         * gst/schedulers/gthread-cothreads.h:
10604           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10605           is no "unused" warning.
10606         * gst/schedulers/Makefile.am:
10607         * gst/schedulers/entryscheduler.c:
10608           add new scheduler, based on ideas from talking to David and Martin.
10609           It's supposed to be small and correct. Currently it's also slow (but
10610           it's not noticable)
10611         * examples/retag/retag.c: (main):
10612         * testsuite/bytestream/test1.c: (main):
10613           fix missing NULLs at end of variadic functions
10614         * testsuite/elements/.cvsignore:
10615           update
10616
10617 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10618
10619         * gst/gstevent.h:
10620         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10621
10622 2004-03-25  David Schleef  <ds@schleef.org>
10623
10624         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10625         * docs/gst/tmpl/gstaggregator.sgml:
10626         * docs/gst/tmpl/gstautoplugfactory.sgml:
10627         * docs/gst/tmpl/gstbin.sgml:
10628         * docs/gst/tmpl/gstbuffer.sgml:
10629         * docs/gst/tmpl/gstbufferstore.sgml:
10630         * docs/gst/tmpl/gstfakesink.sgml:
10631         * docs/gst/tmpl/gstfakesrc.sgml:
10632         * docs/gst/tmpl/gstmd5sink.sgml:
10633         * docs/gst/tmpl/gstreamer-unused.sgml:
10634         * docs/gst/tmpl/gstsearchfuncs.sgml:
10635         * docs/gst/tmpl/gstshaper.sgml:
10636         * docs/gst/tmpl/gstspider.sgml:
10637         * docs/gst/tmpl/gsttee.sgml:
10638         * docs/gst/tmpl/gstutils.sgml:
10639         * docs/gst/tmpl/gstvalue.sgml:
10640         * docs/gst/tmpl/gstxml.sgml:
10641         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10642         and we don't support it.
10643         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10644         (gst_use_threads), (gst_has_threads): same
10645         * gst/gstthreaddummy.c: same
10646         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10647         * gst/autoplug/gstspider.h: same
10648         * gst/elements/gstaggregator.h: Remove bogus function from header
10649         * gst/elements/gstfakesink.h: same
10650         * gst/elements/gstfakesrc.h: same
10651         * gst/elements/gstmd5sink.h: same
10652         * gst/elements/gstshaper.h: same
10653         * gst/elements/gsttee.h: same
10654         * gst/gstbin.c: doc fixes
10655         * gst/gstbin.h: Remove unused definition.
10656         * gst/gstbuffer.c: doc fixes
10657         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10658         * gst/gstfilter.c: doc fixes
10659         * gst/gsttag.c: doc fixes
10660         * gst/gstvalue.c: doc fixes
10661
10662 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10663
10664         * docs/pwg/advanced-types.xml:
10665           Document typefinding.
10666         * docs/pwg/other-oneton.xml:
10667           Document one-to-n elements, demuxers and parsers.
10668
10669 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10670
10671         reviewed by: David Schleef  <ds@schleef.org>
10672
10673         * configure.ac: Check bison version (bug #127838)
10674
10675 2004-03-25  David Schleef  <ds@schleef.org>
10676
10677         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10678         * docs/gst/gstreamer-sections.txt:
10679         * docs/gst/tmpl/gstautoplug.sgml:
10680         * docs/gst/tmpl/gststaticautoplug.sgml:
10681         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10682         * docs/gst/tmpl/gstutils.sgml:
10683         * docs/gst/tmpl/gstxml.sgml:
10684
10685 2004-03-24  David Schleef  <ds@schleef.org>
10686
10687         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10688         manual being such complete crap, that I decided to do major
10689         hacking of it.  This checkin replaces any fine tuning that
10690         may have been done previously, with the benefit of actually
10691         being complete for much of the API that was changed since
10692         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10693         * docs/gst/gstreamer-sections.txt:
10694         * docs/gst/tmpl/GstBin.sgml:
10695         * docs/gst/tmpl/GstBuffer.sgml:
10696         * docs/gst/tmpl/GstCaps.sgml:
10697         * docs/gst/tmpl/GstClock.sgml:
10698         * docs/gst/tmpl/GstCompat.sgml:
10699         * docs/gst/tmpl/GstData.sgml:
10700         * docs/gst/tmpl/GstElement.sgml:
10701         * docs/gst/tmpl/GstEvent.sgml:
10702         * docs/gst/tmpl/GstIndex.sgml:
10703         * docs/gst/tmpl/GstStructure.sgml:
10704         * docs/gst/tmpl/GstTag.sgml:
10705         * docs/gst/tmpl/cothreads.sgml:
10706         * docs/gst/tmpl/cothreads_compat.sgml:
10707         * docs/gst/tmpl/gettext.sgml:
10708         * docs/gst/tmpl/grammar.tab.sgml:
10709         * docs/gst/tmpl/gst-i18n-app.sgml:
10710         * docs/gst/tmpl/gst-i18n-lib.sgml:
10711         * docs/gst/tmpl/gst.sgml:
10712         * docs/gst/tmpl/gst_private.sgml:
10713         * docs/gst/tmpl/gstaggregator.sgml:
10714         * docs/gst/tmpl/gstarch.sgml:
10715         * docs/gst/tmpl/gstatomic.sgml:
10716         * docs/gst/tmpl/gstatomic_impl.sgml:
10717         * docs/gst/tmpl/gstbin.sgml:
10718         * docs/gst/tmpl/gstbuffer.sgml:
10719         * docs/gst/tmpl/gstbufferstore.sgml:
10720         * docs/gst/tmpl/gstcaps.sgml:
10721         * docs/gst/tmpl/gstclock.sgml:
10722         * docs/gst/tmpl/gstcompat.sgml:
10723         * docs/gst/tmpl/gstconfig.sgml:
10724         * docs/gst/tmpl/gstcpu.sgml:
10725         * docs/gst/tmpl/gstdata.sgml:
10726         * docs/gst/tmpl/gstdata_private.sgml:
10727         * docs/gst/tmpl/gstelement.sgml:
10728         * docs/gst/tmpl/gstenumtypes.sgml:
10729         * docs/gst/tmpl/gsterror.sgml:
10730         * docs/gst/tmpl/gstevent.sgml:
10731         * docs/gst/tmpl/gstfakesink.sgml:
10732         * docs/gst/tmpl/gstfakesrc.sgml:
10733         * docs/gst/tmpl/gstfilesink.sgml:
10734         * docs/gst/tmpl/gstfilter.sgml:
10735         * docs/gst/tmpl/gstindex.sgml:
10736         * docs/gst/tmpl/gstinfo.sgml:
10737         * docs/gst/tmpl/gstinterface.sgml:
10738         * docs/gst/tmpl/gstlog.sgml:
10739         * docs/gst/tmpl/gstmacros.sgml:
10740         * docs/gst/tmpl/gstmarshal.sgml:
10741         * docs/gst/tmpl/gstmd5sink.sgml:
10742         * docs/gst/tmpl/gstmultifilesrc.sgml:
10743         * docs/gst/tmpl/gstobject.sgml:
10744         * docs/gst/tmpl/gstpad.sgml:
10745         * docs/gst/tmpl/gstparse.sgml:
10746         * docs/gst/tmpl/gstpipeline.sgml:
10747         * docs/gst/tmpl/gstplugin.sgml:
10748         * docs/gst/tmpl/gstpluginfeature.sgml:
10749         * docs/gst/tmpl/gstqueue.sgml:
10750         * docs/gst/tmpl/gstreamer-unused.sgml:
10751         * docs/gst/tmpl/gstregistry.sgml:
10752         * docs/gst/tmpl/gstregistrypool.sgml:
10753         * docs/gst/tmpl/gstscheduler.sgml:
10754         * docs/gst/tmpl/gstsearchfuncs.sgml:
10755         * docs/gst/tmpl/gstshaper.sgml:
10756         * docs/gst/tmpl/gstspider.sgml:
10757         * docs/gst/tmpl/gstspideridentity.sgml:
10758         * docs/gst/tmpl/gststructure.sgml:
10759         * docs/gst/tmpl/gstsystemclock.sgml:
10760         * docs/gst/tmpl/gsttag.sgml:
10761         * docs/gst/tmpl/gsttaginterface.sgml:
10762         * docs/gst/tmpl/gsttee.sgml:
10763         * docs/gst/tmpl/gstthread.sgml:
10764         * docs/gst/tmpl/gsttrace.sgml:
10765         * docs/gst/tmpl/gsttrashstack.sgml:
10766         * docs/gst/tmpl/gsttypefind.sgml:
10767         * docs/gst/tmpl/gsttypes.sgml:
10768         * docs/gst/tmpl/gsturi.sgml:
10769         * docs/gst/tmpl/gsturitype.sgml:
10770         * docs/gst/tmpl/gstutils.sgml:
10771         * docs/gst/tmpl/gstvalue.sgml:
10772         * docs/gst/tmpl/gstversion.sgml:
10773         * docs/gst/tmpl/gstxml.sgml:
10774         * docs/gst/tmpl/gstxmlregistry.sgml:
10775         * docs/gst/tmpl/gthread-cothreads.sgml:
10776         * docs/gst/tmpl/types.sgml:
10777
10778 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10779
10780         * docs/pwg/other-sink.xml:
10781         * docs/pwg/other-source.xml:
10782           Documentation on how to write source and sink elements. Other
10783           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10784           manager, autoplugger) are all still pending.
10785
10786 2004-03-25  Benjamin Otte  <otte@gnome.org>
10787
10788         * testsuite/elements/Makefile.am:
10789         * testsuite/elements/gst-compprep-check:
10790           add check to make sure gst-compprep works
10791         * testsuite/elements/gst-inspect-check.in:
10792           improve initialization output
10793         * testsuite/Makefile.am:
10794         * testsuite/gst-inspect-check:
10795           remove old file
10796
10797 2004-03-24  David Schleef  <ds@schleef.org>
10798
10799         * testsuite/elements/Makefile.am:
10800         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10801         to the testsuite.
10802
10803 2004-03-24  Benjamin Otte  <otte@gnome.org>
10804
10805         * libs/gst/control/dparam.c: (gst_dparam_attach),
10806         (gst_dparam_detach):
10807         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10808           fix lvalue casts for real
10809
10810 2004-03-24  Benjamin Otte  <otte@gnome.org>
10811
10812         * gst/schedulers/gstbasicscheduler.c:
10813         (gst_basic_scheduler_src_wrapper):
10814         * gst/schedulers/gstoptimalscheduler.c:
10815         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10816         (pad_clear_queued), (gst_opt_scheduler_add_element),
10817         (gst_opt_scheduler_remove_element):
10818           fix GStreamer to not have issues with lvalue casts anymore (fixes
10819           #136841)
10820
10821 2004-03-24  Benjamin Otte  <otte@gnome.org>
10822
10823         * gst/gstelement.c:
10824           add documentation about a gobject quirk where the object hasn't the
10825           correct class pointer set on initialization
10826         * gst/schedulers/gstbasicscheduler.c:
10827         (gst_basic_scheduler_src_wrapper):
10828           make sure to not run into an infinite loop
10829
10830 2004-03-22  Benjamin Otte  <otte@gnome.org>
10831
10832         * gst/gstutils.c: (gst_util_dump_mem):
10833         * gst/gstutils.h:
10834           first argument of gst_util_dump_mem should be const
10835
10836 2004-03-22  Johan Dahlin  <johan@gnome.org>
10837
10838         * gst/gstvalue.h: Clean up a little bit.
10839
10840 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10841
10842         reviewed by Benjamin Otte  <otte@gnome.org>
10843
10844         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10845         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10846         (gst_aggregator_class_init), (gst_aggregator_init):
10847         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10848         (gst_filesrc_dispose), (gst_filesrc_set_location):
10849         * gst/elements/gstidentity.c: (gst_identity_finalize),
10850         (gst_identity_class_init), (gst_identity_chain):
10851         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10852         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10853         (gst_statistics_class_init):
10854         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10855         (gst_tee_get_property):
10856           clean up used memory in this elements correctly on teardown (closes
10857           #137279)
10858
10859 2004-03-20  Colin Walters  <walters@redhat.com>
10860
10861         * gst/registries/gstxmlregistry.c:
10862         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10863         registry saving atomic.
10864
10865 2004-03-20  Colin Walters  <walters@redhat.com>
10866
10867         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10868         Just use
10869         access() instead of actually creating and deleting files.
10870
10871 2004-03-18  David Schleef  <ds@schleef.org>
10872
10873         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10874         (bug #137625)
10875
10876 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * po/sv.po: updated translation (Christian Rose)
10879
10880 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10881
10882         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10883         (gst_filesink_get_query_types), (_do_init),
10884         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10885           return FALSE silently
10886         * po/af.po: updated translation (Petri Jooste)
10887
10888 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10889
10890         * Makefile.am:
10891         * configure.ac:
10892           dist common properly
10893         * po/af.po:
10894         * po/fr.po:
10895         * po/nl.po:
10896         * po/sr.po:
10897         * po/sv.po:
10898           refreshing translations
10899
10900 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * po/LINGUAS:
10903         * po/sv.po:
10904         * po/af.po:
10905           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10906
10907 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10908
10909         * Makefile.am: use common/release.mak
10910
10911 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * docs/faq/gst-uninstalled:
10914           adding gst-monkeysaudio to the list of possible plugin dirs
10915
10916 2004-03-16  David Schleef  <ds@schleef.org>
10917
10918         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10919         (gst_init_check_with_popt_table):  Fix some gettext strings to
10920         make them easier to translate.  Required making the strings
10921         non-const.
10922
10923 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * configure.ac: bump nano to 1
10926
10927 === release 0.8.0 ===
10928
10929 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10930
10931         * configure.ac: release 0.8.0, "Executive Slacks"
10932
10933 2004-03-16  Johan Dahlin  <johan@gnome.org>
10934
10935         * gst/schedulers/gstoptimalscheduler.c
10936         (gst_opt_scheduler_pad_unlink): Remove double ;,
10937         spotted by Scott Wheeler
10938
10939 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10940
10941         * configure.ac: bump libtool version
10942
10943 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10944
10945         * gst/gstcaps.h:
10946         * gst/gststructure.h:
10947           add reserved padding
10948
10949 2004-03-15  Benjamin Otte  <otte@gnome.org>
10950
10951         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10952           set the first parameter for select call correctly.
10953           (fixes #137230)
10954
10955 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10956
10957         * *.c,*.h: don't mix tabs and spaces
10958
10959 2004-03-15  Johan Dahlin  <johan@gnome.org>
10960
10961         * gst/schedulers/gstoptimalscheduler.c
10962         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10963         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10964
10965         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10966         
10967 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10968
10969         * testsuite/Rules:
10970           fix gst-register rules
10971
10972 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * testsuite/Rules:
10975           use versioned gst-register
10976
10977 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * docs/libs/gstreamer-libs-sections.txt:
10980           remove </SUBSECTION>
10981         * gst/gstplugin.c:
10982         * gst/gstregistry.c: (gst_registry_add_plugin):
10983         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10984         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10985           add debugging and fix some comment blocks
10986
10987 2004-03-15  Johan Dahlin  <johan@gnome.org>
10988
10989         * *.h: Revert indent changes.
10990         
10991 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10992
10993         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10994           g_error_free the g_error
10995         * tools/gst-feedback-m.m:
10996           check for other versions of gstreamer
10997         * tools/gst-indent:
10998           use sh, not bash
10999
11000 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * tools/gst-register.c: do not spill paths when registries are not
11003           writable, until we fix the "user running gst-register" case.
11004
11005 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11006
11007         * *.c, *.h: commit of gst-indent run on core
11008
11009 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11010
11011         * tools/gst-indent:
11012         * tools/Makefile.am:
11013           add our indentation style as a script
11014
11015 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11016
11017         * po/sr.po:
11018         * po/LINGUAS:
11019           added Serbian translation
11020
11021 2004-03-13  Benjamin Otte  <otte@gnome.org>
11022
11023         * gst/gstelement.c:
11024           add documentation note about gst_element_found_tags_for_pad not
11025           being usable in getfunctions. (see #137042)
11026
11027 2004-03-12  David Schleef  <ds@schleef.org>
11028
11029         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11030         change API right now!  Readd gst_caps_is_simple() macro.
11031         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11032         uninitialized variable.  I'd bet this caused crashes.
11033         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11034
11035 2004-03-12  Johan Dahlin  <johan@gnome.org>
11036
11037         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11038         * gst/gstcaps.h: Clean up
11039
11040         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11041         _gst_caps_initalize()
11042
11043         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11044         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11045
11046         * gst/gststructure.c (gst_structure_get_type): Ditto
11047
11048         * gst/gststructure.h: Ditto
11049         
11050 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11051
11052         * gst/gstqueue.c: (gst_queue_init):
11053           Reset default max. values in queues. Reason is simply to avoid
11054           braindead use. If you want wider values, use the properties. The
11055           default is supposed to always work. Wider values would make this
11056           beast a memory hog by default (250 full-PAL RGB32 video frames?
11057           That's 440 MB! No thank you).
11058
11059 2004-03-10  David Schleef  <ds@schleef.org>
11060
11061         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11062         were found.  (bug #136793)
11063
11064 2004-03-10  Johan Dahlin  <johan@gnome.org>
11065
11066         * gst/schedulers/gstoptimalscheduler.c
11067         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11068         links to elements within the same group, so we can finally remove
11069         that annoying warning. Refactor the code a little bit
11070         (group_dec_links_for_element): Split out
11071
11072 2004-03-09  David Schleef  <ds@schleef.org>
11073
11074         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11075         (bug #134863)
11076
11077 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11078
11079         * configure.ac: first bug fix due to major/minor bump
11080
11081 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * configure.ac: bump nano to 1
11084
11085 === release 0.7.6 ===
11086
11087 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * NEWS:
11090         * RELEASE:
11091         * configure.ac:
11092           releasing 0.7.6, "Almost"
11093         * po/fr.po:
11094         * po/nl.po:
11095         * tools/Makefile.am:
11096         * tools/gst-feedback-m.m:
11097           unversioned source
11098
11099 2004-03-09  Johan Dahlin  <johan@gnome.org>
11100
11101         Reviewed by: Thomas Vander Stichele
11102
11103         * gst/gstelement.c (gst_element_class_init): register second
11104         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11105         language bindings can (de)marshall correctly.
11106
11107         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11108
11109         * gst/gsterror.c (gst_g_error_get_type): New function
11110
11111         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11112         with VOID:OBJECT,OBJECT,STRING 
11113
11114 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11115
11116         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11117         Free a leaked g_timer on early returns.
11118
11119 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11120
11121         * docs/pwg/advanced-types.xml:
11122           Add cinepak description.
11123
11124 2004-03-07  David Schleef  <ds@schleef.org>
11125
11126         * docs/random/mimetypes:  Added cinepak description
11127
11128 2004-03-07  Andy Wingo  <wingo@pobox.com>
11129
11130         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11131
11132         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11133         there are no links to other groups when a group is destroyed.
11134         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11135         removed from a group, make sure the link count to elements linked
11136         to other pads is appropriately decremented. This really fixes
11137         #135672.
11138
11139         The 1.60->1.61 patch has been reapplied in light of this fix.
11140
11141         * gst/gstelement.c (gst_element_dispose): Really protect against
11142         multiple invocations this time.
11143
11144 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * docs/gst/gstreamer-sections.txt:
11147         * docs/gst/tmpl/gsttag.sgml:
11148           remove some deprecated functions, document some existing ones
11149         * gst/gsttag.c: (gst_tag_get_flag):
11150         * gst/gsttag.h:
11151           add accessor function
11152
11153 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * docs/gst/gstreamer-sections.txt:
11156         * docs/gst/tmpl/gsttag.sgml:
11157         * docs/gst/tmpl/gstxml.sgml:
11158         * gst/gsttag.c: (gst_tag_get_flag):
11159         * gst/gsttag.h:
11160
11161 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11162
11163         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11164         leak
11165
11166 2004-03-05  David Schleef  <ds@schleef.org>
11167
11168         * REQUIREMENTS: Add bison and flex.
11169         * configure.ac: Fix comment about bison.
11170         * docs/random/ds/0.9-suggested-changes: yer ma
11171         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11172
11173 2004-03-05  Benjamin Otte  <otte@gnome.org>
11174
11175         * gst/gstelement.c: (gst_element_error_full):
11176           revert recent recursive state changing commit - messing with other
11177           elements' states is evil and should be done by apps only.
11178
11179 2004-03-05  Benjamin Otte  <otte@gnome.org>
11180
11181         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11182           check for empty intersection instead of NULL caps
11183         (gst_element_get_compatible_pad_filtered):
11184           remove old workaround that is only a bug nowadays
11185
11186 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11187
11188         * gst/gstelement.c: (gst_element_error_full):
11189           make elements try to recursively change state to PAUSED on all
11190           parents after an error to suppress ensuing warnings
11191         * gst/parse/grammar.y:
11192           make it check if it was able to sync the state, and throw an error
11193           if not, so stuff like
11194           oggdemux ! vorbisdec ! osssink gets caught
11195
11196 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11197
11198         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11199           it contains lib64; use AS_AC_EXPAND to handle it properly
11200
11201 2004-03-05  David Schleef  <ds@schleef.org>
11202
11203         * gst/gstcpuid_i386.s:  Remove unused code
11204         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11205         (gst_getbits_newbuf): Remove MMX code
11206         * libs/gst/getbits/getbits.h: Remove MMX code
11207
11208 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11209
11210         * debian/.cvsignore:
11211         * debian/README.Debian:
11212         * debian/changelog:
11213         * debian/control:
11214         * debian/control.in:
11215         * debian/copyright:
11216         * debian/gstreamer-core-libs-dev.files:
11217         * debian/gstreamer-core-libs.files:
11218         * debian/gstreamer-core.files:
11219         * debian/gstreamer-core.postinst:
11220         * debian/gstreamer-core.postrm:
11221         * debian/gstreamer-doc.files:
11222         * debian/gstreamer-doc.links:
11223         * debian/gstreamer-doc.lintian:
11224         * debian/gstreamer-runtime.files:
11225         * debian/gstreamer-runtime.manpages:
11226         * debian/gstreamer-runtime.postinst:
11227         * debian/gstreamer-runtime.postrm:
11228         * debian/gstreamer-tools.files:
11229         * debian/gstreamer-tools.manpages:
11230         * debian/libgstreamer-dev.files:
11231         * debian/libgstreamer0.4.1.files:
11232         * debian/libgstreamerVERSION.files:
11233         * debian/rules:
11234         Debian package info not maintained here.
11235
11236 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11239         * gst/gstbin.c: (gst_bin_class_init):
11240         * gst/gstelement.c: (gst_element_class_init):
11241         * gst/gstindex.c: (gst_index_class_init):
11242         * gst/gstobject.c: (gst_object_class_init),
11243         (gst_signal_object_class_init):
11244         * gst/gstpad.c: (gst_pad_template_class_init):
11245         * gst/gstregistry.c: (gst_registry_class_init):
11246         * gst/gsturi.c: (gst_uri_handler_base_init):
11247         * gst/gstxml.c: (gst_xml_class_init):
11248         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11249         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11250           make all signal names use dashes instead of underscore
11251
11252 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11253
11254         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11255
11256 2004-03-03  Benjamin Otte  <otte@gnome.org>
11257
11258         * gst/schedulers/gstoptimalscheduler.c:
11259           revert last commit by Andy Wingo. It causes segfaults on unreffing
11260           in Rhythmbox. (see bug #135672)
11261
11262 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11263
11264         * po/fr.po: fix typo
11265
11266 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11267
11268         * tools/gst-inspect.c: (main): 
11269         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11270
11271 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11272
11273         * configure.ac:
11274           get GLIB_ONLY and POPT flags for the nonversioned binaries
11275         * tools/Makefile.am:
11276           use them
11277
11278 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11279
11280         * gst/gst.c: (init_post):
11281           change so that GST_REGISTRY now is where the global registry gets
11282           saved, since that is where plugins now get attached to first, and
11283           spilled over to the user registry.  Note that in the case of using
11284           GST_REGISTRY env var, we don't want to affect any real registries
11285           beyond the one given by this var, and thus we don't set a user
11286           registry to spill to.  So make sure GST_REGISTRY is writable.
11287
11288 2004-03-01  David Schleef  <ds@schleef.org>
11289
11290         * AUTHORS:  Added some names.  Add yourself if you're missing.
11291
11292 2004-03-01  David Schleef  <ds@schleef.org>
11293
11294         * MAINTAINERS: Add
11295
11296 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11297
11298         * configure.ac:
11299           remove whitespace
11300         * docs/gst/tmpl/gstbuffer.sgml:
11301         * docs/gst/tmpl/gstdata.sgml:
11302         * docs/gst/tmpl/gstreamer-unused.sgml:
11303         * docs/gst/tmpl/gstxml.sgml:
11304           doc update
11305         * docs/manuals.mak:
11306           add a FIXME
11307         * docs/pwg/intro-preface.xml:
11308         * docs/pwg/pwg.xml:
11309           remove GNOME
11310         * gst/gst.c: (init_post):
11311           try GST_PLUGIN_PATH paths for the _global_registry first
11312         * gst/gstelement.h:
11313           add the error message as well, otherwise (null) debug info doesn't
11314           make much sense
11315         * tools/gst-register.c: (main):
11316           spill paths to next registry if this registry is not writable
11317         * po/fr.po:
11318         * po/nl.po:
11319           translation updates
11320
11321 2004-03-01  Johan Dahlin  <johan@gnome.org>
11322
11323         * gst/gstbuffer.c (_gst_buffer_initialize): 
11324         * gst/gstdata.c (gst_data_get_type): 
11325         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11326         instead of ref, since some applications that uses GBoxed
11327         routines depends on a function that actually returns a copy.
11328
11329 2004-02-27  Benjamin Otte  <otte@gnome.org>
11330
11331         * gst/gstbuffer.h:
11332           remove gst_buffer_free, use gst_data_unref
11333         * gst/gstdata.c: (gst_data_get_type):
11334           use refcounting in GstData GBoxed registration
11335         * gst/gstdata.h:
11336           remove gst_data_free, use gst_data_unref
11337
11338 2004-02-27  Johan Dahlin  <johan@gnome.org>
11339
11340         * gst/gstdata.c (gst_data_get_type): New function, register
11341         GstData as a GBoxed type.
11342
11343         * gst/gstdata.h (GST_TYPE_DATA): New macro
11344
11345 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11346
11347         * Makefile.am:
11348         * gstreamer.spec.in:
11349           put back RELEASE
11350         * gst/Makefile.am:
11351           clean up non-disting of built files
11352         * testsuite/debug/commandline.c:
11353           test fix for option rename
11354
11355 2004-02-26  David Schleef  <ds@schleef.org>
11356
11357         * configure.ac:  We don't really need glib-2.3.  Also remove
11358         some unneeded checks for library functions.
11359         * gst/Makefile.am:  Instead, we need to not dist files created
11360         by glib-genmarshal.
11361
11362 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         * configure.ac:
11365           bump glib required version to 2.3.0 for g_value_takes_boxed
11366
11367  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11368
11369         * common/m4/gst-docs.m4
11370         change flavour text from enable to disable as enable is our default
11371         closes bug Bug 135304
11372
11373 === release 0.7.5 ===
11374  
11375  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11376  
11377         * NEWS:
11378           instate NEWS file
11379         * Makefile.am:
11380         * gstreamer.spec.in:
11381         * RELEASE:
11382           put back release
11383         * configure.ac:
11384         * docs/random/release:
11385           more updates
11386
11387 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11388
11389         * gst/gsttag.c: (_gst_tag_initialize):
11390         * po/fr.po:
11391         * po/nl.po:
11392           remove hyphen from codec tags
11393
11394 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11395
11396         * gst/parse/Makefile.am:
11397           fix dependency so that a make from a clean build works the first
11398           time
11399
11400 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11401
11402         * docs/random/release:
11403           update release strategy
11404         * po/fr.po:
11405           auto-update po file
11406         * po/nl.po:
11407           update dutch translation
11408
11409 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11410
11411         * docs/manual/debugging.xml:
11412         fix manual for new debugging system
11413
11414 2004-02-25  Andy Wingo  <wingo@pobox.com>
11415
11416         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11417         gst_pad_link_prepare. Please email the list with specific reasons
11418         for reverting.
11419
11420 2004-02-24  Andy Wingo  <wingo@pobox.com>
11421
11422         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11423         invocations.
11424
11425         * gst/schedulers/gstoptimalscheduler.c:
11426         I added a mess of prototypes at the top of the file by way of
11427         documentation. Some of the operations on chains and groups were
11428         re-organized.
11429
11430         (create_group): Added a type argument so if the group is enabled,
11431         the setup_group_scheduler knows what to do.
11432         (group_elements): Added a type argument here, too, to be passed on
11433         to create_group.
11434         (group_element_set_enabled): If an unlinked PLAYING element is
11435         added to a bin, we have to create a new group to hold the element,
11436         and this function will be called before the group is added to the
11437         chain. Thus we have a valid case for group->chain==NULL. Instead
11438         of calling chain_group_set_enabled, just set the flag on the group
11439         (the chain's status will be set when the group is added to it).
11440         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11441         Setup the group scheduler when the group is enabled, not
11442         specifically when an element goes PAUSED->PLAYING. This means
11443         PLAYING elements can be added, linked, and scheduled into a
11444         PLAYING pipeline, as was intended.
11445         (add_to_group): Don't ref the group twice. I don't know when this
11446         double-ref got in here. Removing it has the potential to cause
11447         segfaults if other parts of the scheduler are buggy. If you find
11448         that the scheduler is segfaulting for you, put in an extra ref
11449         here and see if that hacks over the underlying issue. Of course,
11450         then find out what code is unreffing a group it doesn't own...
11451         (create_group): Make the extra refcount floating, and remove it
11452         after adding the element. This means that...
11453         (unref_group): Destroy when the refcount reaches 0, not 1, like
11454         every other refcounted object in the known universe.
11455         (remove_from_group): When a group becomes empty, set it to be not
11456         active, and remove it from its chain. Don't unref it again,
11457         there's no floating reference any more.
11458         (destroy_group): We have to remove the group from the chain in
11459         remove_from_group (rather than here) to break refcounting cycles
11460         (the chain always has a ref on the group). So assert that
11461         group->chain==NULL.
11462         (ref_group_by_count): Removed, it was commented out anyway.
11463         (merge_chains): Use the remove_from_chain and add_to_chain
11464         primitives to do the reparenting, instead of rolling our own
11465         implementation.
11466         (add_to_chain): The first non-disabled group in the chain's group
11467         list will be the entry point for the chain. Because buffers can
11468         accumulate in loop elements' peer bufpens, we preferentially
11469         schedule loop groups before get groups to avoid unnecessary
11470         execution of get-based groups when the bufpens are already full.
11471         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11472         (get_group_schedule_function): Ditto.
11473         (loop_group_schedule_function): Ditto.
11474         (gst_opt_scheduler_loop_wrapper): Ditto.
11475         (gst_opt_scheduler_iterate): Ditto.
11476
11477         I understand the opt scheduler now, yippee!
11478
11479         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11480         (gst_pad_get_name, gst_pad_set_chain_function) 
11481         (gst_pad_set_get_function, gst_pad_set_event_function) 
11482         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11483         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11484         (gst_pad_set_query_function, gst_pad_get_query_types) 
11485         (gst_pad_get_query_types_default) 
11486         (gst_pad_set_internal_link_function) 
11487         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11488         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11489         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11490         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11491         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11492         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11493         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11494         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11495         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11496         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11497         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11498         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11499         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11500         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11501         argument checks, and some doc fixes.
11502
11503         (gst_pad_custom_new_from_template): Um, does anyone
11504         use these functions? Actually make a custom pad instead of a
11505         normal one.
11506         (gst_pad_try_set_caps): Transpose some checks.
11507         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11508         the pad is in negotiation.
11509         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11510         
11511         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11512
11513         * gst/gstelement.h: 
11514         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11515         on the list.
11516
11517 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11518
11519         * gst/gstbin.c: (gst_bin_add):
11520           add error for not being able to add elements
11521
11522 2004-02-22  Julien MOUTTE <julien@moutte.net>
11523
11524         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11525         audio-codec and video-codec.
11526
11527 2004-02-22  Benjamin Otte  <otte@gnome.org>
11528
11529         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11530
11531         * autogen.sh:
11532           replace test -e with test -x for mkinstalldirs to be more portable.
11533           (fixes #134816)
11534
11535 2004-02-22  Benjamin Otte  <otte@gnome.org>
11536
11537         * gst/gstpad.c:
11538           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11539           too noisy
11540         * gst/gsttag.c: (_gst_tag_initialize):
11541         * gst/gsttag.h:
11542           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11543         * libs/gst/control/dparam.c: (gst_dparam_attach):
11544         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11545           check that types for attached dparams match
11546
11547 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11548
11549         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11550         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11551         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11552           fix errors
11553
11554 2004-02-20  Andy Wingo  <wingo@pobox.com>
11555
11556         * gst/gstbin.c:
11557         * gst/gstbuffer.c:
11558         * gst/gstplugin.c:
11559         * gst/registries/gstxmlregistry.c: 
11560         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11561
11562         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11563         (gst_element_add_pad): DEBUG->INFO, some fixes.
11564         (gst_element_get_compatible_pad_template): Just see if the
11565         templates' caps intersect, not if one is a strict subset of the
11566         other. This conforms more to what gst_pad_link_intersect() does.
11567         (gst_element_class_add_pad_template): Don't memcpy the pad
11568         template, just ref it.
11569         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11570
11571         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11572         (gst_pad_link_filtered): Debug changes.
11573         (gst_pad_link_prepare): New function, consolidated from
11574         can_link_filtered and link_filtered.
11575
11576         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11577         look more like that of the functions in gstelement.c
11578
11579         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11580         object, and return the empty string if object is NULL.
11581
11582         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11583         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11584         LOG, not DEBUG. We still get flex info on debug.
11585
11586         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11587         debug string more verbose.
11588         (plugin_times_older_than): DEBUG->LOG.
11589
11590 2004-02-20  Julien MOUTTE <julien@moutte.net>
11591
11592         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11593         will emit found_tag for each stream they demux with the codec.
11594
11595 2004-02-20  Benjamin Otte  <otte@gnome.org>
11596
11597         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11598           copy navigation event correctly. Check freeing tag lists. 
11599         * gst/gstthread.c: (gst_thread_change_state):
11600           don't abort() on state changing mess - it might happen because of
11601           bugs.
11602         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11603           use boxed functions
11604         * gst/gstvalue.h:
11605           fix GST_VALUE_HOLDS_CAPS
11606
11607 2004-02-19  David Schleef  <ds@schleef.org>
11608
11609         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11610         and use it for GST_FUNCTION.  (bug #134750)
11611
11612 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11613
11614         * po/fr.po:
11615         * po/nl.po:
11616           updating translations
11617
11618 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11619
11620         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11621
11622 2004-02-18  kost@imn.htwk-leipzig.de
11623
11624         reviewed by: David Schleef  <ds@schleef.org>
11625
11626         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11627         for libgstcontrol.
11628
11629 2004-02-18  David Schleef  <ds@schleef.org>
11630
11631         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11632         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11633         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11634         * tools/gst-inspect.c: (print_element_info): Support dumping of
11635         double dparam information.
11636
11637 2004-02-17  David Schleef  <ds@schleef.org>
11638
11639         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11640         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11641         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11642         Use GST_TYPE_CAPS in signal prototype.
11643         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11644         Convert GST_TYPE_CAPS to boxed.
11645         * gst/gstelement.c: (gst_element_class_init):
11646         Use GST_TYPE_TAG_LIST in signal prototype.
11647         * gst/gstindex.c: (gst_index_class_init):
11648         * gst/gstindex.h:
11649         Add GST_TYPE_INDEX_ENTRY type.
11650         * gst/gstmarshal.list:
11651         Add necessary marshal types.
11652         * gst/gstpad.c: (gst_real_pad_class_init),
11653         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11654         (gst_pad_recover_caps_error):
11655         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11656         * gst/gststructure.c: (_gst_structure_initialize),
11657         (gst_structure_copy), (_gst_structure_copy_conditional):
11658         * gst/gststructure.h:
11659         Convert GST_TYPE_STRUCTURE to boxed.
11660         * gst/gsttag.c: (gst_tag_list_get_type):
11661         * gst/gsttag.h:
11662         Add GST_TYPE_TAG_LIST type.
11663
11664 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11665
11666         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11667         to what we agreed with david.
11668         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11669
11670 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11671
11672         * po/nl.po: update translation
11673
11674 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11675
11676         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11677           throw an error if spider is trying to play a mime type there is
11678           no decoder for
11679         * po/POTFILES.in:
11680           add gst/autoplug/gstspider.c for translation
11681
11682 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11683
11684         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11685         silently when the pad is negotiating.
11686
11687 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11688
11689         * docs/faq/Makefile.am:
11690           add script to run gstreamer uninstalled 
11691         * docs/faq/faq.xml:
11692         * docs/faq/developing.xml:
11693         * docs/faq/gst-uninstalled:
11694           extract script to run gstreamer uninstalled
11695         * docs/manuals.mak:
11696           add EXTRA_SOURCES variable for Makefile.am's to set to
11697           use additional SOURCE files for the doc build
11698
11699 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11700
11701         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11702
11703 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11704
11705         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11706         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11707         an error was thrown by osssink. Basically a state change failure for
11708         an element in a different scheduling group was considered as
11709         successful, which means that caps nego was going on and weird stuff
11710         happened. Like I wrote in the comment there, if someone wants to
11711         revert that please drop me a mail explaining why because I really see
11712         no point in keeping that broken behaviour there.
11713         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11714         be empty, we then return NULL which will trigger a nice error when 
11715         pulling from the pad.
11716
11717 2004-02-13  David Schleef  <ds@schleef.org>
11718
11719         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11720         (gst_dparam_get_property), (gst_dparam_set_property),
11721         (gst_dparam_do_update_default):
11722         * libs/gst/control/dparam.h:
11723         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11724         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11725         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11726         (gst_dpsmooth_do_update_double):
11727         * libs/gst/control/dparam_smooth.h:
11728         * libs/gst/control/dparammanager.c:
11729         (gst_dpman_inline_direct_update):
11730         Add support for double dparams.
11731
11732 2004-02-13  David Schleef  <ds@schleef.org>
11733
11734         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11735         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11736
11737 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11738
11739         reviewed by: David Schleef  <ds@schleef.org>
11740
11741         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11742         (gst_fdsrc_init), (gst_fdsrc_set_property),
11743         (gst_fdsrc_get_property), (gst_fdsrc_get):
11744         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11745         and sends an EOS event if file descriptor reading times out.
11746
11747 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * configure.ac:
11750           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11751
11752 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * configure.ac: pass required libxml version as argument
11755         (bug reported by Christophe Fergeau)
11756
11757 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11758   
11759         * docs/gst/gstreamer-docs.sgml:
11760         * docs/gst/tmpl/gstxml.sgml:
11761         * docs/libs/gstreamer-libs-docs.sgml:
11762           version API docs
11763
11764 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11765
11766         * gst/gstinfo.c:
11767         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11768         (gst_registry_pool_feature_filter):
11769         * gst/gstthread.c: (gst_thread_class_init):
11770         * gst/gstvalue.c:
11771           add includes exposed by building without libxml
11772         * gst/indexers/Makefile.am:
11773           do not build fileindex when LOADSAVE disabled; we should have
11774           a better libxml check later since fileindex depends on xml, not
11775           LOADSAVE or REGISTRY
11776         * libs/gst/control/Makefile.am:
11777           link with m
11778         * tools/Makefile.am:
11779           fix wrong source code for gst-xmlinspect
11780
11781 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11782
11783         * configure.ac:
11784           fix gcov help output
11785           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11786         * docs/random/release:
11787           some updated releasing notes
11788         * gstreamer.spec.in:
11789           more updates
11790
11791 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11792
11793         * docs/faq/faq.xml:
11794         * docs/manual/manual.xml:
11795         * docs/pwg/pwg.xml:
11796         * docs/pwg/titlepage.xml:
11797           put version in documentation
11798
11799 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11800
11801         * tools/Makefile.am: fix man page installation
11802
11803 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11804
11805         * configure.ac:
11806           don't check for libxml when load/save and registry disabled (#105844)
11807         * gstreamer.spec.in:
11808           sync with fedora candidate spec
11809
11810 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11811
11812         * po/fr.po:
11813         * po/nl.po:
11814           replace multidisksrc with multifilesrc
11815
11816 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11817
11818         * po/POTFILES.in:
11819           update to multidisksrc => multifilesrc file renaming (#134145)
11820
11821 2004-02-11  David Schleef  <ds@schleef.org>
11822
11823         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11824         * docs/gst/tmpl/gstpadtemplate.sgml: same
11825         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11826         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11827         fixing dance.
11828         * gst/gstutils.c: Remove disabled code that uses GstProps.
11829         * gst/registries/gstxmlregistry.h: same
11830         * docs/random/ds/0.9-suggested-changes: random notes
11831
11832 2004-02-11  kost@imn.htwk-leipzig.de
11833
11834         reviewed by: David Schleef  <ds@schleef.org>
11835
11836         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11837         initialisation of clock (bug #134128)
11838
11839 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11840
11841         * configure.ac:
11842         * gst/elements/Makefile.am:
11843         * gst/elements/gstelements.c:
11844         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11845         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11846         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11847         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11848         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11849         * gst/elements/gstmultifilesrc.h:
11850           rename multidisksrc to multifilesrc (part of #122200)
11851
11852 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11853
11854         * docs/manuals.mak:
11855           fix automake complaints
11856         * gst-element-check.m4:
11857           fix unquotedness
11858
11859 2004-02-11  David Schleef  <ds@schleef.org>
11860
11861         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11862         * gst/gstatomic_impl.h: Disable sparc implementation.
11863
11864 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11865
11866         * gst-element-check.m4:
11867           fix underquoted macros as reported by automake 1.8.x (#133800)
11868         * configure.ac:
11869           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11870           by autopoint (fixes #132996)
11871
11872 2004-02-10  Andy Wingo  <wingo@pobox.com>
11873
11874         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11875         way to do inheritance.
11876         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11877         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11878         Routine docs.
11879         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11880         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11881         doc.
11882         (gst_pad_unlink, gst_pad_is_linked): Docs.
11883         (gst_pad_renegotiate): A brief description of capsnego.
11884         (gst_pad_try_set_caps): Document.
11885         (gst_pad_try_set_caps_nonfixed): Document.
11886         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11887         (gst_pad_set_parent): Deprecated (although not out of the API).
11888         (gst_pad_get_parent): Deprecated, although many plugins use this.
11889         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11890         are private and will go away in 0.9.
11891         (gst_pad_perform_negotiate): Doc.
11892         (gst_pad_link_unnegotiate): I think this is meant to be static.
11893         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11894         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11895         (gst_pad_get_peer): Doc updates.
11896         (gst_pad_caps_change_notify): Doc.
11897         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11898         (gst_ghost_pad_new): Doc fixes.
11899
11900         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11901         (gst_object_check_uniqueness): 
11902
11903         * gst/gstelement.c (gst_element_add_pad) 
11904         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11905         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11906         (gst_element_get_static_pad, gst_element_get_pad_list) 
11907         (gst_element_class_get_pad_template_list) 
11908         (gst_element_class_get_pad_template): Work on the docs.
11909         (gst_element_get_pad_template_list): Uses the class method.
11910         (gst_element_get_compatible_pad_template): Docs, and consolidate
11911         some test conditions. 
11912         (gst_element_get_pad_from_template): New static function.
11913         (gst_element_request_compatible_pad): Docs, and work with
11914         non-request compatible templates. 
11915         (gst_element_get_compatible_pad_filtered): Docs and remove
11916         redundant checks.
11917         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11918         (gst_element_link_filtered, gst_element_link_many) 
11919         (gst_element_link, gst_element_link_pads) 
11920         (gst_element_unlink_many): Docs.
11921
11922 2004-02-05  Andy Wingo  <wingo@pobox.com>
11923
11924         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11925         s/pointer/boxed/.
11926
11927         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11928
11929         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11930         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11931         with the type=GST_TYPE_CAPS. This allows language bindings to know
11932         what kind of data they're dealing with.
11933
11934         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11935         to NULL when g_value_init is called. GstCaps, which rolls its own
11936         type implementation, now does the same instead of allocating empty
11937         caps.
11938         (_gst_caps_initialize, _gst_caps_collect_value,
11939         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11940         table methods. This allows G_VALUE_COLLECT to work.
11941
11942 2004-02-05  Andy Wingo  <wingo@pobox.com>
11943
11944         * configure.ac:
11945         * testsuite/Makefile.am (SUBDIRS): 
11946         * testsuite/ghostpads/Makefile.am: 
11947         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11948
11949         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11950         These two routines are the only ones that set
11951         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11952         pad template. They should be made static, depending on ABI needs.
11953         (gst_real_pad_dispose): Handle the case of ghost pads without a
11954         parent. Assert after dealing with ghost pads that the ghost pad
11955         list is empty.
11956         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11957         set after creation.
11958         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11959         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11960         functions. set_property will call add_ghost_pad/remove_ghost_pad
11961         as appropriate.
11962         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11963
11964         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11965         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11966         (gst_element_remove_pad): Handle ghost pads as well.
11967         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11968         depending on API-stability needs).
11969
11970 2004-02-05  Andy Wingo  <wingo@pobox.com>
11971
11972         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11973         of course they're const
11974
11975 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11976
11977         * tools/Makefile.am:
11978         * tools/gst-feedback:
11979         * tools/gst-feedback-0.7:
11980           make gst-feedback versioned too for consistency
11981
11982 2004-02-11  David Schleef  <ds@schleef.org>
11983
11984         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11985         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11986
11987 2004-02-10  Julien MOUTTE <julien@moutte.net>
11988
11989         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11990         the structure does not contain a valid tag list. Adding a safety check
11991         to remove a noisy warning in that case.
11992
11993 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11994
11995         * gst/gst.c: fix name to be in line with others
11996
11997 2004-02-09  Julien MOUTTE <julien@moutte.net>
11998
11999         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12000         not shout that loud when len is 0. Just return 0 silently.
12001
12002 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12003
12004         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12005         because data_unref has one and I prefer the debug to be symetric.
12006         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12007         were refed when added to the queue and unrefed only once when the queue
12008         was flushed. Now the flush handler unref the buffers two times : first
12009         unref for the ref added when pushing in the queue's tail and second
12010         unref to destroy the flushed buffer.
12011
12012 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12013
12014         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12015
12016 2004-02-06  David Schleef  <ds@schleef.org>
12017
12018         * docs/random/ds/0.9-suggested-changes: Random ramblings
12019         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12020         to int before printing.
12021         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12022         * gst/parse/parse.l: same.  See bug #129600
12023
12024 2004-02-06  David Schleef  <ds@schleef.org>
12025
12026         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12027         (gst_index_add_entry), (gst_index_add_associationv),
12028         (gst_index_add_association): Add gst_index_add_associationv()
12029         and clean up gst_index_add_association(). #127133
12030
12031 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12032
12033         * autogen.sh: check out common with right tag if CVS/Tag exists
12034
12035 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * testsuite/ghostpads/ghostpads.c: (main):
12038           fix testsuite from segfaulting
12039
12040 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12041
12042         * Makefile.am: add release target
12043         * configure.ac: bump nano to 1
12044         * docs/random/release:
12045
12046 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12047
12048         * gst/gstcaps.h:
12049         * gst/gstelement.c: (gst_element_base_class_init),
12050         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12051         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12052         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12053         (gst_real_pad_dispose):
12054         * gst/gststructure.c: (gst_structure_free),
12055         (gst_structure_from_string):
12056           put reverted patch back in
12057         * gst/gstelement.c: (gst_element_remove_pad):
12058           free explicit caps if they're set
12059         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12060           copy the structure when fixating
12061
12062 2004-02-05  David Schleef  <ds@schleef.org>
12063
12064         * gst/gstmarshal.list:
12065         * gst/gstpad.c: (gst_real_pad_class_init),
12066         (_gst_real_pad_fixate_accumulator):
12067         Revert POINTER->BOXED change in signal marshaller.
12068
12069 === release 0.7.4 ===
12070                                                                                 
12071 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12072                                                                                 
12073         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12074         * configure.ac: changed for release
12075
12076 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12077
12078         * gstreamer.spec.in:
12079           bump required version of gtk-doc
12080
12081 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12082
12083         * gst/gstcaps.h:
12084         * gst/gstelement.c: (gst_element_base_class_init),
12085         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12086         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12087         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12088         (gst_real_pad_dispose):
12089         * gst/gststructure.c: (gst_structure_free),
12090         (gst_structure_from_string):
12091           revert patch that breaks applications, reapply after release
12092           to get this fixed properly
12093
12094 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12095
12096         * gst/gsttag.c: (_gst_tag_initialize):
12097         * gst/gsttag.h:
12098           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12099
12100 2004-02-04  David Schleef  <ds@schleef.org>
12101
12102         Fix some memleaks:
12103         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12104         (gst_spider_plug_from_srcpad):
12105         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12106
12107 2004-02-04  David Schleef  <ds@schleef.org>
12108
12109         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12110         a GstRealPad before accessing its structure members.
12111
12112 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12113
12114         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12115         (gst_clock_get_speed):
12116         * gst/gstclock.h:
12117           reset padding, remove unused fields
12118
12119 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12120
12121         * gst/autoplug/gstspideridentity.c:
12122         (gst_spider_identity_sink_loop_type_finding):
12123           use get_allowed_caps, not get_caps (fixes #132519)
12124         * gst/elements/gsttypefind.c: (stop_typefinding):
12125           use correct order when sending buffers and seeking
12126
12127 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12128
12129         * configure.ac:
12130         * gst/gstelement.h:
12131         * gst/gstpad.h:
12132         * gst/gstqueue.h:
12133           upgrade libtool CURRENT, reset padding
12134
12135 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12136
12137         * configure.ac:
12138           bump to prerelease
12139           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12140
12141 2004-02-04  David Schleef  <ds@schleef.org>
12142
12143         * docs/random/ds/0.9-suggested-changes: random notes
12144         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12145         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12146         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12147         expansion.
12148         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12149         (gst_filesink_get_query_types): same
12150         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12151         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12152         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12153         to use new GST_PTR_FORMAT.
12154         * gst/gstelement.h: deprecate function factory macros
12155         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12156         These are our last variadic macros that can't be replaced with
12157         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12158         attempting to deprecate gst_element_clock_wait().
12159         * gst/gstevent.h: same
12160         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12161         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12162         * gst/gstpad.h: deprecate function factory macros similar to above.
12163
12164 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12165
12166         * configure.ac:
12167         * tools/Makefile.am:
12168         * tools/gst-run.c: (popt_callback), (hash_print_key),
12169         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12170         (get_candidates), (main):
12171           add new source file to generate non-versioned wrapper binaries
12172           for our tools.
12173
12174 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12175
12176         * gst/gstevent.c: (_gst_event_free):
12177           actually break; inside the switch statement
12178         * gst/parse/grammar.y:
12179           fix memleak where GValues weren't unset
12180
12181 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12182
12183         * gst/gststructure.c: (gst_structure_from_string):
12184           fix huge memleak
12185         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12186         (new_entry), (gst_type_find_element_chain):
12187         * gst/gstelement.c: (gst_element_base_class_init),
12188         (gst_element_class_set_details):
12189         * gst/gstpad.c: (gst_pad_can_link_filtered):
12190           fix smaller memleaks
12191         * gst/gstpad.c: (gst_real_pad_dispose):
12192           check that explicit caps are gone
12193         * gst/gststructure.c: (gst_structure_free):
12194           actually free the structure
12195         * gst/gstelement.c: (gst_element_clear_pad_caps):
12196           unset explicit caps
12197
12198 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12199
12200         * tools/Makefile.am:
12201           use AM_CFLAGS since all the CFLAGS are the same
12202           use AM_LDFAGS
12203
12204 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12205
12206         * docs/manual/gnome.xml:
12207           expand example a little
12208         * gst/gst.c: (gst_init_with_popt_table),
12209         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12210           make sure popt option displays are done with right textdomain
12211           use GstPoptOption type
12212         * gst/gst.h:
12213           create GstPoptOption type
12214
12215 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12216
12217         * gst/gsterror.c: (_gst_stream_errors_init):
12218         * gst/gsterror.h:
12219           adding error type for no codec
12220         * po/POTFILES.in:
12221           add gst-inspect
12222         * po/nl.po:
12223           update dutch translation
12224         * tools/gst-inspect.c: (print_element_list), (main):
12225           do proper internationalization
12226         * tools/gst-launch.c: (idle_func):
12227           remove commented out function call
12228
12229 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12230
12231         * docs/README:
12232           add some error fixing notes
12233         * docs/gst/gstreamer-sections.txt:
12234           remove double entries
12235         * docs/gst/tmpl/gstbin.sgml:
12236         * docs/gst/tmpl/gstclock.sgml:
12237           remove override
12238         * docs/gst/tmpl/gstelement.sgml:
12239         * docs/gst/tmpl/gstindex.sgml:
12240         * docs/gst/tmpl/gstobject.sgml:
12241         * docs/gst/tmpl/gstpadtemplate.sgml:
12242         * docs/gst/tmpl/gstreamer-unused.sgml:
12243         * docs/gst/tmpl/gsttag.sgml:
12244         * docs/gst/tmpl/gstthread.sgml:
12245         * docs/gst/tmpl/gstxml.sgml:
12246         * gst/gsttag.h:
12247           sync header prototypes with c decls
12248         * gst/gsttaginterface.c:
12249           fix doc headers
12250
12251 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12252
12253         * gst/parse/Makefile.am:
12254         * gst/gstobject.h:
12255           get rid of gstmarshal.h dependency. It's not needed.
12256         * gst/gst.h:
12257         * gst/elements/gstfakesink.c:
12258         * gst/elements/gstfakesrc.c:
12259         * gst/elements/gstidentity.c:
12260         * gst/gstbin.c:
12261         * gst/gstelement.c:
12262         * gst/gstindex.c:
12263         * gst/gstobject.c:
12264         * gst/gstpad.c:
12265         * gst/gstthread.c:
12266         * gst/gstxml.c:
12267         * libs/gst/control/dparam.c:
12268         * libs/gst/control/dparammanager.c:
12269           include gstmarshal.h.
12270         Fixes #132045
12271
12272 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12273
12274         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12275         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12276         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12277         * gst/elements/gstfilesrc.h:
12278           don't ref the filesrc when creating mmaped buffers. Don't keep a
12279           list of not-yet-destroyed buffers.
12280         * gst/gstbuffer.h:
12281           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12282
12283 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12284
12285         * gst/gst.c: (init_pre):
12286           remove textdomain
12287
12288 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12289
12290         * docs/pwg/advanced-events.xml:
12291         * docs/pwg/advanced-scheduling.xml:
12292         * docs/pwg/intro-basics.xml:
12293         * docs/pwg/other-manager.xml:
12294         * docs/pwg/other-nton.xml:
12295         * docs/pwg/other-ntoone.xml:
12296         * docs/pwg/other-oneton.xml:
12297         * docs/pwg/pwg.xml:
12298           All sort of documentation... Forgot what. Point is that I want this
12299           in before I leave. The 'other-*' will be the last section and will
12300           explain issues specific to these type of elements.
12301
12302 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12303
12304         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12305         (gst_filesrc_get_read):
12306           set all the values on buffers that we can
12307
12308 2004-02-02  David Schleef  <ds@schleef.org>
12309
12310         Change usage of isblah() to g_ascii_isblah() to be more locale
12311         independent.  (#133076)
12312         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12313         * gst/gstutils.c:
12314         * gst/parse/parse.l:
12315
12316 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12317
12318         reviewed by: David Schleef  <ds@schleef.org>
12319
12320         Fix memory leaks:
12321         * gst/gstcaps.c: (gst_caps_to_string):
12322         * gst/registries/gstxmlregistry.c:
12323         (gst_xml_registry_add_path_list_func),
12324         (gst_xml_registry_parse_padtemplate):
12325
12326 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12327
12328         * gst/gstelement.c: (gst_element_default_error):
12329           suffix error messages with period
12330
12331 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12332
12333         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12334         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12335         * gst/gsterror.c: (gst_error_get_message):
12336           Suffix with dots
12337         * po/fr.po:
12338         * po/nl.po:
12339           Update translation files
12340
12341 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         * gst/autoplug/gstspideridentity.c:
12344         (gst_spider_identity_sink_loop_type_finding):
12345         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12346         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12347         (gst_filesink_close_file), (gst_filesink_handle_event),
12348         (gst_filesink_chain):
12349         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12350         (gst_filesrc_get_read), (gst_filesrc_open_file):
12351         * gst/elements/gstidentity.c: (gst_identity_chain):
12352         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12353         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12354         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12355         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12356         * gst/gsterror.c: (_gst_core_errors_init),
12357         (_gst_library_errors_init), (_gst_resource_errors_init),
12358         (_gst_stream_errors_init), (gst_error_get_message):
12359         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12360         (gst_pad_recover_caps_error), (gst_pad_pull):
12361         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12362         * gst/schedulers/gstbasicscheduler.c:
12363         (gst_basic_scheduler_chainhandler_proxy),
12364         (gst_basic_scheduler_gethandler_proxy),
12365         (gst_basic_scheduler_cothreaded_chain):
12366           Suffix error messages with period.
12367           Use (NULL) instead of NULL
12368
12369 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * docs/gst/tmpl/gstelement.sgml:
12372         * docs/gst/tmpl/gstxml.sgml:
12373         * gst/gstelement.c: (gst_element_error_full):
12374           add element path to error
12375
12376 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12377
12378         * docs/random/mimetypes:
12379           update raw int/float info
12380         * gst/gsttag.c: (_gst_tag_initialize):
12381         * gst/gsttag.h:
12382           add GST_TAG_ENCODER
12383
12384 2004-01-30  David Schleef  <ds@schleef.org>
12385
12386         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12387           missing (#132991)
12388
12389 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12390
12391         reviewed by Benjamin Otte 
12392           parts of the patch submitted in bug #113913
12393
12394         * configure.ac:
12395           use AC_C_INLINE. Use = instead of == with test
12396         * examples/plugins/example.c:
12397         * gst/autoplug/gstspideridentity.c:
12398         * gst/elements/gstfdsrc.c:
12399         * gst/elements/gstfilesrc.c:
12400         * gst/elements/gstidentity.c:
12401         * gst/elements/gstmultidisksrc.c:
12402         * gst/elements/gststatistics.c:
12403         * gst/gstelement.c:
12404         * gst/gstobject.c:
12405         * gst/gstpad.c:
12406         * gst/gstpipeline.c:
12407         * gst/gstthread.c:
12408           don't end enums with a comma
12409         * gst/gstindex.c: (gst_index_compare_func):
12410           do explicit casting to gint
12411         * gst/gsttrace.c: (gst_trace_text_flush):
12412           #define strsize as a macro
12413
12414 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12415
12416         * docs/README:
12417         * docs/gst/gstreamer-docs.sgml:
12418         * docs/gst/gstreamer-sections.txt:
12419         * docs/gst/tmpl/gstelement.sgml:
12420         * docs/gst/tmpl/gsterror.sgml:
12421         * docs/gst/tmpl/gstinterface.sgml:
12422         * docs/gst/tmpl/gstreamer-unused.sgml:
12423         * docs/gst/tmpl/gststructure.sgml:
12424         * docs/gst/tmpl/gsttag.sgml:
12425         * docs/gst/tmpl/gsttaginterface.sgml:
12426         * docs/gst/tmpl/gstvalue.sgml:
12427         make sure all API ends up in the built docs
12428         * gst/gstinterface.c:
12429         * gst/gststructure.c: (gst_structure_id_set_value),
12430         (gst_structure_set_value), (gst_structure_id_get_value):
12431         * gst/gststructure.h:
12432         * gst/gstvalue.h:
12433         sync .h with .c declarations
12434
12435 2004-01-30  Julien Moutte  <julien@moutte.net>
12436
12437         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12438         Ronald will fix riffread.
12439
12440 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12441
12442         * docs/pwg/advanced-interfaces.xml:
12443           Added tuner interface docs.
12444
12445 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12446
12447         * docs/random/mimetypes:
12448           correct Theora information
12449         * gst/gstelement.h:
12450           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12451
12452 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12453
12454         * gst/gstelement.c: (gst_element_error_full):
12455         * gst/gstelement.h:
12456           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12457
12458 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12459
12460         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12461         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12462         again and even before DISCONT.
12463         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12464         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12465         bytestream so that it's not stopping to fill the bytestream if events
12466         different than EOS or DISCONT are received. Instead it process them so
12467         that they go downstream.
12468
12469 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * docs/gst/tmpl/gstelement.sgml:
12472         * docs/gst/tmpl/gstreamer-unused.sgml:
12473         * docs/gst/tmpl/gstxml.sgml:
12474         * gst/autoplug/gstspideridentity.c:
12475         (gst_spider_identity_sink_loop_type_finding):
12476         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12477         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12478         (gst_filesink_close_file), (gst_filesink_handle_event),
12479         (gst_filesink_chain):
12480         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12481         (gst_filesrc_get_read), (gst_filesrc_open_file):
12482         * gst/elements/gstidentity.c: (gst_identity_chain):
12483         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12484         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12485         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12486         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12487         * gst/gstelement.h:
12488         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12489         (gst_pad_recover_caps_error), (gst_pad_pull):
12490         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12491         * gst/schedulers/gstbasicscheduler.c:
12492         (gst_basic_scheduler_chainhandler_proxy),
12493         (gst_basic_scheduler_gethandler_proxy),
12494         (gst_basic_scheduler_cothreaded_chain):
12495           gst_element_error -> GST_ELEMENT_ERROR
12496
12497 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * docs/Makefile.am:
12500         * docs/gst/tmpl/gstelement.sgml:
12501         * docs/gst/tmpl/gstxml.sgml:
12502         * docs/manuals.mak:
12503         * docs/pwg/advanced-request.xml:
12504         * docs/pwg/advanced-scheduling.xml:
12505         * docs/pwg/advanced-tagging.xml:
12506           fix non-validating docbook using CDATA
12507           make sure make check-local gets run first to check if it validates
12508
12509 2004-01-29  Julien MOUTTE <julien@moutte.net>
12510
12511         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12512         handling (up and downstream).
12513         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12514         my_filter thing.
12515
12516 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12517
12518         * docs/pwg/advanced-tagging.xml:
12519           Add docs about tag writing.
12520
12521 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12522
12523         * docs/pwg/advanced-tagging.xml:
12524           Add a part about tag reading and application signalling... Tag
12525           writing still needs to be documented.
12526         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12527           We can set file locations in READY, too.
12528
12529 2004-01-29  Julien MOUTTE <julien@moutte.net>
12530
12531         * docs/random/ds/element-checklist: Adding some notes about src
12532         events.
12533
12534 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12535
12536         * docs/random/mimetypes:
12537           Update docs to point to correct elements for various mimetypes, and
12538           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12539           <stephane.loeuillet@tiscali.fr>.
12540
12541 2004-01-28  David Schleef  <ds@schleef.org>
12542
12543         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12544
12545 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12546
12547         * docs/random/mimetypes:
12548           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12549           undefined"
12550         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12551           make it only work in NULL.
12552         * gst/gstcaps.c:
12553           don't posion NULL caps
12554         * gst/gstelement.c: (gst_element_set_time):
12555           add debugging statement
12556         * gst/gstelement.c: (gst_element_emit_found_tag),
12557         (gst_element_found_tag_func), (gst_element_found_tags):
12558         * gst/gstelement.h:
12559           These functions take const taglists
12560         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12561           fix memleak
12562         * gst/gstpad.c: (gst_pad_event_default):
12563           make more effort on handling discont and clocks, g_warn if everything
12564           fails
12565         * gst/gststructure.c: (gst_structure_remove_fields),
12566         (gst_structure_remove_fields_valist):
12567         * gst/gststructure.h:
12568           add gst_structure_remove_fields(_valist)
12569         * gst/gsttag.c:
12570           fix doc glitch
12571
12572 2004-01-28  David Schleef  <ds@schleef.org>
12573
12574         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12575         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12576         Fix memory leakage of gst_caps_to_string().
12577
12578         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12579         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12580         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12581         (gst_spider_identity_sink_loop_type_finding):
12582         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12583         (find_suggest):
12584         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12585         (gst_pad_set_explicit_caps):
12586         * gst/parse/grammar.y:
12587
12588 2004-01-28  David Schleef  <ds@schleef.org>
12589
12590         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12591         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12592         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12593         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12594         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12595         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12596         (gst_debug_log_default), (_gst_info_printf_extension),
12597         (_gst_info_printf_extension_arginfo):  Add printf extension.
12598         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12599         * gst/gststructure.c: (gst_structure_to_string),
12600         (_gst_structure_parse_value): Use gst_value_deserialize() and
12601         remove old code.
12602         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12603         (gst_value_deserialize_boolean), (gst_strtoi),
12604         (gst_value_deserialize_int), (gst_value_deserialize_double),
12605         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12606         a bunch of deserialize functions and gst_value_deserialize.
12607         * gst/gstvalue.h: er, _de_serialize, not unserialize
12608         * testsuite/caps/string-conversions.c: (main): We don't currently
12609         handle (float) in caps, so convert these to (double).
12610         * testsuite/debug/Makefile.am: Add new test for the printf extension
12611         * testsuite/debug/printf_extension.c: (main): same
12612
12613 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12614
12615         * docs/random/company/time:
12616           Add some docs about clocking and time
12617
12618 2004-01-28  Julien MOUTTE <julien@moutte.net>
12619
12620         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12621
12622 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * docs/pwg/advanced-clock.xml:
12625         * docs/pwg/advanced-dparams.xml:
12626         * docs/pwg/advanced-events.xml:
12627         * docs/pwg/advanced-interfaces.xml:
12628         * docs/pwg/advanced-midi.xml:
12629         * docs/pwg/advanced-request.xml:
12630         * docs/pwg/advanced-scheduling.xml:
12631         * docs/pwg/advanced-tagging.xml:
12632         * docs/pwg/advanced-types.xml:
12633         * docs/pwg/appendix-checklist.xml:
12634         * docs/pwg/building-boiler.xml:
12635         * docs/pwg/building-chainfn.xml:
12636         * docs/pwg/building-filterfactory.xml:
12637         * docs/pwg/building-pads.xml:
12638         * docs/pwg/building-props.xml:
12639         * docs/pwg/building-signals.xml:
12640         * docs/pwg/building-state.xml:
12641         * docs/pwg/building-testapp.xml:
12642         * docs/pwg/intro-basics.xml:
12643         * docs/pwg/intro-preface.xml:
12644         * docs/pwg/other-autoplugger.xml:
12645         * docs/pwg/other-sink.xml:
12646         * docs/pwg/other-source.xml:
12647         * docs/pwg/titlepage.xml:
12648           fix up id's
12649
12650 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12651
12652         * docs/95NonPath:
12653         * docs/HACKING:
12654         * docs/README:
12655         * docs/building-the-docs-on-debian:
12656           collect relevant bits of doc info
12657
12658 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12659
12660         * docs/pwg/advanced_tagging.xml:
12661           Half-assed commit so Thomas can re-arrange document IDs here to be
12662           consistent, too.
12663
12664 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12665
12666         * docs/manual/autoplugging.xml:
12667         * docs/manual/bins-api.xml:
12668         * docs/manual/bins.xml:
12669         * docs/manual/buffers-api.xml:
12670         * docs/manual/buffers.xml:
12671         * docs/manual/clocks.xml:
12672         * docs/manual/components.xml:
12673         * docs/manual/cothreads.xml:
12674         * docs/manual/debugging.xml:
12675         * docs/manual/dparams-app.xml:
12676         * docs/manual/dynamic.xml:
12677         * docs/manual/elements-api.xml:
12678         * docs/manual/elements.xml:
12679         * docs/manual/factories.xml:
12680         * docs/manual/gnome.xml:
12681         * docs/manual/goals.xml:
12682         * docs/manual/helloworld.xml:
12683         * docs/manual/helloworld2.xml:
12684         * docs/manual/init-api.xml:
12685         * docs/manual/intro.xml:
12686         * docs/manual/links-api.xml:
12687         * docs/manual/links.xml:
12688         * docs/manual/manual.xml:
12689         * docs/manual/motivation.xml:
12690         * docs/manual/pads-api.xml:
12691         * docs/manual/pads.xml:
12692         * docs/manual/plugins-api.xml:
12693         * docs/manual/plugins.xml:
12694         * docs/manual/programs.xml:
12695         * docs/manual/queues.xml:
12696         * docs/manual/quotes.xml:
12697         * docs/manual/schedulers.xml:
12698         * docs/manual/states-api.xml:
12699         * docs/manual/states.xml:
12700         * docs/manual/threads.xml:
12701         * docs/manual/typedetection.xml:
12702         * docs/manual/xml.xml:
12703           use chapter, part, section or misc as id starts for all bits
12704
12705 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12706
12707         * docs/gst/gstreamer-sections.txt:
12708           Fix up TITLE of the sections
12709
12710 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12711
12712         * docs/pwg/advanced_interfaces.xml:
12713           Add documentation on propertyprobing.
12714         * docs/pwg/advanced_events.xml:
12715         * docs/pwg/advanced_tagging.xml:
12716         * docs/pwg/building_boiler.xml:
12717         * docs/pwg/building_filterfactory.xml:
12718         * docs/pwg/pwg.xml:
12719           Move filterfactory and tagging into their own chapter, add a chapter
12720           on events. all these are empty placeholders that will be filled in
12721           some day.
12722
12723 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12724
12725         * docs/pwg/advanced_interfaces.xml:
12726           Docs for mixer interface. Also a check for website uploading.
12727
12728 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12729
12730         * docs/HACKING:
12731         * docs/Makefile.am:
12732         * docs/faq/Makefile.am:
12733         * docs/gst/Makefile.am:
12734         * docs/gst/tmpl/gstelement.sgml:
12735         * docs/gst/tmpl/gstplugin.sgml:
12736         * docs/gst/tmpl/gstreamer-unused.sgml:
12737         * docs/libs/Makefile.am:
12738         * docs/manual/Makefile.am:
12739         * docs/manuals.mak:
12740         * docs/pwg/Makefile.am:
12741         * docs/upload.mak:
12742           Separate out upload target and make it similar for
12743           both docbook and gtk-doc docs
12744
12745 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12746
12747         * docs/manuals.mak:
12748           Fix upload target to work with freedesktop
12749
12750 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12751
12752         * docs/pwg/advanced_types.xml:
12753           Add notes on creating your own types.
12754         * docs/pwg/building_boiler.xml:
12755         * docs/pwg/building_pads.xml:
12756         * docs/pwg/building_state.xml:
12757           Add some stuff about how to retrieve values from structures, how
12758           that relates to types and change layout slightly again to be almost
12759           perfect.
12760
12761 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12762
12763         * docs/pwg/advanced_dparams.xml:
12764         * docs/pwg/advanced_scheduling.xml:
12765           Change index layout slightly.
12766
12767 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12768
12769         * docs/pwg/advanced_clock.xml:
12770         * docs/pwg/advanced_interfaces.xml:
12771         * docs/pwg/advanced_midi.xml:
12772           General placeholders for now.
12773         * docs/pwg/advanced_request.xml:
12774           Explanation about sometimes and request pads.
12775         * docs/pwg/advanced_scheduling.xml:
12776           Concept of bytestream, loopfunctions and schedulers.
12777         * docs/pwg/building_boiler.xml:
12778           Add something about plugin-init.
12779
12780 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12781
12782         * docs/pwg/building_pads.xml:
12783           Fix broken docbook
12784
12785 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12786
12787         * docs/pwg/advanced_interfaces.xml:
12788         * docs/pwg/pwg.xml:
12789           Add as a placeholder for future filling-in.
12790         * docs/pwg/basics_autoplugging.xml:
12791         * docs/pwg/basics_buffers.xml:
12792         * docs/pwg/basics_elements.xml:
12793         * docs/pwg/basics_events.xml:
12794         * docs/pwg/basics_plugins.xml:
12795         * docs/pwg/basics_types.xml:
12796           Remove, because unused (this is all in intro_basics.xml).
12797         * docs/pwg/building_signals.xml:
12798           Short intro to signals + reference to GObject docs - we really
12799           shouldn't go into these sort of things to deply because we don't
12800           use them that extensively anyway.
12801         * docs/pwg/building_state.xml:
12802           Explanation of states. Benjamin, please check.
12803         * docs/pwg/building_testapp.xml:
12804           Put everything in one page - putting only a few lines of content
12805           per page doesn't really make sense.
12806
12807           Time to get into the advanced topics. ;).
12808
12809 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12810
12811         * docs/pwg/advanced_types.xml:
12812           Finish documenting the current state of mimetypes.
12813         * docs/pwg/building_boiler.xml:
12814         * docs/pwg/building_chainfn.xml:
12815         * docs/pwg/building_pads.xml:
12816         * docs/pwg/building_props.xml:
12817         * docs/pwg/building_testapp.xml:
12818           Start documenting the "how to build a simple audio filter" part
12819           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12820           states and (maybe?) a short introduction to capsnego in the chapter
12821           on pads (building_pads.xml). Capsnego should probably be explained
12822           fully in advanced_capsnego.xml or so.
12823
12824 2004-01-26  David Schleef  <ds@schleef.org>
12825
12826         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12827         * gst/gstpad.h: Add new function to allow element to (somewhat)
12828         specify non-fixed caps on a pad.
12829         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12830         that I added a few weeks ago.
12831
12832 2004-01-26  David Schleef  <ds@schleef.org>
12833
12834         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12835           making try_set_caps() work with non-fixed caps.
12836
12837 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12838
12839         * docs/pwg/advanced_types.xml:
12840         * docs/pwg/intro_basics.xml:
12841         * docs/pwg/intro_preface.xml:
12842         * docs/pwg/pwg.xml:
12843         * docs/pwg/titlepage.xml:
12844           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12845           in here (docs/random/mimetypes), and will from there on work on both
12846           updating outdated parts and adding missing parts.
12847           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12848
12849 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12850
12851         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12852           policy is set
12853
12854 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12855
12856         * gst/gstelement.h:
12857           remove gst_element_factory_get_version. It doesn't exist anymore.
12858         * gst/gstplugin.c:
12859         * gst/gstplugin.h:
12860           remove gst_plugin_set_name and change gst_plugin_get_longname to
12861           gst_plugin_get_description to match code.
12862         * gst/gsterror.h:
12863           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12864         * gst/gstpad.c: (gst_pad_try_set_caps):
12865           make it work with nonfixed caps.
12866           Note that even in the nonfixed case the link function of the pad
12867           that tries to set caps isn't called.
12868
12869 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12870
12871         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12872           fix bug where buffer was not assembled correctly
12873         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12874           silence by default
12875         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12876           only seek if there's no more buffers that could work without seeking
12877
12878 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12879
12880         * gst/gsttag.c: (_gst_tag_initialize):
12881         * gst/gsttag.h:
12882           Add application tag (for encoding/muxing app).
12883
12884 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12885
12886         * autogen.sh:
12887           make autopoint force, and libtoolize not copy
12888         * common/m4/as-docbook.m4:
12889           added docbook xml catalog setup check
12890         * common/m4/gst-doc.m4:
12891           use docbook check
12892
12893 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12894
12895         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12896         * gst/gsttag.h:
12897           add GstTagFlag
12898
12899 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12900
12901         * docs/gst/gstreamer-sections.txt:
12902         * docs/gst/tmpl/gst.sgml:
12903         * docs/gst/tmpl/gstbuffer.sgml:
12904         * docs/gst/tmpl/gstclock.sgml:
12905         * docs/gst/tmpl/gstelement.sgml:
12906         * docs/gst/tmpl/gstreamer-unused.sgml:
12907         * docs/gst/tmpl/gstxml.sgml:
12908           sync latest API changes to docs
12909
12910 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12911
12912         * gst/gstpluginfeature.c:
12913           fix doc snippet
12914         * tools/gst-inspect.c: (print_element_list):
12915           fix output of typefind
12916           add GPL header
12917         * tools/gst-launch.c:
12918           add GPL header
12919
12920 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12921
12922         * gst/elements/Makefile.am:
12923         * gst/elements/gstelements.c:
12924         * gst/elements/gsttypefindelement.c:
12925         * gst/elements/gsttypefindelement.h:
12926         * po/POTFILES.in:
12927         * po/fr.po:
12928         * po/nl.po:
12929           renamed gsttypefindelement to gsttypefind, conserving CVS history
12930
12931 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12932
12933         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12934         * gst/gsttag.h:
12935           add some tags used in ogg as well
12936           fix _ in replaygain tags
12937
12938 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12939
12940         * gst/gsterror.h:
12941           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12942
12943 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12944
12945         * gst/gstelement.c: (gst_element_error_full):
12946         * gst/gstelement.h:
12947           change _extended to _full
12948
12949 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12950
12951         reviewed by: <delete if not using a buddy>
12952
12953         * docs/gst/tmpl/gst.sgml:
12954         * docs/gst/tmpl/gstbuffer.sgml:
12955         * docs/gst/tmpl/gstclock.sgml:
12956         * docs/gst/tmpl/gstelement.sgml:
12957         * docs/gst/tmpl/gstreamer-unused.sgml:
12958         * docs/gst/tmpl/gstxml.sgml:
12959         * gst/gstelement.c: (gst_element_error_full):
12960         * gst/gstelement.h:
12961
12962 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12963
12964         * gst/gstelement.h: fix _gst_element_error_printf prototype
12965
12966 2004-01-20  David Schleef  <ds@schleef.org>
12967
12968         * gst/gststructure.c: (gst_structure_to_string):
12969         Convert function to use gst_value_serialize().
12970         * gst/gstvalue.c: (gst_value_serialize_list),
12971         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12972         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12973         (gst_value_serialize_int), (gst_value_serialize_double),
12974         (gst_string_wrap), (gst_value_serialize_string),
12975         (gst_value_serialize), (gst_value_deserialize):
12976         * gst/gstvalue.h:
12977         Add implementations for serialize.
12978
12979 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12980
12981         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12982         we want to keep that one in the future or change xvidenc.c to use 
12983         another error.
12984
12985 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12986
12987         * gst/gstelement.c: (_gst_element_error_printf):
12988         * gst/gstelement.h:
12989           privatise function
12990
12991 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12992
12993         * docs/random/error:
12994           doc explaining error system
12995         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12996           cleanup
12997
12998 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12999
13000         * gst/gst-i18n-app.h:
13001         * gst/gst-i18n-lib.h:
13002           remove inclusion of config.h
13003         * po/POTFILES.in:
13004         * po/nl.po:
13005           add gst/gstelement.c
13006
13007 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13008
13009         * po/nl.po: updated Dutch translation
13010
13011 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13012
13013         * gst/gsterror.c: (_gst_core_errors_init),
13014         (_gst_library_errors_init), (_gst_resource_errors_init),
13015         (_gst_stream_errors_init):
13016         remove ending punctuation dots
13017
13018 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13019
13020         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13021         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13022         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13023         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13024         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13025         use GST_ERROR_SYSTEM
13026
13027 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13028
13029         * gst/gstelement.c: (gst_element_error_printf),
13030         (gst_element_error_extended):
13031         * gst/gstelement.h:
13032           add a helper printf function so we can have NULL values passed.
13033
13034 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13035
13036         * gst/gstelement.h:
13037           add G_STMT macros to gst_element_error, which isn't strictly
13038           necessary but people tell me to anyway.
13039
13040 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13041
13042         * gst/Makefile.am:
13043         * gst/autoplug/gstspideridentity.c:
13044         (gst_spider_identity_sink_loop_type_finding):
13045         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13046         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13047         (gst_filesink_close_file), (gst_filesink_handle_event),
13048         (gst_filesink_chain):
13049         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13050         (gst_filesrc_map_region), (gst_filesrc_get_read),
13051         (gst_filesrc_open_file):
13052         * gst/elements/gstidentity.c: (gst_identity_chain):
13053         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13054         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13055         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13056         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13057         * gst/gst.h:
13058         * gst/gst_private.h:
13059         * gst/gstelement.c: (gst_element_class_init),
13060         (gst_element_default_error), (gst_element_error_func),
13061         (gst_element_error_extended):
13062         * gst/gstelement.h:
13063         * gst/gsterror.c: (_gst_core_errors_init),
13064         (_gst_library_errors_init), (_gst_resource_errors_init),
13065         (_gst_stream_errors_init), (gst_error_get_message):
13066         * gst/gsterror.h:
13067         * gst/gstinfo.c: (_gst_debug_init):
13068         * gst/gstmarshal.list:
13069         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13070         (gst_pad_recover_caps_error), (gst_pad_pull):
13071         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13072         * gst/schedulers/gstbasicscheduler.c:
13073         (gst_basic_scheduler_chainhandler_proxy),
13074         (gst_basic_scheduler_gethandler_proxy),
13075         (gst_basic_scheduler_cothreaded_chain):
13076         * po/POTFILES.in:
13077         * po/fr.po:
13078         * po/nl.po:
13079           change error signal
13080           add error categories
13081
13082 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13083
13084         * gst/gsttag.c: (_gst_tag_initialize):
13085         * gst/gsttag.h:
13086         Add replaygain tag
13087
13088 2004-01-18  Colin Walters  <walters@verbum.org>
13089
13090         * examples/retag/retag.c: Call gst_init before processing
13091         program args.  Add g_assert to _link_many call.
13092
13093 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13094
13095         * gst/gstpad.c: (gst_pad_alloc_buffer):
13096           Return a newly allocated buffer when the pad has no peer.
13097
13098 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13099
13100         * gst/gstclock.c: (gst_clock_get_time):
13101           make it compile with gcc 2.95 again.
13102           Patch by Scott Wheeler
13103
13104 2004-01-15  David Schleef  <ds@schleef.org>
13105
13106         * gst/gstcaps.h:
13107         Added gst_caps_is_simple() macro.
13108         * testsuite/caps/caps.c: (test1):
13109         * testsuite/caps/intersect2.c: (main):
13110         * testsuite/caps/intersection.c: (main):
13111         Fixes to make 'make check' work again after removing
13112         gst_caps_is_chained().
13113
13114 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13115
13116         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13117         and additions to the MIDI document.
13118
13119 2004-01-15  David Schleef  <ds@schleef.org>
13120
13121         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13122         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13123         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13124
13125 2004-01-15  David Schleef  <ds@schleef.org>
13126
13127         * gst/gstqueue.c:
13128         * gst/gstqueue.h:
13129         Fix the spelling of "treshold" and make min_threshold actually
13130         affect the queue.
13131
13132 2004-01-15  David Schleef  <ds@schleef.org>
13133
13134         * gst/gstcaps.c:
13135         Add lots of documentation.
13136         * gst/gstcaps.h:
13137         Deprecate a few functions.
13138         * gst/gstpad.c:
13139         Removed use of deprecated functions.
13140
13141 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13142
13143         * gst/gstpad.c: (gst_pad_is_linked):
13144         * gst/gstpad.h:
13145           implement gst_pad_is_linked
13146         * gst/gstelement.h:
13147           reserve space for initiate_state_change
13148
13149 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13150
13151         * gst/autoplug/gstspideridentity.c:
13152         (gst_spider_identity_sink_loop_type_finding):
13153           break infinite loop by just returning instead of looping
13154         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13155           set event time difference correctly. Set it to 1 second instead
13156           of 100ms to be more tolerant
13157         * gst/gstelement.c: (gst_element_set_time):
13158           add debugging output
13159
13160 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13161
13162         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13163           query if buffers are inside the pool, ignore events
13164
13165 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13166
13167         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13168         (gst_clock_set_speed), (gst_clock_set_active),
13169         (gst_clock_is_active), (gst_clock_reset),
13170         (gst_clock_handle_discont):
13171         * gst/gstclock.h:
13172           deprecate old interface and disable functions that aren't in use
13173           anymore.
13174         * gst/gstelement.h:
13175         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13176         (gst_element_set_time), (gst_element_adjust_time):
13177           add concept of "element time" and functions to get/set this time.
13178         * gst/gstelement.c: (gst_element_change_state):
13179           update element time correctly.
13180         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13181           This is a debug message, not a g_critical.
13182         * gst/gstpad.c: (gst_pad_event_default):
13183           handle discontinuous events right with element time.
13184         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13185           update to clocking fixes.
13186           set clocks on elements in READY=>PAUSED. The old behaviour caused
13187           a wrong element time on the first element that started playing.
13188         * gst/schedulers/gstbasicscheduler.c:
13189         (gst_basic_scheduler_class_init):
13190         * gst/schedulers/gstoptimalscheduler.c:
13191         (gst_opt_scheduler_class_init):
13192           remove code that just implements the default behaviour.
13193         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13194           update to use new clocking functions
13195         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13196         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13197           update to test new element time.
13198         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13199           use _get_allowed_caps instead of _get_caps. This catches filtered
13200           caps correctly.
13201         * testsuite/debug/commandline.c:
13202           update for new GST_DEBUG syntax.
13203         * testsuite/threads/Makefile.am:
13204           disable a test that only works sometimes.
13205
13206 2004-01-13  Julien MOUTTE <julien@moutte.net>
13207
13208         * po/LINGUAS: Adding fr.
13209         * po/fr.po: Adding french translation.
13210
13211 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13212
13213         * gst/parse/grammar.y:
13214         * po/POTFILES.in:
13215         * po/nl.po:
13216         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13217           translate parsing error messages
13218
13219 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13220
13221         * po/POTFILES.in: adding gst-launch
13222         * po/nl.po: updated translation, all 99 strings translated
13223         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13224         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13225           fix strings for translation
13226
13227 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13228
13229         * gst/gst.c:
13230           - capitalize beginnings of popt options
13231           - fix strings for translation
13232           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13233
13234 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13235
13236         * po/README: add some notes on how to update translations
13237
13238 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13239
13240         * ABOUT-NLS: removed, is autogenerated from autopoint
13241         * autogen.sh: add autopoint stuff
13242         * configure.ac: fix up gettext stuff
13243         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13244         * gst/elements/gsttypefindelement.c: add header include
13245         * gst/gettext.h: add header, copy from system-installed header
13246         * gst/gst-i18n-app.h: to be included by each app having translations
13247         * gst/gst-i18n-lib.h: to be included by each lib having translations
13248         * gst/gst.c: (init_pre): fix up gettext calls
13249         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13250         * po/LINGUAS: the new way to specify translations present
13251         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13252         * po/Makevars: the variables filled in for GStreamer
13253         * po/POTFILES.in: added new files with translations
13254         * po/de.po: has new strings
13255         * po/nl.po: readded, has new strings
13256
13257 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13258
13259         * gst/gsttag.c: fix some strings marked for translation
13260
13261 2004-01-13  Iain <iain@prettypeople.org>
13262
13263         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13264         group when we add an element to it, cos we unref it when we remove one
13265
13266 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13267
13268         * testsuite/debug/commandline.c: (debug_not_reached):
13269         * testsuite/debug/output.c: (check_message):
13270           fix testsuite
13271
13272 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13273
13274         * examples/cutter/.cvsignore:
13275         * examples/helloworld/.cvsignore:
13276         * examples/launch/.cvsignore:
13277         * examples/manual/.cvsignore:
13278         * examples/mixer/.cvsignore:
13279         * examples/pingpong/.cvsignore:
13280         * examples/plugins/.cvsignore:
13281         * examples/queue/.cvsignore:
13282         * examples/queue2/.cvsignore:
13283         * examples/queue3/.cvsignore:
13284         * examples/queue4/.cvsignore:
13285         * examples/retag/.cvsignore:
13286         * examples/thread/.cvsignore:
13287         * examples/typefind/.cvsignore:
13288         * examples/xml/.cvsignore:
13289         * gst/.cvsignore:
13290         * gst/autoplug/.cvsignore:
13291         * gst/elements/.cvsignore:
13292         * gst/indexers/.cvsignore:
13293         * gst/parse/.cvsignore:
13294         * gst/registries/.cvsignore:
13295         * gst/schedulers/.cvsignore:
13296         * libs/gst/bytestream/.cvsignore:
13297         * libs/gst/control/.cvsignore:
13298         * libs/gst/getbits/.cvsignore:
13299         * tests/.cvsignore:
13300         * tests/bufspeed/.cvsignore:
13301         * tests/instantiate/.cvsignore:
13302         * tests/memchunk/.cvsignore:
13303         * tests/muxing/.cvsignore:
13304         * tests/sched/.cvsignore:
13305         * tests/seeking/.cvsignore:
13306         * tests/threadstate/.cvsignore:
13307         * testsuite/.cvsignore:
13308         * testsuite/caps/.cvsignore:
13309         * testsuite/cleanup/.cvsignore:
13310         * testsuite/dynparams/.cvsignore:
13311         * testsuite/plugin/.cvsignore:
13312         * tools/.cvsignore:
13313           update - this is huge, because it includes *.bb, *.bbg and *.da files
13314           which are generated for gcov.
13315
13316 2004-01-11  David Schleef  <ds@schleef.org>
13317
13318         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13319         a function to parse integers in ways that strto[u]l() does not.
13320
13321 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13322
13323         * tools/gst-inspect.c: (print_caps):
13324           improve output of caps a bit
13325
13326 2004-01-11  David Schleef  <ds@schleef.org>
13327
13328         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13329         inherit correct flags (READONLY and DONTKEEP).
13330
13331 2004-01-11  David Schleef  <ds@schleef.org>
13332
13333         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13334         (gst_filesrc_map_region):
13335         * gst/gstbuffer.c: (_gst_buffer_initialize),
13336         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13337         (gst_buffer_new), (gst_buffer_create_sub),
13338         (gst_buffer_is_span_fast), (gst_buffer_span):
13339         * gst/gstbuffer.h:
13340         Change GstBuffer private structure element names. (all files)
13341         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13342         (gst_queue_link):
13343         * gst/gstqueue.h:
13344         Implement getcaps/pad_link functions that handle the case where
13345         there are data in the queue.
13346
13347 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13348
13349         * gst/elements/gstbufferstore.c:
13350           initialize debugging structure correctly
13351         * gst/elements/gsttee.c: (gst_tee_set_property):
13352           g_object_notify when property was changed
13353         * gst/elements/gsttypefindelement.c:
13354         (gst_type_find_element_change_state):
13355           clear caps correctly
13356
13357 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13358
13359         * gst/gstqueue.c: (gst_queue_init):
13360           Use better defaults for when a queue should block. This
13361           gets rid of jerky playback for quite a few files.
13362           It takes more memory.
13363
13364 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13365
13366         (gst_xml_registry_parse_padtemplate):
13367           make critical message slightly more useful
13368
13369 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13370
13371         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13372         (gst_debug_message_get), (gst_debug_log_default):
13373         * gst/gstinfo.h:
13374           Change gst_debug_log(_valist) to take a const format string.
13375           Change prototype of log function and functions using those to 
13376           take a GstDebugMessage instead of a string that requires using
13377           gst_debug_message_get.
13378
13379 2004-01-08  David Schleef  <ds@schleef.org>
13380
13381         * Makefile.am:
13382         * configure.ac:
13383         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13384         and -ftest-coverage, which allows gcov to show information about
13385         testsuite coverage.
13386
13387 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13388
13389         * gst/gstutils.h:
13390           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13391           GST_PARENT_CALL_WITH_DEFAULT
13392         * gst/elements/gstaggregator.c: 
13393         * gst/elements/gstbufferstore.c: 
13394         * gst/elements/gstfakesink.c: 
13395         * gst/elements/gstfakesrc.c: 
13396         * gst/elements/gstfdsink.c: 
13397         * gst/elements/gstfdsrc.c: 
13398         * gst/elements/gstfilesink.c: 
13399         * gst/elements/gstfilesrc.c: 
13400         * gst/elements/gstidentity.c: 
13401         * gst/elements/gstmd5sink.c: 
13402         * gst/elements/gstmultidisksrc.c:
13403         * gst/elements/gstpipefilter.c: 
13404         * gst/elements/gstshaper.c:
13405         * gst/elements/gststatistics.c:
13406         * gst/elements/gsttee.c:
13407         * gst/elements/gsttypefindelement.c:
13408           use them.
13409
13410 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13411
13412         * docs/gst/gstreamer-docs.sgml: remove props
13413         * docs/gst/gstreamer-sections.txt: remove props
13414         * docs/gst/tmpl/gst.sgml:
13415         * docs/gst/tmpl/gstbin.sgml:
13416         * docs/gst/tmpl/gstbuffer.sgml:
13417         * docs/gst/tmpl/gstcaps.sgml:
13418         * docs/gst/tmpl/gstclock.sgml:
13419         * docs/gst/tmpl/gstelement.sgml:
13420         * docs/gst/tmpl/gstindex.sgml:
13421         * docs/gst/tmpl/gstobject.sgml:
13422         * docs/gst/tmpl/gstpad.sgml:
13423         * docs/gst/tmpl/gstpadtemplate.sgml:
13424         * docs/gst/tmpl/gstreamer-unused.sgml:
13425         * docs/gst/tmpl/gstthread.sgml:
13426         * docs/gst/tmpl/gstxml.sgml:
13427           sync with code reorganization
13428
13429 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13430
13431         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13432         Make the 'Could not find compatible pad' message more informative.
13433
13434 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13435                                                                                 
13436         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13437           Fix for if we pass NULL as property to location.
13438         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13439         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13440           Fix for instantiate-test (see below).
13441         * gst/gststructure.c: (_gst_structure_parse_value):
13442           Fix compile error on gcc-2.96.
13443         * configure.ac:
13444         * tests/Makefile.am:
13445         * tests/instantiate/Makefile.am:
13446         * tests/instantiate/create.c: (create_all_elements), (main):
13447           Add a test that instantiates all elements. This makes it easy to
13448           track dead code for old API/design (like setting event functions
13449           on sink pads and so on).
13450
13451 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13452
13453         * gst/gstcaps.c: (gst_caps_append_structure):
13454           Move the poisoning to allow a NULL structure
13455         * gst/gstevent.c: (_gst_event_free):
13456           When freeing a navigation event, free the structure
13457           also
13458
13459 2004-01-04  David Schleef  <ds@schleef.org>
13460
13461         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13462         Remove usage of gst_pad_proxy_fixate.
13463         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13464         (gst_caps_split_one), (gst_caps_replace):
13465         Add poisoning code.
13466         * gst/gstmarshal.list:
13467         Add pointer__pointer for fixate signal
13468         * gst/gstpad.c: (gst_real_pad_class_init),
13469         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13470         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13471         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13472         Add poisoning code. Add fixate signal on RealPad. Change
13473         set_explicit_caps() to take const GstCaps, like try_set_caps().
13474         * gst/gstpad.h:
13475         * testsuite/caps/Makefile.am:
13476         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13477
13478 2004-01-03  David Schleef  <ds@schleef.org>
13479
13480         * gst/elements/gsttypefindelement.c:
13481         (gst_type_find_element_have_type), (gst_type_find_element_init):
13482         Use gst_pad_use_explicit_caps for src pad.
13483         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13484         before using it.
13485
13486 2004-01-03  David Schleef  <ds@schleef.org>
13487
13488         * gst/gstelement.c: (gst_element_link_pads_filtered),
13489         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13490         that linking was successful.
13491         * gst/gstpad.c: (gst_pad_link_free),
13492         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13493         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13494         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13495         GstPadLinkReturn correctly between functions, and don't fail
13496         when DELAYED is used (DELAYED is very important).  Better
13497         cleanup on unlinking and unnegotiation.  Should fix some spider
13498         bugs.
13499
13500 2004-01-02  David Schleef  <ds@schleef.org>
13501
13502         * gst/gstelement.c: (gst_element_class_init),
13503         (gst_element_base_class_init): ->padtemplates should be cleared
13504         in base_init, since we need to have a fresh list for every
13505         class.  (Alternately, we chould copy the list and share the
13506         actual pad templates (not the list), but that would require
13507         changing every plugin to move pad template registration from
13508         base_init to class_init.)
13509
13510 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13511
13512         * gst/gstelement.c: (gst_element_class_add_pad_template):
13513           Refuse registering a pad template if another pad template
13514           with the same name already exists (#114715).
13515
13516 2004-01-02  David Schleef  <ds@schleef.org>
13517
13518         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13519         (gst_caps_is_equal_fixed): Add new function.
13520         * gst/gstcaps.h: ditto.
13521         * gst/gstpad.c: (gst_real_pad_class_init),
13522         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13523         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13524         check new caps against existing caps -- if they're the same, return
13525         OK without renegotiating.  caps-nego-failed signal fixed so that
13526         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13527         to save an extra caps copy.  Don't complete negotiation if a pad
13528         link function returns DELAYED.
13529
13530 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13531
13532         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13533           Fix wrong g_return_if_fail
13534
13535 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13536
13537         * gst/gstbin.c: (gst_bin_class_init):
13538         Change the marshalling of element_added/element_removed
13539         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13540         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13541
13542 2004-01-01  David Schleef  <ds@schleef.org>
13543
13544         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13545         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13546         (gst_pad_use_explicit_caps):
13547         * gst/gstpad.h:
13548         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13549         to use an internal getcaps and link fuction so that negotiation
13550         always results in the explicitly set caps.
13551         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13552         are particularly useful for decoders.
13553
13554 2003-12-31  David Schleef  <ds@schleef.org>
13555
13556         * gst/elements/gstidentity.c: (gst_identity_class_init),
13557         (gst_identity_init), (gst_identity_chain),
13558         (gst_identity_set_property), (gst_identity_get_property):
13559         * gst/elements/gstidentity.h:
13560         * gst/gstqueue.c: (gst_queue_init):
13561           Negotiation fixes.
13562
13563 2003-12-31  David Schleef  <ds@schleef.org>
13564
13565         * gst/gstcaps.c: (gst_caps_intersect),
13566         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13567           Implement gst_caps_normalize().
13568         * testsuite/caps/normalisation.c: (main):
13569           Add an additional test
13570
13571 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13572
13573         * gst/gstqueue.c: (gst_queue_init):
13574           use gst_pad_proxy_getcaps()
13575
13576 2003-12-31  David Schleef  <ds@schleef.org>
13577
13578         * gst/elements/gstshaper.c: (gst_shaper_link):
13579         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13580         * gst/gstqueue.c: (gst_queue_link):
13581           Negotiation fixes.
13582
13583 2003-12-31  David Schleef  <ds@schleef.org>
13584
13585         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13586         * gst/gstpad.h: Add functions that are useful as default pad
13587         link and fixate functions for elements.
13588
13589 2003-12-30  David Schleef  <ds@schleef.org>
13590
13591         * gst/gstpad.c: (gst_pad_link_try):
13592           Fix segfault when attempting to return to old caps
13593
13594 2003-12-29  David Schleef  <ds@schleef.org>
13595
13596         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13597         (gst_caps_structure_simplify), (gst_caps_simplify):
13598         * gst/gstcaps.h:
13599           Add simplify function
13600         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13601         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13602         * gst/gstpad.h:
13603           Copy over srcnotify, sinknotify when calling old pad_link
13604           functions.  Add new is_negotiated() function.
13605         * gst/gststructure.c: (gst_structure_copy):
13606           Fix an incredibly stupid bug that should have been noticed
13607           weeks ago.  _copy() returned the argument, not the new copy.
13608
13609 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13610
13611         * gst/gstcaps.c: (gst_caps_append):
13612           add sanity checks
13613         * gst/gstcaps.h: (gst_caps_debug):
13614           remove, it doesn't exist anymore.
13615         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13616         (gst_element_threadsafe_properties_post_run):
13617           make debugging messages not clutter up THREAD debug category
13618         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13619         (gst_element_change_state):
13620           update to new caps API
13621         * gst/gstinterface.c: (gst_implements_interface_cast):
13622           don't put vital code in g_return_if_fail
13623         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13624         (gst_pad_link_filtered):
13625           add pst_pad_try_link and use it.
13626         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13627           implement correctly, deprecate first one.
13628         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13629           add and implement.
13630         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13631           implement.
13632         (gst_pad_get_negotiated_caps):
13633           add and implement. Make GST_PAD_CAPS call this function.
13634         (gst_pad_get_caps):
13635           remove unneeded check..
13636         (gst_pad_recover_caps_error):
13637           disable, always return FALSE.
13638         (gst_real_pad_dispose):
13639           don't free caps and appfilter anymore, they're unused.
13640         * gst/gstpad.h:
13641           Reflect changes mentioned above.
13642         * gst/gstsystemclock.c: (gst_system_clock_wait):
13643           Make 'clock is way behind' a debugging message.
13644         * gst/gstthread.c: (gst_thread_change_state):
13645           Fix debugging message
13646
13647 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13648
13649         * gst/gstinfo.h:
13650           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13651         * docs/gst/tmpl/gstreamer-unused.sgml:
13652           removed all traces of cvs conflicts
13653
13654 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13655
13656         * configure.ac:
13657         * gst/schedulers/cothreads_compat.h:
13658         * libs/Makefile.am:
13659           remove last instances of wingo cothread usage
13660
13661 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13662
13663         * gst/gstplugin.c:
13664         * gst/gstversion.h.in:
13665         * gst/parse/grammar.y:
13666           change comment block from /** to /* when not gtk-doc comments
13667
13668 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13669
13670         * gst/gst.c: whitespace and doc style fixes
13671
13672 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13673
13674         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13675
13676 2003-12-24  Colin Walters  <walters@verbum.org>
13677
13678         * gst/elements/gsttypefindelement.c:
13679           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13680           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13681           Don't double-free caps.
13682
13683 2003-12-23  David Schleef  <ds@schleef.org>
13684
13685         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13686           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13687           Many little fixes and additions of debug statements to
13688           get rhythmbox working.
13689
13690 2003-12-23  Colin Walters  <walters@verbum.org>
13691
13692         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13693         Use GST_PAD_LINK_SUCCESSFUL.
13694
13695 2003-12-23  David Schleef  <ds@schleef.org>
13696
13697         * gst/elements/gstaggregator.c:
13698         * gst/elements/gsttee.c:
13699           Use gst_pad_proxy_getcaps().
13700         * gst/gstpad.c:
13701         * gst/gstpad.h:
13702           Add gst_pad_proxy_getcaps(), which filter elements can use
13703           as a generic getcaps implementation.
13704           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13705           was advertised.
13706
13707 2003-12-23  David Schleef  <ds@schleef.org>
13708
13709         * gst/gstpad.c:
13710           Rearrange/rewrite much of the pad negotiation code, since it
13711           resembled pasta.  This actually changes the way some
13712           negotiation works, since the previous code was inconsistent
13713           depending on how it was invoked.  Add (internal) structure
13714           GstPadLink, which is used to hold some information (more in
13715           the future) about the link between two pads.  Fixes a number
13716           of bugs, including random lossage of filter caps when the
13717           initial negotiation is delayed.  A few functions are still
13718           unimplemented.
13719         * gst/gstpad.h:
13720           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13721           these when testing GstPadLinkReturn values instead of comparing
13722           directly.
13723
13724 2003-12-23  David Schleef  <ds@schleef.org>
13725
13726         * gst/gstvalue.c: 
13727         * gst/gstvalue.h:
13728           Rearrange lots of code.  Change registration of compare function
13729           into registration of compare/serialize/deserialize functions.
13730           Doesn't include implementation of gst_value_[de]serialize(),
13731           but that should be easy.
13732
13733 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13734
13735         * docs/gst/gstreamer-sections.txt:
13736         * docs/gst/tmpl/gstprops.sgml: removed
13737         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13738           David removed props and caps code, so let's remove their docs as well.
13739           Removed all no longer existing symbols from gstreamer-sections.txt
13740           
13741 2003-12-22  Colin Walters  <walters@verbum.org>
13742
13743         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13744           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13745           of tags directly.
13746
13747 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13748
13749         * gst/elements/gstelements.c:
13750           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13751         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13752           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13753           gst_caps (peer).
13754
13755 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13756
13757         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13758         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13759         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13760         (gst_spider_identity_sink_loop_type_finding):
13761         * gst/autoplug/gstspideridentity.h:
13762           Fix autoplugging in spider element, so it works with new caps.
13763           This was mainly caused by identifying empty caps incorrectly.
13764
13765 2003-12-22  David Schleef  <ds@schleef.org>
13766
13767         * gststructure.c, gstvalue.c, gstvalue.h: Add
13768           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13769           using g_value_copy()
13770
13771 2003-12-21  David Schleef  <ds@schleef.org>
13772
13773         * many, many files: Merge CAPS branch.  This includes:
13774           - implemention of GstValue and several GstValue types
13775           - implemention of GstStructure
13776           - entire rewrite of GstCaps
13777           - removal of GstProps
13778           - many changes to GstPad to compensate for new caps paradigm
13779           - removal of GstBufferpool
13780         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13781         gstvalue.h, gst/gstcaps[2]*.[ch]:
13782           - rename gstcaps2.[ch] to gstcaps.[ch]
13783
13784 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13785
13786         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13787         (gst_queue_chain), (gst_queue_handle_src_event):
13788           implement timeout for sending events. Workaround for if the
13789           pipeline on this queue is not passing any data.
13790
13791 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13792                                                                                 
13793         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13794         * moved CVS to freedesktop.org