gst/elements/gstcapsfilter.c: Allow NULL as filter-caps (which means "any").
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
4           Allow NULL as filter-caps (which means "any").
5
6 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7
8         * docs/libs/gstreamer-libs-sections.txt:
9         * libs/gst/controller/gst-controller.c:
10         * libs/gst/controller/gst-controller.h:
11         * libs/gst/controller/gst-helper.c:
12           adding more entries to the docs and fix small doc-bugs
13
14 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15
16         * docs/gst/gstreamer-docs.sgml:
17         * docs/gst/gstreamer-sections.txt:
18         * docs/gst/gstreamer.types:
19         * docs/gst/tmpl/gstbasesink.sgml:
20         * docs/gst/tmpl/gstbasesrc.sgml:
21         * docs/gst/tmpl/gstbasetransform.sgml:
22         * docs/gst/tmpl/gstfakesrc.sgml:
23         * gst/base/gstcollectpads.c:
24         * gst/base/gstcollectpads.h:
25         * libs/gst/controller/gst-controller.c:
26         * libs/gst/controller/gst-controller.h:
27         * libs/gst/controller/gst-helper.c:
28         * libs/gst/controller/gst-interpolation.c:
29         * libs/gst/controller/lib.c:
30           added long/short desc for controller docs
31           added collectpads base class docs
32           added correct includes to base-class docs
33
34 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
35
36         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
37         (gst_test_mono_source_set_property),
38         (gst_test_mono_source_class_init), (GST_START_TEST),
39         (gst_controller_suite):
40         * docs/gst/gstreamer-docs.sgml:
41         * docs/gst/gstreamer-sections.txt:
42         * docs/gst/gstreamer.types:
43         * docs/libs/gstreamer-libs-docs.sgml:
44         * docs/libs/gstreamer-libs-sections.txt:
45         * gst/base/gstadapter.c:
46         * libs/gst/controller/gst-controller.c:
47         (gst_controlled_property_new), (gst_controlled_property_free),
48         (gst_controller_new_valist),
49         (gst_controller_remove_properties_valist),
50         (gst_controller_sink_values), (_gst_controller_finalize):
51         * libs/gst/controller/gst-controller.h:
52         * libs/gst/controller/gst-helper.c:
53         (gst_object_control_properties), (gst_object_uncontrol_properties),
54         (gst_object_get_controller), (gst_object_set_controller),
55         (gst_object_sink_values), (gst_object_get_value_arrays),
56         (gst_object_get_value_array):
57           more tests (and fixes) for the controller
58           more docs for the controller
59           integrated companies docs for the adapter 
60
61 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
62
63         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
64         (GST_START_TEST), (fakesrc_suite):
65           add tests for sizetype
66
67 2005-08-04  Andy Wingo  <wingo@pobox.com>
68
69         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
70         fixes buffer_alloc proxying among other things.
71
72         * gst/base/gstbasetransform.c:
73         * gst/base/gstbasetransform.h:
74         Revert patch to gstbasetransform from 7-28 removing
75         delay_configure.
76
77         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
78         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
79         Semantics changed, should return not the size of the output buffer
80         but the byte size of a buffer with a given caps.
81
82         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
83         debug object.
84         (gst_base_transform_configure_caps): Don't set out_size here: (in,
85         out) are not the pad caps until setcaps finishes.
86         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
87         not-in-place case as well. Deal with changing from in-place to
88         not-in-place within calling pad_alloc_buffer. Still a bit
89         concerned about the overhead here...
90
91 2005-08-03  Andy Wingo  <wingo@pobox.com>
92
93         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
94         fixating is an error.
95
96 2005-08-04  Edward Hervey  <edward@fluendo.com>
97
98         * gst/base/gstadapter.h: 
99         Added gst_adapter_get_type() to the header
100
101 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
102
103         * check/Makefile.am:
104         * check/gst-libs/controller.c:
105         * libs/gst/controller/gst-controller.c:
106         (gst_controller_new_valist):
107           added check test suite for the controller
108         * gst/base/gstpushsrc.c:
109           fixed a doc typo
110
111 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
112
113         * docs/gst/Makefile.am:
114         * docs/gst/gstreamer-docs.sgml:
115         * docs/gst/gstreamer-sections.txt:
116         * docs/gst/gstreamer.types:
117         * docs/gst/tmpl/gstfakesrc.sgml:
118         * gst/base/README:
119         * gst/base/gstbasesink.c:
120         * gst/base/gstbasesink.h:
121         * gst/base/gstbasesrc.c:
122         * gst/base/gstbasesrc.h:
123         * gst/base/gstbasetransform.c:
124         * gst/base/gstpushsrc.c:
125         * gst/base/gstpushsrc.h:
126           add short/long description docs to base classes
127           add pushsrc to the docs
128           remove consolidated doc fragments
129
130 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
131
132         * configure.ac:
133         * docs/libs/Makefile.am:
134         * docs/libs/gstreamer-libs-docs.sgml:
135         * docs/libs/gstreamer-libs-sections.txt:
136         * docs/libs/gstreamer-libs.types:
137         * examples/Makefile.am:
138         * examples/controller/.cvsignore:
139         * examples/controller/Makefile.am:
140         * examples/controller/audio-example.c: (main):
141         * libs/gst/Makefile.am:
142         * libs/gst/controller/.cvsignore:
143         * libs/gst/controller/Makefile.am:
144         * libs/gst/controller/gst-controller.c:
145         (on_object_controlled_property_changed), (gst_timed_value_compare),
146         (gst_timed_value_find),
147         (gst_controlled_property_set_interpolation_mode),
148         (gst_controlled_property_new), (gst_controlled_property_free),
149         (gst_controller_find_controlled_property),
150         (gst_controller_new_valist), (gst_controller_new),
151         (gst_controller_remove_properties_valist),
152         (gst_controller_remove_properties), (gst_controller_set),
153         (gst_controller_set_from_list), (gst_controller_unset),
154         (gst_controller_get), (gst_controller_get_all),
155         (gst_controller_sink_values), (gst_controller_get_value_arrays),
156         (gst_controller_get_value_array),
157         (gst_controller_set_interpolation_mode),
158         (_gst_controller_finalize), (_gst_controller_init),
159         (_gst_controller_class_init), (gst_controller_get_type):
160         * libs/gst/controller/gst-controller.h:
161         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
162         (g_object_uncontrol_properties), (g_object_get_controller),
163         (g_object_set_controller), (g_object_sink_values),
164         (g_object_get_value_arrays), (g_object_get_value_array):
165         * libs/gst/controller/gst-interpolation.c:
166         (gst_controlled_property_find_timed_value_node),
167         (interpolate_none_get), (interpolate_trigger_get),
168         (interpolate_trigger_get_value_array):
169         * libs/gst/controller/lib.c: (gst_controller_init):
170         * pkgconfig/Makefile.am:
171         * pkgconfig/gstreamer-control-uninstalled.pc.in:
172         * pkgconfig/gstreamer-control.pc.in:
173         * testsuite/Makefile.am:
174         * testsuite/controller/.cvsignore:
175         * testsuite/controller/Makefile.am:
176         * testsuite/controller/interpolator.c: (main):
177           added controller code
178           removed dparam pc files
179
180 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
181         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
182         (gst_collectpads_stop):
183           Broadcast the condition when shutting down, to make sure we wake all
184           threads up. Shut down pads on finalize, for safety.
185
186 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
187         * gst/base/gstbasetransform.c: (gst_base_transform_init),
188         (gst_base_transform_handle_buffer),
189         (gst_base_transform_change_state):
190           Handle PAUSED->READY->PAUSED transition after negotiation
191           occurred already.
192         * gst/gstmessage.c: (gst_message_init):
193           Extra piece of debug for new messages.
194
195 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
196
197         * configure.ac:
198         * docs/gst/tmpl/gstbasesrc.sgml:
199         * docs/gst/tmpl/gstelement.sgml:
200         * docs/gst/tmpl/gstevent.sgml:
201         * docs/gst/tmpl/gstfakesrc.sgml:
202         * docs/gst/tmpl/gstformat.sgml:
203         * docs/gst/tmpl/gstghostpad.sgml:
204         * docs/gst/tmpl/gstpad.sgml:
205         * docs/gst/tmpl/gstquery.sgml:
206         * docs/gst/tmpl/gststructure.sgml:
207         * docs/gst/tmpl/gsttaglist.sgml:
208         * docs/gst/tmpl/gstvalue.sgml:
209         * docs/libs/gstreamer-libs-docs.sgml:
210         * docs/libs/gstreamer-libs-sections.txt:
211         * docs/libs/gstreamer-libs.types:
212         * libs/gst/Makefile.am:
213         * libs/gst/control/.cvsignore:
214         * libs/gst/control/Makefile.am:
215         * libs/gst/control/control.c:
216         * libs/gst/control/control.h:
217         * libs/gst/control/dparam.c:
218         * libs/gst/control/dparam.h:
219         * libs/gst/control/dparam_smooth.c:
220         * libs/gst/control/dparam_smooth.h:
221         * libs/gst/control/dparamcommon.h:
222         * libs/gst/control/dparammanager.c:
223         * libs/gst/control/dparammanager.h:
224         * libs/gst/control/dplinearinterp.c:
225         * libs/gst/control/dplinearinterp.h:
226         * libs/gst/control/unitconvert.c:
227         * libs/gst/control/unitconvert.h:
228         * testsuite/Makefile.am:
229         * testsuite/dynparams/.cvsignore:
230         * testsuite/dynparams/Makefile.am:
231         * testsuite/dynparams/dparamstest.c:
232         * tools/Makefile.am:
233         * tools/gst-inspect.c: (print_element_info), (main):
234         * tools/gst-xmlinspect.c: (print_element_info), (main):
235           deactivate and remove dparams (libgstcontrol)
236
237 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
238
239         * gst/elements/gsttypefindelement.c:
240         (gst_type_find_element_have_type), (gst_type_find_element_init),
241         (stop_typefinding), (gst_type_find_element_handle_event),
242         (gst_type_find_element_chain), (gst_type_find_element_getrange):
243         * gst/elements/gsttypefindelement.h:
244           Set caps on all outgoing buffers, not just the first one.
245
246 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * gst/elements/gsttypefindelement.c:
249         (gst_type_find_element_have_type),
250         (gst_type_find_element_check_set_buffer_caps),
251         (gst_type_find_element_init), (stop_typefinding),
252         (gst_type_find_element_handle_event),
253         (gst_type_find_element_chain), (gst_type_find_element_getrange):
254         * gst/elements/gsttypefindelement.h:
255           Set caps on first outgoing buffer when we've found the type.
256
257 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
258
259         * docs/gst/gstreamer-docs.sgml:
260         * docs/gst/gstreamer-sections.txt:
261         * docs/gst/tmpl/gstscheduler.sgml:
262         * docs/gst/tmpl/gstschedulerfactory.sgml:
263           Remove some old cruft from docs.
264
265 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
266
267         * gst/gstpad.h:
268           Fix inline docs for GstPadLinkReturn.
269           
270         * gst/gststructure.c: (gst_structure_has_name):
271         * gst/gststructure.h:
272         * docs/gst/gstreamer-sections.txt:
273           New API: gst_structure_has_name().
274
275 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
276
277         * configure.ac:
278           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
279           and _LARGEFILE_SOURCE in config.h as required. Do not 
280           export those flags in our .pc files any longer (#142209).
281
282           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
283
284         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
285         (gst_file_sink_do_seek), (gst_file_sink_event),
286         (gst_file_sink_get_current_offset), (gst_file_sink_render):
287           Redo seek/tell calls with large file support in mind; add some
288           debugging messages; add log message that tells us when large
289           file support is unavailable or not enabled for some reason.
290
291         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
292           Add log message that tells us when large file support 
293           is unavailable or not enabled for some reason.
294
295 2005-07-29  Wim Taymans  <wim@fluendo.com>
296
297         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
298         Added test for removing an element with ghostpad from a bin.
299         Fixed test as current implementation does the right thing.
300
301         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
302         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
303         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
304         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
305         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
306         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
307         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
308         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
309         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
310         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
311         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
312         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
313         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
314         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
315         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
316         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
317         * gst/gstghostpad.h:
318         Clean up ghostpads, remove properties for internal stuff.
319         Make threadsafe.
320         Fix refcounting.
321         Prepare for switching targets, not all use cases work yet.
322
323 2005-07-29  Wim Taymans  <wim@fluendo.com>
324
325         * docs/design/part-gstghostpad.txt:
326         Small update.
327
328         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
329         (gst_bin_remove_func):
330         Unlinking pads while holding the bin LOCK is not a good
331         idea.
332
333         * gst/gstpad.c: (gst_pad_class_init),
334         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
335         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
336         No prob setting template after creating the pad.
337
338 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
339
340         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
341         (gst_bus_peek), (gst_bus_source_dispatch),
342         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
343         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
344           gst_bus_poll may be called from other threads. Handle
345           this nicely by not making poll_data disappear off the
346           stack once gst_bus_poll returns.
347           gst_bus_peek now increments the refcount on the returned
348           message.
349
350 2005-07-29  Wim Taymans  <wim@fluendo.com>
351
352         * docs/design/part-gstghostpad.txt:
353         Overview of current GhostPad datastructures and use
354         cases for changing the target.
355
356 2005-07-28  Wim Taymans  <wim@fluendo.com>
357
358         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
359         Added checks for hierarchy consistency whan adding linked
360         elements to bins.
361
362         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
363         Added check to test element scheduling without bin/pipeline.
364
365         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
366         First add elements to bin, then link.
367         
368         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
369         (gst_bin_remove_func):
370         Unlink pads from elements added/removed from bin to maintain
371         hierarchy consistency.
372
373 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
374
375         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
376         (gst_base_transform_handle_buffer):
377         * gst/base/gstbasetransform.h:
378           Remove broken delay_configure (fixes renegotiation of software
379           scaling pipelines); remove some leftover printf()s.
380
381 2005-07-28  Wim Taymans  <wim@fluendo.com>
382
383         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
384         Added some more tests for wrong hierarchy
385
386         * docs/design/part-overview.txt:
387         Some updates.
388
389         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
390         Cleanups.
391
392         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
393         (gst_element_dispose):
394         Some more cleanups.
395
396         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
397         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
398         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
399         (gst_pad_set_caps), (gst_pad_send_event):
400         Check for correct hierarchy when linking pads. Moving to
401         strict requirement for ghostpads when linking elements in
402         different bins.
403
404         * gst/gstpad.h:
405         Clean ups. Added WRONG_HIERARCHY return value.
406
407 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
408
409         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
410           Better debug if no transform is possible.
411
412 2005-07-27  Wim Taymans  <wim@fluendo.com>
413
414         * docs/random/wtay/network-transp:
415         Some old doc I had.
416
417 2005-07-27  Wim Taymans  <wim@fluendo.com>
418
419         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
420         (gst_dp_event_from_packet):
421         Fix serialization of seek events.
422
423 2005-07-27  Wim Taymans  <wim@fluendo.com>
424
425         * check/gst-libs/gdp.c: (GST_START_TEST):
426         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
427         Fix compilation and fix event serialization.
428
429 2005-07-27  Wim Taymans  <wim@fluendo.com>
430
431         * CHANGES-0.9:
432         * docs/design/part-TODO.txt:
433         * docs/design/part-events.txt:
434         Some docs updates
435
436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
437         (gst_base_sink_event), (gst_base_sink_do_sync),
438         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
439         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
440         (gst_base_src_do_seek), (gst_base_src_event_handler),
441         (gst_base_src_loop):
442         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
443         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
444         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
445         (gst_base_transform_event), (gst_base_transform_handle_buffer),
446         (gst_base_transform_set_passthrough),
447         (gst_base_transform_is_passthrough):
448         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
449         * gst/elements/gstfilesink.c: (gst_file_sink_event):
450         Event updates.
451
452         * gst/gstbuffer.h:
453         Use faster casts.
454
455         * gst/gstelement.c: (gst_element_seek):
456         * gst/gstelement.h:
457         Update gst_element_seek.
458
459         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
460         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
461         (gst_event_new_flush_start), (gst_event_new_flush_stop),
462         (gst_event_new_eos), (gst_event_new_newsegment),
463         (gst_event_parse_newsegment), (gst_event_new_tag),
464         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
465         (gst_event_parse_qos), (gst_event_new_seek),
466         (gst_event_parse_seek), (gst_event_new_navigation):
467         * gst/gstevent.h:
468         Make GstEvent use GstStructure. Add parsing code, make sure the
469         API is sufficiently generic.
470         Mark possible directions of events and serialization.
471
472         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
473         (_gst_message_copy), (gst_message_new_segment_start),
474         (gst_message_new_segment_done), (gst_message_new_custom),
475         (gst_message_parse_segment_start),
476         (gst_message_parse_segment_done):
477         Small cleanups.
478
479         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
480         (gst_pad_set_caps), (gst_pad_send_event):
481         Update for new events. 
482         Catch events sent in wrong directions.
483
484         * gst/gstqueue.c: (gst_queue_link_src),
485         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
486         (gst_queue_handle_src_query):
487         Event updates.
488
489         * gst/gsttag.c:
490         * gst/gsttag.h:
491         Remove event code from this file.
492
493         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
494         (gst_dp_event_from_packet):
495         Event updates.
496
497 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
498
499         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
500         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
501         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
502           Make debugging actually useful.
503
504 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
505
506         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
507         (gst_pad_fixate_caps):
508           Implement default fixation once again, so that gst_pad_fixate()
509           actually does anything at all. This probably needs to be some
510           sort of a last resort, and use profile-based fixation first, but
511           since that doesn't exist yet, this is the best we have. Fixes
512           visualization in Totem.
513
514 2005-07-22  Wim Taymans  <wim@fluendo.com>
515
516         * docs/design/part-events.txt:
517         Small update.
518
519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
520         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
521         (gst_base_sink_activate_pull):
522         Some more comments.
523
524         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
525         (gst_fake_src_create):
526         Fix handoff marshall.
527
528         * gst/elements/gstidentity.c: (gst_identity_class_init),
529         (gst_identity_transform_ip):
530         We're a real inplace element.
531
532         * gst/gstbus.c: (gst_bus_post):
533         Added some comments.
534
535         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
536         * tests/muxing/case1.c: (main):
537         * tests/sched/dynamic-pipeline.c: (main):
538         * tests/sched/interrupt1.c: (main):
539         * tests/sched/interrupt2.c: (main):
540         * tests/sched/interrupt3.c: (main):
541         * tests/sched/runxml.c: (main):
542         * tests/sched/sched-stress.c: (main):
543         * tests/seeking/seeking1.c: (event_received), (main):
544         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
545         (main):
546         * tests/threadstate/threadstate3.c: (main):
547         * tests/threadstate/threadstate4.c: (main):
548         * tests/threadstate/threadstate5.c: (main):
549         Fix the tests.
550
551 2005-07-21  Wim Taymans  <wim@fluendo.com>
552
553         * docs/design/part-seeking.txt:
554         Some small additions.
555
556         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
557         (gst_base_sink_get_times), (gst_base_sink_do_sync),
558         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
559         * gst/base/gstbasesink.h:
560         discont values are gint64, handle the math correctly.
561
562         * gst/base/gstbasesrc.c: (gst_base_src_loop):
563         Make the basesrc report error if the source pad is not linked.
564
565         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
566         (gst_queue_loop), (gst_queue_handle_src_query),
567         (gst_queue_src_activate_push):
568         Make queue collect data even if the srcpad is not linked.
569         Start pushing out data as soon as it is linked.
570
571         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
572         * gst/gstutils.h:
573         Added gst_flow_get_name() to ease error reporting.
574
575 2005-07-20  Wim Taymans  <wim@fluendo.com>
576
577         * gst/gstmessage.c: (gst_message_new_segment_start),
578         (gst_message_new_segment_done), (gst_message_parse_segment_start),
579         (gst_message_parse_segment_done):
580         * gst/gstmessage.h:
581         Added a bunch of messages for advanced seeking.
582
583         * gst/parse/grammar.y:
584         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
585         (gst_dpman_state_changed):
586         Fix some new-pad -> pad-added signals
587
588 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
589
590         * docs/manual/appendix-porting.xml:
591         * docs/pwg/appendix-porting.xml:
592           Document new-pad/state-change signal renames and the FixedList
593           type rename.
594
595 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
596
597         * docs/manual/advanced-autoplugging.xml:
598         * docs/manual/basics-helloworld.xml:
599         * docs/manual/basics-pads.xml:
600         * docs/random/ds/0.9-suggested-changes:
601         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
602         * gst/gstelement.h:
603         * gst/gstevent.h:
604         * gst/gstformat.h:
605         * gst/gstquery.h:
606         * gst/gststructure.c: (gst_structure_value_get_generic_type),
607         (gst_structure_parse_array), (gst_structure_parse_value):
608         * gst/gstvalue.c: (gst_type_is_fixed),
609         (gst_value_list_prepend_value), (gst_value_list_append_value),
610         (gst_value_list_get_size), (gst_value_list_get_value),
611         (gst_value_transform_array_string), (gst_value_serialize_array),
612         (gst_value_deserialize_array), (gst_value_intersect_array),
613         (gst_value_is_fixed), (_gst_value_initialize):
614         * gst/gstvalue.h:
615           GstElement::new-pad -> pad-added, GstElement::state-change ->
616           state-changed, GstValueFixedList -> GstValueArray, add format and
617           flags as their own arguments in gst_element_seek() (should improve
618           "bindeability"), remove function generators since they don't work
619           under a whole bunch of compilers (they were deprecated already
620           anyway).
621
622 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
623
624         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
625         (_gst_debug_register_funcptr):
626         * gst/gstinfo.h:
627           Fix illegal cast on some platforms (#309253).
628
629 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
630
631         * gst/gstmessage.c: (gst_message_new_custom):
632         * gst/gstmessage.h:
633           Add _new_custom, make _new_application a macro to _new_custom.
634
635 2005-07-20  Wim Taymans  <wim@fluendo.com>
636
637         * gst/base/gstbasesrc.c: (gst_base_src_init),
638         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
639         * gst/base/gstbasesrc.h:
640         Add a gboolean to decide when to push out a discont.
641
642         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
643         (gst_queue_loop), (gst_queue_handle_src_query),
644         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
645         (gst_queue_set_property), (gst_queue_get_property):
646         Some cleanups.
647
648         * tests/threadstate/threadstate1.c: (main):
649         Make a thread test compile and run... very silly..
650
651
652 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
653
654         * docs/manual/appendix-porting.xml:
655           Mention removal of libgstgconf-0.9.la and existence of gconf
656           elements.
657
658 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
659
660         * docs/pwg/advanced-clock.xml:
661         * docs/pwg/appendix-porting.xml:
662         * docs/pwg/intro-preface.xml:
663         * docs/pwg/other-base.xml:
664         * docs/pwg/other-manager.xml:
665         * docs/pwg/other-nton.xml:
666         * docs/pwg/other-ntoone.xml:
667         * docs/pwg/other-oneton.xml:
668         * docs/pwg/pwg.xml:
669           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
670           demuxer), remove n-to-n (was never written), fix some code examples
671           and links and update the porting section to include all this.
672
673 2005-07-19  Wim Taymans  <wim@fluendo.com>
674
675         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
676         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
677         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
678         (gst_queue_src_activate_push), (gst_queue_change_state),
679         (gst_queue_get_property):
680         * gst/gstqueue.h:
681         Propagate GstFlowReturn more intelligently upstream and output
682         an ERROR/EOS when streaming stopped due to fatal error.
683
684 2005-07-19  Wim Taymans  <wim@fluendo.com>
685
686         * tools/gst-launch.c: (check_intr), (event_loop), (main):
687         Don't block forever for the state change to complete, the
688         pipeline already did with a sensible timeout.
689
690 2005-07-19  Wim Taymans  <wim@fluendo.com>
691
692         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
693         Make sure we never call the create function is we
694         got deactivated.
695
696 2005-07-19  Andy Wingo  <wingo@pobox.com>
697
698         * gst/parse/parse.l: Attempt to solve bug #172815.
699
700 2005-07-19  Wim Taymans  <wim@fluendo.com>
701
702         * docs/design/part-clocks.txt:
703         * docs/design/part-events.txt:
704         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
705         Small docs updates.
706         Only update the seeking values when we are not
707         busy streaming.
708
709 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
710
711         * gst/base/gstbasesrc.c: (gst_base_src_loop):
712           Oops, ignore the result of gst_pad_push_event here.
713
714 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
715
716         * gst/base/gstbasesrc.c: (gst_base_src_loop),
717         (gst_base_src_activate_push):
718           Send discont event from the loop function, as pads
719           aren't activated yet in the activate_push handler.
720
721         * gst/gstbin.c: (bin_bus_handler):
722           Don't leak element name.
723
724 2005-07-18  Andy Wingo  <wingo@pobox.com>
725
726         * configure.ac: Use AS_LIBTOOL_TAGS.
727
728 2005-07-18  Wim Taymans  <wim@fluendo.com>
729
730         * docs/gst/gstreamer.types:
731         Remove deleted types.
732
733 2005-07-18  Wim Taymans  <wim@fluendo.com>
734
735         * check/elements/gstfakesrc.c: (GST_START_TEST):
736         * configure.ac:
737         * gst/Makefile.am:
738         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
739         (init_popt_callback):
740         * gst/gst.h:
741         * gst/gst_private.h:
742         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
743         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
744         * gst/gstbin.h:
745         * gst/gstbus.h:
746         * gst/gstconfig.h.in:
747         * gst/gstelement.c: (gst_element_class_init),
748         (gst_element_set_base_time), (gst_element_get_base_time),
749         (iterator_fold_with_resync), (gst_element_change_state),
750         (gst_element_dispose), (gst_element_get_bus):
751         * gst/gstelement.h:
752         * gst/gstelementfactory.h:
753         * gst/gsterror.c: (_gst_core_errors_init):
754         * gst/gsterror.h:
755         * gst/gstevent.h:
756         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
757         * gst/gstindex.c:
758         * gst/gstinfo.c: (_gst_debug_init):
759         * gst/gstmessage.c: (_gst_message_copy):
760         * gst/gstmessage.h:
761         * gst/gstminiobject.h:
762         * gst/gstobject.c:
763         * gst/gstobject.h:
764         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
765         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
766         * gst/gstpad.h:
767         * gst/gstparse.h:
768         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
769         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
770         (gst_pipeline_get_last_stream_time):
771         * gst/gstpipeline.h:
772         * gst/gstpluginfeature.h:
773         * gst/gstquery.h:
774         * gst/gstscheduler.c:
775         * gst/gstscheduler.h:
776         * gst/gststructure.h:
777         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
778         (gst_task_finalize), (gst_task_func), (gst_task_create),
779         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
780         (gst_task_stop), (gst_task_pause):
781         * gst/gsttask.h:
782         * gst/gsttypefind.h:
783         * gst/gsttypes.h:
784         * gst/registries/gstlibxmlregistry.c: (load_feature),
785         (gst_xml_registry_load), (gst_xml_registry_save_feature):
786         * gst/registries/gstxmlregistry.c:
787         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
788         * gst/schedulers/threadscheduler.c:
789         * libs/gst/control/dparammanager.h:
790         * tools/gst-inspect.c: (print_element_list),
791         (print_plugin_features), (print_element_features):
792         * tools/gst-xmlinspect.c: (print_element_list),
793         (print_plugin_info), (main):
794         Removed plugable schedulers.
795         Removed Scheduler/Manager from elements.
796         Removed gsttypes.h, rearranged includes.
797         Removed dependency pad<->element, element<>pipeline, and
798         various others,  fix includes.
799         implement gst_pad_get_parent() with gst_object_get_parent()
800         Make GstTask sefcontained.
801         Fix _get_state() on GstBin, it did not return ASYNC with a 0
802         timeout.
803         Fix endless loop in iterator_fold_with_resync.
804
805
806 2005-07-18  Wim Taymans  <wim@fluendo.com>
807
808         * gst/Makefile.am:
809         * gst/gstarch.h:
810         Remove old file.
811
812 2005-07-18  Wim Taymans  <wim@fluendo.com>
813
814         * gst/Makefile.am:
815         No more cothreads.h
816
817 2005-07-18  Wim Taymans  <wim@fluendo.com>
818
819         * gst/cothreads.c:
820         * gst/cothreads.h:
821         Let's remove these.
822
823 2005-07-18  Wim Taymans  <wim@fluendo.com>
824
825         * docs/design/part-dynamic.txt:
826         * docs/design/part-events.txt:
827         * docs/design/part-seeking.txt:
828         Some more docs in the works.
829
830         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
831         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
832         (gst_base_transform_setcaps), (gst_base_transform_get_size),
833         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
834         (gst_base_transform_handle_buffer),
835         (gst_base_transform_sink_activate_push),
836         (gst_base_transform_src_activate_pull),
837         (gst_base_transform_set_passthrough),
838         (gst_base_transform_is_passthrough):
839         Refcounting fixes.
840
841         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
842         Cleanups.
843
844         * gst/gstevent.c: (gst_event_finalize):
845         Set SRC to NULL.
846
847         * gst/gstutils.c: (gst_element_unlink),
848         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
849         (gst_pad_proxy_setcaps):
850         * gst/gstutils.h:
851         Add _get_parent_element() to get a pads parent as an element.
852
853 2005-07-18  Wim Taymans  <wim@fluendo.com>
854
855         * check/gst/gstbin.c: (GST_START_TEST):
856         Remove bogus test.
857
858 2005-07-18  Wim Taymans  <wim@fluendo.com>
859
860         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
861         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
862         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
863         (gst_base_sink_event), (gst_base_sink_do_sync),
864         (gst_base_sink_chain), (gst_base_sink_loop),
865         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
866         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
867         Refcounting fixes.
868         Fix logic for returning ASYNC when not prerolled.
869
870 2005-07-18  Wim Taymans  <wim@fluendo.com>
871
872         * gst/gstqueue.c: (gst_queue_handle_sink_event):
873         Fix nasty refcount bug.
874
875 2005-07-16 Philippe Khalaf <burger@speedy.org>
876         * gst/elements/gstfdsrc.c:
877         * gst/elements/gstfdsrc.h:
878         * gst/elements/gstelements.c:
879         * gst/elements/Makefile.am:
880         Ported fdsrc to 0.9.
881
882 2005-07-16  Wim Taymans  <wim@fluendo.com>
883
884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
885         (gst_base_sink_do_sync):
886         Fix compile error.
887
888 2005-07-16  Wim Taymans  <wim@fluendo.com>
889
890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
891         (gst_base_sink_event), (gst_base_sink_get_times),
892         (gst_base_sink_do_sync), (gst_base_sink_change_state):
893         * gst/base/gstbasesink.h:
894         Store and use discont values when syncing buffers as described
895         in design docs.
896         
897         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
898         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
899         (gst_base_src_activate_push):
900         Push discont event when starting.
901
902         * gst/elements/gstidentity.c: (gst_identity_transform):
903         Small cleanups.
904
905         * gst/gstbin.c: (gst_bin_change_state):
906         Small cleanups in base_time  distribution.
907
908         * gst/gstelement.c: (gst_element_set_base_time),
909         (gst_element_get_base_time), (gst_element_change_state):
910         * gst/gstelement.h:
911         Added methods for the base_time of the element.
912         Some MT fixes.
913
914         * gst/gstpipeline.c: (gst_pipeline_send_event),
915         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
916         (gst_pipeline_get_last_stream_time):
917         * gst/gstpipeline.h:
918         MT fixes.
919         Handle seeking as described in design doc, remove stream_time
920         hack.
921         Cleanups clock and stream_time selection code. Added accessors
922         for the stream_time.
923         
924
925 2005-07-16  Andy Wingo  <wingo@pobox.com>
926
927         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
928         (#305291).
929
930 2005-07-16  Wim Taymans  <wim@fluendo.com>
931
932         * check/gst/gstbin.c: (GST_START_TEST):
933         Make elements silent as the deep_notify refs the
934         parent, which might make the test fail.
935
936         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
937         Don't hold the lock for too long.
938
939 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
940
941         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
942           Don't unref the caps we passed to gst_caps_make_writable() after
943           passing them. gst_caps_make_writable() will do that for us.
944
945 2005-07-15  Andy Wingo  <wingo@pobox.com>
946
947         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
948         (#157311).
949
950         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
951         own marshalling function for the handoff signal. Properly type the
952         buffer as a buffer. Fixes some warnings. Should do a more general
953         solution.
954         (gst_identity_class_init): Plug into the right marshaller.
955
956 2005-07-15  Wim Taymans  <wim@fluendo.com>
957
958         * docs/design/part-TODO.txt:
959         * docs/design/part-clocks.txt:
960         * docs/design/part-element-sink.txt:
961         * docs/design/part-events.txt:
962         * docs/design/part-gstpipeline.txt:
963         Updated docs, mostly DISCONT related.
964
965 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
966
967         * docs/pwg/building-pads.xml:
968           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
969
970 2005-07-15  Andy Wingo  <wingo@pobox.com>
971
972         * tools/gst-typefind.c: Update, add copyright block.
973
974         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
975         Normalize and truncate caps before fixation.
976
977         * gst/gstcaps.h:
978         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
979         discards all but the first structure from its argument.
980
981 2005-07-15  Wim Taymans  <wim@fluendo.com>
982
983         * gst/base/gstbasetransform.c: (gst_base_transform_init),
984         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
985         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
986         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
987         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
988         (gst_base_transform_chain), (gst_base_transform_change_state),
989         (gst_base_transform_set_passthrough),
990         (gst_base_transform_is_passthrough):
991         * gst/base/gstbasetransform.h:
992         Make passthrough work using the bufferpools.
993         Changed API a bit, subclasses have to write into a buffer
994         provided by the base class.
995         More debug info in nego functions.
996         
997         * gst/elements/gstidentity.c: (gst_identity_init),
998         (gst_identity_transform):
999         Port to new base class.
1000
1001 2005-07-15  Wim Taymans  <wim@fluendo.com>
1002
1003         * gst/gstmessage.c: (gst_message_new_state_changed):
1004         * tools/gst-launch.c: (event_loop), (main):
1005         Totally dump messages in -launch with the -m option.
1006         Fix message name for State messages,
1007
1008 2005-07-14  Wim Taymans  <wim@fluendo.com>
1009
1010         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1011         Post error messages on errors.
1012
1013 2005-07-14  Wim Taymans  <wim@fluendo.com>
1014
1015         * gst/gstcaps.c: (gst_caps_do_simplify):
1016         Remove debug info.
1017
1018         * gst/gsterror.h:
1019         Define error for stream stopped.
1020
1021         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1022         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1023         Do proper return values.
1024
1025         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1026         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1027         (gst_pad_get_range):
1028         Better return values.
1029
1030         * gst/gstpad.h:
1031         Reorganise return values, add macro to check for fatal errors.
1032
1033         * gst/gstqueue.c: (gst_queue_chain):
1034         Return proper GstFlowReturn values,
1035
1036 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1037
1038         * docs/gst/gstreamer-sections.txt:
1039         * docs/gst/gstreamer.types:
1040         * docs/gst/tmpl/gst.sgml:
1041         * docs/gst/tmpl/gstbasesink.sgml:
1042         * docs/gst/tmpl/gstbasesrc.sgml:
1043         * docs/gst/tmpl/gstbasetransform.sgml:
1044         * docs/gst/tmpl/gstbin.sgml:
1045         * docs/gst/tmpl/gstbuffer.sgml:
1046         * docs/gst/tmpl/gstcaps.sgml:
1047         * docs/gst/tmpl/gstclock.sgml:
1048         * docs/gst/tmpl/gstcompat.sgml:
1049         * docs/gst/tmpl/gstconfig.sgml:
1050         * docs/gst/tmpl/gstelement.sgml:
1051         * docs/gst/tmpl/gstelementdetails.sgml:
1052         * docs/gst/tmpl/gstelementfactory.sgml:
1053         * docs/gst/tmpl/gstenumtypes.sgml:
1054         * docs/gst/tmpl/gsterror.sgml:
1055         * docs/gst/tmpl/gstevent.sgml:
1056         * docs/gst/tmpl/gstfakesink.sgml:
1057         * docs/gst/tmpl/gstfakesrc.sgml:
1058         * docs/gst/tmpl/gstfilesink.sgml:
1059         * docs/gst/tmpl/gstfilesrc.sgml:
1060         * docs/gst/tmpl/gstfilter.sgml:
1061         * docs/gst/tmpl/gstformat.sgml:
1062         * docs/gst/tmpl/gstghostpad.sgml:
1063         * docs/gst/tmpl/gstimplementsinterface.sgml:
1064         * docs/gst/tmpl/gstindex.sgml:
1065         * docs/gst/tmpl/gstindexfactory.sgml:
1066         * docs/gst/tmpl/gstinfo.sgml:
1067         * docs/gst/tmpl/gstiterator.sgml:
1068         * docs/gst/tmpl/gstmacros.sgml:
1069         * docs/gst/tmpl/gstmemchunk.sgml:
1070         * docs/gst/tmpl/gstminiobject.sgml:
1071         * docs/gst/tmpl/gstobject.sgml:
1072         * docs/gst/tmpl/gstpad.sgml:
1073         * docs/gst/tmpl/gstpadtemplate.sgml:
1074         * docs/gst/tmpl/gstparse.sgml:
1075         * docs/gst/tmpl/gstpipeline.sgml:
1076         * docs/gst/tmpl/gstplugin.sgml:
1077         * docs/gst/tmpl/gstpluginfeature.sgml:
1078         * docs/gst/tmpl/gstquery.sgml:
1079         * docs/gst/tmpl/gstqueue.sgml:
1080         * docs/gst/tmpl/gstregistry.sgml:
1081         * docs/gst/tmpl/gstregistrypool.sgml:
1082         * docs/gst/tmpl/gstscheduler.sgml:
1083         * docs/gst/tmpl/gstschedulerfactory.sgml:
1084         * docs/gst/tmpl/gststructure.sgml:
1085         * docs/gst/tmpl/gstsystemclock.sgml:
1086         * docs/gst/tmpl/gsttaglist.sgml:
1087         * docs/gst/tmpl/gsttagsetter.sgml:
1088         * docs/gst/tmpl/gsttrace.sgml:
1089         * docs/gst/tmpl/gsttrashstack.sgml:
1090         * docs/gst/tmpl/gsttypefind.sgml:
1091         * docs/gst/tmpl/gsttypefindfactory.sgml:
1092         * docs/gst/tmpl/gsttypes.sgml:
1093         * docs/gst/tmpl/gsturihandler.sgml:
1094         * docs/gst/tmpl/gsturitype.sgml:
1095         * docs/gst/tmpl/gstutils.sgml:
1096         * docs/gst/tmpl/gstvalue.sgml:
1097         * docs/gst/tmpl/gstversion.sgml:
1098         * docs/gst/tmpl/gstxml.sgml:
1099         * docs/libs/tmpl/gstcontrol.sgml:
1100         * docs/libs/tmpl/gstdataprotocol.sgml:
1101         * docs/libs/tmpl/gstdparam.sgml:
1102         * docs/libs/tmpl/gstdplinint.sgml:
1103         * docs/libs/tmpl/gstdpman.sgml:
1104         * docs/libs/tmpl/gstdpsmooth.sgml:
1105         * docs/libs/tmpl/gstgetbits.sgml:
1106         * docs/libs/tmpl/gstunitconvert.sgml:
1107         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1108         (gst_push_src_base_init), (gst_push_src_class_init),
1109         (gst_push_src_init), (gst_push_src_create):
1110         * gst/base/gstpushsrc.h:
1111         * gst/elements/gstelements.c:
1112         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1113         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1114         (gst_fake_sink_init), (gst_fake_sink_set_property),
1115         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1116         (gst_fake_sink_event), (gst_fake_sink_preroll),
1117         (gst_fake_sink_render), (gst_fake_sink_change_state):
1118         * gst/elements/gstfakesink.h:
1119         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1120         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1121         (gst_fake_src_base_init), (gst_fake_src_class_init),
1122         (gst_fake_src_init), (gst_fake_src_event_handler),
1123         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1124         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1125         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1126         (gst_fake_src_create_buffer), (gst_fake_src_create),
1127         (gst_fake_src_start), (gst_fake_src_stop):
1128         * gst/elements/gstfakesrc.h:
1129         * gst/elements/gstfilesink.c: (_do_init),
1130         (gst_file_sink_base_init), (gst_file_sink_class_init),
1131         (gst_file_sink_init), (gst_file_sink_dispose),
1132         (gst_file_sink_set_location), (gst_file_sink_set_property),
1133         (gst_file_sink_get_property), (gst_file_sink_open_file),
1134         (gst_file_sink_close_file), (gst_file_sink_query),
1135         (gst_file_sink_event), (gst_file_sink_render),
1136         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1137         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1138         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1139         * gst/elements/gstfilesink.h:
1140         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1141         (gst_file_src_class_init), (gst_file_src_init),
1142         (gst_file_src_finalize), (gst_file_src_set_location),
1143         (gst_file_src_set_property), (gst_file_src_get_property),
1144         (gst_file_src_map_region), (gst_file_src_map_small_region),
1145         (gst_file_src_create_mmap), (gst_file_src_create_read),
1146         (gst_file_src_create), (gst_file_src_is_seekable),
1147         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1148         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1149         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1150         (gst_file_src_uri_handler_init):
1151         * gst/elements/gstfilesrc.h:
1152           more autistic cleanliness in functions/names/defines
1153
1154 2005-07-13  Andy Wingo  <wingo@pobox.com>
1155
1156         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1157         source couldn't negotiate.
1158
1159         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1160         connections again.
1161
1162         * gst/gstutils.h:
1163         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1164         function. I am channeling Hades. Put your boots on suckers!!!
1165
1166 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1167
1168         * testsuite/caps/Makefile.am:
1169         * testsuite/caps/value_compare.c:
1170         * testsuite/caps/value_intersect.c:
1171         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1172           move two testsuite apps over to the check dir
1173
1174 2005-07-12  Wim Taymans  <wim@fluendo.com>
1175
1176         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1177         Added more debug info in the negotiate process.
1178
1179         * gst/gstmessage.h:
1180         Prepare for segment playback.
1181
1182         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1183         Better debugging.
1184
1185         * gst/gstutils.c:
1186         Some more docs.
1187
1188         * tools/gst-launch.c: (main):
1189         NULL pipeline on errors.
1190
1191 2005-07-12  Andy Wingo  <wingo@pobox.com>
1192
1193         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1194         not it comes from a malloc region. Make sure our copy gets freed.
1195
1196 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1197
1198         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1199         * check/gst/gstmessage.c: (GST_START_TEST):
1200         * check/gst/gststructure.c: (GST_START_TEST),
1201         (gst_structure_suite), (main):
1202           more testing
1203         * gst/gstelement.c: (gst_element_message_full):
1204           clean up GError and debug string now that they get copied
1205         * gst/gstmessage.c: (gst_message_new_error),
1206         (gst_message_new_warning), (gst_message_parse_error),
1207         (gst_message_parse_warning):
1208           use GST_TYPE_G_ERROR for structure_new, and take copies of
1209           arguments, so that we don't mess up refcounting
1210
1211 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1212
1213         * check/Makefile.am:
1214           add per-test valgrind targets
1215         * check/gst-libs/gdp.c: (GST_START_TEST),
1216         (gst_data_protocol_suite), (main):
1217           clean up
1218
1219 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1220
1221         * check/Makefile.am:
1222           instate more valgrindable tests
1223         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1224         (GST_START_TEST), (fakesrc_suite):
1225         * check/gst/gstpad.c: (GST_START_TEST):
1226         * check/gst/gststructure.c: (GST_START_TEST):
1227           fix test leaks
1228         * docs/gst/tmpl/gstminiobject.sgml:
1229         * gst/gstpad.c: (gst_pad_finalize):
1230           fix the static mutex leak
1231
1232 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1233
1234         * check/Makefile.am:
1235           add two more tests for valgrinding
1236         * check/gst/gstvalue.c: (GST_START_TEST):
1237           test refcount of deserialized buffer, found a leak
1238         * docs/gst/gstreamer-docs.sgml:
1239         * docs/gst/gstreamer-sections.txt:
1240         * docs/gst/gstreamer.types:
1241         * docs/gst/tmpl/gstminiobject.sgml:
1242           add miniobject to docs
1243         * gst/gstminiobject.c:
1244           add some docs
1245         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1246         (gst_string_unwrap):
1247           fix a hard-to-find invalid write for one of the tests
1248           fix a leak for deserialized buffers
1249
1250 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1251
1252         * docs/pwg/advanced-events.xml:
1253         * docs/pwg/advanced-request.xml:
1254         * docs/pwg/advanced-scheduling.xml:
1255         * docs/pwg/appendix-porting.xml:
1256         * docs/pwg/building-boiler.xml:
1257         * docs/pwg/intro-preface.xml:
1258         * docs/pwg/other-ntoone.xml:
1259           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1260           of example code and explanation for pad activation, loop() and
1261           getrange() functions and a bit more. Remove old comments pointing
1262           to loop-functions.
1263         * examples/pwg/Makefile.am:
1264           Add loop/getrange examples.
1265
1266 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1267
1268         * configure.ac:
1269           check for valgrind binary + some fixes
1270         * check/gst.supp:
1271           valgrind suppressions for the tests
1272         * check/Makefile.am:
1273           add a valgrind: target that valgrinds the unit tests
1274         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1275         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1276         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1277         * check/gst/gstghostpad.c:
1278           added some cleanup
1279         * check/gst/gstdata.c:
1280           removed
1281         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1282         (thread_unref), (gst_mini_object_suite), (main):
1283           added
1284         * gst/gst.c: (gst_deinit):
1285         * gst/gst.h:
1286           add a method to clean up.
1287         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1288         (gst_system_clock_obtain):
1289           allow for disposing the system clock.
1290         * tools/gst-launch.c: (main):
1291           deinit
1292
1293 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1294
1295         * docs/gst/tmpl/gstbasesrc.sgml:
1296         * docs/gst/tmpl/gstfakesrc.sgml:
1297         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1298         (gst_base_src_init), (gst_base_src_set_property),
1299         (gst_base_src_get_property), (gst_base_src_get_range),
1300         (gst_base_src_start):
1301         * gst/base/gstbasesrc.h:
1302           add num-buffers property
1303         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1304         (gst_fakesrc_init), (gst_fakesrc_set_property),
1305         (gst_fakesrc_get_property), (gst_fakesrc_create),
1306         (gst_fakesrc_start):
1307           remove num-buffers property
1308
1309 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1310
1311         * docs/gst/gstreamer-sections.txt:
1312         * docs/gst/tmpl/gstbasesink.sgml:
1313         * docs/gst/tmpl/gstbasesrc.sgml:
1314         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1315         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1316         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1317         (gst_base_sink_set_property), (gst_base_sink_get_property),
1318         (gst_base_sink_handle_object), (gst_base_sink_event),
1319         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1320         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1321         (gst_base_sink_loop), (gst_base_sink_deactivate),
1322         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1323         (gst_base_sink_change_state):
1324         * gst/base/gstbasesink.h:
1325         * gst/base/gstbasesrc.h:
1326         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1327         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1328         (gst_filesink_init):
1329           more macro splitting
1330
1331 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1332
1333         * gst/gstelement.c: (gst_element_get_bus):
1334           add debug
1335         * tools/gst-launch.c: (check_intr), (event_loop):
1336           fix bus leaks
1337
1338 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1341           fix a caps leak
1342
1343 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1344
1345         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1346         (gst_base_src_finalize):
1347           add finalize method and clean up properly
1348         * gst/gstpipeline.c: (gst_pipeline_dispose):
1349           add debug
1350
1351 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1352
1353         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1354         (gst_bin_suite):
1355           add more things to check
1356         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1357         * gst/gstelement.c:
1358           more debug
1359
1360 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1363         (GST_START_TEST), (fakesrc_suite):
1364         * check/gst-libs/gdp.c: (GST_START_TEST):
1365         * check/gst/gst.c: (GST_START_TEST):
1366         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1367         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1368         * check/gst/gstbus.c: (GST_START_TEST):
1369         * check/gst/gstcaps.c: (GST_START_TEST):
1370         * check/gst/gstdata.c: (GST_START_TEST):
1371         * check/gst/gstelement.c: (GST_START_TEST):
1372         * check/gst/gstghostpad.c: (GST_START_TEST):
1373         * check/gst/gstiterator.c: (GST_START_TEST):
1374         * check/gst/gstmessage.c: (GST_START_TEST):
1375         * check/gst/gstobject.c: (GST_START_TEST):
1376         * check/gst/gstpad.c: (GST_START_TEST):
1377         * check/gst/gststructure.c: (GST_START_TEST):
1378         * check/gst/gstsystemclock.c: (GST_START_TEST),
1379         (gst_systemclock_suite):
1380         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1381         * check/gst/gstvalue.c: (GST_START_TEST):
1382         * check/pipelines/cleanup.c: (GST_START_TEST):
1383         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1384         * check/states/sinks.c: (GST_START_TEST):
1385         * check/gstcheck.c: (gst_check_init):
1386         * check/gstcheck.h:
1387           add debugging category
1388           use GST_START_TEST now, so we add a debug line
1389
1390 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1391
1392         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1393           add test for state change message on a bin
1394         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1395           add another test
1396         * gst/gstbin.c: (gst_bin_init):
1397         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1398         * gst/gstelement.c: (gst_element_post_message),
1399         (gst_element_set_state):
1400         * gst/gstelementfactory.c: (gst_element_factory_create):
1401         * gst/gstmessage.c: (gst_message_new):
1402         * gst/gstscheduler.c:
1403           various debugging additions and cleanups
1404
1405 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1406
1407         * check/Makefile.am:
1408         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1409         (main):
1410           adding tests for elements
1411         * gst/gstelement.c: (gst_element_dispose):
1412
1413 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1414
1415         * gst/registries/gstlibxmlregistry.c: (load_feature):
1416           plug more leaks.  A simple gst_init() now is leakfree, yay.
1417
1418 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1419
1420         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1421         (gst_xml_registry_load):
1422           plug another memleak
1423
1424 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1425
1426         * configure.ac:
1427           use GST_SET_ERROR_CFLAGS
1428         * docs/faq/cvs.xml:
1429           change to ERROR_CFLAGS
1430
1431 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1432
1433         * configure.ac:
1434           make GST_ERROR_CFLAGS overridable and re-enable Werror
1435         * docs/faq/cvs.xml:
1436           add a note about error CFLAGS
1437         * docs/gst/tmpl/gstfakesrc.sgml:
1438         * gst/elements/gstfakesrc.c:
1439           comment out some unused code
1440         * gst/gst.c: (split_and_iterate):
1441         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1442         (load_feature):
1443           plug some memleaks
1444
1445 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1446
1447         * common/Makefile.am:
1448         * common/gtk-doc.mak:
1449         * docs/gst/Makefile.am:
1450           factor out gtk-doc.mak
1451
1452 2005-07-07  Wim Taymans  <wim@fluendo.com>
1453
1454         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1455         (gst_thread_scheduler_dispose):
1456         Unlock the STREAM_LOCK completely.
1457
1458 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1459
1460         * check/Makefile.am:
1461         * check/elements/.cvsignore:
1462         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1463         (START_TEST), (fakesrc_suite), (main):
1464         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1465         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1466         (gst_fakesrc_create), (gst_fakesrc_start):
1467         * gst/elements/gstfakesrc.h:
1468           adding a first element test
1469
1470 2005-07-07  Andy Wingo  <wingo@pobox.com>
1471
1472         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1473         debug message.
1474
1475 2005-07-07  Wim Taymans  <wim@fluendo.com>
1476
1477         * gst/gstquery.c:
1478         * gst/gstquery.h:
1479         Remove old types
1480
1481 2005-07-07  Wim Taymans  <wim@fluendo.com>
1482
1483         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1484         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1485         Allow subclasses to implement their own negotiation.
1486
1487 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1488
1489         * docs/design/part-gstbin.txt:
1490         * docs/design/part-gstpipeline.txt:
1491           Update design notes to reflect the movement of
1492           responsibility for bus handling from GstPipeline to
1493           GstBin
1494
1495 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1496
1497         * configure.ac:
1498           Remove unnecessary queue2/3/4 examples.
1499
1500 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1501
1502         * examples/Makefile.am:
1503         * examples/helloworld/helloworld.c: (event_loop), (main):
1504         * examples/queue/queue.c: (event_loop), (main):
1505         * examples/queue2/queue2.c: (main):
1506           Update a couple of the examples to work again.
1507
1508         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1509         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1510          Spelling corrections and extra debug.
1511         
1512         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1513         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1514         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1515         * gst/gstbin.h:
1516         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1517         (gst_pipeline_change_state):
1518         * gst/gstpipeline.h:
1519           Move the bus handler for children to the GstBin, and create a
1520           separate bus for receiving messages from children to the one the
1521           bus sends 'upwards' on.
1522
1523 2005-07-06  Wim Taymans  <wim@fluendo.com>
1524
1525         * gst/base/README:
1526         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1527         (gst_base_sink_handle_object), (gst_base_sink_loop),
1528         (gst_base_sink_change_state):
1529         * gst/base/gstbasesink.h:
1530         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1531         (gst_base_src_init), (gst_base_src_setcaps),
1532         (gst_base_src_getcaps), (gst_base_src_loop),
1533         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1534         (gst_base_src_start), (gst_base_src_change_state):
1535         * gst/base/gstbasesrc.h:
1536         Make basesrc negotiate.
1537         Handle the case where preroll fails in basesink.
1538         Update README.
1539
1540 2005-07-06  Wim Taymans  <wim@fluendo.com>
1541
1542         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1543         Implement the fixate function.
1544         Clean up acceptcaps.
1545
1546 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1547
1548         * docs/pwg/building-filterfactory.xml:
1549         * docs/pwg/pwg.xml:
1550           Remove never-written filter-factory chapter; I'll add the various
1551           base classes to part 4 ("other element types") later on.
1552
1553 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1554
1555         * docs/pwg/advanced-negotiation.xml:
1556         * docs/pwg/building-boiler.xml:
1557         * docs/pwg/building-pads.xml:
1558         * docs/pwg/pwg.xml:
1559         * examples/pwg/Makefile.am:
1560           Add a chapter on caps negotiation, simplify the original code
1561           samples a bit w.r.t. caps negotiation, add link to the advanced
1562           section. Add a bunch of examples showing different use cases of
1563           different types of caps negotiation. Upstream renegotiation isn't
1564           fully documented yet since nobody knows how that works.
1565
1566 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1567
1568         * check/gst/gstpad.c:
1569         * check/gstcheck.c:
1570         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1571           if pad has no parent, return NULL as list of internal links
1572
1573 2005-07-05  Andy Wingo  <wingo@pobox.com>
1574
1575         * gst/elements/gstfilesrc.c:
1576         * gst/elements/gstfakesrc.c: 
1577         * gst/base/gstpushsrc.c:
1578         * gst/base/gstbasesrc.h: 
1579         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1580         
1581 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1582
1583         * Makefile.am:
1584           better report generation target (lcov needs a patch)
1585
1586 2005-07-05  Andy Wingo  <wingo@pobox.com>
1587
1588         * gst/elements, testsuite: Null if we got it...
1589
1590 2005-07-05  Wim Taymans  <wim@fluendo.com>
1591
1592         * configure.ac:
1593         * libs/gst/dataprotocol/Makefile.am:
1594         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1595         * libs/gst/dataprotocol/dataprotocol.h:
1596         * pkgconfig/Makefile.am:
1597         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1598         * pkgconfig/gstreamer-dataprotocol.pc.in:
1599         Ported dataprotol to 0.9. 
1600         Added pkgconfig files.
1601
1602 2005-07-05  Andy Wingo  <wingo@pobox.com>
1603
1604         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1605         Default to returning TRUE for the case when tranform_caps returns
1606         a fixed caps, like for identity or volume.
1607
1608         * check/gst/gstbus.c (pound_bus_with_messages): 
1609         * check/gst/gstmessage.c (START_TEST): 
1610         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1611         message API change.
1612
1613         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1614         logic weaks here: always run transform_caps, trying passthrough
1615         operation only if the original caps intersects with the transform.
1616
1617         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1618         source and sink caps.
1619
1620         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1621         Intersect the peer caps with the pad template before going into
1622         transform_caps.
1623         (gst_base_transform_transform_caps): More debugging.
1624
1625         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1626         src argument.
1627
1628 2005-07-04  Edward Hervey  <edward@fluendo.com>
1629
1630         * gst/gstutils.c:
1631         * gst/gstutils.h:
1632         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1633         in bindings.
1634
1635 2005-07-04  Andy Wingo  <wingo@pobox.com>
1636
1637         * check/gst/gstpad.c: Only set explicit caps on pads.
1638
1639 2005-07-01  Andy Wingo  <wingo@pobox.com>
1640
1641         * tests/network-clock.scm: Commentary update.
1642
1643         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1644         Didn't really make sense, not implementable with basetransform,
1645         etc.
1646         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1647         attempt at implementing the sync property, needs an unlock method.
1648
1649         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1650         New func, by default returns the same caps (the identity
1651         transformation).
1652         (gst_base_transform_getcaps): Uses transform_caps to return
1653         something sensible.
1654         (gst_base_transform_setcaps): Complicated logic to get caps on
1655         both pads, even if they are different, and to call set_caps once
1656         for every time both pads get their caps set.
1657         (gst_base_transform_handle_buffer): Give the ref to the transform
1658         function. Allows in-place modification of the buffer.
1659
1660         * gst/base/gstbasetransform.h (transform_caps): New class method.
1661         Given caps on one side, what can I do on the other.
1662         (set_caps): Take two caps, one for each side of the element.
1663
1664         * gst/gstpad.h:
1665         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1666         caps in place. This is safe because we can check the mutability of
1667         the caps, and a good idea because fixate functions are just called
1668         as a matter of last resort. (Not actually implemented.)
1669         (gst_pad_set_caps): If the caps we're setting is actually the same
1670         as the existing pad caps, just update the pointer without calling
1671         setcaps. Assert that caps is either NULL or fixed, as per the
1672         docs.
1673
1674         * gst/gstghostpad.c: Update for fixate changes.
1675
1676 2005-07-02  Andy Wingo  <wingo@pobox.com>
1677
1678         * gst/gstcaps.c:
1679         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1680         two refcounts makes it immutable, which is enough. Doc more.
1681
1682 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1683
1684         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1685           Put the mini_object into GValue as a mini_object,
1686           not a gpointer, since that's how we declared
1687           the signal.
1688
1689 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1690
1691         * examples/pwg/Makefile.am:
1692           Fix buildbot again.
1693
1694 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1695
1696         * docs/pwg/building-testapp.xml:
1697           Add extra check.
1698         * examples/pwg/Makefile.am:
1699           Fix buildbot.
1700
1701 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1702
1703         * configure.ac:
1704         * examples/Makefile.am:
1705         * examples/pwg/Makefile.am:
1706         * examples/pwg/extract.pl:
1707           Enable building the PWG examples.
1708         * docs/pwg/advanced-interfaces.xml:
1709           Add URI interface stub.
1710         * docs/pwg/advanced-types.xml:
1711         * docs/pwg/other-autoplugger.xml:
1712         * docs/pwg/appendix-porting.xml:
1713         * docs/pwg/pwg.xml:
1714           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1715         * docs/pwg/building-boiler.xml:
1716         * docs/pwg/building-chainfn.xml:
1717         * docs/pwg/building-pads.xml:
1718         * docs/pwg/building-props.xml:
1719         * docs/pwg/building-state.xml:
1720         * docs/pwg/building-testapp.xml:
1721           Update the building-*.xml parts for 0.9 changes. All examples
1722           code blocks compile in examples/pwg/*.
1723
1724 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1725
1726         * docs/manual/advanced-autoplugging.xml:
1727         * docs/manual/appendix-checklist.xml:
1728         * docs/manual/appendix-integration.xml:
1729         * docs/manual/highlevel-components.xml:
1730           Fix playbin/decodebin examples, update docs a bit, mention bus
1731           instead of signals in various places, mention kmplayer and
1732           kaffeine since they have a working GStreamer backend in the KDE
1733           section.
1734
1735 2005-06-30  Wim Taymans  <wim@fluendo.com>
1736
1737         * CHANGES-0.9:
1738         * docs/design/draft-ghostpads.txt:
1739         * docs/design/draft-push-pull.txt:
1740         * docs/design/draft-query.txt:
1741         * docs/design/part-TODO.txt:
1742         * docs/design/part-query.txt:
1743         Added CHANGES-0.9 doc, updated status of other docs.
1744         
1745         * gst/gstquery.h:
1746         Remove "hmm" macro
1747
1748 2005-06-30  Wim Taymans  <wim@fluendo.com>
1749
1750         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1751         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1752         (gst_base_sink_change_state):
1753         * gst/base/gstbasesink.h:
1754         Some tweaks, only EOS and a buffer complete a preroll.
1755
1756 2005-06-30  Andy Wingo  <wingo@pobox.com>
1757
1758         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1759         activate_push down to the internal pad as well.
1760
1761 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1762
1763         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1764
1765         * gst/gsttaginterface.c:
1766           Some documentation fixes (#307394 and #307397).
1767
1768 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1769
1770         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1771
1772         * gst/gstvalue.c: (gst_value_intersect_list):
1773           Fix memleak (#309125).
1774
1775 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1776
1777         * docs/manual/advanced-dataaccess.xml:
1778           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1779         * docs/manual/basics-pads.xml:
1780           Add reference for filtered caps to above chapter.
1781
1782 2005-06-30  Wim Taymans  <wim@fluendo.com>
1783
1784         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1785         (gst_bin_change_state):
1786         Probes are gone.
1787         Lame attempt at making the state change function a bit
1788         more readable.
1789
1790 2005-06-30  Wim Taymans  <wim@fluendo.com>
1791
1792         * docs/design/part-clocks.txt:
1793         * docs/design/part-element-sink.txt:
1794         * docs/design/part-events.txt:
1795         * docs/design/part-preroll.txt:
1796         * docs/design/part-states.txt:
1797         Some more tweeks and additions to the docs.
1798
1799 2005-06-30  Wim Taymans  <wim@fluendo.com>
1800
1801         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1802         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1803         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1804         (gst_pad_check_pull_range), (gst_pad_get_range),
1805         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1806         * gst/gstpad.h:
1807         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1808         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1809         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1810         (gst_pad_remove_buffer_probe):
1811         Removed atomic operations, use existing LOCK.
1812         Move exception handling out of main code path.
1813
1814 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1815
1816         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1817         (silly_return_true_function), (gst_pad_class_init),
1818         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1819         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1820         (gst_pad_send_event):
1821           Fix accumulator, add default value by using _emitv() instead
1822           of _emit() for signal emission.
1823
1824 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1825
1826         * docs/manual/advanced-dataaccess.xml:
1827         * examples/manual/Makefile.am:
1828           Add probe example.
1829         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1830           Make work (??).
1831
1832 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1833
1834         * gst/elements/gstfilesink.c: (gst_filesink_render):
1835           Simplify code so that we don't have to handle short
1836           writes and return GST_FLOW_ERROR if an error occured.
1837
1838 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1839
1840         * docs/gst/gstreamer-docs.sgml:
1841           Remove probes more.
1842
1843 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1844
1845         * docs/gst/gstreamer-sections.txt:
1846         * docs/gst/tmpl/gstpad.sgml:
1847         * docs/gst/tmpl/gstprobe.sgml:
1848         * gst/Makefile.am:
1849         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1850         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1851         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1852         (gst_pad_push_event), (gst_pad_send_event):
1853         * gst/gstpad.h:
1854         * gst/gstutils.c: (gst_pad_add_data_probe),
1855         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1856         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1857         (gst_pad_remove_buffer_probe):
1858         * gst/gstutils.h:
1859           Remove old probes, add new g-signal-based probes and some utility
1860           functions.
1861
1862 2005-06-29  Edward Hervey  <edward@fluendo.com>
1863
1864         * gst/gstelementfactory.c:
1865         * gst/gstutils.h:
1866         * gst/gstutils.c:
1867         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1868         the definition to the header file.
1869
1870 2005-06-29  Andy Wingo  <wingo@pobox.com>
1871
1872         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1873         plugins from the source directory.
1874
1875 2005-06-29  Wim Taymans  <wim@fluendo.com>
1876
1877         * docs/gst/tmpl/gstbuffer.sgml:
1878         * docs/gst/tmpl/gstclock.sgml:
1879         Some fixings for blantently wrong text.
1880
1881 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1882
1883         * check/Makefile.am:
1884         * gst/gst.c: (add_path_func), (init_pre):
1885         * gst/gstregistry.c: (gst_registry_add_path):
1886           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1887           only scan the GST_PLUGIN_PATH locations, and not add
1888           system locations
1889
1890 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1891
1892         * docs/gst/gstreamer-sections.txt:
1893         * docs/gst/tmpl/gstbasesrc.sgml:
1894         * gst/gstelement.c:
1895         * gst/gstelement.h:
1896         * gst/gstevent.c:
1897         * gst/gstutils.c:
1898           doc fixes
1899
1900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1901
1902         * docs/manual/advanced-autoplugging.xml:
1903           Fix autoplugging example.
1904
1905 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1906
1907         * docs/manual/advanced-autoplugging.xml:
1908         * docs/manual/mime-world.fig:
1909           Try to get autoplugging working, fix type detection. Fix text
1910           in hello-world image.
1911
1912 2005-06-29  Wim Taymans  <wim@fluendo.com>
1913
1914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1915         (gst_base_sink_change_state):
1916         Small debug line.
1917
1918         * gst/gstclock.h:
1919         map SIGNAL and BROADCAST to the right function.
1920
1921         * gst/gstobject.h:
1922         Remove redundant braces.
1923
1924         * gst/gstpad.c: (gst_pad_set_caps):
1925         Don't call setcaps function when reseting caps to NULL.
1926
1927         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1928         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1929         (gst_system_clock_id_unschedule):
1930         Use BROADCAST as this is what we do.
1931
1932 2005-06-29  Wim Taymans  <wim@fluendo.com>
1933
1934         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1935         We are actually prerolling before commiting the state
1936         change. 
1937
1938 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1939
1940         * docs/manual/advanced-clocks.xml:
1941         * docs/manual/advanced-interfaces.xml:
1942         * docs/manual/advanced-metadata.xml:
1943         * docs/manual/advanced-position.xml:
1944         * docs/manual/advanced-schedulers.xml:
1945         * docs/manual/advanced-threads.xml:
1946         * docs/manual/appendix-porting.xml:
1947         * docs/manual/basics-bins.xml:
1948         * docs/manual/basics-bus.xml:
1949         * docs/manual/basics-elements.xml:
1950         * docs/manual/basics-helloworld.xml:
1951         * docs/manual/basics-pads.xml:
1952         * docs/manual/highlevel-components.xml:
1953         * docs/manual/manual.xml:
1954         * docs/manual/thread.fig:
1955           Update (until threads/scheduling) Application Development Manual;
1956           remove GstThread, add GstBus, add simple porting checklist, add
1957           documentation for tag writing, clocks, make all examples until this
1958           part compile and run.
1959         * examples/manual/Makefile.am:
1960           Update from changes to Application Development Manual; add bus
1961           example, remove thread example.
1962
1963 2005-06-28  Wim Taymans  <wim@fluendo.com>
1964
1965         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1966         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1967         (gst_bus_source_dispatch):
1968         Add debugging messages.
1969         Make internal methods static.
1970         Handle the case where the bus is flushed in the handler.
1971         
1972         * gst/gstelement.c: (gst_element_get_bus):
1973         Fix refcount in _get_bus();
1974
1975         * gst/gstpipeline.c: (gst_pipeline_change_state),
1976         (gst_pipeline_get_clock_func):
1977         Clock refcounting fixes.
1978         Handle the case where preroll timed out more gracefully.
1979         
1980         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1981         Clean up the internal thread in dispose. This is needed
1982         for subclasses that actually get disposed.
1983         
1984         * gst/schedulers/threadscheduler.c:
1985         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1986         (gst_thread_scheduler_dispose):
1987         Free thread pool in dispose.
1988
1989 2005-06-28  Andy Wingo  <wingo@pobox.com>
1990
1991         * tests/network-clock-utils.scm (debug, print-event): New utils.
1992
1993         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1994         (*packet-loss*): Unified loss probability.
1995         (network-time): Report out-of-band events.
1996
1997         * tests/plot-data: Add support for out-of-band events. Hack it
1998         into this script instead of passing it down the pipe; should fix
1999         this later.
2000
2001 2005-06-28  Wim Taymans  <wim@fluendo.com>
2002
2003         * docs/gst/gstreamer.types:
2004         * docs/gst/tmpl/gstbasesrc.sgml:
2005         * docs/gst/tmpl/gstpad.sgml:
2006         Docs fixes.
2007
2008 2005-06-28  Wim Taymans  <wim@fluendo.com>
2009
2010         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2011         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2012         (gst_proxy_pad_do_fixatecaps):
2013         Correctly proxy the check_pull_range function.
2014
2015 2005-06-28  Andy Wingo  <wingo@pobox.com>
2016
2017         * tests/network-clock.scm: Removed need for slib.
2018         
2019 2005-06-28  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2022         (gst_basesink_preroll_queue_flush):
2023         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2024         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2025         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2026         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2027         (gst_proxy_pad_set_property):
2028         * gst/gstpad.c:
2029         * gst/gstpad.h:
2030         * gst/gstqueue.c: (gst_queue_init):
2031         The deprecated pad loop function is removed now.
2032
2033 2005-06-28  Andy Wingo  <wingo@pobox.com>
2034
2035         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2036         New parameters, simulate network packet loss.
2037
2038         * tests/network-clock-utils.scm: Initialize the RNG.
2039
2040 2005-06-28  Wim Taymans  <wim@fluendo.com>
2041
2042         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2043         (gst_basesink_event), (gst_basesink_deactivate):
2044         Flushing the preroll queue always needs to unlock the waiters.
2045
2046 2005-06-28  Edward Hervey  <edward@fluendo.com>
2047
2048         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2049         Wheen a seek was successful on a pipeline, set the stream_time to the
2050         seek offset in order to have a synchronized stream_time.
2051
2052 2005-06-28  Wim Taymans  <wim@fluendo.com>
2053
2054         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2055         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2056         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2057         (gst_proxy_pad_do_fixatecaps):
2058         Call wrapper function instead of just calling the function
2059         pointers. This takes care of any locking and whatmore.
2060
2061 2005-06-28  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2064         (gst_pad_pull_range):
2065         * gst/gstpad.h:
2066         CONNECTED -> LINKED.
2067
2068 2005-06-28  Andy Wingo  <wingo@pobox.com>
2069
2070         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2071         source-munging commit!!!
2072
2073         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2074         (gst_object_sink): Take gpointer arguments, not GstObject --
2075         avoids casts. Like GLib.
2076
2077         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2078         activate.
2079
2080 2005-06-27  Andy Wingo  <wingo@pobox.com>
2081
2082         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2083         remaining buffer.
2084
2085         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2086         returns a sorted copy of the trace list.
2087         (gst_alloc_trace_print_live): New API, only prints traces with
2088         live objects. Sort the list.
2089         (gst_alloc_trace_print_all): Sort the list.
2090         (gst_alloc_trace_print): Align columns.
2091
2092         * gst/elements/gstttypefindelement.c:
2093         * gst/elements/gsttee.c:
2094         * gst/base/gstbasesrc.c:
2095         * gst/base/gstbasesink.c:
2096         * gst/base/gstbasetransform.c:
2097         * gst/gstqueue.c: Adapt for pad activation changes.
2098
2099         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2100         sched.
2101         (gst_pipeline_dispose): Drop ref on sched.
2102
2103         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2104         (gst_pad_activate_default): Push mode by default.
2105         (pre_activate_switch, post_activate_switch): New stubs, things to
2106         do before and after switching activation modes on pads.
2107         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2108         the pad's activate function to choose which mode to activate.
2109         Shortcut on deactivation and call the right function directly.
2110         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2111         mode.
2112         (gst_pad_activate_push): New API, same for push mode.
2113         (gst_pad_set_activate_function) 
2114         (gst_pad_set_activatepull_function) 
2115         (gst_pad_set_activatepush_function): Setters for new API.
2116
2117         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2118         Trace all miniobjects.
2119         (gst_mini_object_make_writable): Unref the arg if we copy, like
2120         gst_caps_make_writable.
2121
2122         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2123
2124         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2125         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2126         Adapt for new pad API.
2127
2128         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2129
2130         * gst/gstelement.h:
2131         * gst/gstelement.c (gst_element_iterate_src_pads) 
2132         (gst_element_iterate_sink_pads): New API functions.
2133         
2134         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2135         should fold into gstiterator.c in some form.
2136         (gst_element_pads_activate): Simplified via use of fold and
2137         delegation of decisions to gstpad->activate.
2138
2139         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2140         help in debugging.
2141
2142         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2143         class once in init, like gstmessage. Didn't run into this issue
2144         but it seems correct. Don't initialize a trace, gstminiobject does
2145         that.
2146
2147         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2148         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2149         to the bus.
2150         (assert_live_count): New util function, uses alloc traces to check
2151         cleanup.
2152
2153         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2154         To be modified when unlink drops the internal pad.
2155
2156 2005-06-27  Wim Taymans  <wim@fluendo.com>
2157
2158         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2159         (gst_bin_change_state):
2160         Cleanup the get_state() function a little, make sure it
2161         iterates the same set of elements.
2162         Added stub iterate_state_order().
2163
2164 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2165
2166         * docs/gst/gstreamer-docs.sgml:
2167         * docs/gst/gstreamer-sections.txt:
2168         * docs/gst/gstreamer.types:
2169         * docs/gst/tmpl/gstbasesink.sgml:
2170         * docs/gst/tmpl/gstbasesrc.sgml:
2171         * docs/gst/tmpl/gstbasetransform.sgml:
2172         * docs/gst/tmpl/gstelement.sgml:
2173         * docs/gst/tmpl/gstiterator.sgml:
2174         * gst/base/gstbasesrc.c:
2175         * gst/base/gstbasesrc.h:
2176         * gst/base/gstbasetransform.h:
2177         * gst/gstelement.c:
2178         * gst/gstiterator.h:
2179           adding basetransform and iterator docs
2180
2181 2005-06-27  Andy Wingo  <wingo@pobox.com>
2182
2183         * docs/design/part-activation.txt: Notes on how activation should
2184         work -- not quite implemented yet.
2185
2186 2005-06-25  Wim Taymans  <wim@fluendo.com>
2187
2188         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2189         At least get the chain function correct, needs more
2190         fixing.
2191
2192 2005-06-25  Wim Taymans  <wim@fluendo.com>
2193
2194         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2195         (gst_basesink_handle_object), (gst_basesink_event),
2196         (gst_basesink_do_sync), (gst_basesink_handle_event),
2197         (gst_basesink_change_state):
2198         * gst/gsttask.h:
2199         Right, two problems here: ghostpads don't take locks and
2200         glib _rec_mutex_lock_full() with depth==0 still locks.
2201         Catch illegal locking and g_warn them.
2202
2203 2005-06-25  Wim Taymans  <wim@fluendo.com>
2204
2205         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2206         Have to check for completion now...
2207
2208 2005-06-25  Wim Taymans  <wim@fluendo.com>
2209
2210         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2211         (gst_basesink_handle_object), (gst_basesink_event),
2212         (gst_basesink_do_sync), (gst_basesink_handle_event),
2213         (gst_basesink_change_state):
2214         * gst/gstpad.h:
2215         Unlock STREAM_LOCK whatever the recursion was.
2216
2217 2005-06-25  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2220         (gst_basesink_preroll_queue_empty),
2221         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2222         (gst_basesink_event), (gst_basesink_do_sync),
2223         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2224         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2225         (gst_basesink_change_state):
2226         Reworked the base sink, handle event and buffer serialisation
2227         correctly and removed possible deadlock.
2228         Handle EOS correctly.
2229
2230 2005-06-25  Wim Taymans  <wim@fluendo.com>
2231
2232         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2233         (gst_pipeline_change_state):
2234         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2235         Allow elements to post EOS in the state change function.
2236         Fix up -launch, make it exit the poll loop when the
2237         pipeline actually changed state.
2238         Fix up warning parsing in -launch.
2239
2240 2005-06-25  Wim Taymans  <wim@fluendo.com>
2241
2242         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2243         (gst_tee_sink_activate):
2244         Core takes STREAM_LOCK for us now.
2245
2246 2005-06-25  Wim Taymans  <wim@fluendo.com>
2247
2248         * gst/gstelement.c: (gst_element_get_state_func),
2249         (gst_element_set_state):
2250         * gst/gstelement.h:
2251         * gst/gstmessage.c: (gst_message_parse_error),
2252         (gst_message_parse_warning):
2253         Keep track of current target state while performing a state
2254         change so that subclasses can do something interesting.
2255         Fix parsing of warning/error messages when GError is NULL.
2256
2257 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2258
2259         * docs/gst/Makefile.am:
2260         * docs/gst/gstreamer-docs.sgml:
2261         * docs/gst/gstreamer-sections.txt:
2262         * docs/gst/gstreamer.types:
2263         * docs/gst/tmpl/gstbasesink.sgml:
2264         * docs/gst/tmpl/gstbasesrc.sgml:
2265         * docs/gst/tmpl/gstbin.sgml:
2266         * docs/gst/tmpl/gstcompat.sgml:
2267         * docs/gst/tmpl/gstfakesink.sgml:
2268         * docs/gst/tmpl/gstfakesrc.sgml:
2269         * docs/gst/tmpl/gstfilesink.sgml:
2270         * docs/gst/tmpl/gstfilesrc.sgml:
2271         * docs/gst/tmpl/gstindex.sgml:
2272         * docs/manual/appendix-quotes.xml:
2273         * gst/base/gstbasesrc.h:
2274         * gst/elements/gstfakesrc.h:
2275         * gst/gstmessage.h:
2276           start pulling in base classes and elements in our docs
2277
2278 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2279
2280         * docs/gst/Makefile.am:
2281         * docs/libs/Makefile.am:
2282           fixed make distcheck with gtk-doc 1.3
2283
2284 2005-06-23  Wim Taymans  <wim@fluendo.com>
2285
2286         * gst/gstelement.c: (gst_element_get_state_func),
2287         (gst_element_set_state), (gst_element_change_state):
2288         When the state did not change, also report NO_PREROLL
2289         when it matters.
2290
2291 2005-06-23  Wim Taymans  <wim@fluendo.com>
2292
2293         * gst/gstpad.c: (gst_pad_event_default):
2294         * gst/gstqueue.c: (gst_queue_loop):
2295         No unsafe task pausing please.
2296
2297 2005-06-23  Wim Taymans  <wim@fluendo.com>
2298
2299         * gst/schedulers/threadscheduler.c:
2300         (gst_thread_scheduler_task_start),
2301         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2302         Ref the task before pushing it on the threadpool. This
2303         makes sure that we have a ref when the threadfunction is
2304         actually called.
2305
2306 2005-06-23  Andy Wingo  <wingo@pobox.com>
2307
2308         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2309         offset is greater than the file's size.
2310
2311         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2312         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2313         * gst/gstobject.c (gst_object_class_init): Make the class lock
2314         recursive. Wim won't let me drop deep_notify. Decodebin works
2315         again, whoopdy doo.
2316
2317         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2318         internal pad, and hacks accordingly. Doesn't do it on the target
2319         pad because we change its caps. Probably catches all cases of
2320         interest tho.
2321         (gst_ghost_pad_set_property): Connect to notify::caps as
2322         appropritate.
2323
2324         * tests/network-clock.scm (plot-simulation): Pipe data to the
2325         elite python skript.
2326
2327         * tests/network-clock-utils.scm (define-parameter): New macro,
2328         defines a parameter that can be set via the command line.
2329         (set-parameter!, parse-parameter-arguments): Command line args
2330         parser.
2331
2332         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2333         stdin.
2334
2335 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2336
2337         * gst/elements/gsttypefindelement.c:
2338         (gst_type_find_element_handle_event):
2339           Don't restart typefinding on a discont.
2340         * gst/gstelement.c: (gst_element_set_state):
2341           Debug spelling fix.
2342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2343           Allow changing mode of an active pad.
2344           Debug output fixes.
2345         * gst/registries/gstlibxmlregistry.c: (load_feature):
2346           Don't cast a static pad template to a normal pad template.
2347
2348 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2349
2350         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2351         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2352           remove gst_strtoll completely, since it didn't actually do
2353           anything more than what g_ascii_strtoull already does.
2354           check for range errors when deserializing
2355           do a cast for the unsigned cases; but further fixing needs
2356           a decision on what the interpretation of "(int)" and
2357           deserialization should be for values that fall outside the
2358           type's boundaries (ie, refuse, or interpret as casting)
2359
2360 2005-06-23  Wim Taymans  <wim@fluendo.com>
2361
2362         * check/Makefile.am:
2363         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2364         * docs/design/part-live-source.txt:
2365         * docs/design/part-states.txt:
2366         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2367         (gst_basesrc_set_live), (gst_basesrc_is_live),
2368         (gst_basesrc_get_range), (gst_basesrc_activate),
2369         (gst_basesrc_change_state):
2370         * gst/base/gstbasesrc.h:
2371         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2372         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2373         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2374         * gst/gstelement.c: (gst_element_get_state_func),
2375         (gst_element_set_state):
2376         * gst/gstelement.h:
2377         * gst/gsttypes.h:
2378         * tools/gst-launch.c: (event_loop), (main):
2379         Added support for live sources and other elements that
2380         cannot do preroll.
2381         Updated design docs, added live-source design doc.
2382         Implemented live source functionality in basesrc
2383         Fix error condition in _bin_get_state()
2384         Implement live source handling in -launch.
2385         Added check for live sources.
2386         Fixed case in GstBin where elements were changed state
2387         multiple times.
2388
2389
2390 2005-06-23  Andy Wingo  <wingo@pobox.com>
2391
2392         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2393         borken refcounting.
2394
2395         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2396         gst_caps_replace takes care of this for us.
2397
2398         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2399         gst_pad_set_caps on the target, not just its setcaps() function.
2400
2401         * tests/network-clock.scm: 
2402         * tests/network-clock-utils.scm: A network clock simulator.
2403         Something of an algorithmic testbed before doing something in C.
2404
2405 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2406
2407         * check/Makefile.am:
2408         * check/gst/capslist.h:
2409           copy over from 0.8, and add two with bitmasks specified with
2410           (int) 0xFF...
2411         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2412           add test to parse everything from capslist.h
2413         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2414         (main):
2415           add test for structure deserialization
2416         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2417           add tests for deserialization of strings to int types
2418         * gst/gststructure.c: (gst_structure_nth_field_name):
2419         * gst/gststructure.h:
2420           add a way to get the name of a field referenced by index
2421         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2422           instead of checking if the resulting long long lies between
2423           min and max, we check if the long long would fit into
2424           a number of bytes for the final type.
2425           This fixes cases where a string represents 2^32 - 1, which
2426           when cast to int would be the (valid) -1, but is bigger than
2427           G_MAXINT
2428
2429 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2430
2431         * gst/parse/grammar.y:
2432           add a log line for type deserialization
2433
2434 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2435
2436         * check/gst/gstvalue.c: (START_TEST):
2437         * gst/gstvalue.c: (gst_value_deserialize):
2438           return long long, not int, so gint64 deserialization actually
2439           works.  Is there any flag that makes the compiler check this ?
2440           Fixes #308559
2441
2442 2005-06-22  Wim Taymans  <wim@fluendo.com>
2443
2444         * gst/gstbuffer.h:
2445         Added convenience macros for setting buffers in GValue.
2446
2447 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2448
2449         * check/gst/.cvsignore:
2450         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2451           add a test deserializing int64, and comment part out because
2452           it fails, yay !
2453
2454 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2455
2456         * check/Makefile.am:
2457         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2458         * testsuite/Makefile.am:
2459         * testsuite/caps/Makefile.am:
2460         * testsuite/caps/value_serialize.c:
2461         * testsuite/test_gst_init.c:
2462           move a value_serialize test over
2463
2464 2005-06-20  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/gstpad.c:
2467         Small doc updates.
2468         
2469         * gst/gstvalue.c: (gst_value_compare_buffer),
2470         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2471         (gst_value_compare_flags), (gst_value_serialize_flags),
2472         (gst_value_deserialize_flags), (_gst_value_initialize):
2473         Fix serialisation of buffers, they are not boxed types anymore
2474
2475 2005-06-20  Wim Taymans  <wim@fluendo.com>
2476
2477         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2478         Testcase to show error in buffer-on-caps serialisation.
2479
2480 2005-06-20  Andy Wingo  <wingo@pobox.com>
2481
2482         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2483         will be adding to later.
2484
2485         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2486         if its socks fill with rocks.
2487         (gst_system_clock_obtain): Set the name on object construction.
2488         Avoid double-checked locking.
2489
2490 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * gst/gsturi.c: (gst_element_make_from_uri):
2493           Fix potential endless loop.
2494
2495 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2496
2497         * check/Makefile.am:
2498           add gsttag
2499         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2500         (main):
2501           move over from testsuite dir and clean up
2502         * configure.ac:
2503         * gst/gsttag.c:
2504         * testsuite/Makefile.am:
2505         * testsuite/tags/.cvsignore:
2506         * testsuite/tags/Makefile.am:
2507         * testsuite/tags/merge.c:
2508           remove testsuite/tags
2509
2510 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2511
2512         * docs/gst/gstreamer-sections.txt:
2513         * docs/gst/tmpl/gstenumtypes.sgml:
2514         * win32/gstenumtypes.c:
2515           clean up documentation build a little
2516
2517 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2518
2519         * check/gstcheck.h:
2520           add macros for checking refcounts on objects and caps
2521         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2522           add some more unit tests
2523         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2524         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2525           fix leaked refcounts (I hope :)) so unittest works
2526         * gst/gstpad.h:
2527           whitespace removal
2528
2529 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         * configure.ac: back to HEAD
2532
2533 === release 0.9.1 ===
2534
2535 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * NEWS:
2538         * RELEASE:
2539           updated
2540
2541 2005-06-17  Andy Wingo  <wingo@pobox.com>
2542
2543         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2544         assert; it's always possible that the pad gets deactivated in
2545         between the checks in gstpad.c and the implementation. Rely on
2546         finish_preroll() to return a FLUSHING or similar instead of on the
2547         assert.
2548         
2549         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2550         clock and post an EOS message if we come out of finish_preroll in
2551         the playing state.
2552
2553 2005-06-16  David Schleef  <ds@schleef.org>
2554
2555         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2556         (gst_capsfilter_set_property): Allow NULL as possible value
2557         for filter_caps property, indicating GST_CAPS_ANY.
2558
2559 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2560
2561         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2562           fix debug output
2563         * gst/schedulers/Makefile.am:
2564           use libgst prefix
2565         * gstreamer.spec.in:
2566           fix spec for it
2567
2568 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2569
2570         * gstreamer.spec.in:
2571           clean up
2572
2573 2005-06-08  Andy Wingo  <wingo@pobox.com>
2574
2575         * gst/gstutils.c: RPAD fixes all around.
2576         (gst_element_link_pads): Refcounting fixes.
2577
2578         * tools/gst-inspect.c:
2579         * tools/gst-xmlinspect.c:
2580         * parse/grammar.y:
2581         * gst/base/gsttypefindhelper.c:
2582         * gst/base/gstbasesink.c:
2583         * gst/gstqueue.c: RPAD fixes.
2584
2585         * gst/gstghostpad.h:
2586         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2587         pads. The tricky thing is they provide both source and sink
2588         interfaces, since they proxy the internal pad for the external
2589         pad, and vice versa. Implement with lower-level ProxyPad objects,
2590         with the interior proxy pad as a child of the exterior ghost pad.
2591         Should write a doc on this.
2592         
2593         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2594         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2595         gst_object API.
2596         
2597         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2598         pads are real pads. No ghost pads in this file. Not documenting
2599         the myriad s/RPAD/PAD/ and REALIZE fixes.
2600         (gst_pad_class_init): Add properties for "direction" and
2601         "template". Both are construct-only, so they can't change during
2602         the life of the pad. Fixes properly deriving from GstPad.
2603         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2604         derived objects, just set properties when creating the objects via
2605         g_object_new.
2606         (gst_pad_get_parent): Implement as a function, return NULL if the
2607         parent is not an element.
2608         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2609         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2610         
2611         * gst/gstobject.c (gst_object_class_init): Make name a construct
2612         property. Don't set it in the object init.
2613
2614         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2615         with UNKNOWN direction.
2616         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2617         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2618         (gst_element_remove_pad): Remove ghost-pad special cases.
2619         (gst_element_pads_activate): Remove rpad cruft.
2620
2621         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2622         catch the pad's-parent-not-an-element case.
2623
2624         * gst/gst.h: Include gstghostpad.h.
2625
2626         * gst/gst.c (init_post): No more real, ghost pads.
2627
2628         * gst/Makefile.am: Add gstghostpad.[ch].
2629
2630         * check/Makefile.am:
2631         * check/gst/gstbin.c:
2632         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2633         into a bin creates ghost pads, and that the refcounts are right.
2634         Partly moved from gstbin.c.
2635
2636 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2637
2638         * check/gst-libs/.cvsignore:
2639         * check/gst/.cvsignore:
2640         * check/pipelines/.cvsignore:
2641           ignore more
2642         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2643         (START_TEST), (cleanup_suite), (main):
2644           add some tests related to cleanup after running pipelines
2645
2646 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2647
2648         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2649           add a testsuite for GstBuffer
2650
2651 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2652
2653         * gst/gstminiobject.h:
2654           add defines for accessing the refcount
2655
2656 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2657
2658         * Makefile.am: added support for html unit test coverage reports
2659
2660 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2661
2662         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2663           Free existing caps if the capsfilter changes. Add a FIXME about
2664           setting those caps on the pads.
2665
2666         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2667           Before adding a ghost pad to a parent bin, check that there isn't
2668           already one for the element on the bin. Prevents infinite recursion
2669           when using decodebin in parse pipelines. Andy says he'll rewrite the
2670           way this works anyway, so ignore the hack.
2671
2672 2005-06-02  Andy Wingo  <wingo@pobox.com>
2673
2674         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2675         file size, pass it on to the type find helper.
2676
2677         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2678         segment_start and segment_end properly according to the seek
2679         method. Segment_end is still a bit flaky because offset can be
2680         negative for CUR and END cases, but it takes -1 as an "unset"
2681         value.
2682
2683 2005-06-02  Wim Taymans  <wim@fluendo.com>
2684
2685         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2686         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2687         (gst_basesink_activate):
2688         * gst/base/gstbasesink.h:
2689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2690         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2691         (gst_pad_query), (gst_pad_start_task):
2692         * gst/gstpad.h:
2693         * gst/gstqueue.c: (gst_queue_bufferalloc),
2694         (gst_queue_handle_sink_event), (gst_queue_chain):
2695         Bufferalloc: return GstFlowReturn to more accuratly report
2696         why allocation failed.
2697
2698 2005-06-02  Wim Taymans  <wim@fluendo.com>
2699
2700         * gst/gstpipeline.c: (gst_pipeline_send_event):
2701         Take snapshot of state without blocking.
2702
2703 2005-06-02  Wim Taymans  <wim@fluendo.com>
2704
2705         * docs/design/part-TODO.txt:
2706         * docs/design/part-caps.txt:
2707         * docs/design/part-clocks.txt:
2708         * docs/design/part-negotiation.txt:
2709         * docs/design/part-preroll.txt:
2710         Small doc updates 
2711
2712 2005-05-30  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/elements/gstidentity.c: (gst_identity_event),
2715         (gst_identity_transform), (gst_identity_get_property):
2716         Protect last_message property as it is accessed from
2717         multiple threads.
2718
2719 2005-05-30  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstelement.c: (gst_element_init),
2722         (gst_element_pads_activate), (gst_element_change_state):
2723         Slicker pad activation code.
2724
2725 2005-05-30  Wim Taymans  <wim@fluendo.com>
2726
2727         * gst/Makefile.am:
2728         * gst/gstelement.h:
2729         * gst/gstelementfactory.h:
2730         * gst/gsttypes.h:
2731         Move elementfactory methods to separate .h file.
2732
2733 2005-05-30  Wim Taymans  <wim@fluendo.com>
2734
2735         * docs/design/part-overview.txt:
2736         * gst/gstsystemclock.h:
2737         Small typo fixes, doc updates.
2738
2739 2005-05-30  Wim Taymans  <wim@fluendo.com>
2740
2741         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2742         (init_popt_callback):
2743         Remove cpu-opt flag.
2744
2745 2005-05-30  Wim Taymans  <wim@fluendo.com>
2746
2747         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2748         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2749         * gst/gstbuffer.h:
2750         Avoid typechecking in places where not needed.
2751         Added accessor for malloc_data.
2752
2753 2005-05-30  Wim Taymans  <wim@fluendo.com>
2754
2755         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2756         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2757         (gst_pad_configure_sink), (gst_pad_configure_src),
2758         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2759         (gst_pad_start_task):
2760         Propagate errors from _set_caps() in configure_src/sink
2761         functions instead of returning TRUE.
2762         FLUSH events can travel up and downstream
2763
2764
2765 2005-05-30  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2768         (gst_basesink_activate):
2769         Handle EOS in preroll.
2770
2771 2005-05-30  Wim Taymans  <wim@fluendo.com>
2772
2773         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2774         (gst_queue_loop), (gst_queue_handle_src_event):
2775         Remove old pieces of code
2776         Flushing the queue in an upstream event is a very bad idea.
2777
2778 2005-05-26  Andy Wingo  <wingo@pobox.com>
2779
2780         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2781         gst_value_set_mini_object so as to add a ref on the object (which
2782         will be removed when the value is unset).
2783
2784         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2785         arg type in ::handoff.
2786
2787         * gst/gstelement.c (gst_element_change_state): Also deactivate
2788         pads in READY->NULL, just in case the element didn't make it to
2789         PAUSED. Wingo tested, Wim approved.
2790
2791 2005-05-26  Wim Taymans  <wim@fluendo.com>
2792
2793         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2794         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2795         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2796         A flushing pad cannot be used to alloc_buffer from.
2797
2798 2005-05-26  Wim Taymans  <wim@fluendo.com>
2799
2800         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2801         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2802         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2803         (gst_bus_create_watch), (gst_bus_add_watch_full):
2804         * gst/gstbus.h:
2805         Implement a real GSource and use g_main_context_wakeup() to
2806         signal new messages instead of the socketpair.
2807
2808 2005-05-25  Wim Taymans  <wim@fluendo.com>
2809
2810         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2811         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2812         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2813         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2814         (gst_pad_send_event), (gst_pad_start_task):
2815         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2816         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2817         (gst_queue_sink_activate), (gst_queue_src_activate),
2818         (gst_queue_change_state):
2819         * gst/gstqueue.h:
2820         Fix state changes for non sinks. We now change sinks, then elements
2821         with unconnected srcpads, then the rest.
2822         More efficient queue unlocking in flush and state changes.
2823         Set the pad activate mode even if it does not have an activate
2824         function.
2825
2826 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2827
2828         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2829           Don't go in pull mode for non-seekable sources.
2830         * gst/elements/gsttypefindelement.h:
2831         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2832         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2833         (free_entry), (stop_typefinding),
2834         (gst_type_find_element_handle_event), (find_peek),
2835         (gst_type_find_element_chain), (do_pull_typefind),
2836         (gst_type_find_element_change_state):
2837           Allow typefinding (w/o seeking) in push-mode, simplified version
2838           of what was in 0.8.
2839         * gst/gstutils.c: (gst_buffer_join):
2840         * gst/gstutils.h:
2841           gst_buffer_join() from 0.8.
2842
2843 2005-05-25  Wim Taymans  <wim@fluendo.com>
2844
2845         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2846         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2847         (gst_pad_send_event), (gst_pad_start_task):
2848         Disable attempt at mode switching until it is figured out.
2849
2850 2005-05-25  Wim Taymans  <wim@fluendo.com>
2851
2852         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2853         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2854         (gst_basesink_finish_preroll), (gst_basesink_chain),
2855         (gst_basesink_loop), (gst_basesink_activate),
2856         (gst_basesink_change_state):
2857         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2858         (gst_basesrc_get_range), (gst_basesrc_loop),
2859         (gst_basesrc_activate):
2860         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2861         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2862         (gst_real_pad_init), (gst_real_pad_set_property),
2863         (gst_real_pad_get_property), (gst_pad_set_active),
2864         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2865         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2866         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2867         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2868         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2869         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2870         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2871         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2872         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2873         (gst_pad_stop_task):
2874         * gst/gstpad.h:
2875         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2876         (gst_queue_loop), (gst_queue_src_activate):
2877         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2878         (gst_task_get_state):
2879         * gst/gsttask.h:
2880         * gst/schedulers/threadscheduler.c:
2881         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2882         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2883         in task function.
2884         Remove ACTIVE pad flag, use FLUSHING everywhere
2885         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2886         functions.
2887         Add locks around IS_FLUSHING when reading.
2888         Take STREAM lock in chain(), get_range() functions so plugins
2889         don't need to take it anymore.
2890         
2891
2892
2893 2005-05-25  Wim Taymans  <wim@fluendo.com>
2894
2895         * tools/gst-launch.c: (event_loop):
2896         Unref message after using its contents instead of
2897         before.
2898
2899 2005-05-24  Wim Taymans  <wim@fluendo.com>
2900
2901         * docs/design/draft-ghostpads.txt:
2902         * docs/design/draft-push-pull.txt:
2903         * docs/design/draft-query.txt:
2904         * docs/design/part-overview.txt:
2905         Docs updates, added general overview doc.
2906
2907 2005-05-21  David Schleef  <ds@schleef.org>
2908
2909         * docs/gst/tmpl/old/GstBin.sgml:
2910         * docs/gst/tmpl/old/GstBuffer.sgml:
2911         * docs/gst/tmpl/old/GstCaps.sgml:
2912         * docs/gst/tmpl/old/GstClock.sgml:
2913         * docs/gst/tmpl/old/GstCompat.sgml:
2914         * docs/gst/tmpl/old/GstData.sgml:
2915         * docs/gst/tmpl/old/GstElement.sgml:
2916         * docs/gst/tmpl/old/GstEvent.sgml:
2917         * docs/gst/tmpl/old/GstIndex.sgml:
2918         * docs/gst/tmpl/old/GstStructure.sgml:
2919         * docs/gst/tmpl/old/GstTag.sgml:
2920         * docs/gst/tmpl/old/cothreads.sgml:
2921         * docs/gst/tmpl/old/cothreads_compat.sgml:
2922         * docs/gst/tmpl/old/gettext.sgml:
2923         * docs/gst/tmpl/old/gobject2gtk.sgml:
2924         * docs/gst/tmpl/old/grammar.tab.sgml:
2925         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2926         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2927         * docs/gst/tmpl/old/gst_private.sgml:
2928         * docs/gst/tmpl/old/gstaggregator.sgml:
2929         * docs/gst/tmpl/old/gstarch.sgml:
2930         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2931         * docs/gst/tmpl/old/gstbufferstore.sgml:
2932         * docs/gst/tmpl/old/gstdata_private.sgml:
2933         * docs/gst/tmpl/old/gstdisksink.sgml:
2934         * docs/gst/tmpl/old/gstdisksrc.sgml:
2935         * docs/gst/tmpl/old/gstelementfactory.sgml:
2936         * docs/gst/tmpl/old/gstextratypes.sgml:
2937         * docs/gst/tmpl/old/gstfakesink.sgml:
2938         * docs/gst/tmpl/old/gstfakesrc.sgml:
2939         * docs/gst/tmpl/old/gstfdsink.sgml:
2940         * docs/gst/tmpl/old/gstfdsrc.sgml:
2941         * docs/gst/tmpl/old/gstfilesink.sgml:
2942         * docs/gst/tmpl/old/gstfilesrc.sgml:
2943         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2944         * docs/gst/tmpl/old/gstidentity.sgml:
2945         * docs/gst/tmpl/old/gstindexfactory.sgml:
2946         * docs/gst/tmpl/old/gstmarshal.sgml:
2947         * docs/gst/tmpl/old/gstmd5sink.sgml:
2948         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2949         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2950         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2951         * docs/gst/tmpl/old/gstpipefilter.sgml:
2952         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2953         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2954         * docs/gst/tmpl/old/gstshaper.sgml:
2955         * docs/gst/tmpl/old/gstspider.sgml:
2956         * docs/gst/tmpl/old/gstspideridentity.sgml:
2957         * docs/gst/tmpl/old/gststatistics.sgml:
2958         * docs/gst/tmpl/old/gsttee.sgml:
2959         * docs/gst/tmpl/old/gsttimecache.sgml:
2960         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2961         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2962         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2963         * docs/gst/tmpl/old/types.sgml:
2964           I didn't intend to add these or check them in.
2965
2966 2005-05-19  David Schleef  <ds@schleef.org>
2967
2968         * configure.ac: Use -no-common everywhere.  In a sane world, it
2969           would be the default in libtool, because without it, you can't
2970           build DLLs on Windows.
2971         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2972         * docs/gst/gstreamer-sections.txt:
2973         * docs/gst/tmpl/gstcpu.sgml:
2974         * docs/gst/tmpl/gstdata.sgml:
2975         * docs/gst/tmpl/gstthread.sgml:
2976
2977 2005-05-19  David Schleef  <ds@schleef.org>
2978
2979         * gst/gstminiobject.c: (gst_value_set_mini_object),
2980         (gst_value_take_mini_object), (gst_value_get_mini_object):
2981         * gst/gstminiobject.h: Add GValue set/get functions.
2982
2983 2005-05-19  Wim Taymans  <wim@fluendo.com>
2984
2985         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2986         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2987         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2988         * gst/gstbuffer.h:
2989         * gst/gstbus.c: (gst_bus_post):
2990         * gst/gstelement.c: (gst_element_get_random_pad):
2991         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2992         Make subbufer unref the parent in finalize.
2993         some more debugging info.
2994
2995
2996 2005-05-19  Wim Taymans  <wim@fluendo.com>
2997
2998         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2999         (gst_basesink_init), (gst_basesink_finalize),
3000         (gst_basesink_activate), (gst_basesink_change_state):
3001         Don't free preroll queue too early.
3002
3003 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3004
3005         * gst/Makefile.am:
3006         * gst/ROADMAP:
3007           Hi, I'm outdated. Please shoot me.
3008
3009 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3010
3011         * gst/gstpipeline.c: (gst_pipeline_send_event):
3012           Do not access variables after they have been deleted.
3013
3014 2005-05-19  Wim Taymans  <wim@fluendo.com>
3015
3016         * tools/gst-inspect.c: (print_plugin_features):
3017         A plugin feature does unfortunatly not use the
3018         object name yet...
3019
3020 2005-05-18  Wim Taymans  <wim@fluendo.com>
3021
3022         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3023         Port _span() functions to new subbuffers.
3024
3025 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3026
3027         * gst/gstbin.c: (gst_bin_add_func):
3028           Fix clock settery in bins when adding kids after the clock has
3029           been selected.
3030
3031 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3032
3033         * gst/elements/gstidentity.c: (gst_identity_class_init):
3034           Workaround until signals support GstMiniObject.
3035
3036 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3037
3038         * gst/gstbuffer.c:
3039         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3040
3041 2005-05-18  Wim Taymans  <wim@fluendo.com>
3042
3043         * gst/base/Makefile.am:
3044         * gst/base/gstadapter.c: (gst_adapter_base_init),
3045         (gst_adapter_class_init), (gst_adapter_init),
3046         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3047         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3048         (gst_adapter_flush), (gst_adapter_available),
3049         (gst_adapter_available_fast):
3050         * gst/base/gstadapter.h:
3051         Ported and added adapter to the base classes.
3052
3053 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3054
3055         * gst/gst.c:
3056         * gst/gstmessage.c:
3057           Make sure the class is reffed/unreffed once before threads can be
3058           used.  Fixes #304551.
3059
3060 2005-05-17  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3063         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3064         * gst/gstminiobject.c: (gst_mini_object_get_type),
3065         (gst_mini_object_free):
3066         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3067         (gst_pad_push), (gst_pad_push_event):
3068         * gst/gstqueue.c: (gst_queue_change_state):
3069         Don't queue buffers in basesink when we are flushing.
3070         Unref buffer when flushing in basesink.
3071         Flush queue when going to READY
3072         Unref buffer when _push() returns an error.
3073         Don't free MiniObject instance when refcount is incremented
3074         in _finalize() so that we can recover objects.
3075
3076 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3077
3078         * docs/manual/advanced-schedulers.xml:
3079         * docs/manual/appendix-checklist.xml:
3080         * docs/pwg/advanced-clock.xml:
3081         * docs/pwg/advanced-interfaces.xml:
3082         * docs/pwg/advanced-request.xml:
3083         * docs/pwg/advanced-types.xml:
3084         * docs/pwg/intro-preface.xml:
3085         * examples/plugins/example.c: (gst_example_get_type),
3086         (gst_example_class_init), (gst_example_chain),
3087         (gst_example_set_property), (gst_example_get_property),
3088         (gst_example_change_state), (plugin_init):
3089         * examples/plugins/example.h:
3090           small doc fixes
3091
3092 2005-05-17  Wim Taymans  <wim@fluendo.com>
3093
3094         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3095         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3096         * gst/gstqueue.c: (gst_queue_change_state):
3097         Clear queue when going to READY.
3098         Remove IN_SETCAPS flag too.
3099
3100 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3101
3102         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3103           Remove implicit cast from gboolean to GstElementStateReturn;
3104           make sure we still return failure in paused => ready case if
3105           the parent class fails to change state and our own stop 
3106           vfunc succeeds.
3107
3108 2005-05-17  Wim Taymans  <wim@fluendo.com>
3109
3110         * tools/gst-launch.c: (event_loop):
3111         Message was unreffed too soon.
3112
3113 2005-05-16  Andy Wingo  <wingo@pobox.com>
3114
3115         * gst/gstbin.c (sink_iterator_filter): Err... um...
3116
3117         * check/gst/gstbin.c (test_ghost_pads): New test for the
3118         ghosting-if-elements-not-in-same-bin behavior.
3119
3120 2005-05-16  David Schleef  <ds@schleef.org>
3121
3122         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3123         accessing refcount directly.
3124
3125 2005-05-15  David Schleef  <ds@schleef.org>
3126
3127         * check/Makefile.am: remove GstData checks
3128         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3129         * gst/Makefile.am: add miniobject, remove data
3130         * gst/gst.h: add miniobject, remove data
3131         * gst/gstdata.c: remove
3132         * gst/gstdata.h: remove
3133         * gst/gstdata_private.h: remove
3134         * gst/gsttypes.h: remove GstEvent and GstMessage
3135         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3136         * gst/gstmarshal.list: change BOXED -> OBJECT
3137
3138         Implement GstMiniObject.
3139         * gst/gstminiobject.c:
3140         * gst/gstminiobject.h:
3141
3142         Modify to be subclasses of GstMiniObject.
3143         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3144         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3145         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3146         (gst_subbuffer_get_type), (gst_subbuffer_init),
3147         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3148         (gst_buffer_span):
3149         * gst/gstbuffer.h:
3150         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3151         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3152         (_gst_event_copy), (gst_event_new):
3153         * gst/gstevent.h:
3154         * gst/gstmessage.c: (_gst_message_initialize),
3155         (gst_message_get_type), (gst_message_class_init),
3156         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3157         (gst_message_new), (gst_message_new_error),
3158         (gst_message_new_warning), (gst_message_new_tag),
3159         (gst_message_new_state_changed), (gst_message_new_application):
3160         * gst/gstmessage.h:
3161         * gst/gstprobe.c: (gst_probe_perform),
3162         (gst_probe_dispatcher_dispatch):
3163         * gst/gstprobe.h:
3164         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3165         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3166         (_gst_query_copy), (gst_query_new):
3167
3168         Update elements for GstData -> GstMiniObject changes
3169         * gst/gstquery.h:
3170         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3171         (gst_queue_chain), (gst_queue_loop):
3172         * gst/elements/gstbufferstore.c:
3173         (gst_buffer_store_add_buffer_func),
3174         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3175         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3176         (gst_fakesink_render):
3177         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3178         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3179         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3180         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3181         (gst_filesrc_create_read):
3182         * gst/elements/gstidentity.c: (gst_identity_class_init):
3183         * gst/elements/gsttypefindelement.c:
3184         (gst_type_find_element_src_event), (free_entry_buffers),
3185         (gst_type_find_element_handle_event):
3186         * libs/gst/dataprotocol/dataprotocol.c:
3187         (gst_dp_header_from_buffer):
3188         * libs/gst/dataprotocol/dataprotocol.h:
3189         * libs/gst/dataprotocol/dp-private.h:
3190
3191 2005-05-15  David Schleef  <ds@schleef.org>
3192
3193         * gst/elements/gstelements.c: Don't include headers that were
3194         just removed.
3195
3196 2005-05-15  David Schleef  <ds@schleef.org>
3197
3198         * gst/elements/Makefile.am: Remove some elements that don't
3199         need to be in the core (or even exist at all).
3200         * gst/elements/gstaggregator.c:
3201         * gst/elements/gstaggregator.h:
3202         * gst/elements/gstmd5sink.c:
3203         * gst/elements/gstmd5sink.h:
3204         * gst/elements/gstmultifilesrc.c:
3205         * gst/elements/gstmultifilesrc.h:
3206         * gst/elements/gstpipefilter.c:
3207         * gst/elements/gstpipefilter.h:
3208         * gst/elements/gstshaper.c:
3209         * gst/elements/gstshaper.h:
3210         * gst/elements/gststatistics.c:
3211         * gst/elements/gststatistics.h:
3212         * po/POTFILES.in: Remove above files.
3213
3214 2005-05-14  Andy Wingo  <wingo@pobox.com>
3215
3216         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3217         so as to get the refs right.
3218         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3219         unreffing objects that don't pass the filter.
3220
3221         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3222         gst_element_set_bus.
3223         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3224         normal cases, this will destroy the bus.
3225
3226         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3227         object.
3228
3229         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3230         has no sinks.
3231
3232 2005-05-13  Andy Wingo  <wingo@pobox.com>
3233
3234         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3235         gst_pad_link, call pad_link_maybe_ghosting,
3236         (pad_link_maybe_ghosting): Links pads, making sure that the
3237         elements being linked are in the same bin.
3238         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3239         Helpers for pad_link_maybe_ghosting.
3240
3241 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * configure.ac:
3244           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3245
3246 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3247
3248         * docs/design/part-element-source.txt:
3249           Mention GstPushSrc
3250
3251 2005-05-12  Wim Taymans  <wim@fluendo.com>
3252
3253         * gst/base/gstbasesink.c: (gst_basesink_init),
3254         (gst_basesink_activate):
3255         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3256         (gst_basesrc_is_seekable):
3257         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3258         (bin_element_is_sink), (gst_bin_change_state):
3259         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3260         * gst/gstelement.h:
3261         Identify sinks by their flag to avoid overly complicated
3262         checks (fow now).
3263         Do state changes even for elements not reachable from the
3264         sinks.
3265         BaseSink is a sink now :)
3266         Some more debugging info in the basesrc.
3267
3268
3269 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3270
3271         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3272           Implement _query on a bin, similar to _send_event.
3273
3274 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3275
3276         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3277           Discont event offset format should be GST_FORMAT_BYTES,
3278           not GST_FORMAT_TIME.
3279
3280 2005-05-12  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3283         Same fix as Ronald's but without the signal. 
3284
3285 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3286
3287         * gst/gstutils.c: (gst_element_query_position):
3288           No, an element is not a pad.
3289
3290 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3291
3292         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3293         (gst_bin_get_state):
3294           If a child is removed from a bin while we remove the child from
3295           the bin and while we're retrieving its state, signal this to the
3296           get_state function so we abort the wait (instead of waiting for
3297           a timeout) and can immediately re-iterate over all other elements.
3298
3299 2005-05-12  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/base/Makefile.am:
3302         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3303         (gst_basesrc_start):
3304         * gst/base/gstbasesrc.h:
3305         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3306         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3307         (gst_pushsrc_init), (gst_pushsrc_create):
3308         * gst/base/gstpushsrc.h:
3309         Added is_seekable to BaseSrc
3310         Added simple PushSrc.
3311
3312 2005-05-11  Wim Taymans  <wim@fluendo.com>
3313
3314         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3315         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3316         (gst_element_link_pads), (gst_element_query_position),
3317         (gst_element_query_convert), (intersect_caps_func),
3318         (gst_pad_query_position), (gst_pad_query_convert):
3319         Fix refcounting in utils function.
3320         No point in trying to activate a pad when it's added, it could
3321         be added from the state change function and then we deadlock, the
3322         element has to decide what to do.
3323
3324 2005-05-10  Andy Wingo  <wingo@pobox.com>
3325
3326         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3327         *all* the arguments.
3328
3329         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3330         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3331         lock (according to the docs -- if this is wrong change the docs).
3332
3333         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3334         flush messages in the NULL state.
3335
3336         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3337         message immediately and return.
3338         (gst_bus_set_flushing): New function. If a bus is flushing, it
3339         flushes out any queued messages and immediately unrefs new
3340         messages. This is so when an element goes to NULL, all of the
3341         unhandled messages coming from it can be freed, and their
3342         references to the element dropped. In other words: message source
3343         ref considered harmful :P
3344
3345         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3346         we're finished with it.
3347
3348         * gst/gstmessage.c (gst_message_new_state_changed): 
3349
3350 2005-05-10  Wim Taymans  <wim@fluendo.com>
3351
3352         * gst/gstvalue.c: (gst_value_compare_flags),
3353         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3354         (_gst_value_initialize):
3355         Added flags serialize/deserialize/compare code.
3356
3357 2005-05-09  Andy Wingo  <wingo@pobox.com>
3358
3359         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3360         Intersect the peer's caps with our caps.
3361
3362 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3363
3364         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3365         * gst/elements/gsttypefindelement.c: (find_peek):
3366           Handle negative offsets better. Fixes decodebin.
3367
3368 2005-05-09  Wim Taymans  <wim@fluendo.com>
3369
3370         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3371         (gst_base_transform_event):
3372         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3373         Implement accept_caps.
3374         Fix silly lock/unlock mismatch in base class.
3375
3376 2005-05-09  Wim Taymans  <wim@fluendo.com>
3377
3378         * docs/design/draft-push-pull.txt:
3379         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3380         * gst/elements/gstfilesink.c: (gst_filesink_init),
3381         (gst_filesink_query):
3382         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3383         (gst_type_find_handle_src_query), (find_element_get_length):
3384         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3385         * gst/gstelement.h:
3386         * gst/gstmessage.c:
3387         * gst/gstmessage.h:
3388         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3389         (gst_real_pad_get_caps_unlocked),
3390         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3391         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3392         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3393         (gst_real_pad_dispose), (gst_real_pad_finalize),
3394         (gst_pad_load_and_link), (gst_pad_save_thyself),
3395         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3396         (gst_pad_check_pull_range), (gst_pad_pull_range),
3397         (gst_pad_template_get_type), (gst_pad_template_class_init),
3398         (gst_pad_template_init), (gst_pad_template_dispose),
3399         (name_is_valid), (gst_static_pad_template_get),
3400         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3401         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3402         (gst_pad_get_element_private), (gst_pad_start_task),
3403         (gst_pad_pause_task), (gst_pad_stop_task),
3404         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3405         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3406         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3407         (gst_ghost_pad_new):
3408         * gst/gstpad.h:
3409         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3410         (gst_query_new_position), (gst_query_set_position),
3411         (gst_query_parse_position), (gst_query_new_convert),
3412         (gst_query_set_convert), (gst_query_parse_convert):
3413         * gst/gstquery.h:
3414         * gst/gstqueryutils.c:
3415         * gst/gstqueryutils.h:
3416         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3417         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3418         (gst_queue_handle_src_query):
3419         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3420         (gst_element_query_position), (gst_element_query_convert),
3421         (intersect_caps_func), (gst_pad_query_position),
3422         (gst_pad_query_convert):
3423         * gst/gstutils.h:
3424         * tools/gst-inspect.c: (print_pad_info):
3425         * tools/gst-xmlinspect.c: (print_element_info):
3426         Remove old query functions. Ported old code.
3427         Added position/convert helper functions to gstutils.
3428         Reordered gstpad.c code, grouping relevant things.
3429         Remove gst_message_new(), always need to speficy a specific
3430         message.
3431
3432
3433 2005-05-09  Andy Wingo  <wingo@pobox.com>
3434
3435         * gst/gstiterator.h: Add some includes.
3436
3437         * gst/gstqueryutils.h: Include more headers.
3438
3439         * gst/gstpad.h:
3440         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3441         some uses of gst_pad_query.
3442
3443         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3444         NULL out parameters.
3445         (gst_query_new_position): New proc, allocates a new position
3446         query.
3447
3448         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3449         gstqueryutils.c to the build.
3450
3451         * gst/gststructure.c (gst_structure_set_valist): Implement with
3452         the generic G_VALUE_COLLECT.
3453         
3454 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3455
3456         * gst/Makefile.am: (gst_headers):
3457         Added gstqueryutils.h to the list of headers to install, that was
3458         a 'nachty' move wingo :)
3459
3460 2005-05-06  Andy Wingo  <wingo@pobox.com>
3461
3462         * gst/gstquery.h
3463         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3464         GstData, init a memchunk.
3465         (standard_definitions): Add a few query types, deprecate a few.
3466         (gst_query_get_type): New proc.
3467         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3468         implementation.
3469         (gst_query_new_application, gst_query_get_structure): New public
3470         procs.
3471
3472         * docs/design/draft-query.txt: Removed LINKS from the query types,
3473         because all the rest can be dispatched to other pads -- seemed
3474         ugly to have a query that couldn't be dispatched. internal_links
3475         is fine as a pad method.
3476
3477         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3478         in gstpad.c, but maintain binary compatibility for the moment.
3479         Will fix before 0.9 is out.
3480
3481         * gst/gstqueryutils.c: 
3482         * gst/gstqueryutils.h: New files, implement 3 methods for each
3483         query type: parse_query, parse_response, and set. Probably need an
3484         allocator as well.
3485
3486         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3487
3488         * gst/elements/gstfilesink.c (gst_filesink_query2):
3489         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3490         query_types, and formats methods.
3491
3492         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3493         (gst_pad_set_query2_function): New functions.
3494         (gst_real_pad_init): Set query2_default as the default query2
3495         function. Basically just dispatches to internally linked pads.
3496
3497         Needs review!
3498         
3499         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3500         without using the atomic operations. Only one thread can possibly
3501         be accessing the data at this point. Changed so as to avoid
3502         gst_atomic operations.
3503
3504 2005-05-06  Wim Taymans  <wim@fluendo.com>
3505
3506         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3507         Also set caps if we use the fallback buffer alloc.
3508
3509 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         * docs/gst/Makefile.am:
3512         * docs/gst/gstreamer-docs.sgml:
3513         * docs/gst/gstreamer-sections.txt:
3514         * docs/gst/tmpl/gstatomic.sgml:
3515         * docs/gst/tmpl/gstmemchunk.sgml:
3516         * testsuite/elements/struct_i386.h:
3517         * win32/GStreamer.vcproj:
3518         * win32/Makefile:
3519           Purge GstAtomic stuff from docs and win32 makefiles as well
3520
3521 2005-05-06  Wim Taymans  <wim@fluendo.com>
3522
3523         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3524         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3525         * gst/gstpad.c: (gst_pad_peer_get_caps):
3526         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3527         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3528         (gst_queue_src_activate), (gst_queue_change_state):
3529         * gst/gstqueue.h:
3530         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3531         (intersect_caps_func):
3532         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3533         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3534         Some fixes for the peer_get_caps() change.
3535
3536 2005-05-06  Wim Taymans  <wim@fluendo.com>
3537
3538         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3539         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3540         (gst_basesink_activate):
3541         Actually do something with error codes returned from the push
3542         functions.
3543
3544 2005-05-06  Wim Taymans  <wim@fluendo.com>
3545
3546         * docs/design/part-element-sink.txt:
3547         * docs/design/part-element-source.txt:
3548         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3549         (gst_basesink_event), (gst_basesink_activate):
3550         * gst/base/gstbasesink.h:
3551         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3552         (gst_basesrc_activate):
3553         * gst/base/gstbasesrc.h:
3554         * gst/gstelement.c: (gst_element_pads_activate):
3555         Some more documentation.
3556         Fixed scheduling decision in _pads_activate().
3557
3558 2005-05-05  Andy Wingo  <wingo@pobox.com>
3559
3560         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3561         the test suite.
3562
3563 2005-05-05  Wim Taymans  <wim@fluendo.com>
3564
3565         * gst/base/Makefile.am:
3566         * gst/base/gstbasesink.h:
3567         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3568         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3569         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3570         (gst_collectpads_class_init), (gst_collectpads_init),
3571         (gst_collectpads_finalize), (gst_collectpads_new),
3572         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3573         (find_pad), (gst_collectpads_remove_pad),
3574         (gst_collectpads_is_active), (gst_collectpads_collect),
3575         (gst_collectpads_collect_range), (gst_collectpads_start),
3576         (gst_collectpads_stop), (gst_collectpads_peek),
3577         (gst_collectpads_pop), (gst_collectpads_available),
3578         (gst_collectpads_read), (gst_collectpads_flush),
3579         (gst_collectpads_chain):
3580         * gst/base/gstcollectpads.h:
3581         * gst/elements/Makefile.am:
3582         * gst/elements/gstelements.c:
3583         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3584         (gst_fakesink_get_times), (gst_fakesink_event),
3585         (gst_fakesink_preroll), (gst_fakesink_render):
3586         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3587         (gst_filesink_init), (gst_filesink_set_location),
3588         (gst_filesink_open_file), (gst_filesink_close_file),
3589         (gst_filesink_pad_query), (gst_filesink_event),
3590         (gst_filesink_render), (gst_filesink_change_state):
3591         * gst/elements/gstfilesink.h:
3592         Added object to help in making collect pad based elements.
3593         Ported filesink.
3594         Make event function in sink baseclass return gboolean.
3595
3596 2005-05-05  Wim Taymans  <wim@fluendo.com>
3597
3598         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3599         (gst_bin_get_by_name):
3600         * gst/gstbuffer.h:
3601         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3602         (gst_clock_finalize):
3603         * gst/gstdata.c: (gst_data_replace):
3604         * gst/gstdata.h:
3605         * gst/gstelement.c: (gst_element_request_pad),
3606         (gst_element_pads_activate):
3607         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3608         (gst_object_unref):
3609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3610         (gst_pad_set_checkgetrange_function),
3611         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3612         (gst_pad_check_pull_range), (gst_pad_pull_range),
3613         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3614         (gst_pad_pause_task), (gst_pad_stop_task):
3615         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3616         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3617         Fix name lookup in GstBin.
3618         Added _data_replace() function and _buffer_replace()
3619         Use finalize method to clean up clock.
3620         Fix refcounting on request pads.
3621         Fix pad schedule mode error.
3622         Some more object refcounting debug info,
3623
3624
3625 2005-05-04  Andy Wingo <wingo@pobox.com>
3626
3627         * check/Makefile.am:
3628         * docs/gst/tmpl/gstatomic.sgml:
3629         * docs/gst/tmpl/gstplugin.sgml:
3630         * gst/base/gstbasesink.c: (gst_basesink_activate):
3631         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3632         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3633         (gst_basesrc_query), (gst_basesrc_set_property),
3634         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3635         (gst_basesrc_activate):
3636         * gst/base/gstbasesrc.h:
3637         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3638         (gst_base_transform_src_activate):
3639         * gst/elements/gstelements.c:
3640         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3641         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3642         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3643         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3644         (gst_type_find_element_checkgetrange),
3645         (gst_type_find_element_activate):
3646         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3647         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3648         (gst_caps_load_thyself):
3649         * gst/gstelement.c: (gst_element_pads_activate),
3650         (gst_element_save_thyself), (gst_element_restore_thyself):
3651         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3652         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3653         * gst/gstpad.h:
3654         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3655         (gst_xml_parse_file), (gst_xml_parse_memory),
3656         (gst_xml_get_element), (gst_xml_make_element):
3657         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3658         (_file_index_id_save_xml), (gst_file_index_commit):
3659         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3660         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3661         (load_paths):
3662         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3663         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3664         * tools/gst-complete.c: (main):
3665         * tools/gst-compprep.c: (main):
3666         * tools/gst-inspect.c: (print_element_properties_info):
3667         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3668         * tools/gst-xmlinspect.c: (print_element_properties):
3669         GCC 4 fixen.
3670         
3671 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3672
3673         * gst/gstplugin.c: (gst_plugin_check_module),
3674         (gst_plugin_check_file), (gst_plugin_load_file):
3675             apply patch from #172526 to make register work on MacOSX
3676
3677 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3678
3679         * docs/gst/tmpl/gstconfig.sgml:
3680         * gst/gstconfig.h.in:
3681           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3682         * testsuite/debug/printf_extension.c: (main):
3683           Do not use GST_PTR_FORMAT on pointers to types with
3684           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3685         * testsuite/elements/property.h:
3686           use correct printf format
3687
3688 2005-05-02  Wim Taymans  <wim@fluendo.com>
3689
3690         * docs/design/draft-push-pull.txt:
3691         * docs/design/draft-query.txt:
3692         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3693         (gst_basesrc_start):
3694         Added draft for new query API.
3695         Added draft for better selecting scheduling methods.
3696         Make basesrc ignore length if the subclass does not support
3697         it.
3698
3699 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * gst/Makefile.am:
3702           possible fixes for automake-1.5 - _LIBADD is reserved
3703
3704 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * docs/faq/Makefile.am:
3707         * docs/manual/Makefile.am:
3708         * docs/manuals.mak:
3709         * docs/pwg/Makefile.am:
3710         * gst/Makefile.am:
3711           possible fixes for automake-1.5
3712
3713 2005-04-28  Wim Taymans  <wim@fluendo.com>
3714
3715         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3716         (gst_basesink_pad_getcaps), (gst_basesink_init),
3717         (gst_basesink_do_sync):
3718         * gst/gstclock.c: (gst_clock_entry_new):
3719         * gst/gstevent.c: (gst_event_discont_get_value):
3720         * gst/gstpipeline.c: (pipeline_bus_handler),
3721         (gst_pipeline_change_state):
3722         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3723         Better debugging of clocking info.
3724         Allow NULL values when getting discont values.
3725
3726 2005-04-27  Wim Taymans  <wim@fluendo.com>
3727
3728         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3729         * check/gst/gstpad.c: (gst_pad_suite):
3730         Increase timeout for checks.
3731
3732 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3733
3734         * check/Makefile.am:
3735           fix the broken rule for cleanup.  Apparently this rule is
3736           only needed on FC2, so maybe this warrants further autotool
3737           inspection.
3738
3739 2005-04-26  Wim Taymans  <wim@fluendo.com>
3740
3741         * gst/gsttrashstack.h:
3742         Ooohh. a nasty one! After having a failed pop() from the stack,
3743         it's possible that the stack is empty. In that case, don't
3744         follow the NULL pointer.
3745
3746 2005-04-25  Wim Taymans  <wim@fluendo.com>
3747
3748         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3749         (gst_pad_set_checkgetrange_function),
3750         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3751         (gst_pad_check_pull_range), (gst_pad_pull_range),
3752         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3753         (gst_pad_pause_task), (gst_pad_stop_task):
3754         * gst/gstplugin.c: (gst_plugin_load):
3755         * gst/gstplugin.h:
3756         Remove gst_library_load as it does more harm than good with
3757         the new g_module flags.
3758         Revert bogus caps template check in pad linking, pad caps
3759         are important when linking not the template, which is more
3760         general than the current caps.
3761
3762 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3763
3764         * gst/autoplug/.cvsignore:
3765         * gst/autoplug/Makefile.am:
3766         * gst/autoplug/gstsearchfuncs.c:
3767         * gst/autoplug/gstsearchfuncs.h:
3768         * gst/autoplug/gstspider.c:
3769         * gst/autoplug/gstspider.h:
3770         * gst/autoplug/gstspideridentity.c:
3771         * gst/autoplug/gstspideridentity.h:
3772         * gst/autoplug/spidertest.c:
3773           Die, spider, die.
3774
3775 2005-04-25  Wim Taymans  <wim@fluendo.com>
3776
3777         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3778         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3779         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3780         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3781         * gst/gstpad.h:
3782         Added stubs for unimplemented functions. 
3783
3784 2005-04-24  David Schleef  <ds@schleef.org>
3785
3786         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3787         please fix.
3788
3789 2005-04-24  David Schleef  <ds@schleef.org>
3790
3791         Convert everything from GstAtomicInt to g_atomic_int_*, and
3792         remove gstatomic.
3793         * gst/Makefile.am:
3794         * gst/gstatomic.c:
3795         * gst/gstatomic.h:
3796         * gst/gstatomic_impl.h:
3797         * gst/gstbuffer.c:
3798         * gst/gstcaps.c:
3799         * gst/gstcaps.h:
3800         * gst/gstclock.c:
3801         * gst/gstclock.h:
3802         * gst/gstdata.c:
3803         * gst/gstdata.h:
3804         * gst/gstdata_private.h:
3805         * gst/gstevent.c:
3806         * gst/gstinfo.c:
3807         * gst/gstinfo.h:
3808         * gst/gstmessage.c:
3809         * gst/gstobject.c:
3810         * gst/gstobject.h:
3811         * gst/gststructure.c:
3812         * gst/gststructure.h:
3813         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3814         * gst/gstutils.h:
3815
3816 2005-04-24  David Schleef  <ds@schleef.org>
3817
3818         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3819         make the regressions tests work.  Remove some code that is no
3820         longer true.
3821         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3822         Disable warning for pads without templates.
3823
3824 2005-04-24  David Schleef  <ds@schleef.org>
3825
3826         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3827         functions that handle filtered links.
3828         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3829         removed functions.
3830         * gst/gstutils.c: Fix/remove utility functions that handle
3831         filtered caps.
3832         * gst/gstutils.h:
3833         * gst/gstvalue.c: Add serialization/deserialization of caps
3834         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3835         requires fixing so that the filter caps notation creates
3836         a capsfilter element and sets the filter_caps property.  I
3837         think everyone probably wants to keep the shorthand notation.
3838         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3839         * docs/gst/tmpl/gstpad.sgml:
3840
3841         * gst/elements/gstelements.c: Register capsfilter element.
3842         * gst/Makefile.am: fix spacing
3843         * docs/random/ds/0.9-suggested-changes: random
3844
3845 2005-04-23  David Schleef  <ds@schleef.org>
3846
3847         * gst/elements/Makefile.am:
3848         * gst/elements/gstcapsfilter.c: New element that acts like an
3849         identity, but filters caps.  Will eventually replace filtered
3850         caps in pad linking.
3851         * gst/gstutils.c: (gst_element_create_all_pads): New function
3852         to create all the ALWAYS pads that are registered with an
3853         element class.  This functionality should eventually be
3854         merged in with GstElement initialization.
3855         * gst/gstutils.h:
3856         * testsuite/trigger/README: part of trigger test code that should
3857         have been checked in a long time ago.
3858
3859 2005-04-23  David Schleef  <ds@schleef.org>
3860
3861         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3862         needed with new versions of libtool (nobody will confirm this),
3863         and hard to carry around.
3864         * gst/autoplug/Makefile.am:
3865         * gst/base/Makefile.am:
3866         * gst/elements/Makefile.am:
3867         * gst/indexers/Makefile.am:
3868         * gst/schedulers/Makefile.am:
3869         * libs/gst/bytestream/Makefile.am:
3870         * libs/gst/control/Makefile.am:
3871         * libs/gst/dataprotocol/Makefile.am:
3872         * libs/gst/getbits/Makefile.am:
3873
3874 2005-04-21  Wim Taymans  <wim@fluendo.com>
3875
3876         * docs/design/draft-push-pull.txt:
3877         * docs/design/part-MT-refcounting.txt:
3878         * docs/design/part-TODO.txt:
3879         * docs/design/part-caps.txt:
3880         * docs/design/part-events.txt:
3881         * docs/design/part-gstbus.txt:
3882         * docs/design/part-gstpipeline.txt:
3883         * docs/design/part-messages.txt:
3884         * docs/design/part-push-pull.txt:
3885         * docs/design/part-query.txt:
3886         Some more docs.
3887
3888 2005-04-21  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3891         (gst_message_new), (gst_message_new_error),
3892         (gst_message_new_warning), (gst_message_new_tag),
3893         (gst_message_new_state_changed), (gst_message_new_application),
3894         (gst_message_get_structure):
3895         * gst/gstmessage.h:
3896         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3897         (gst_structure_copy_conditional):
3898         Use parent refcount in GstMessage to ensure GstStructure
3899         consistency.
3900         Cleaned up headers a bit.
3901         
3902
3903 2005-04-20  Wim Taymans  <wim@fluendo.com>
3904
3905         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3906         (gst_basesink_pad_getcaps), (gst_basesink_init),
3907         (gst_basesink_chain_unlocked):
3908         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3909         (gst_type_find_helper):
3910         * gst/elements/gsttypefindelement.c:
3911         (gst_type_find_element_have_type), (gst_type_find_element_init),
3912         (stop_typefinding), (gst_type_find_element_handle_event),
3913         (find_suggest), (gst_type_find_element_chain),
3914         (gst_type_find_element_checkgetrange),
3915         (gst_type_find_element_getrange), (do_typefind),
3916         (gst_type_find_element_activate):
3917         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3918         (gst_buffer_default_free), (gst_buffer_default_copy),
3919         (gst_buffer_set_caps):
3920         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3921         (gst_caps_replace):
3922         * gst/gstmessage.c: (gst_message_new),
3923         (gst_message_new_state_changed):
3924         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3925         (gst_pad_set_checkgetrange_function),
3926         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3927         (gst_pad_set_caps), (gst_pad_check_pull_range),
3928         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3929         * gst/gstpad.h:
3930         * gst/gsttypefind.c: (gst_type_find_register):
3931         Make gst_caps_replace() work like other _replace() functions.
3932         Use _caps_replace() where possible.
3933         Make sure _message_new() initialises its field.
3934         Add gst_static_pad_template_get_caps()
3935
3936
3937 2005-04-18  Andy Wingo  <wingo@pobox.com>
3938
3939         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3940         on the peer, not the pad. I think that was a typo. Pass an extra
3941         arg to see if random access is possible. Activate the pads as
3942         PULL_RANGE if possible.
3943
3944         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3945
3946         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3947         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3948         to PROP_....
3949
3950 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3951
3952         * docs/faq/using.xml:
3953           Add note on gstreamer-properties (#154996).
3954
3955 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3956
3957         * docs/random/bbb/optional-properties:
3958           Some analysis on optional properties.
3959
3960 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3961
3962         * docs/gst/tmpl/gstelementfactory.sgml:
3963         * gst/gstelement.h:
3964         * gst/gstelementfactory.c: (gst_element_factory_init),
3965         (gst_element_factory_cleanup), (gst_element_register),
3966         (__gst_element_factory_add_static_pad_template),
3967         (gst_element_factory_get_static_pad_templates),
3968         (gst_element_factory_can_src_caps),
3969         (gst_element_factory_can_sink_caps):
3970         * gst/registries/Makefile.am:
3971         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3972         (gst_xml_registry_class_init), (gst_xml_registry_init),
3973         (gst_xml_registry_new), (gst_xml_registry_set_property),
3974         (gst_xml_registry_get_property), (get_time), (make_dir),
3975         (gst_xml_registry_get_perms_func),
3976         (plugin_times_older_than_recurse), (plugin_times_older_than),
3977         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3978         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3979         (add_to_char_array), (read_string), (read_uint), (read_enum),
3980         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3981         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3982         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3983         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3984         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3985         (gst_xml_registry_rebuild):
3986         * gst/registries/gstlibxmlregistry.h:
3987         * tools/gst-compprep.c: (main):
3988         * tools/gst-inspect.c: (print_pad_templates_info):
3989         * tools/gst-xmlinspect.c: (print_element_info):
3990           Use libxml2 for registry parsing, use staticpadtemplates in
3991           elementfactories. Makes gst_init() +/- 10x faster.
3992
3993 2005-04-12  Wim Taymans  <wim@fluendo.com>
3994
3995         * gst/base/Makefile.am:
3996         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3997         (gst_basesink_pad_getcaps), (gst_basesink_init),
3998         (gst_basesink_event), (gst_basesink_change_state):
3999         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4000         (gst_basesrc_init), (gst_basesrc_query),
4001         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4002         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4003         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4004         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4005         (gst_basesrc_stop), (gst_basesrc_activate),
4006         (gst_basesrc_change_state):
4007         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4008         (helper_find_suggest), (gst_type_find_helper):
4009         * gst/base/gsttypefindhelper.h:
4010         * gst/elements/Makefile.am:
4011         * gst/elements/gstelements.c:
4012         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4013         (gst_fakesink_get_times), (gst_fakesink_event),
4014         (gst_fakesink_preroll), (gst_fakesink_render):
4015         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4016         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4017         (gst_fakesrc_get_property), (gst_fakesrc_create),
4018         (gst_fakesrc_start), (gst_fakesrc_stop):
4019         * gst/elements/gstfakesrc.h:
4020         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4021         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4022         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4023         (gst_filesrc_create_read), (gst_filesrc_create),
4024         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4025         (gst_filesrc_start):
4026         * gst/elements/gsttypefindelement.c:
4027         (gst_type_find_element_have_type), (gst_type_find_element_init),
4028         (start_typefinding), (stop_typefinding), (push_buffer_store),
4029         (gst_type_find_element_handle_event),
4030         (gst_type_find_element_chain),
4031         (gst_type_find_element_checkgetrange),
4032         (gst_type_find_element_getrange), (do_typefind),
4033         (gst_type_find_element_activate),
4034         (gst_type_find_element_change_state):
4035         * gst/elements/gsttypefindelement.h:
4036         * gst/gstpipeline.c: (pipeline_bus_handler):
4037         Added typefind helper.
4038         Small preroll fix in the base sink.
4039         Disable typefind code in basesrc.
4040         Crude port of typefindelement.
4041         Fakesrc cleanups.
4042
4043
4044 2005-04-11  Wim Taymans  <wim@fluendo.com>
4045
4046         * check/gst/gstbus.c: (gstbus_suite):
4047         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4048         * check/gstcheck.h:
4049           Fix up the timeout so that the test does not fail.
4050
4051 2005-04-06  Wim Taymans  <wim@fluendo.com>
4052
4053         * gst/base/README:
4054         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4055         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4056         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4057         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4058         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4059         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4060         (gst_basesrc_stop), (gst_basesrc_activate),
4061         (gst_basesrc_change_state), (basesrc_find_peek),
4062         (basesrc_find_suggest), (gst_basesrc_type_find):
4063         * gst/base/gstbasesrc.h:
4064         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4065         (gst_filesrc_class_init), (gst_filesrc_init),
4066         (gst_filesrc_finalize), (gst_filesrc_set_location),
4067         (gst_filesrc_set_property), (gst_filesrc_get_property),
4068         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4069         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4070         (gst_filesrc_create_read), (gst_filesrc_create),
4071         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4072         * gst/elements/gstfilesrc.h:
4073         * gst/gstelement.c: (gst_element_get_state_func),
4074         (gst_element_lost_state), (gst_element_pads_activate):
4075         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4076         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4077         (gst_pad_pull_range):
4078         * gst/gstpad.h:
4079         More work on the generic source base class, implement seeking,
4080         query.
4081         Make filesrc extend the base source class.
4082         Added gst_pad_set_checkgetrange_function to GstPad.
4083
4084 2005-04-06  Andy Wingo  <wingo@pobox.com>
4085
4086         * pkgconfig/gstreamer-base.pc.in:
4087         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4088
4089         * pkgconfig/Makefile.am:
4090         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4091
4092 2005-04-04  Wim Taymans  <wim@fluendo.com>
4093
4094         * gst/base/Makefile.am:
4095         * gst/base/README:
4096         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4097         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4098         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4099         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4100         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4101         (gst_basesrc_base_init), (gst_basesrc_class_init),
4102         (gst_basesrc_init), (gst_basesrc_get_formats),
4103         (gst_basesrc_get_query_types), (gst_basesrc_query),
4104         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4105         (gst_basesrc_set_property), (gst_basesrc_get_property),
4106         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4107         (gst_basesrc_loop), (gst_basesrc_activate),
4108         (gst_basesrc_change_state):
4109         * gst/base/gstbasesrc.h:
4110         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4111         (gst_fakesrc_class_init), (gst_fakesrc_init),
4112         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4113         (gst_fakesrc_get_property), (gst_fakesrc_create):
4114         * gst/elements/gstfakesrc.h:
4115         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4116         (gst_filesrc_open_file), (gst_filesrc_loop),
4117         (gst_filesrc_activate), (filesrc_find_peek),
4118         (gst_filesrc_type_find):
4119         Made base source class, make fakesrc extend it.
4120         Add comments to basesink class.
4121         Some filesrc cleanup.
4122
4123 2005-03-31  David Schleef  <ds@schleef.org>
4124
4125         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4126         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4127         expected to link against libgstreamer.
4128         * gst/base/Makefile.am: link against libgstreamer
4129         * gst/elements/Makefile.am: same
4130
4131 2005-03-31  Andy Wingo  <wingo@pobox.com>
4132
4133         * tests/instantiate/Makefile.am:
4134         * tests/instantiate/caps.c: Add test to test speed of caps copy
4135         and free.
4136
4137         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4138         GMemChunk to be fair.
4139
4140         * gst/gsttrashstack.h: Remove warning about using the fallback
4141         trash stack implementation, it's still faster than malloc.
4142
4143 2005-03-30  Andy Wingo  <wingo@pobox.com>
4144
4145         * tests/complexity.c: Add a copyright.
4146
4147 2005-03-31  Wim Taymans  <wim@fluendo.com>
4148
4149         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4150         (gst_base_transform_class_init), (gst_base_transform_init),
4151         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4152         (gst_base_transform_get_property),
4153         (gst_base_transform_sink_activate),
4154         (gst_base_transform_src_activate),
4155         (gst_base_transform_change_state):
4156         * gst/base/gstbasetransform.h:
4157         * gst/elements/gstidentity.c: (gst_identity_class_init),
4158         (gst_identity_event), (gst_identity_check_perfect),
4159         (gst_identity_transform), (gst_identity_start),
4160         (gst_identity_stop):
4161         Added start/stop methods to transform base class so subclasses 
4162         don't need to deal with state changes even.
4163
4164 2005-03-31  Wim Taymans  <wim@fluendo.com>
4165
4166         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4167         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4168         * gst/gstevent.h:
4169         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4170         (gst_pad_pull_range):
4171         Added rate to the discont event to prepare for variable speed
4172         and reverse playback.
4173
4174 2005-03-29  David Schleef  <ds@schleef.org>
4175
4176         * configure.ac:
4177         * testsuite/trigger/Makefile.am:
4178         * testsuite/trigger/trigger.c: A little example program to show
4179         how trigger-based elements can work.
4180
4181 2005-03-29  Wim Taymans  <wim@fluendo.com>
4182
4183         * gst/base/Makefile.am:
4184         * gst/base/README:
4185         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4186         (gst_basesink_base_init), (gst_basesink_class_init),
4187         (gst_basesink_pad_getcaps), (gst_basesink_init),
4188         (gst_basesink_activate), (gst_basesink_change_state):
4189         * gst/base/gstbasesink.h:
4190         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4191         (gst_base_transform_base_init), (gst_base_transform_finalize),
4192         (gst_base_transform_class_init), (gst_base_transform_init),
4193         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4194         (gst_base_transform_event), (gst_base_transform_getrange),
4195         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4196         (gst_base_transform_set_property),
4197         (gst_base_transform_get_property),
4198         (gst_base_transform_sink_activate),
4199         (gst_base_transform_src_activate),
4200         (gst_base_transform_change_state):
4201         * gst/base/gstbasetransform.h:
4202         * gst/elements/gstidentity.c: (gst_identity_finalize),
4203         (gst_identity_class_init), (gst_identity_init),
4204         (gst_identity_event), (gst_identity_check_perfect),
4205         (gst_identity_transform), (gst_identity_set_property),
4206         (gst_identity_get_property), (gst_identity_change_state):
4207         * gst/elements/gstidentity.h:
4208         * gst/gstelement.c: (gst_element_get_state_func),
4209         (gst_element_lost_state), (gst_element_pads_activate):
4210         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4211         (gst_pad_check_pull_range), (gst_pad_pull_range):
4212         * gst/gstpad.h:
4213         Simplify pad activation.
4214         Added function to check if pull_range can be performed.
4215         Error out when pulling inactive or flushing pads.
4216         Removed const from refcounted types as it does not make sense.
4217         Simplify pad templates in basesink
4218         Added base class for simple 1-to-1 transforms.
4219         Make identity subclass the base transform.
4220
4221 2005-03-29  Andy Wingo  <wingo@pobox.com>
4222
4223         * docs/libs/gstreamer-libs-overrides.txt: 
4224         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4225         really don't understand what's going on, but like whatever. I want
4226         green buildbot!
4227
4228         * docs/gst/Makefile.am:
4229         * docs/libs/Makefile.am: Dist the overrides files.
4230
4231         * check/Makefile.am (clean-local): Remove .libs directories.
4232
4233         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4234         elements to EXTRA_DIST, so po/ files are happy.
4235
4236         * po/POTFILES.in: Er, remove it here.
4237
4238         * po/POTFILES: Remove gstspider.c.
4239
4240         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4241
4242         * docs/libs/gstreamer-libs-docs.sgml: 
4243         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4244         bytestream.
4245
4246         * tests/complexity.c (main): Set the length of the preroll queue
4247         on the sinks to prevent a lockup.
4248
4249         * libs/gst/dataprotocol/Makefile.am: 
4250         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4251         the same as the one in check/gst-libs/gdp.c.
4252
4253         * po/, docs/gst/: Commit automatic changes to docs and po files.
4254
4255         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4256         the versioned libgstbase.
4257
4258         * check/Makefile.am: Depend on an unversioned gst-register, seems
4259         to make autoconf happier.
4260
4261         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4262
4263 2005-03-28  Wim Taymans  <wim@fluendo.com>
4264
4265         * configure.ac:
4266         * docs/design/part-gstelement.txt:
4267         * docs/design/part-negotiation.txt:
4268         * docs/design/part-preroll.txt:
4269         * docs/design/part-scheduling.txt:
4270         * docs/design/part-states.txt:
4271         * gst/Makefile.am:
4272         * gst/base/Makefile.am:
4273         * gst/base/README:
4274         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4275         (gst_basesink_base_init), (gst_basesink_class_init),
4276         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4277         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4278         (gst_basesink_set_pad_functions),
4279         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4280         (gst_basesink_set_property), (gst_basesink_get_property),
4281         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4282         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4283         (gst_basesink_preroll_queue_push),
4284         (gst_basesink_preroll_queue_empty),
4285         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4286         (gst_basesink_event), (gst_basesink_get_times),
4287         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4288         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4289         (gst_basesink_loop), (gst_basesink_activate),
4290         (gst_basesink_change_state):
4291         * gst/base/gstbasesink.h:
4292         * gst/elements/Makefile.am:
4293         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4294         (gst_fakesink_class_init), (gst_fakesink_init),
4295         (gst_fakesink_set_property), (gst_fakesink_get_property),
4296         (gst_fakesink_get_times), (gst_fakesink_event),
4297         (gst_fakesink_preroll), (gst_fakesink_render),
4298         (gst_fakesink_change_state):
4299         * gst/elements/gstfakesink.h:
4300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4301         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4302         * gst/gstelement.c: (gst_element_add_pad),
4303         (gst_element_get_state_func), (gst_element_abort_state),
4304         (gst_element_commit_state), (gst_element_lost_state),
4305         (gst_element_set_state), (gst_element_pads_activate):
4306         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4307         * gst/gstpipeline.c: (gst_pipeline_send_event),
4308         (gst_pipeline_change_state):
4309         Added state change code.
4310         Added/updated docs.
4311         Added sink base class, make fakesink extend the base class.
4312         Small cleanups in GstPipeline.
4313
4314 2005-03-26  David Schleef  <ds@schleef.org>
4315
4316         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4317         is broken and should be implemented in a different library.
4318         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4319         * gst/gst.h: remove gstcpu.h
4320         * gst/gstcpu.c: remove
4321         * gst/gstcpu.h: remove
4322         * gst/Makefile.am.future: Remove this file.  It's ancient.
4323
4324 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4325
4326         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4327         (gst_bin_send_event):
4328           Add default event/set_manager handlers. The set_manager handler
4329           takes care that the manager is distributed over kids that were
4330           already in the bin before the manager was set. The event handler
4331           is a utility virtual function that sends the event over all sinks,
4332           so that gst_element_send_event (bin, event); has the expected
4333           behaviour.
4334         * gst/gstpad.c: (gst_pad_event_default):
4335           Re-install default event handling for discontinuities, so that
4336           seeking works without requiring hacks in applications or extra
4337           code in sinks.
4338         * gst/gstpipeline.c: (gst_pipeline_class_init),
4339         (gst_pipeline_send_event):
4340           Half hack, half utility: set a pipeline to PAUSED for seek events,
4341           since that is the only way we can guarantee a/v sync. Means that
4342           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4343           and it "just works".
4344
4345 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4346
4347         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4348           Lock/unlock mismatch.
4349
4350 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         * docs/faq/gst-uninstalled:
4353           add gst-plugins-base
4354         * docs/gst/Makefile.am:
4355           don't error out until docs are fixed
4356         * docs/gst/gstreamer.types:
4357           remove thread
4358
4359 2005-03-22  Wim Taymans  <wim@fluendo.com>
4360
4361         * check/Makefile.am:
4362         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4363         * gst/gststructure.c: (gst_structure_set_valist),
4364         (gst_structure_copy_conditional):
4365         Activated more tests.
4366         Added message test.
4367         Added G_TYPE_POINTER to GstStructure.
4368         
4369
4370 2005-03-22  Wim Taymans  <wim@fluendo.com>
4371
4372         * docs/design/part-TODO.txt:
4373         * docs/design/part-events.txt:
4374         * docs/design/part-gstbin.txt:
4375         * docs/design/part-gstbus.txt:
4376         * docs/design/part-gstpipeline.txt:
4377         * docs/design/part-messages.txt:
4378         * gst/gstbus.c:
4379         * gst/gstmessage.c:
4380         Docs updates
4381
4382 2005-03-21  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/gstbus.c: (gst_bus_post):
4385         Fix copy-and-paste error.
4386
4387 2005-03-21  Wim Taymans  <wim@fluendo.com>
4388
4389         * check/Makefile.am:
4390         * gst/Makefile.am:
4391         * gst/elements/Makefile.am:
4392         * gst/elements/gstelements.c:
4393         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4394         (gst_fakesink_event), (gst_fakesink_chain):
4395         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4396         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4397         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4398         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4399         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4400         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4401         (gst_fakesrc_loop), (gst_fakesrc_activate),
4402         (gst_fakesrc_change_state):
4403         * gst/elements/gstfakesrc.h:
4404         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4405         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4406         (gst_filesrc_open_file), (gst_filesrc_loop),
4407         (gst_filesrc_activate), (gst_filesrc_change_state),
4408         (filesrc_find_peek), (filesrc_find_suggest),
4409         (gst_filesrc_type_find):
4410         * gst/elements/gstidentity.c: (gst_identity_finalize),
4411         (gst_identity_class_init), (gst_identity_init),
4412         (gst_identity_proxy_getcaps), (identity_queue_push),
4413         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4414         (gst_identity_getrange), (gst_identity_chain),
4415         (gst_identity_sink_loop), (gst_identity_src_loop),
4416         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4417         (gst_identity_set_property), (gst_identity_get_property),
4418         (gst_identity_change_state):
4419         * gst/elements/gstidentity.h:
4420         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4421         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4422         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4423         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4424         (gst_tee_sink_activate):
4425         * gst/elements/gsttee.h:
4426         * gst/gst.c: (gst_register_core_elements), (init_post):
4427         * gst/gst.h:
4428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4429         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4430         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4431         (gst_bin_change_state):
4432         * gst/gstbin.h:
4433         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4434         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4435         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4436         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4437         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4438         (bus_watch_callback), (bus_watch_destroy),
4439         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4440         (poll_timeout), (gst_bus_poll):
4441         * gst/gstbus.h:
4442         * gst/gstcaps.h:
4443         * gst/gstdata.h:
4444         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4445         (gst_element_post_message), (gst_element_message_full),
4446         (gst_element_get_state_func), (gst_element_get_state),
4447         (gst_element_abort_state), (gst_element_commit_state),
4448         (gst_element_lost_state), (gst_element_set_state),
4449         (gst_element_pads_activate), (gst_element_change_state),
4450         (gst_element_dispose), (gst_element_set_manager_func),
4451         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4452         (gst_element_set_manager), (gst_element_get_manager),
4453         (gst_element_set_bus), (gst_element_get_bus),
4454         (gst_element_set_scheduler), (gst_element_get_scheduler):
4455         * gst/gstelement.h:
4456         * gst/gstevent.c: (gst_event_new_segment_seek),
4457         (gst_event_new_flush):
4458         * gst/gstevent.h:
4459         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4460         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4461         (gst_message_new_eos), (gst_message_new_error),
4462         (gst_message_new_warning), (gst_message_new_tag),
4463         (gst_message_new_state_changed), (gst_message_new_application),
4464         (gst_message_get_structure), (gst_message_parse_tag),
4465         (gst_message_parse_state_changed), (gst_message_parse_error),
4466         (gst_message_parse_warning):
4467         * gst/gstmessage.h:
4468         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4469         (gst_real_pad_set_property), (gst_pad_set_active),
4470         (gst_pad_is_active), (gst_pad_set_blocked_async),
4471         (gst_pad_set_blocked), (gst_pad_is_blocked),
4472         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4473         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4474         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4475         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4476         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4477         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4478         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4479         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4480         (gst_pad_set_caps), (gst_pad_configure_sink),
4481         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4482         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4483         (gst_real_pad_dispose), (gst_real_pad_finalize),
4484         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4485         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4486         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4487         * gst/gstpad.h:
4488         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4489         (pipeline_bus_handler), (gst_pipeline_change_state),
4490         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4491         * gst/gstpipeline.h:
4492         * gst/gstprobe.h:
4493         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4494         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4495         (gst_queue_link_src), (gst_queue_bufferalloc),
4496         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4497         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4498         (gst_queue_loop), (gst_queue_handle_src_event),
4499         (gst_queue_handle_src_query), (gst_queue_src_activate),
4500         (gst_queue_change_state):
4501         * gst/gstqueue.h:
4502         * gst/gstscheduler.c: (gst_scheduler_init),
4503         (gst_scheduler_dispose), (gst_scheduler_create_task),
4504         (gst_scheduler_factory_create):
4505         * gst/gstscheduler.h:
4506         * gst/gststructure.c: (gst_structure_get_type),
4507         (gst_structure_copy_conditional):
4508         * gst/gststructure.h:
4509         * gst/gsttaginterface.h:
4510         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4511         (gst_task_init), (gst_task_dispose), (gst_task_create),
4512         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4513         (gst_task_pause):
4514         * gst/gsttask.h:
4515         * gst/gstthread.c:
4516         * gst/gstthread.h:
4517         * gst/gsttypes.h:
4518         * gst/schedulers/Makefile.am:
4519         * gst/schedulers/cothreads_compat.h:
4520         * gst/schedulers/entryscheduler.c:
4521         * gst/schedulers/faircothreads.c:
4522         * gst/schedulers/faircothreads.h:
4523         * gst/schedulers/fairscheduler.c:
4524         * gst/schedulers/gstbasicscheduler.c:
4525         * gst/schedulers/gstoptimalscheduler.c:
4526         * gst/schedulers/gthread-cothreads.h:
4527         * gst/schedulers/threadscheduler.c:
4528         (gst_thread_scheduler_task_get_type),
4529         (gst_thread_scheduler_task_class_init),
4530         (gst_thread_scheduler_task_init),
4531         (gst_thread_scheduler_task_start),
4532         (gst_thread_scheduler_task_stop),
4533         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4534         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4535         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4536         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4537         (plugin_init):
4538         * libs/gst/Makefile.am:
4539         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4540         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4541         (gst_file_pad_parent_set):
4542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4543         (gst_dp_event_from_packet):
4544         * tests/complexity.c: (main):
4545         * tests/mass_elements.c: (main):
4546         * testsuite/states/locked.c: (message_received), (main):
4547         * testsuite/states/parent.c: (main):
4548         * tools/gst-inspect.c: (print_element_flag_info),
4549         (print_implementation_info), (print_pad_info):
4550         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4551         (main):
4552         * tools/gst-md5sum.c: (event_loop), (main):
4553         * tools/gst-typefind.c: (main):
4554         * tools/gst-xmlinspect.c: (print_element_info):
4555         Next big merge.
4556         Added GstBus for mainloop integration.
4557         Added GstMessage for sending notifications on the bus.
4558         Added GstTask as an abstraction for pipeline entry points.
4559         Removed GstThread.
4560         Removed Schedulers.
4561         Simplified GstQueue for multithreaded core.
4562         Made _link threadsafe, removed old capsnego.
4563         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4564         Added pad blocking functions.
4565         Reworked scheduling functions in GstPad to prepare for
4566         scheduling updates soon.
4567         Moved events out of data stream.
4568         Simplified GstEvent types.
4569         Added return values to push/pull.
4570         Removed clocking from GstElement.
4571         Added prototypes for state change function for next merge.
4572         Removed iterate from bins and state change management.
4573         Fixed some elements, disabled others for now.
4574         Fixed -inspect and -launch.
4575         Added check for GstBus.
4576
4577 2005-03-10  Wim Taymans  <wim@fluendo.com>
4578
4579         * docs/design/part-MT-refcounting.txt:
4580         * docs/design/part-clocks.txt:
4581         * docs/design/part-gstelement.txt:
4582         * docs/design/part-gstobject.txt:
4583         * docs/design/part-standards.txt:
4584         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4585         (gst_bin_remove_func), (gst_bin_remove):
4586         * gst/gstbin.h:
4587         * gst/gstbuffer.c:
4588         * gst/gstcaps.h:
4589         * testsuite/clock/clock1.c: (main):
4590         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4591         (main):
4592         * testsuite/dlopen/loadgst.c: (do_test):
4593         * testsuite/refcounting/bin.c: (add_remove_test1),
4594         (add_remove_test2), (main):
4595         * testsuite/refcounting/element.c: (main):
4596         * testsuite/refcounting/element_pad.c: (main):
4597         * testsuite/refcounting/pad.c: (main):
4598         * tools/gst-launch.c: (sigint_handler_sighandler):
4599         * tools/gst-typefind.c: (main):
4600         Doc updates.
4601         Added doc about clock.
4602         removed gst_bin_iterate_recurse_up(), marked methods
4603         for removal.
4604         Fix more testsuites.
4605
4606 2005-03-09  Wim Taymans  <wim@fluendo.com>
4607
4608         * gst/gstpad.c: (gst_pad_get_direction),
4609         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4610         (gst_pad_collect_valist):
4611         * testsuite/bins/interface.c: (main):
4612         * testsuite/caps/audioscale.c: (test_caps):
4613         * testsuite/caps/caps.c: (test1), (test2), (test3):
4614         * testsuite/caps/deserialize.c: (main):
4615         * testsuite/caps/enumcaps.c: (main):
4616         * testsuite/caps/filtercaps.c: (main):
4617         * testsuite/caps/intersect2.c: (main):
4618         * testsuite/caps/random.c: (main):
4619         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4620         * testsuite/caps/sets.c: (check_caps):
4621         * testsuite/caps/simplify.c: (check_caps), (main):
4622         * testsuite/caps/subtract.c: (check_caps):
4623         Fix _pad_get_direction wrt ghostpads.
4624         Fix caps testsuite.
4625
4626 2005-03-09  Wim Taymans  <wim@fluendo.com>
4627
4628         * check/Makefile.am:
4629         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4630         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4631         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4633         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4634         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4635         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4636         (bin_element_is_sink), (gst_bin_iterate_sinks),
4637         (gst_bin_iterate_all_by_interface):
4638         * gst/gstbin.h:
4639         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4640         (gst_element_change_state), (gst_element_dispose),
4641         (gst_element_finalize), (gst_element_set_loop_function):
4642         * gst/gstelement.h:
4643         * gst/gstiterator.c: (find_custom_fold_func):
4644         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4645         (gst_pad_collectv), (gst_pad_collect_valist),
4646         (gst_pad_template_new):
4647         * gst/gstpipeline.c: (gst_pipeline_class_init),
4648         (gst_pipeline_dispose), (gst_pipeline_set_property),
4649         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4650         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4651         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4652         * gst/gstutils.h:
4653         * gst/schedulers/entryscheduler.c:
4654         * gst/schedulers/gstbasicscheduler.c:
4655         (gst_basic_scheduler_cothreaded_chain),
4656         (gst_basic_scheduler_chain_add_element):
4657         * testsuite/bins/interface.c: (main):
4658         Added GstBin test.
4659         Added GstSystemClock test.
4660         Implemented clock distribution code in GstBin.
4661         Implemented iterate sinks method for future use.
4662         Rearranged gstelement.h
4663         Fix GstIterator comparison bug.
4664         Moved some code to GstPipeline, mostly clocking related.
4665
4666 2005-03-09  Wim Taymans  <wim@fluendo.com>
4667
4668         * configure.ac:
4669         * gst/gst_private.h:
4670         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4671         (gst_bin_remove_func), (gst_bin_remove),
4672         (gst_bin_get_by_name_recurse_up):
4673         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4674         (gst_clock_id_compare_func), (gst_clock_id_wait),
4675         (gst_clock_id_wait_async), (gst_clock_init),
4676         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4677         * gst/gstelement.h:
4678         * gst/gstinfo.c: (_gst_debug_init):
4679         * gst/gstobject.h:
4680         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4681         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4682         * gst/gstpad.h:
4683         Bump version number, we're now 0.9.0
4684         Add future debugging category.
4685         Fix NULL _unref() in _get_by_name_recurse_up
4686         Rearrange gstpad.h.
4687         Update some docs.
4688
4689 2005-03-08  Wim Taymans  <wim@fluendo.com>
4690
4691         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4692         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4693         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4694         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4695         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4696         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4697         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4698         * gst/elements/gstidentity.c: (gst_identity_class_init):
4699         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4700         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4701         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4702         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4703         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4704         (gst_tee_link):
4705         * gst/gstelement.c: (gst_element_class_init),
4706         (gst_element_base_class_init), (gst_element_init),
4707         (gst_element_get_random_pad), (gst_element_wait_state_change),
4708         (gst_element_change_state), (gst_element_dispose),
4709         (gst_element_finalize), (gst_element_set_loop_function):
4710         * gst/gstelement.h:
4711         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4712         * gst/gstthread.c: (gst_thread_class_init),
4713         (gst_thread_release_children_locks), (gst_thread_change_state):
4714         * gst/schedulers/gstbasicscheduler.c:
4715         (gst_basic_scheduler_loopfunc_wrapper),
4716         (gst_basic_scheduler_chain_wrapper),
4717         (gst_basic_scheduler_src_wrapper),
4718         (gst_basic_scheduler_remove_element):
4719         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4720         Remove threadsafe properties. Fix elements because GObject
4721         complains when installing a property before declaring a
4722         set/get_property handler.
4723         Rearrange gstelement.h file, use STATE macros for state locks.
4724         Free mutexes in the finalize method instead of dispose.
4725
4726 2005-03-08  Wim Taymans  <wim@fluendo.com>
4727
4728         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4729         * gst/gstthread.c: (gst_thread_release_children_locks):
4730         Added parentage check.
4731         Fix build og GstThread again.
4732
4733 2005-03-08  Wim Taymans  <wim@fluendo.com>
4734
4735         * docs/design/part-MT-refcounting.txt:
4736         * docs/design/part-conventions.txt:
4737         * docs/design/part-gstobject.txt:
4738         * docs/design/part-relations.txt:
4739         * docs/design/part-standards.txt:
4740         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4741         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4742         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4743         (gst_bin_iterate_all_by_interface):
4744         * gst/gstbuffer.h:
4745         * gst/gstclock.h:
4746         * gst/gstelement.c: (gst_element_class_init),
4747         (gst_element_change_state), (gst_element_set_loop_function):
4748         * gst/gstelement.h:
4749         * gst/gstiterator.c:
4750         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4751         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4752         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4753         (gst_object_set_parent), (gst_object_unparent),
4754         (gst_object_check_uniqueness):
4755         * gst/gstobject.h:
4756         Docs updates, clean up some headers.
4757
4758 2005-03-07  Wim Taymans  <wim@fluendo.com>
4759
4760         * check/.cvsignore:
4761         * check/Makefile.am:
4762         * check/gst-libs/.cvsignore:
4763         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4764         * check/gst/.cvsignore:
4765         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4766         (START_TEST), (gstbus_suite), (main):
4767         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4768         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4769         (gst_data_suite), (main):
4770         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4771         (add_fold_func), (gstiterator_suite), (main):
4772         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4773         (thread_name_object), (thread_name_object_default),
4774         (gst_object_name_compare), (gst_object_suite), (main):
4775         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4776         (gst_pad_suite), (main):
4777         * check/gstcheck.c: (gst_check_log_message_func),
4778         (gst_check_log_critical_func), (gst_check_init):
4779         * check/gstcheck.h:
4780         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4781         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4782         Added checks.
4783
4784 2005-03-07  Wim Taymans  <wim@fluendo.com>
4785
4786         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4787         (gst_list_iterator_next), (gst_list_iterator_resync),
4788         (gst_list_iterator_free), (gst_iterator_new_list),
4789         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4790         (gst_iterator_free), (gst_iterator_push), (filter_next),
4791         (filter_resync), (filter_uninit), (filter_free),
4792         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4793         (gst_iterator_foreach), (find_custom_fold_func),
4794         (gst_iterator_find_custom):
4795         * gst/gstiterator.h:
4796         Added missing files.
4797
4798 2005-03-07  Wim Taymans  <wim@fluendo.com>
4799
4800         * Makefile.am:
4801         * configure.ac:
4802         * docs/design/part-MT-refcounting.txt:
4803         * docs/design/part-conventions.txt:
4804         * docs/design/part-gstobject.txt:
4805         * docs/design/part-relations.txt:
4806         * examples/mixer/mixer.c: (main):
4807         * examples/thread/thread.c: (eos), (main):
4808         * gst/Makefile.am:
4809         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4810         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4811         (gst_spider_plug_from_srcpad):
4812         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4813         (gst_spider_identity_change_state),
4814         (gst_spider_identity_sink_loop_type_finding):
4815         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4816         * gst/elements/gstidentity.c: (gst_identity_init):
4817         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4818         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4819         * gst/elements/gsttypefindelement.c: (free_entry):
4820         * gst/gst.c:
4821         * gst/gst.h:
4822         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4823         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4824         (gst_bin_set_index), (gst_bin_set_element_sched),
4825         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4826         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4827         (gst_bin_iterate_elements), (iterate_child_recurse),
4828         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4829         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4830         (compare_interface), (gst_bin_get_by_interface),
4831         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4832         * gst/gstbin.h:
4833         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4834         (gst_buffer_default_free), (gst_buffer_default_copy),
4835         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4836         (gst_buffer_create_sub):
4837         * gst/gstbuffer.h:
4838         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4839         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4840         (gst_caps_unref), (gst_static_caps_get),
4841         (gst_caps_remove_and_get_structure), (gst_caps_append),
4842         (gst_caps_append_structure), (gst_caps_remove_structure),
4843         (gst_caps_copy_nth), (gst_caps_set_simple),
4844         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4845         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4846         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4847         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4848         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4849         (gst_caps_structure_figure_out_union),
4850         (gst_caps_switch_structures), (gst_caps_do_simplify),
4851         (gst_caps_replace), (gst_caps_from_string),
4852         (gst_caps_copy_conditional):
4853         * gst/gstcaps.h:
4854         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4855         (_gst_clock_id_free), (gst_clock_id_unref),
4856         (gst_clock_id_compare_func), (gst_clock_id_wait),
4857         (gst_clock_id_wait_async), (gst_clock_class_init),
4858         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4859         (gst_clock_get_time), (gst_clock_set_time_adjust),
4860         (gst_clock_set_property), (gst_clock_get_property):
4861         * gst/gstclock.h:
4862         * gst/gstcompat.h:
4863         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4864         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4865         * gst/gstdata.h:
4866         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4867         (gst_element_requires_clock), (gst_element_provides_clock),
4868         (gst_element_set_clock), (gst_element_clock_wait),
4869         (gst_element_wait), (gst_element_set_time_delay),
4870         (gst_element_is_indexable), (gst_element_add_pad),
4871         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4872         (pad_compare_name), (gst_element_get_static_pad),
4873         (gst_element_request_pad), (gst_element_get_request_pad),
4874         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4875         (gst_element_class_get_pad_template_list),
4876         (gst_element_class_get_pad_template), (gst_element_error_func),
4877         (gst_element_get_random_pad), (gst_element_get_event_masks),
4878         (gst_element_send_event), (gst_element_seek),
4879         (gst_element_get_query_types), (gst_element_query),
4880         (gst_element_get_formats), (gst_element_convert),
4881         (gst_element_is_locked_state), (gst_element_set_locked_state),
4882         (gst_element_sync_state_with_parent), (gst_element_change_state),
4883         (gst_element_finalize), (gst_element_yield),
4884         (gst_element_interrupt), (gst_element_set_scheduler),
4885         (gst_element_get_scheduler), (gst_element_set_loop_function):
4886         * gst/gstelement.h:
4887         * gst/gstevent.h:
4888         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4889         (gst_format_get_by_nick), (gst_format_get_details),
4890         (gst_format_iterate_definitions):
4891         * gst/gstformat.h:
4892         * gst/gstindex.c: (gst_index_gtype_resolver):
4893         * gst/gstinfo.c:
4894         * gst/gstinfo.h:
4895         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4896         (gst_mem_chunk_free):
4897         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4898         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4899         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4900         (gst_object_dispatch_properties_changed),
4901         (gst_object_set_name_default), (gst_object_set_name),
4902         (gst_object_get_name), (gst_object_set_name_prefix),
4903         (gst_object_get_name_prefix), (gst_object_set_parent),
4904         (gst_object_get_parent), (gst_object_unparent),
4905         (gst_object_check_uniqueness), (gst_object_save_thyself),
4906         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4907         (gst_object_set_property), (gst_object_get_property),
4908         (gst_object_get_path_string):
4909         * gst/gstobject.h:
4910         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4911         (gst_real_pad_init), (gst_real_pad_get_property),
4912         (gst_pad_custom_new), (gst_pad_get_direction),
4913         (gst_pad_set_active), (gst_pad_is_active),
4914         (gst_pad_set_event_function), (gst_pad_is_linked),
4915         (gst_pad_link_free), (gst_pad_link_intersect),
4916         (gst_pad_link_fixate), (gst_pad_set_caps),
4917         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4918         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4919         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4920         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4921         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4922         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4923         (gst_pad_realize), (gst_pad_get_allowed_caps),
4924         (gst_real_pad_dispose), (gst_real_pad_finalize),
4925         (gst_pad_collectv), (gst_pad_collect_valist),
4926         (gst_pad_template_dispose), (gst_pad_template_new),
4927         (gst_pad_get_internal_links):
4928         * gst/gstpad.h:
4929         * gst/gstpipeline.c: (gst_pipeline_dispose),
4930         (gst_pipeline_change_state):
4931         * gst/gstpipeline.h:
4932         * gst/gstplugin.c:
4933         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4934         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4935         * gst/gstpluginfeature.h:
4936         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4937         * gst/gstquery.c: (_gst_query_type_initialize),
4938         (gst_query_type_register), (gst_query_type_get_by_nick),
4939         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4940         * gst/gstquery.h:
4941         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4942         * gst/gstscheduler.c: (gst_scheduler_add_element),
4943         (gst_scheduler_factory_create):
4944         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4945         (gst_structure_free), (gst_structure_set_name),
4946         (gst_structure_id_set_value), (gst_structure_set_value),
4947         (gst_structure_set_valist), (gst_structure_remove_field),
4948         (gst_structure_remove_fields),
4949         (gst_structure_remove_fields_valist),
4950         (gst_structure_remove_all_fields), (gst_structure_foreach),
4951         (gst_structure_map_in_place),
4952         (gst_caps_structure_fixate_field_nearest_int),
4953         (gst_caps_structure_fixate_field_nearest_double):
4954         * gst/gststructure.h:
4955         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4956         (gst_system_clock_init), (gst_system_clock_dispose),
4957         (gst_system_clock_async_thread),
4958         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4959         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4960         * gst/gstsystemclock.h:
4961         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4962         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4963         * gst/gsttaginterface.c:
4964         * gst/gstthread.c: (gst_thread_dispose),
4965         (gst_thread_release_children_locks), (gst_thread_change_state),
4966         (gst_thread_main_loop):
4967         * gst/gsttrashstack.h:
4968         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4969         * gst/gsttypes.h:
4970         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4971         (gst_element_request_pad), (gst_element_get_pad_from_template),
4972         (gst_element_request_compatible_pad),
4973         (gst_element_get_compatible_pad_filtered),
4974         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4975         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4976         (gst_element_link_many), (gst_element_link),
4977         (gst_element_link_pads), (gst_element_unlink_pads),
4978         (gst_element_unlink_many), (gst_element_unlink),
4979         (gst_pad_can_link_filtered), (gst_pad_can_link),
4980         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4981         (gst_object_default_error), (gst_bin_add_many),
4982         (gst_bin_remove_many), (gst_element_populate_std_props),
4983         (gst_element_class_install_std_props), (gst_buffer_merge),
4984         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4985         (link_fold_func), (gst_pad_proxy_setcaps):
4986         * gst/gstutils.h:
4987         * gst/gstvalue.c: (gst_value_deserialize_string):
4988         * gst/parse/grammar.y:
4989         * gst/schedulers/gstbasicscheduler.c:
4990         (gst_basic_scheduler_cothreaded_chain),
4991         (gst_basic_scheduler_chain_recursive_add),
4992         (gst_basic_scheduler_pad_link):
4993         * gst/schedulers/gstoptimalscheduler.c:
4994         (get_group_schedule_function),
4995         (gst_opt_scheduler_state_transition),
4996         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4997         * libs/gst/bytestream/bytestream.c:
4998         * libs/gst/dataprotocol/dataprotocol.c:
4999         (gst_dp_header_from_buffer):
5000         * po/nb.po:
5001         * po/ru.po:
5002         * tests/threadstate/threadstate2.c: (eos):
5003         * tools/gst-compprep.c: (main):
5004         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5005         (print_pad_info), (print_children_info):
5006         * tools/gst-launch.c: (idle_func), (main):
5007         * tools/gst-md5sum.c: (idle_func), (main):
5008         * tools/gst-xmlinspect.c: (print_element_info):
5009         First THREADED backport attempt, focusing on adding locks and
5010         making sure the API is threadsafe. Needs more work. More docs
5011         follow this week.
5012
5013 2005-02-24  Andy Wingo  <wingo@pobox.com>
5014
5015         * tests/bench-complexity.scm:
5016         * tests/complexity.gnuplot: New files, good for running complexity
5017         benchmarks.
5018
5019         * tests/Makefile.am:
5020         * tests/complexity.c: New test, sets up N elements, at each level
5021         teeing into M streams per element. Eeeenteresting.
5022
5023         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5024         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5025         running bench-mass_elements.scm.
5026
5027         * tests/bench-mass_elements.scm: New script, runs mass_elements
5028         for various numbers of identities, outputting the results to a
5029         file. Requires guile 1.6. Just for testing.
5030
5031 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5032
5033         * gst/schedulers/fairscheduler.c:
5034           compile with debug disabled
5035
5036 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * configure.ac:
5039           hunting season on 0.9 is now OPEN
5040
5041 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5042
5043         * docs/libs/tmpl/gstcontrol.sgml:
5044         * docs/libs/tmpl/gstdparam.sgml:
5045         * docs/libs/tmpl/gstdplinint.sgml:
5046         * docs/libs/tmpl/gstdpman.sgml:
5047         * docs/libs/tmpl/gstdpsmooth.sgml:
5048         * docs/libs/tmpl/gstunitconvert.sgml:
5049           more docs for the state of dparams
5050
5051 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5052
5053         * gst/gstelementfactory.c: (gst_element_factory_create):
5054         * gst/gstobject.c: (gst_object_init),
5055         (gst_object_set_name_default), (gst_object_set_name):
5056           name objects by default, not in gst_element_factory_create. Allows
5057           using elements created with g_object_new. (fixes #167283)
5058
5059 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5060
5061         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5062           make the time that debugging functions print relative to when
5063           gst_init was called
5064
5065 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5066
5067         * gst/gsttaginterface.c:
5068           Fix inline docs: tag setter vararg functions are NULL-terminated,
5069           GST_TAG_INVALID doesn't exist any more.
5070
5071 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5072
5073         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5074         Allocate the 1 byte more memory that was forgotten!!!!!
5075         fixes memory corruption on 64bit platforms
5076
5077 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5078
5079         * docs/pwg/building-pads.xml:
5080         * docs/pwg/intro-basics.xml:
5081           fixed a few typos, relabeled introductionary list of types
5082         * docs/random/ensonic/dparams.txt:
5083           more notes abut dparam changes
5084         * libs/gst/control/dparam.c: (gst_dparam_attach):
5085         * libs/gst/control/dparammanager.c:
5086         * libs/gst/control/dparammanager.h:
5087           - many comments and notes on dparam implementation
5088           - new dparams are were not initialized to the default value
5089             from param spec
5090
5091 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5092
5093         submitted by: Peter Astakhov
5094
5095         * po/LINGUAS:
5096         * po/ru.po:
5097           adding Russian translation
5098
5099 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * configure.ac:
5102         * docs/gst/Makefile.am:
5103         * docs/libs/Makefile.am:
5104           make sure popt is added to gtk-doc flags.  Fixes #147782.
5105
5106 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5107
5108         * docs/faq/using.xml:
5109           Fix typo in FAQ (artssink => artsdsink)
5110
5111 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5112
5113         * tools/gst-launch.1.in:
5114           Fix typo (#166699).
5115
5116 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5117
5118         * docs/faq/using.xml:
5119           Add -v argument to fakesrc/fakesink gst-launch line,
5120           so that the promised output will actually show up.
5121
5122 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5123
5124         * gst/gstthread.c: (gst_thread_change_state):
5125           Implement state-change error handling (#166073).
5126
5127 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5128
5129         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5130           Release interrupt after handling (#166250).
5131
5132 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5133
5134         * configure.ac:
5135           back to HEAD
5136
5137 === release 0.8.9 ===
5138
5139 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5140
5141         * NEWS:
5142         * RELEASE:
5143         * configure.ac:
5144           releasing 0.8.9, "Like Eating Glass"
5145
5146 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         submitted by: Clytie Siddall
5149
5150         * po/vi.po: Added Vietnamese translation
5151
5152 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5153
5154         patch by: Tim Philipp-Müller
5155
5156         * configure.ac:
5157         * gst/gstpad.c:
5158           unref data when probe function returns FALSE.  Fixes #166362
5159
5160 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5161
5162         * gst/gst.c: (gst_init_get_popt_table):
5163           Fix typo (#166269).
5164
5165 2005-02-04  Andy Wingo  <wingo@pobox.com>
5166
5167         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5168         the debugging on whether the caps are compatible.
5169
5170 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5171
5172         * docs/manual/basics-elements.xml:
5173           Fix two typos.
5174
5175 2005-02-02  Wim Taymans  <wim@fluendo.com>
5176
5177         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5178         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5179         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5180         Remove some FIXMEs after analysing and commenting why they
5181         are not issues.
5182
5183 2005-02-02  Wim Taymans  <wim@fluendo.com>
5184
5185         * gst/schedulers/gstoptimalscheduler.c:
5186         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5187         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5188         (get_invalid_call), (chain_invalid_call),
5189         (get_group_schedule_function), (loop_group_schedule_function),
5190         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5191         (gst_opt_scheduler_state_transition),
5192         (gst_opt_scheduler_add_element),
5193         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5194         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5195         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5196         (gst_opt_scheduler_show):
5197         Added lock to protect scheduler data structures.
5198
5199 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5200
5201         * testsuite/threads/threadi.c: (cb_data):
5202           Fix buglet in test.
5203
5204 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5205
5206         * testsuite/threads/Makefile.am:
5207         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5208           On Wim's request, split the test in three separately-compiled
5209           tests that each test a very specific bug. Two of them still fail,
5210           will create bugs for those. threadi.c indicates why they fail.
5211
5212 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5213
5214         * gst/schedulers/gstoptimalscheduler.c:
5215         (get_group_schedule_function):
5216           Try to work with the threading mess that queue_link is.
5217
5218 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5219
5220         * gst/gstbin.c: (gst_bin_remove_func):
5221           Explicitely make an element release locks in a group when being
5222           remove from a bin.
5223         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5224           If there's no scheduler, always return immediately (similar to
5225           gst_element_interrupt).
5226
5227 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5228
5229         * gst/gstbin.c: (gst_bin_child_state_change_func):
5230           Remove a piece of code that could never be reached.
5231         * docs/gst/gstreamer-sections.txt:
5232         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5233         (gst_pad_call_get_function):
5234         * gst/gstpad.h:
5235         * testsuite/pad/Makefile.am:
5236           Fix #150546, enable tests.
5237
5238 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5239
5240         * docs/pwg/advanced-types.xml:
5241           Fix description for buffer-frames=0.
5242         * docs/gst/tmpl/gstbin.sgml:
5243         * gst/gstbin.c: (gst_bin_child_state_change_func),
5244         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5245         * gst/gstbin.h:
5246         * testsuite/threads/Makefile.am:
5247         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5248         (cb_state), (cb_play), (main):
5249           Fix non-recursive state changes to *really* change the state
5250           of the object, and not just call parent_class->state_change.
5251           Fix a lot of lockups caused by this. Fixes #132775. Add test
5252           for the problem. Also enable test to show #142588 (fixed).
5253         * gst/gstthread.c: (gst_thread_change_state),
5254         (gst_thread_child_state_change):
5255           Don't exit the thread if we go to NULL and are inside thread
5256           context. Instead, return control to the main thread context
5257           and exit from there.
5258         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5259           Don't unset virtual functions, since those may still be used.
5260           That's not necessarily correct, but suffices for now.
5261         * configure.ac:
5262         * testsuite/Makefile.am:
5263         * testsuite/pad/Makefile.am:
5264         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5265         (gst_test_sink_base_init), (gst_test_sink_chain),
5266         (gst_test_sink_init), (main):
5267         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5268         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5269         (main):
5270         * testsuite/pad/link.c: (gst_test_element_class_init),
5271         (gst_test_element_base_init), (gst_test_src_get),
5272         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5273         (gst_test_filter_loop), (gst_test_filter_init),
5274         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5275         (cb_error), (main):
5276           Add tests to show #150546. Pass, but should fail (currently
5277           disabled from the testsuite).
5278         * gst/gstscheduler.c: (gst_scheduler_dispose):
5279           Dereference child schedulers on dispose (#94464).
5280         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5281           Fix typo.
5282         * testsuite/threads/thread.c: (main):
5283           Add more debug.
5284
5285 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5286
5287         * gst/gstpad.c: (gst_pad_push):
5288           Oops, revert previous commit, broke testsuite...
5289
5290 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5291
5292         * gst/gstpad.c: (gst_pad_push):
5293           Add check that the pad on which the push is performed is not a
5294           get-based pad (#150546).
5295
5296 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5297
5298         * gst/elements/gsttypefindelement.c:
5299         (gst_type_find_element_handle_event):
5300           Fix buffer pushing if stream EOSes during typefinding.
5301
5302 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5303
5304         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5305
5306         * gst/gstvalue.c: (gst_string_wrap):
5307           Allow NULL-strings as argument (#165365).
5308
5309 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5310
5311         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5312
5313         * gst/schedulers/faircothreads.c:
5314         (gst_fair_scheduler_cothread_queue_show):
5315           Fix build without debug enabled.
5316
5317 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5318
5319         * docs/gst/gstreamer-sections.txt:
5320         * docs/libs/gstreamer-libs-docs.sgml:
5321         * docs/libs/gstreamer-libs-sections.txt:
5322         * docs/libs/tmpl/gstcontrol.sgml:
5323         * docs/libs/tmpl/gstdparam.sgml:
5324         * docs/libs/tmpl/gstdplinint.sgml:
5325         * docs/libs/tmpl/gstdpman.sgml:
5326         * docs/libs/tmpl/gstdpsmooth.sgml:
5327         * docs/libs/tmpl/gstputbits.sgml:
5328         * docs/libs/tmpl/gstunitconvert.sgml:
5329         * libs/gst/control/dparam.c:
5330         * libs/gst/control/dparam.h:
5331         * libs/gst/control/dparammanager.c:
5332         (gst_dpman_add_required_dparam_callback),
5333         (gst_dpman_add_required_dparam_direct),
5334         (gst_dpman_add_required_dparam_array),
5335         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5336         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5337         (gst_dpman_get_manager)
5338           restructured DParam docs
5339
5340 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5341
5342         * gst-element-check.m4:
5343           Only check for gst-inspect if we haven't already
5344           found it in previous element check runs
5345
5346 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5347
5348         * docs/gst/Makefile.am:
5349         * docs/libs/Makefile.am:
5350           fixed install rules to treat style.css as optional
5351
5352 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5353
5354         * docs/gst/Makefile.am:
5355         * docs/libs/Makefile.am:
5356           install style.css along with docs
5357         * docs/gst/tmpl/gstbin.sgml:
5358         * docs/gst/tmpl/gstclock.sgml:
5359         * docs/gst/tmpl/gstdata.sgml:
5360         * docs/gst/tmpl/gstelement.sgml:
5361         * gst/gstbin.h:
5362         * gst/gstelement.c: (gst_element_class_init):
5363         * gst/gstelement.h:
5364           fixing incomplete docs
5365
5366 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5369           Don't unref seek event twice when fflush() fails
5370           
5371 2005-01-22  David Schleef  <ds@schleef.org>
5372
5373         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5374
5375 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5376
5377         * docs/gst/Makefile.am:
5378         * docs/libs/Makefile.am:
5379           added params for deprecation guards
5380         * gst/gst.c:
5381         * gst/gst.h:
5382         * gst/gsterror.c: (_gst_resource_errors_init),
5383         (_gst_stream_errors_init):
5384         * gst/gsterror.h:
5385           documented some more enums
5386
5387 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5388         * gst/autoplug/gstspideridentity.c:
5389         Cosmetic fix - spider_find_peek should be static
5390         * gst/parse/parse.l:
5391         Applying fix for #164261
5392
5393 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5394
5395         * docs/gst/gstreamer-sections.txt:
5396         * docs/gst/tmpl/gstplugin.sgml:
5397         * docs/libs/gstreamer-libs-sections.txt:
5398         * docs/libs/tmpl/gstcontrol.sgml:
5399         * gst/gstbuffer.h:
5400         * gst/gsttag.h:
5401         * gst/gstvalue.c:
5402           added docs for the TAG defines
5403
5404 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5405
5406         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5407           Only unref entry if there is an entry.
5408
5409 2005-01-17  Wim Taymans  <wim@fluendo.com>
5410
5411         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5412         (remove_from_group), (schedule_group), (normalize_group),
5413         (gst_opt_scheduler_iterate):
5414         Also ref/unref decoupled elements before iterating the
5415         group since they are not added to the list of elements.
5416
5417 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5418
5419         * docs/manual/highlevel-components.xml:
5420           Add subtitle/streamselection as new features to playbin.
5421
5422 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5423
5424         * docs/manual/manual.xml:
5425           Re-enable dataaccess docs (oops).
5426
5427 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5428
5429         * docs/pwg/advanced-types.xml:
5430         * docs/random/mimetypes:
5431           Add documentation on libsndfile types (#163309), by Steve Baker
5432           <steve@stevebaker.org>.
5433         * gst/gstelement.c: (gst_element_release_request_pad):
5434           If an element has no explicit function, just remove the pad.
5435
5436 2005-01-17  Luca Ognibene  <luogni@tin.it>
5437
5438         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5439
5440         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5441           Fix memleak (#163801).
5442
5443 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5444
5445         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5446           I think this is actually more correct...
5447
5448 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5449
5450         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5451           Another workaround for memory access while destroyed in callback.
5452           Please, someone with refcount knowledge, have a look at this.
5453
5454 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5455
5456         * docs/faq/faq.xml:
5457         * docs/faq/legal.xml:
5458           move the legal Q&A here
5459
5460 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5461
5462         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5463         (gst_tee_request_new_pad):
5464           Fix negotiation.
5465
5466 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5467
5468         * docs/random/omega/caps2:
5469         * testsuite/caps/caps_strings:
5470           replace framerate aproximations by their real value
5471           (24000/1001, 30000/1001, 60000/1001)
5472           Partially fixes bug #164049
5473
5474 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * docs/gst/Makefile.am:
5477           don't fail on the stupid GstPoptOption
5478
5479 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5480
5481         * gst/gstpad.h:
5482         * gst/gstprobe.c:
5483           allow probes to work on ghost pads by realizing the pad
5484           probe debugging
5485
5486 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5487
5488         * docs/gst/gstreamer-sections.txt:
5489         * docs/gst/tmpl/gstpad.sgml:
5490         * gst/gstpad.c: (gst_pad_set_active_recursive):
5491         * gst/gstpad.h:
5492           Add gst_pad_set_active_recursive().
5493
5494 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5495
5496         * docs/random/release:
5497           updates
5498         * gst/gst_private.h:
5499         * gst/gstinfo.c:
5500         * gst/gstobject.c:
5501           move deep_notify logging to a new category
5502         * gst/gstprobe.c:
5503         * gst/gstprobe.h:
5504           add stuff so bindings can wrap probes
5505
5506 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5507
5508         * gst/gstplugin.c: (gst_plugin_load):
5509           Fix plugin loading if plugin/lib was already loaded. Fixes
5510           #163383
5511
5512 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5513
5514         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5515
5516         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5517           Protect plugin loading by a mutex so it's threadsafe. Fixes
5518           #163234.
5519
5520 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5521
5522         * gst/gstevent.c: (_gst_event_copy):
5523           Reference source object when copying events, since it'll be
5524           dereferenced on event dereferencing as well.
5525
5526 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5527
5528         * docs/gst/gstreamer-sections.txt:
5529         * docs/gst/tmpl/gstevent.sgml:
5530         * gst/gstevent.c: (gst_event_new_filler_stamped),
5531         (gst_event_filler_get_duration):
5532         * gst/gstevent.h:
5533           Add two new functions for filler events (which are used to
5534           synchronize streams if one of them is not having any data
5535           for a while) without interrupting the actual data-stream.
5536           Basically a no-op.
5537         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5538         (gst_queue_link_sink), (gst_queue_link_src),
5539         (gst_queue_change_state):
5540           Allow for renegotiation while filled. Required for stream
5541           switching while playing.
5542
5543 2005-01-08  Benjamin Otte  <otte@gnome.org>
5544
5545         * gst/gstelement.c: (gst_element_link_many):
5546           fix up g_return_if_fail's
5547         * po/LINGUAS:
5548         * po/de.po:
5549           add German translation, that was somehow not included
5550
5551 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5552
5553         * docs/random/mimetypes:
5554           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5555           do not add them to riff-lib as they are not common
5556
5557 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5558
5559         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5560           Check for existence of probe after performing the probe before
5561           re-accessing it to prevent segfaults caused by removal of the
5562           probe in the callback.
5563
5564 2005-01-05  David Schleef  <ds@schleef.org>
5565
5566         * testsuite/registry/Makefile.am:
5567         * testsuite/registry/gst-print-formats.c:
5568         (print_pad_templates_info), (print_element_list),
5569         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5570         (g_list_uniqify), (get_pad_templates_info),
5571         (get_element_mime_list), (print_mime_list), (main): A little
5572         program that looks through the registry to find elements of
5573         a given type.  Not particularly interesting as a test, except
5574         that there's no other test covering the same area.
5575
5576 2005-01-05  David Schleef  <ds@schleef.org>
5577
5578         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5579         (fault_handler_sigaction), (fault_spin),
5580         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5581         in signal.h-type signal handlers by not calling forbidden functions,
5582         including gst_element_set_state().
5583
5584 2005-01-05  David Schleef  <ds@schleef.org>
5585
5586         * gst/gstvalue.h: Mark _gst_reserved[] as private
5587
5588 2005-01-05  David Schleef  <ds@schleef.org>
5589
5590         * gst/gstvalue.c: Fix doc build problem.
5591
5592 2005-01-05  David Schleef  <ds@schleef.org>
5593
5594         * gst/gstvalue.c: Add some documentation
5595
5596 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5597
5598         * docs/README:
5599           another shell oneliner for empty return value docs
5600         * gst/gstcaps.c:
5601         * gst/gstvalue.c:
5602         * libs/gst/control/dparam.c:
5603           more doc fixes (parameters and return values)
5604
5605 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5606
5607         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5608
5609         * gst/gstregistry.h:
5610         * gst/registries/gstxmlregistry.c:
5611           Fix macro's for Mingw (fixes #162276).
5612
5613 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5614
5615         * docs/README:
5616           quick shell oneliner to find undocumented members
5617         * docs/gst/tmpl/gstplugin.sgml:
5618         * docs/gst/tmpl/gstscheduler.sgml:
5619         * docs/gst/tmpl/gstthread.sgml:
5620           more enumtypes cleanup
5621         * gst/gsterror.h:
5622           activated documentation comments, now someone needs to document
5623           the enums :(
5624
5625 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5626
5627         * docs/manual/manual.xml:
5628           Add dataaccess part (doh!).
5629
5630 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5631
5632         * docs/manual/advanced-autoplugging.xml:
5633           Fix typo (intiate -> initiate).
5634
5635 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5636
5637         * docs/random/bbb/streamselection:
5638           Add some notes on how to handle multi-subtitle/-audio streams.
5639
5640 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5641
5642         * docs/gst/gstreamer-docs.sgml:
5643         * docs/gst/gstreamer-sections.txt:
5644         * docs/gst/tmpl/gstenumtypes.sgml:
5645         * docs/gst/tmpl/gsterror.sgml:
5646         * docs/gst/tmpl/gstevent.sgml:
5647         * docs/gst/tmpl/gstpad.sgml:
5648         * docs/gst/tmpl/gstpadtemplate.sgml:
5649         * docs/gst/tmpl/gstthread.sgml:
5650           removed gstenumtypes section from docs and put all the enums into
5651           their sections
5652
5653 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5654
5655         * gst/gstplugin.c:
5656           document gst_library_load a bit more (riff special case + return
5657           value if already loaded)
5658         * testsuite/bytestream/filepadsink.c:
5659           plugin name is 'gstbytestream', not 'bytestream'
5660
5661 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5662
5663         * docs/random/bbb/subtitles:
5664           Add some first mind rumblings on proper subtitle support.
5665
5666 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5667
5668         * po/ca.po:
5669         * po/sv.po:
5670           updated translations
5671
5672 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5673
5674         * docs/manual/advanced-dataaccess.xml:
5675           Add section on how to use fakesrc/fakesink/identity in your
5676           application, plus section on how to embed plugins. Also mention
5677           probes.
5678         * docs/manual/appendix-checklist.xml:
5679         * docs/manual/appendix-debugging.xml:
5680         * docs/manual/appendix-gnome.xml:
5681         * docs/manual/appendix-integration.xml:
5682           Debug -> checklist, GNOME -> integration, add sections on Linux,
5683           KDE integration and add other things useful for application
5684           development.
5685         * docs/manual/manual.xml:
5686           Remove some fixmes, update some file pointers.
5687         * docs/pwg/appendix-checklist.xml:
5688           Fix typo.
5689         * docs/pwg/building-boiler.xml:
5690           Remove ugly header and add commented fixme.
5691         * docs/pwg/pwg.xml:
5692           Add fixme.
5693         * examples/manual/Makefile.am:
5694           Add example for added docs.
5695
5696 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5697
5698         * configure.ac:
5699           back to HEAD
5700
5701 === release 0.8.8 ===
5702
5703 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5704
5705         * NEWS:
5706         * RELEASE:
5707         * configure.ac:
5708           Releasing 0.8.8, "I'll Take Care Of You"
5709
5710 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5711
5712         * configure.ac:
5713           second prerelease
5714
5715 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         patch by: Wim Taymans
5718
5719         * gst/gstbin.c:
5720           Fix for #159852 - make iterate emission threadsafe
5721
5722 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5723
5724         * docs/faq/cvs.xml:
5725           notes about new fdo account request
5726
5727 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5728
5729         * docs/gst/gstreamer-docs.sgml:
5730         * docs/gst/tmpl/gstenumtypes.sgml:
5731         * docs/gst/tmpl/gstplugin.sgml:
5732         * docs/libs/gstreamer-libs-docs.sgml:
5733           Added missing short docs. Added ids for navigation.
5734
5735 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5736
5737         * docs/manual/advanced-autoplugging.xml:
5738         * docs/manual/advanced-schedulers.xml:
5739         * docs/manual/advanced-threads.xml:
5740           Rewrites. Remove cothreads, go a bit into opt specifically,
5741           document threads and their gotchas, and do some technical stuff
5742           on autoplugging plus add some working examples. Fixes #157395.
5743         * examples/manual/Makefile.am:
5744           Add typefind/autoplugger example (one that actually works).
5745           Remove queue example since it's a duplicate of the thread one.
5746
5747 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5748
5749         * gst/gstvalue.c: (gst_value_deserialize_string):
5750           use deprecated g_value_set_string_take_ownership to keep compatible
5751           with glib 2.2
5752
5753 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5754
5755         * gst/gstvalue.c: (gst_value_deserialize_string):
5756           revert last patch, only dom a g_utf8_validate now before accepting
5757           the string - caps parsing strips " from strings so we can't rely on
5758           them
5759         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5760           disable a test that tested the above and comment it
5761
5762 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5763
5764         Patch reviewed by David Schleef  <ds@schleef.org>
5765
5766         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5767         bug #153882)
5768         * win32/gstenumtypes.h: same
5769
5770 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5771
5772         * gst/gstpad.c: (gst_pad_query):
5773           Do query on realized pad, similar to how convert/send_event handle
5774           this. Also makes sense, since this pad belongs to the function to
5775           which this query will be sent. Fixes #158163.
5776
5777 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5778
5779         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5780
5781 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5782
5783         * docs/faq/general.xml: fix pipeline to actually work
5784
5785 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5786
5787         * gst/gstvalue.c: (gst_value_deserialize_string):
5788           check that a simple string that gets deserialized does not contain
5789           invalid characters
5790         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5791           remove a test that tested a wring behaviour
5792
5793 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5794
5795         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5796
5797         * docs/manual/intro-motivation.xml:
5798           Fix typos.
5799
5800 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5801
5802         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5803
5804         * docs/gst/tmpl/gstprobe.sgml:
5805           Fix documentation of probe callback - it is supposed to return
5806           FALSE, not TRUE, to remove data from the stream (#159087).
5807
5808 2004-12-16  Daniel Gazard  <dany42@free.fr>
5809
5810         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5811
5812         * gst/gstelementfactory.c: (gst_element_factory_create):
5813           Fix compile failure if compiling without libxml2 support (#149936).
5814
5815 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5816
5817         * docs/manual/advanced-autoplugging.xml:
5818         * docs/manual/highlevel-components.xml:
5819           Move spider from autoplugging to components. Autoplugging is for
5820           internals, not for solutions. ;-).
5821
5822 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5823
5824         * docs/random/ds/0.9-suggested-changes:
5825           Make note on device/location/uri property names.
5826
5827 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5828
5829         * docs/manual/advanced-autoplugging.xml:
5830         * docs/manual/advanced-clocks.xml:
5831         * docs/manual/advanced-interfaces.xml:
5832         * docs/manual/advanced-metadata.xml:
5833         * docs/manual/advanced-position.xml:
5834         * docs/manual/advanced-schedulers.xml:
5835         * docs/manual/advanced-threads.xml:
5836         * docs/manual/appendix-gnome.xml:
5837         * docs/manual/appendix-programs.xml:
5838         * docs/manual/appendix-quotes.xml:
5839         * docs/manual/autoplugging.xml:
5840         * docs/manual/basics-bins.xml:
5841         * docs/manual/basics-data.xml:
5842         * docs/manual/basics-elements.xml:
5843         * docs/manual/basics-helloworld.xml:
5844         * docs/manual/basics-init.xml:
5845         * docs/manual/basics-pads.xml:
5846         * docs/manual/basics-plugins.xml:
5847         * docs/manual/bins-api.xml:
5848         * docs/manual/bins.xml:
5849         * docs/manual/buffers-api.xml:
5850         * docs/manual/buffers.xml:
5851         * docs/manual/clocks.xml:
5852         * docs/manual/components.xml:
5853         * docs/manual/cothreads.xml:
5854         * docs/manual/debugging.xml:
5855         * docs/manual/dparams-app.xml:
5856         * docs/manual/dynamic.xml:
5857         * docs/manual/elements-api.xml:
5858         * docs/manual/elements.xml:
5859         * docs/manual/factories.xml:
5860         * docs/manual/gnome.xml:
5861         * docs/manual/goals.xml:
5862         * docs/manual/helloworld.xml:
5863         * docs/manual/helloworld2.xml:
5864         * docs/manual/highlevel-components.xml:
5865         * docs/manual/highlevel-xml.xml:
5866         * docs/manual/init-api.xml:
5867         * docs/manual/intro-basics.xml:
5868         * docs/manual/intro-motivation.xml:
5869         * docs/manual/intro-preface.xml:
5870         * docs/manual/intro.xml:
5871         * docs/manual/links-api.xml:
5872         * docs/manual/links.xml:
5873         * docs/manual/manual.xml:
5874         * docs/manual/motivation.xml:
5875         * docs/manual/pads-api.xml:
5876         * docs/manual/pads.xml:
5877         * docs/manual/plugins-api.xml:
5878         * docs/manual/plugins.xml:
5879         * docs/manual/programs.xml:
5880         * docs/manual/queues.xml:
5881         * docs/manual/quotes.xml:
5882         * docs/manual/schedulers.xml:
5883         * docs/manual/states-api.xml:
5884         * docs/manual/states.xml:
5885         * docs/manual/threads.xml:
5886         * docs/manual/typedetection.xml:
5887         * docs/manual/win32.xml:
5888         * docs/manual/xml.xml:
5889           Try 2. This time, include a short preface as a "general
5890           introduction", also add code blocks around all code samples
5891           so they get compiled. We still need a way to tell readers
5892           the filename of the code sample. In some cases, don't show
5893           all code in the documentation, but do include it in the generated
5894           code. This allows for focussing on specific bits in the docs,
5895           while still having a full test application available.
5896         * examples/manual/Makefile.am:
5897           Fix up examples for new ADM. Add several of the new examples that
5898           were either added or were missing from the build system.
5899         * examples/manual/extract.pl:
5900           Allow nameless blocks.
5901
5902 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5903
5904         * docs/manual/elements-api.xml:
5905         * docs/manual/helloworld.xml:
5906         * examples/manual/extract.pl:
5907           fix last example.  Add example of adding code blocks that are not
5908           shown in docbook output.
5909
5910 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * docs/manual/dynamic.xml:
5913         * docs/manual/elements-api.xml:
5914         * docs/manual/gnome.xml:
5915         * docs/manual/helloworld2.xml:
5916         * docs/manual/init-api.xml:
5917         * docs/manual/queues.xml:
5918         * docs/manual/threads.xml:
5919         * docs/manual/xml.xml:
5920         * examples/manual/extract.pl:
5921           Make it possible to extract example code from separate blocks.
5922           Should make Ronald happy.
5923
5924 2004-12-15  Wim Taymans  <wim@fluendo.com>
5925
5926         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5927         (remove_from_group), (group_elements_set_visited),
5928         (normalize_group), (gst_opt_scheduler_iterate):
5929         Fix bug where a flag was not updated on a decoupled entry point 
5930         because we were just checking the group element list and decoupled
5931         elements are not in that list..
5932
5933 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5934
5935         * docs/manual/advanced-autoplugging.xml:
5936         * docs/manual/advanced-clocks.xml:
5937         * docs/manual/advanced-dparams.xml:
5938         * docs/manual/advanced-interfaces.xml:
5939         * docs/manual/advanced-metadata.xml:
5940         * docs/manual/advanced-position.xml:
5941         * docs/manual/advanced-schedulers.xml:
5942         * docs/manual/advanced-threads.xml:
5943         * docs/manual/appendix-debugging.xml:
5944         * docs/manual/appendix-gnome.xml:
5945         * docs/manual/appendix-programs.xml:
5946         * docs/manual/appendix-quotes.xml:
5947         * docs/manual/appendix-win32.xml:
5948         * docs/manual/autoplugging.xml:
5949         * docs/manual/basics-bins.xml:
5950         * docs/manual/basics-data.xml:
5951         * docs/manual/basics-elements.xml:
5952         * docs/manual/basics-helloworld.xml:
5953         * docs/manual/basics-init.xml:
5954         * docs/manual/basics-pads.xml:
5955         * docs/manual/basics-plugins.xml:
5956         * docs/manual/bins-api.xml:
5957         * docs/manual/bins.xml:
5958         * docs/manual/buffers-api.xml:
5959         * docs/manual/buffers.xml:
5960         * docs/manual/clocks.xml:
5961         * docs/manual/components.xml:
5962         * docs/manual/cothreads.xml:
5963         * docs/manual/debugging.xml:
5964         * docs/manual/dparams-app.xml:
5965         * docs/manual/dynamic.xml:
5966         * docs/manual/elements-api.xml:
5967         * docs/manual/elements.xml:
5968         * docs/manual/factories.xml:
5969         * docs/manual/gnome.xml:
5970         * docs/manual/goals.xml:
5971         * docs/manual/helloworld.xml:
5972         * docs/manual/helloworld2.xml:
5973         * docs/manual/highlevel-components.xml:
5974         * docs/manual/highlevel-xml.xml:
5975         * docs/manual/init-api.xml:
5976         * docs/manual/intro-motivation.xml:
5977         * docs/manual/intro-preface.xml:
5978         * docs/manual/intro.xml:
5979         * docs/manual/links-api.xml:
5980         * docs/manual/links.xml:
5981         * docs/manual/manual.xml:
5982         * docs/manual/motivation.xml:
5983         * docs/manual/pads-api.xml:
5984         * docs/manual/pads.xml:
5985         * docs/manual/plugins-api.xml:
5986         * docs/manual/plugins.xml:
5987         * docs/manual/programs.xml:
5988         * docs/manual/queues.xml:
5989         * docs/manual/quotes.xml:
5990         * docs/manual/schedulers.xml:
5991         * docs/manual/states-api.xml:
5992         * docs/manual/states.xml:
5993         * docs/manual/threads.xml:
5994         * docs/manual/typedetection.xml:
5995         * docs/manual/win32.xml:
5996         * docs/manual/xml.xml:
5997           First try at rewriting the ADM. Needs lotsamore work, but some
5998           parts might already be somewhat useful.
5999         * docs/pwg/advanced-interfaces.xml:
6000           Remove properties interface, it never actually existed (except for
6001           on my HD...).
6002
6003 2004-12-13  David Schleef  <ds@schleef.org>
6004
6005         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6006         be NULL (bug #160220).
6007
6008 2004-12-13  David Schleef  <ds@schleef.org>
6009
6010         * configure.ac: remove all mmx stuff, because it's not used.
6011         * docs/random/ds/0.9-suggested-changes: additional notes
6012         * include/Makefile.am: we don't use these anymore
6013         * include/mmx.h: remove
6014         * include/sse.h: remove
6015
6016 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6017
6018         * docs/random/mimetypes:
6019           Add FOURCC code for h264 codec (VSSH)
6020           Add alternate FOURCC codes for h263 related codecs
6021
6022 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6023
6024         * docs/manual/programs.xml:
6025           Added more gst-launch examples.
6026
6027 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6028
6029         * gst/gstqueue.c: (gst_queue_handle_src_query):
6030           Check for availability again.
6031
6032 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6033
6034         * gst/gstcaps.c: (gst_caps_compare_structures):
6035           Simple caps go first. This has the nice side-effect of fixing an
6036           obscure warning.
6037
6038 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6039
6040         * gst/gstversion.h.in:
6041           Protect header.
6042
6043 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6044
6045         * gst/schedulers/gstoptimalscheduler.c:
6046         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6047         (gst_opt_scheduler_get_wrapper):
6048           When we're recursing into a chain run, only run the directly
6049           related group, not all queued ones. This will fix a possible
6050           deadlock in chains with more than two groups.
6051
6052 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6053
6054         * autogen.sh:
6055           remove patch if autopoint fails
6056
6057 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * docs/gst/gstreamer-sections.txt:
6060           Document Thomas' addition, fix build, make Luis the sheriff happy.
6061
6062 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * gst/gstplugin.c:
6065         * gst/gstplugin.h:
6066           add accessor for version field
6067
6068 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         submitted by: Luca Ferretti <elle.uca@infinito.it>
6071
6072         * po/LINGUAS:
6073         * po/it.po:
6074           New tranlation added: Italian
6075
6076 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * gst/gstpad.c: (gst_pad_is_negotiated),
6079         (gst_pad_get_negotiated_caps):
6080           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6081           it doesn't actually check the contents), so be sure to hand it
6082           a RealPad else we'll crash.
6083
6084 2004-12-03  Wim Taymans  <wim@fluendo.com>
6085
6086         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6087         (gst_queue_link), (gst_queue_handle_src_query):
6088         Reverted to 1.110 until this makes the testsuite and various
6089         apps work.
6090
6091 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6092
6093         * docs/upload.mak: fix included CVS conflict strings
6094
6095 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6096
6097         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6098
6099         * gst/gstelement.c: (gst_element_error_full):
6100           Use g_error_new_literal because error text may have
6101           percentage signs in it. Fixes #160019.
6102
6103 2004-12-01  Benjamin Otte  <otte@gnome.org>
6104
6105         * gst/elements/gstbufferstore.c:
6106         (gst_buffer_store_add_buffer_func):
6107           don't try to make subbuffers bigger than they can be. (fixes
6108           #159970)
6109
6110 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6111
6112         * docs/gst/gstreamer-sections.txt:
6113         * docs/gst/tmpl/gstvalue.sgml:
6114           Add new function to docs to fix build.
6115
6116 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6117
6118         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6119         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6120         (_gst_pad_default_fixate_foreach):
6121         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6122         * gst/gstvalue.h:
6123           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6124           in some cases (arrays), the fixedness depends on the content.
6125         * gst/gstqueue.c: (gst_queue_handle_src_query):
6126           Check for availability before doing something.
6127
6128 2004-11-29  Wim Taymans  <wim@fluendo.com>
6129
6130         * testsuite/threads/Makefile.am:
6131         * testsuite/threads/signals.c: (gst_test_get_type),
6132         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6133         (gst_test_set_property), (gst_test_get_property),
6134         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6135         (gst_test_do_prop), (run_thread), (main):
6136         Added a bunch of testcases that show threadsafety bugs in glib.
6137
6138 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6139
6140         * docs/manual/programs.xml:
6141           Added a first batch of gst-launch examples, as provided by Ronald
6142           and others from the devel-mlist
6143
6144 2004-11-28  Benjamin Otte  <otte@gnome.org>
6145
6146         * gst/gstelement.c: (gst_element_negotiate_pads):
6147           simplify
6148         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6149         (gst_value_serialize_string), (gst_value_deserialize_string):
6150           add unwrapping of previously wrapped strings. Fix bug in wrapping
6151           while at it.
6152         * testsuite/caps/value_serialize.c: (test1),
6153         (test_string_serialization), (test_string_deserialization), (main):
6154           add tests for string (de)serialization
6155
6156 2004-11-26  Wim Taymans  <wim@fluendo.com>
6157
6158         * testsuite/threads/159566.c: (object_deep_notify), (main):
6159         * testsuite/threads/Makefile.am:
6160         Added testsuite to show bug #159566
6161
6162 2004-11-25  Wim Taymans  <wim@fluendo.com>
6163
6164         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6165         (gst_thread_child_state_change), (gst_thread_main_loop):
6166         Ref the thread object in the GThread mainloop. Break out of the
6167         thread mainloop if it holds the last ref. This properly exits
6168         the threads when disposing the thread from its own context. It
6169         also avoids possible deadlocks in the dispose function.
6170
6171 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6172
6173         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6174         it is necessary to wait.
6175
6176 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6177
6178         * docs/pwg/building-boiler.xml:
6179           Make description somewhat clearer.
6180
6181 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6182
6183         * docs/upload.mak:
6184           Apparently docs changed location on FDO's server.
6185
6186 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6187
6188         * docs/pwg/appendix-checklist.xml:
6189           Add some random notes on things to check when writing an element.
6190           This list can be extended as people see fit.
6191
6192 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6193
6194         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6195         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6196         pad. The queue will now wait until it is empty and forward the new
6197         caps to the source.
6198         * gst/gstbin.c (gst_bin_set_element_sched)
6199         (gst_bin_unset_element_sched): Make sure that all elements and
6200         links are registered and unregistered with the scheduler exactly
6201         once. This elaborates on a fix by Benjamin Otte, but
6202         guarantees that decoupled elements are also registered.
6203
6204 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6205
6206         * docs/manual/quotes.xml:
6207           add a quote
6208         * configure.ac:
6209         * gst/gst.c:
6210         * gst/gstinfo.c:
6211           add LIBDIR and move init message higher up so it's at the start
6212
6213 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6214
6215         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6216         * gstreamer.spec.in: add fair
6217
6218 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6219
6220         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6221         * gst/elements/gstidentity.c: (gst_identity_class_init):
6222           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6223           <teuf@gnome.org> (#157263).
6224         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6225         (gst_type_find_handle_src_query):
6226           Subtract size of internally stored data from position queries.
6227
6228 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6229
6230         * gst/schedulers/fairscheduler.c:
6231         * gst/schedulers/faircothreads.c:
6232         * gst/schedulers/faircothreads.h:
6233         New cothread based scheduler: Fair scheduler.
6234         * gst/schedulers/gthread-cothreads.h: 
6235         Add the standard #if around the whole file.
6236         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6237         compilation of the functions defined in this file. This is
6238         necessary to be able to use this file as a normal header.
6239         * gst/schedulers/Makefile.am: Add compiling support for fair
6240         scheduler.
6241         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6242         scheduler cothreads layer from documentation generation.
6243
6244 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6245
6246         * gst/autoplug/gstspideridentity.c:
6247         (gst_spider_identity_sink_loop_type_finding):
6248           Don't crash if that function is not implemented.
6249
6250 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6251
6252         * docs/pwg/advanced-types.xml:
6253           Another typo.
6254
6255 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6256
6257         * docs/pwg/intro-preface.xml:
6258           Hm, ok, so the brackets weren't really useful...
6259         * docs/pwg/other-ntoone.xml:
6260           Fix embarassing typo.
6261
6262 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6263
6264         * docs/pwg/intro-preface.xml:
6265           Rewrite preface.
6266
6267 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6268
6269         * docs/pwg/advanced-scheduling.xml:
6270         * docs/pwg/advanced-tagging.xml:
6271         * docs/pwg/advanced-types.xml:
6272         * docs/pwg/building-boiler.xml:
6273         * docs/pwg/building-chainfn.xml:
6274         * docs/pwg/building-signals.xml:
6275         * docs/pwg/building-state.xml:
6276         * docs/pwg/building-testapp.xml:
6277         * docs/pwg/intro-basics.xml:
6278         * docs/pwg/other-manager.xml:
6279         * docs/pwg/other-source.xml:
6280           Typo fixes.
6281         * docs/pwg/other-manager.xml:
6282           Add some first content. No example code yet.
6283         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6284           Remove double newlines.
6285
6286 2004-11-04  Wim Taymans  <wim@fluendo.com>
6287
6288         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6289         (remove_from_group), (normalize_group), (group_migrate_connected),
6290         (gst_opt_scheduler_iterate):
6291         * testsuite/schedulers/.cvsignore:
6292         * testsuite/schedulers/Makefile.am:
6293         * testsuite/schedulers/queue_link.c: (main):
6294         Added testcase for scheduler segfault.
6295         Fix scheduler segfault when removing a decoupled
6296         entry point as the last element from a group.
6297
6298 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6299
6300         * gst/gstmarshal.list: add missing marshaller, fixes build
6301
6302 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6303
6304         * docs/random/signal: added notes about using BOXED for GstBuffer
6305         signal marshallers, not POINTER
6306
6307 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6308
6309         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6310         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6311         POINTER=>BOXED changes to marshal GstBuffers
6312
6313 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6314
6315         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6316         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6317
6318 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6319
6320         * docs/gst/gstreamer-sections.txt:
6321         * docs/gst/tmpl/gstcaps.sgml:
6322         * docs/gst/tmpl/gsterror.sgml:
6323         * docs/gst/tmpl/gstinfo.sgml:
6324         * docs/gst/tmpl/gstmacros.sgml:
6325         * docs/gst/tmpl/gstutils.sgml:
6326         * docs/random/ensonic/interfaces.txt:
6327         * gst/gstinfo.h:
6328           added some more docs, removed two obsolete defines
6329
6330 2004-11-02  Kjartan Maraas <as at gnome.org>
6331
6332         reviewed by: Wim Taymans, Ronald Bultje.
6333
6334         * gst/cothreads.c: (cothread_create):
6335         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6336         (gst_bin_child_state_change_func):
6337         * gst/gstbuffer.c: (gst_buffer_span):
6338         * gst/gstelement.c: (gst_element_get_index),
6339         (gst_element_get_event_masks), (gst_element_get_query_types),
6340         (gst_element_get_formats):
6341         * gst/gsterror.c: (_gst_core_errors_init),
6342         (_gst_library_errors_init), (_gst_resource_errors_init),
6343         (_gst_stream_errors_init):
6344         * gst/gstobject.c: (gst_object_default_deep_notify):
6345         * gst/gstpad.c: (gst_pad_get_event_masks),
6346         (gst_pad_get_internal_links_default):
6347         * gst/gstplugin.c: (gst_plugin_register_func),
6348         (gst_plugin_get_module):
6349         * gst/gststructure.c: (gst_structure_get_string),
6350         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6351         (gst_structure_to_abbr):
6352         * gst/gstutils.c: (gst_print_element_args):
6353         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6354         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6355         Aplied part of patch #157127: Cleanup of issues reported by 
6356         sparse.
6357         Also do not try to use cothreads when there is no cothread
6358         context yet.
6359
6360 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6361
6362         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6363         (gst_opt_scheduler_iterate):
6364         Applied patch #154061. Running a pipeline in which an element 
6365         calls GST_ELEMENT_ERROR in the chain function, the opt 
6366         scheduler doesn't unref the chain so it never gets freed.
6367
6368 2004-11-02  Wim Taymans  <wim@fluendo.com>
6369
6370         * gst/gststructure.c: (gst_structure_get_abbrs),
6371         (gst_structure_from_abbr), (gst_structure_to_abbr):
6372         Remove that ugly if-then thing in the code that converts
6373         between strings and types.
6374
6375 2004-11-02  Wim Taymans  <wim@fluendo.com>
6376
6377         * gst/gstscheduler.c: (gst_scheduler_add_element),
6378         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6379         Aplied clock distribution patch, this should fix bug
6380         #148787.
6381
6382 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6385
6386         * po/LINGUAS:
6387         * po/nb.po:
6388           Added Norwegian Bokmaal translation
6389
6390 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6391
6392         * tools/gst-inspect.c: (print_signal_info):
6393           print signal arguments as pointers if they are
6394
6395 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6396
6397         * docs/pwg/building-boiler.xml:
6398           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6399
6400 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6401
6402         * gst/parse/parse.l:
6403         * testsuite/parse/parse1.c: (main):
6404         Since parse can do 'element name=a:b' make 'a:b.' work as
6405         well. 
6406         Added testcase to verify fix.
6407
6408 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6409
6410         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6411         Use the realpad when printing the direction.
6412         Add extra \n when printing extensions of typefind factories.
6413
6414 2004-10-13  David Schleef  <ds@schleef.org>
6415
6416         * examples/manual/Makefile.am: $< isn't portable in Makefile
6417         rules.
6418
6419 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6420
6421         * docs/gst/tmpl/gstobject.sgml:
6422         * docs/gst/tmpl/gstplugin.sgml:
6423         * docs/gst/tmpl/gstpluginfeature.sgml:
6424         * docs/gst/tmpl/gstregistry.sgml:
6425         * docs/gst/tmpl/gstversion.sgml:
6426         * gst/gstbin.c:
6427           more api documentation
6428         * gst/gstplugin.c: (gst_plugin_register_func),
6429         (gst_plugin_check_file), (gst_plugin_load_file):
6430           better error signaling and logging
6431
6432 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6433
6434         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6435           Subtract current queue contents from position queries.
6436
6437 2004-10-11  Johan Dahlin  <johan@gnome.org>
6438
6439         * gst/gsturi.c (gst_uri_get_location): unescape string
6440         (gst_uri_construct): escape string.
6441
6442 2004-10-11  Benjamin Otte  <otte@gnome.org>
6443
6444         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6445         (gst_pad_try_set_caps_nonfixed):
6446           allow renegotiation of unconnected pads (as inside spider). Simply
6447           return OK if unconnected - mimic try_set_caps there.
6448
6449 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6450
6451         * gst/gstbin.c: (gst_bin_sync_children_state):
6452           Add missing break.
6453
6454 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6455
6456         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6457         Set element to EOS before sending EOS event
6458
6459 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6460
6461         * gst/elements/gsttypefindelement.c:
6462         (gst_type_find_element_handle_event):
6463         Handle EOS events when doing the transition from
6464         typefind to data passing. This should fix the
6465         infinite loops in short files.
6466
6467 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6468
6469         * gst/gstthread.c: (gst_thread_change_state),
6470         (gst_thread_child_state_change):
6471         Make sure no iteration happens while performing
6472         the state change as it could mess up the internal
6473         consistency of the thread state.
6474
6475 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6476
6477         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6478         (gst_thread_change_state), (gst_thread_child_state_change):
6479         Do not try to grab the iterate lock in the state change method
6480         when we are in the same thread as the iterate or else we
6481         could deadlock. Some other cleanups.
6482
6483 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6484
6485         * configure.ac:
6486           bump nano to cvs
6487
6488 === release 0.8.7 ===
6489
6490 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6491
6492         * configure.ac:
6493         * NEWS:
6494         * RELEASE:
6495         * configure.ac:
6496           releasing 0.8.7, "A Cruise"
6497
6498 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6499
6500         * docs/random/mimetypes:
6501         Add an entry for Sony ATRAC3 audio format with mime-type
6502         used by rmdemux et riff-read
6503
6504 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6505
6506         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6507         Push the buffer store instead of clearing it in case that
6508         the stream is not seekable.
6509
6510 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6511
6512         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6513         (gst_thread_main_loop):
6514         Lock the iteration and the state change so that automatic
6515         negotiation and fixation does not happen at the same time
6516         as the in stream negotiation.
6517
6518 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6519
6520         * configure.ac:
6521           bump nano to cvs
6522
6523 === release 0.8.6 ===
6524
6525 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6526
6527         * configure.ac:
6528         * NEWS:
6529         * RELEASE:
6530         * configure.ac:
6531           releasing 0.8.6, "Narc"
6532
6533 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6534
6535         * configure.ac:
6536           prerel bump
6537
6538 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6539
6540         patch by: Steve Lhomme
6541
6542         * gst/elements/gstfakesrc.c:
6543         * gst/elements/gstidentity.c:
6544         * gst/gstthread.c:
6545           Fix for #153881
6546
6547 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6548
6549         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6550         Fix threadsafety of the crc checking function.
6551
6552 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         patch by: Ronald Bultje
6555
6556         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6557         (gst_type_find_element_handle_event),
6558         (gst_type_find_element_chain):
6559         * gst/elements/gsttypefindelement.h:
6560          #153657.
6561          Filter out discont event from seekable sources when typefind
6562          asks them to seek.  Fixes typefind with demuxers for
6563          avi, asf and matroska.
6564
6565 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6566
6567         * docs/gst/gstreamer-sections.txt:
6568         * gst/gstcaps.c:
6569         * gst/gstcaps.h:
6570         * gst/gstpad.c:
6571           Revert preferred caps: (#147789)
6572
6573 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6574
6575         * win32/dirent.c:
6576           fix a memory leak
6577
6578 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6579
6580         * configure.ac:
6581           bump for prerelease
6582
6583 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * docs/Makefile.am:
6586         * docs/manual/elements-api.xml:
6587           restructure so that common stuff is shown first
6588         * docs/manual/init-api.xml:
6589           convert to examples
6590         * docs/manual/manual.xml:
6591         * docs/manuals.mak:
6592         * docs/url.entities:
6593           link to API on the website, possibly override later in build
6594         * examples/manual/.cvsignore:
6595           ignore more
6596         * examples/manual/Makefile.am:
6597           add more examples
6598         * examples/manual/extract.pl:
6599           error out on failure
6600
6601 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6602
6603         * docs/gst/tmpl/gstthread.sgml:
6604         * docs/manual/init-api.xml:
6605         * examples/manual/Makefile.am:
6606           convert two code bits to examples
6607
6608 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6609
6610         * gst/gstelement.c: (gst_element_change_state):
6611           Well, actually, I was about to remove this insane assert when
6612           I noticed Wim already did that. A warning is nice so we can
6613           fix actual ugs (using --g-fatal-warnings and backtraces), so
6614           I added that instead.
6615
6616 2004-09-06  Wim Taymans  <wim@fluendo.com>
6617
6618         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6619         (gst_element_threadsafe_properties_post_run),
6620         (gst_element_set_state), (gst_element_change_state):
6621         Added extra refcounting around various places. 
6622
6623 2004-09-06  Wim Taymans  <wim@fluendo.com>
6624
6625         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6626         Fix debug info.
6627
6628 2004-09-06  Wim Taymans  <wim@fluendo.com>
6629
6630         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6631         (remove_from_group):
6632         Some more debug info.
6633
6634 2004-09-03  Wim Taymans  <wim@fluendo.com>
6635
6636         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6637         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6638         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6639         (gst_fakesrc_get), (gst_fakesrc_change_state):
6640         * gst/elements/gstfakesrc.h:
6641         * gst/elements/gstidentity.c: (gst_identity_class_init),
6642         (gst_identity_init), (gst_identity_chain),
6643         (gst_identity_set_property), (gst_identity_get_property),
6644         (gst_identity_change_state):
6645         * gst/elements/gstidentity.h:
6646         Added datarate properties to limit the datarate.
6647
6648 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6649
6650         * gst/autoplug/gstspider.c: (plugin_init):
6651           don't set a rank. We don't want to autoplug by inserting spiders.
6652
6653 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6654
6655         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6656         (gst_spider_identity_plug):
6657           add a template for spider's sink
6658         * gst/gst.c: (gst_register_core_elements):
6659           queue's rank should be NULL, we don't want spider to add it.
6660
6661 2004-08-18  David Schleef  <ds@schleef.org>
6662
6663         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6664         * docs/libs/Makefile.am: same
6665         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6666         * docs/random/ds/0.9-planning: random additions
6667         * docs/random/ds/0.9-suggested-changes: same
6668         * gst/gstxml.h: remove vestigal GstXMLNs definition
6669
6670         Preferred caps: (#147789)
6671         * docs/gst/gstreamer-sections.txt: Add symbols
6672         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6673         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6674         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6675         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6676         (gst_caps_get_preferred), (gst_caps_set_preferred),
6677         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6678         (gst_caps_use_preferred): Handle caps preferences
6679         * gst/gstcaps.h: Add caps preferences
6680         * gst/gstpad.c: (gst_pad_link_get_preferred),
6681         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6682         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6683         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6684         negotiation.
6685
6686 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6687
6688         * gst/autoplug/gstspideridentity.c:
6689         (gst_spider_identity_request_new_pad):
6690         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6691         (gst_aggregator_init):
6692         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6693         (gst_fakesink_init):
6694         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6695         (gst_fakesrc_init):
6696         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6697         (gst_fdsink_init):
6698         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6699         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6700         (gst_filesink_init):
6701         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6702         (gst_filesrc_init):
6703         * gst/elements/gstidentity.c: (gst_identity_base_init),
6704         (gst_identity_init):
6705         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6706         (gst_multifilesrc_init):
6707         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6708         (gst_pipefilter_init):
6709         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6710         (gst_statistics_init):
6711         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6712         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6713           s/gst_pad_new/&_from_template/
6714           register pad templates in the base_init function
6715           add static pad template definitions
6716
6717 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6718
6719         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6720         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6721         * testsuite/refcounting/pad.c: (main):
6722         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6723           s/gst_pad_new/&_from_template/
6724           prepare deprecation of gst_pad_new
6725
6726 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6727
6728         patch by: Luca Ognibene <skaboy81@virgilio.it>
6729
6730         * gst/gstcaps.c:
6731         * gst/gstelement.c:
6732         * gst/gstpad.c:
6733         * gst/gstxml.c:
6734           fix memleaks.  Fixes #150001
6735
6736 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6737
6738         * docs/random/ds/0.9-suggested-changes:
6739           add notes - mostly about pad templates
6740
6741 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6742
6743         * win32/GStreamer.vcproj:
6744           temporary locale files are .gmo not .mo
6745
6746 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6747
6748         * configure.ac: bump nano to cvs
6749
6750 === release 0.8.5 ===
6751
6752 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6753
6754         * configure.ac:
6755           releasing 0.8.5, "Stuttgart"
6756         * NEWS:
6757         * RELEASE:
6758         * configure.ac:
6759         * docs/random/release:
6760           updates for release
6761
6762 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6763
6764         patch by: Wim Taymans (wim@fluendo.com)
6765
6766         * gst/gstbuffer.c:
6767         * gst/gstindex.h:
6768         * libs/gst/dataprotocol/dataprotocol.c:
6769           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6770
6771 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * Makefile.am:
6774         * win32/MANIFEST:
6775           add win32 dir to the build.  Fixes #149981.
6776
6777 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * configure.ac:
6780           bump libtool versioning
6781         * gst/gststructure.c:
6782           mark function as static
6783         * po/af.po:
6784         * po/az.po:
6785         * po/ca.po:
6786         * po/cs.po:
6787         * po/en_GB.po:
6788         * po/fr.po:
6789         * po/nl.po:
6790         * po/sq.po:
6791         * po/sr.po:
6792         * po/sv.po:
6793         * po/tr.po:
6794         * po/uk.po:
6795           translations update
6796         * win32/README.txt:
6797           trademark protection
6798
6799 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6800
6801         * configure.ac:
6802           fix GST_ORIGIN
6803           set GST_PACKAGE to source, and distinguish between release and other
6804         * tools/gst-inspect.c:
6805           print out plugin an element factory is part of so we see this info
6806
6807 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6808
6809         * docs/gst/gstreamer-sections.txt:
6810         * docs/gst/tmpl/gstbuffer.sgml:
6811         * docs/gst/tmpl/gstschedulerfactory.sgml:
6812           reorder docs a little, make GstBuffer's more sensible.
6813         * gst/gstbuffer.h:
6814           API: added GST_BUFFER_FLAG_DELTA_UNIT
6815         * gst/gstscheduler.c:
6816           comment API addition
6817
6818 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6819
6820         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6821           work with non-regular files that can be mmapped (like /dev/zero)
6822         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6823           get rid of typefinds that require a seek when we can't seek instead
6824           of trying them over and over again
6825         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6826           return non-zero failure value when the pipeline was interrupted or
6827           an error occurred
6828
6829 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6830
6831         * win32/config.h:
6832         * win32/GStreamer.vcproj:
6833           compile and install the locales
6834
6835 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6836
6837         * gst/gstvalue.c:
6838           fix a possible memory leak under Windows
6839
6840 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6841
6842         * win32/GStreamer.vcproj:
6843           fix a memory leak that occured under Windows
6844         * win32/gstreamer.def:
6845           add gst_scheduler_register
6846
6847 2004-08-11  Benjamin Otte  <otte@gnome.org>
6848
6849         * docs/gst/gstreamer-sections.txt:
6850         * gst/gstscheduler.c: (gst_scheduler_register):
6851         * gst/gstscheduler.h:
6852           API:
6853           add gst_scheduler_register shortcut similar to gst_element_register
6854         * gst/schedulers/entryscheduler.c: (plugin_init):
6855         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6856         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6857           use it
6858
6859 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6860
6861         * gst/gstvalue.h:
6862           fix a memory leak that occured under Windows
6863
6864 2004-08-10  Colin Walters  <walters@redhat.com>
6865
6866         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6867         Don't use O_EXCL to open temporary registry.  It will prevent
6868         registry creation if a temporary one already exists, which
6869         is unnecessary.
6870
6871 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6872
6873         * docs/gst/gstreamer-sections.txt:
6874         * docs/gst/tmpl/gstvalue.sgml:
6875           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6876
6877 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6878
6879         * win32/gstbytestream.vcproj:
6880         * win32/gstelements.vcproj:
6881         * win32/gstgetbits.vcproj:
6882         * win32/gst-inspect.vcproj:
6883         * win32/gst-launch.vcproj:
6884         * win32/gstoptimalscheduler.vcproj:
6885         * win32/GStreamer.vcproj:
6886         * win32/gst-register.vcproj:
6887         * win32/gstspider.vcproj:
6888           update the include and lib dirs to fit standard libraries as
6889           described in the Win32 manual
6890
6891 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6892
6893         * win32/config.h:
6894         * win32/gstversion.h:
6895           enable NLS again, push the version number for the coming 0.8.5 release
6896
6897 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6898
6899         * gst/gstvalue.h:
6900           export gst_type_XXX for windows DLLs
6901
6902 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6903
6904         * docs/faq/gst-uninstalled:
6905           fix PKG_CONFIG_PATH and PYTHONPATH
6906         * gst/schedulers/Makefile.am:
6907           cleanup
6908         * libs/gst/bytestream/bytestream.c:
6909           remove newline
6910         * po/LINGUAS:
6911         * po/sq.po:
6912           adding Albanian translation (Laurent Dhima)
6913         * po/cs.po:
6914           updated
6915
6916 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6917
6918         * po/ca.po:
6919         * po/sv.po:
6920           updated translations
6921
6922 2004-08-04  Benjamin Otte  <otte@gnome.org>
6923
6924         * tests/mass_elements.c: (main):
6925           allow specifying src and sink element explicitly, so I can test
6926           videotestsrc instead of fakesrc
6927
6928 2004-08-04  Benjamin Otte  <otte@gnome.org>
6929
6930         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6931         (gst_structure_id_empty_new), (gst_structure_empty_new),
6932         (gst_structure_copy):
6933           add gst_structure_id_empty_new_with_size to allow preallocating
6934           value array sizes. Use this in gst_structure_copy to get rid of
6935           reallocs.
6936           don't do quark=>string=>quark when copying structures
6937
6938 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6939
6940         * docs/manual/win32.xml:
6941         * win32/README.txt:
6942           update documentation with the clean version of dependencies
6943
6944 2004-08-03  Benjamin Otte  <otte@gnome.org>
6945
6946         * gst/schedulers/entryscheduler.c:
6947         (gst_entry_scheduler_remove_element):
6948           fix for GST_DISABLE_DEBUG
6949         * tools/gst-launch.c: (print_tag):
6950           fixes for G_DISABLE_ASSERT
6951
6952 2004-08-03  Benjamin Otte  <otte@gnome.org>
6953
6954         * gst/gst.c: (gst_register_core_elements):
6955           fix for G_DISABLE_ASSERT
6956         * gst/gstinfo.c: (__gst_in_valgrind):
6957           add for GST_DISABLE_DEBUG
6958
6959 2004-08-03  Benjamin Otte  <otte@gnome.org>
6960
6961         * gst/parse/parse.l:
6962           fix for G_DISABLE_ASSERT
6963
6964 2004-08-03  Wim Taymans  <wim@fluendo.com>
6965
6966         * gst/gstbin.c: (gst_bin_get_type),
6967         (gst_bin_child_state_change_func):
6968         * gst/gstthread.c: (gst_thread_change_state):
6969         Backported some debug logging from a reverted patch
6970         Don't try to destroy the thread twice. Added some more
6971         debugging in GstThread. Unlock and signal even if we
6972         are in the thread context.
6973
6974 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6975
6976         * po/uk.po:
6977           updated translation
6978
6979 2004-07-30  David Schleef  <ds@schleef.org>
6980
6981         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6982
6983 2004-07-29  David Schleef  <ds@schleef.org>
6984
6985         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6986         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6987
6988 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6989
6990         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6991         (gst_bin_add_func), (gst_bin_remove_func),
6992         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6993         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6994         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6995         (gst_bin_sync_children_state):
6996         * gst/gstbin.h:
6997         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6998         (gst_thread_change_state):
6999         * testsuite/states/Makefile.am:
7000           revert state change patches as agreed so we can rework them
7001           gradually
7002
7003 2004-07-29  Benjamin Otte  <otte@gnome.org>
7004
7005         * libs/gst/control/Makefile.am:
7006           link to libgstreamer (fixes Debian bug 262019, see
7007           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7008
7009 2004-07-29  Wim Taymans  <wim@fluendo.com>
7010
7011         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7012         (check_from_fraction_convert), (transform_test), (main):
7013         Make the test less pedantic about float roundoff errors.
7014
7015 2004-07-29  Benjamin Otte  <otte@gnome.org>
7016
7017         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7018         (gst_filesrc_srcpad_event):
7019           make seek events to before start/after end of file not fail, but
7020           seek to start/end instead
7021         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7022           add more output
7023
7024 2004-07-29  Benjamin Otte  <otte@gnome.org>
7025
7026         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7027           check that caps are fixed
7028         * gst/gstpad.c: (gst_pad_template_new):
7029           don't try to simplify caps, costs too much time on gst_init
7030         * gst/gstplugin.c: (gst_plugin_add_feature):
7031           G_ERROR if features are added twice
7032         * gst/gsttypefind.c: (gst_type_find_register):
7033         * gst/gstelementfactory.c: (gst_element_register):
7034           don't add features twice
7035         * docs/random/ds/0.9-suggested-changes:
7036           add note about possible gst_init optimization
7037
7038 2004-07-28  David Schleef  <ds@schleef.org>
7039
7040         * testsuite/elements/Makefile.am:
7041         * testsuite/elements/struct_i386.h:
7042         * testsuite/elements/struct_size.c: (main):  A little test
7043         to keep distcheck from working if someone changes a structure
7044         size accidentally.
7045
7046 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7047
7048         * docs/libs/Makefile.am:
7049         * docs/libs/gstreamer-libs-docs.sgml:
7050         * docs/libs/gstreamer-libs-sections.txt:
7051         * docs/libs/tmpl/gstbytestream.sgml:
7052         * docs/libs/tmpl/gstcontrol.sgml:
7053         * docs/libs/tmpl/gstdataprotocol.sgml:
7054         * docs/libs/tmpl/gstgetbits.sgml:
7055         * libs/gst/bytestream/Makefile.am:
7056         * libs/gst/bytestream/bytestream.c:
7057         * libs/gst/bytestream/bytestream.h:
7058         * libs/gst/control/Makefile.am:
7059         * libs/gst/dataprotocol/Makefile.am:
7060         * libs/gst/getbits/Makefile.am:
7061         * libs/gst/getbits/getbits.h:
7062           various doc and style fixes, adding bytestream to libs docs.
7063
7064 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7065
7066         * docs/gst/gstreamer-docs.sgml:
7067         * docs/libs/Makefile.am:
7068         * docs/libs/gstreamer-libs-docs.sgml:
7069         * docs/libs/gstreamer-libs-sections.txt:
7070         * libs/gst/control/dparam.c:
7071           more doc fixes.  gst-libs docs now build the same way as gst.
7072
7073 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7074
7075         * configure.ac:
7076         * testsuite/Makefile.am:
7077         * testsuite/bins/Makefile.am:
7078         * testsuite/caps/Makefile.am:
7079         * testsuite/cleanup/Makefile.am:
7080         * testsuite/clock/Makefile.am:
7081         * testsuite/debug/Makefile.am:
7082         * testsuite/dlopen/Makefile.am:
7083         * testsuite/dynparams/Makefile.am:
7084         * testsuite/elements/.cvsignore:
7085         * testsuite/elements/Makefile.am:
7086         * testsuite/enumcaps/Makefile.am:
7087         * testsuite/enumcaps/enumcaps.c:
7088         * testsuite/ghostpads/Makefile.am:
7089         * testsuite/indexers/Makefile.am:
7090         * testsuite/negotiation/Makefile.am:
7091         * testsuite/parse/Makefile.am:
7092         * testsuite/plugin/Makefile.am:
7093         * testsuite/refcounting/Makefile.am:
7094         * testsuite/schedulers/.cvsignore:
7095         * testsuite/states/Makefile.am:
7096         * testsuite/tags/Makefile.am:
7097         * testsuite/threads/Makefile.am:
7098           fold enumcaps into caps dir
7099           clean up Makefile.am's for testsuite
7100
7101 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * docs/gst/Makefile.am:
7104         * docs/libs/Makefile.am:
7105           clean up docs build.  Fixes needless rebuilding of template files.
7106
7107 2004-07-28  Wim Taymans  <wim@fluendo.com>
7108
7109         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7110         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7111         Make sure that a bin state change tries to keep the children
7112         in sync. 
7113         Added debug logging to the thread.
7114
7115 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7116
7117         * win32/GStreamer.vcproj:
7118         * win32/gstreamer.def:
7119           more exports for the plugins
7120
7121 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7122
7123         * win32/gstgetbits.vcproj:
7124         * win32/gstgetbits.def:
7125         * win32/msvc71.sln:
7126           add support for the getbits plugin
7127
7128 2004-07-27  Wim Taymans  <wim@fluendo.com>
7129
7130         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7131         (gst_value_transform_fraction_double), (_gst_value_initialize):
7132         * testsuite/caps/Makefile.am:
7133         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7134         (check_from_fraction_convert), (transform_test), (main):
7135         Added transform functions between double and fraction.
7136         Added testcase to verify transforms
7137
7138 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7139
7140         * win32/GStreamer.vcproj:
7141           rename GStreamer-0.8.lib to libgstreamer.lib
7142
7143 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7144
7145         * win32/gstelements.vcproj:
7146         * win32/gstoptimalscheduler.vcproj:
7147           fixes for the Release build
7148
7149 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7150
7151         * win32/config.h:
7152           update the version number
7153
7154 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7155
7156         * win32/GStreamer.vcproj:
7157           add gstinterface to the build
7158
7159 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7160
7161         * win32/gstreamer.def:
7162           add many definitions needed by plugins,
7163           GST_CAT_DEFAULT only available in the Debug build ?
7164
7165 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7166
7167         * gst/gstelement.c: (gst_element_set_eos_recursive):
7168           various whitespace fixes.
7169           doc fix, fixes #148497
7170
7171 2004-07-25  Benjamin Otte  <otte@gnome.org>
7172
7173         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7174           don't delay links on the sink elements, it causes unnegotiated
7175           links.
7176         * gst/elements/gsttypefindelement.c:
7177         (gst_type_find_element_base_init):
7178           add our padtemplates, we indeed do have some.
7179         * gst/elements/gsttypefindelement.c:
7180         (gst_type_find_element_handle_event),
7181         (gst_type_find_element_chain):
7182           don't push data when typefinding failed.
7183         * gst/gstpad.c: (gst_pad_link_fixate):
7184           check that no fixate function returns empty caps.
7185         * gst/gstpad.c: (gst_pad_push):
7186           check that the link is negotiated before data gets pushed.
7187         * tools/gst-register.c: (main):
7188           don't assert (fixes #148283)
7189
7190 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7191
7192         * docs/gst/gstreamer-sections.txt:
7193         * docs/gst/tmpl/gstconfig.sgml:
7194           add GST_PLUGIN_EXPORT definition
7195
7196 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7197
7198         * gst/gstplugin.h:
7199         * gst/gstconfig.h.in:
7200         * win32/gstconfig.h:
7201         * win32/gstelements.def:
7202         * win32/gstelements.vcproj:
7203         * win32/gstoptimalscheduler.def:
7204         * win32/gstoptimalscheduler.vcproj:
7205         * win32/gstspider.def:
7206         * win32/gstspider.vcproj:
7207           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7208
7209 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7210
7211         * docs/gst/gstreamer-sections.txt:
7212           remove GST_CAT_DEFAULT because the type has changed
7213
7214 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7215
7216         * win32/gstbytestream.vcproj:
7217         * win32/gstelements.vcproj:
7218         * win32/gst-inspect.vcproj:
7219         * win32/gst-launch.vcproj:
7220         * win32/gstoptimalscheduler.vcproj:
7221         * win32/GStreamer.vcproj:
7222         * win32/gst-register.vcproj:
7223         * win32/gstspider.vcproj:
7224         * win32/msvc71.sln:
7225           Copy the files where needed after building, The testsuite will be
7226           built separately
7227
7228 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7229
7230         * win32/config.h:
7231         * win32/README.txt:
7232         * docs/manual/win32.xml:
7233         Fixed the plugin and GStreamer location
7234
7235 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7236
7237         * win32/gstreamer.def:
7238         More exports for the plugins
7239
7240 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7241
7242         * gst/gstinfo.h:
7243         Marc was right, we need to export literally GST_CAT_DEFAULT
7244
7245 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7246
7247         * win32/config.h:
7248         NLS crashes in gettext, disabled until this is solved
7249
7250 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7251
7252         * win32/gst-inspect.vcproj:
7253         * win32/gst-launch.vcproj:
7254         Should use NLS when available
7255
7256 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7257
7258         * gst/registries/gstxmlregistry.c:
7259         removing the file doesn't seem to be a good idea on Linux
7260
7261 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7262
7263         * gst/registries/gstxmlregistry.c:
7264         Remove the registry before renaming the tempfile (needed for Windows)
7265
7266 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7267
7268         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7269         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7270         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7271         * gst/elements/gstmultifilesrc.h:
7272         Added newmedia property so it generates newmedia events between each
7273         file when property is set, as well as fixed eos handling
7274
7275 2004-07-22  David Schleef  <ds@schleef.org>
7276
7277         * gst/gststructure.c: (gst_structure_id_empty_new),
7278         (gst_structure_empty_new):  Set type field correctly.
7279         * gst/gststructure.h: Check type field correctly.
7280         * testsuite/caps/Makefile.am:
7281         * testsuite/caps/structure.c: (test1), (main): Add a very small
7282         test for structures.
7283
7284 2004-07-22  David Schleef  <ds@schleef.org>
7285
7286         * docs/random/ds/0.9-suggested-changes: more comments
7287         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7288
7289 2004-07-22  Benjamin Otte  <otte@gnome.org>
7290
7291         * gst/gstelementfactory.c: (gst_element_register):
7292           set the factory in the class struct, so gst_element_get_factory
7293           actually works
7294         * gst/parse/grammar.y:
7295           set element to playing when it gets unlocked as we can't rely on the
7296           bin state - all elements in the bin state might still be locked in
7297           NULL)
7298
7299 2004-07-22  Benjamin Otte  <otte@gnome.org>
7300
7301         * gst/gstelement.c: (gst_element_set_state_func):
7302           make this a static function
7303
7304 2004-07-22  Wim Taymans  <wim@fluendo.com>
7305
7306         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7307         (gst_opt_scheduler_pad_link):
7308         fix 147894-2 and the group_link problem.
7309
7310 2004-07-22  Wim Taymans  <wim@fluendo.com>
7311
7312         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7313         (handoff_identity), (main):
7314         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7315         (handoff_identity), (main):
7316         * testsuite/schedulers/Makefile.am:
7317         * testsuite/schedulers/group_link.c: (main):
7318         Show bug in scheduler when linking chain and loop based element 
7319         where the chain based element was not yet in a group.
7320
7321 2004-07-21  Benjamin Otte  <otte@gnome.org>
7322
7323         * gst/.cvsignore:
7324         * gst/autoplug/.cvsignore:
7325         * gst/elements/.cvsignore:
7326         * gst/indexers/.cvsignore:
7327         * libs/gst/bytestream/.cvsignore:
7328         * libs/gst/control/.cvsignore:
7329         * libs/gst/getbits/.cvsignore:
7330         * testsuite/states/.cvsignore:
7331         * testsuite/threads/.cvsignore:
7332           keep this up to date, since I seem to be the only one who cares
7333           about not missing files on commits (editor's note: no you don't,
7334           but feel free to change them at the time you add stuff instead
7335           of later on)
7336
7337 2004-07-21  Benjamin Otte  <otte@gnome.org>
7338
7339         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7340         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7341         (gst_bin_child_state_change_func), (set_kid_state_func),
7342         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7343           make state changes work correctly and reentrant (so removing
7344           elements from bins during state changes of bins doesn't cause
7345           segfaults or even wrong states)
7346           add debugging category and debugging output to print children states
7347         * gst/gstbin.c: (gst_bin_dispose): 
7348           add some assertion checks
7349         * gst/gstbin.h:
7350         * gst/gstbin.c: (gst_bin_sync_children_state):
7351           deprecate this function - it just does gst_bin_set_state (bin,
7352           GST_STATE (bin)) 
7353         * testsuite/threads/queue.c: (main):
7354           don't use gst_bin_sync_children_state anymore
7355         * testsuite/states/Makefile.am:
7356         * testsuite/states/bin.c:
7357           test that the state changes of bins work as expected
7358         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7359           some adjustments to change states correctly, too
7360         * gst/gstthread.c: (gst_thread_change_state):
7361           don't enable/disable "threadsafe" properties, they're unused and
7362           cause random segfaults
7363         * testsuite/threads/Makefile.am:
7364           the queue check randomly passes now, ignore it
7365
7366 2004-07-21  Benjamin Otte  <otte@gnome.org>
7367
7368         * gst/gstpad.c:
7369           check if data is NULL before outputting debug info. (fixes #145100)
7370
7371 2004-07-21  Benjamin Otte  <otte@gnome.org>
7372
7373         * gst/schedulers/entryscheduler.c:
7374         (gst_entry_scheduler_loop_wrapper),
7375         (gst_entry_scheduler_chain_wrapper),
7376         (gst_entry_scheduler_get_wrapper):
7377           reset the state when the cothread starts, so we don't get assertion
7378           failures on restarting of cothreads
7379
7380 2004-07-20  Benjamin Otte  <otte@gnome.org>
7381
7382         * gst/gstelement.c: (gst_element_link_pads_filtered):
7383           use correct sinkpad, if only sinkpad is specified, but not srcpad
7384           (fixes #147889)
7385         * gst/gstelement.c: (gst_element_set_state_func),
7386         (gst_element_change_state): ref/unref the element, signal handlers
7387         could get rid of the element otherwise
7388
7389 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7390
7391         * docs/random/ds/0.9-suggested-changes:
7392           Make note about renaming fixed-list to array.
7393         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7394         (_gst_value_initialize):
7395           Add array intersections.
7396         * testsuite/caps/intersect2.c: (main):
7397           Add test for array intersections.
7398
7399 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * configure.ac: back to cvs
7402
7403 === release 0.8.4 ===
7404
7405 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7406
7407         * configure.ac:
7408           releasing 0.8.4, "Paella"
7409           bump libtool versioning
7410
7411 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7412
7413         * po/LINGUAS:
7414         * po/ca.po:
7415           adding Catalan translation (Jordi Mallach)
7416
7417 2004-07-20  Wim Taymans  <wim@fluendo.com>
7418
7419         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7420         (handoff_identity), (main):
7421         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7422         (handoff_identity), (main):
7423         * testsuite/schedulers/Makefile.am:
7424         Added failing testcase for variant of #147894
7425
7426 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         patch by: David Moore
7429
7430         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7431         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7432         (group_migrate_connected):
7433         * testsuite/schedulers/Makefile.am:
7434           fix for #142813 (Deadlock in optimal scheduler)
7435
7436 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7437
7438         patch by: Wim Taymans
7439
7440         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7441         (gst_opt_scheduler_schedule_run_queue),
7442         (gst_opt_scheduler_get_wrapper), (get_group),
7443         (group_migrate_connected):
7444         * testsuite/schedulers/Makefile.am:
7445           fix for #147819 (Add some checks in the opt scheduler)
7446
7447 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         patch by: Benjamin Otte
7450
7451         * gst/gstelementfactory.c: (__gst_element_details_set):
7452           fix for #147929: running gst-register in non-utf8 locale can cause
7453           invalid registry
7454
7455 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7456
7457         patch by: Wim Taymans
7458
7459         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7460         (group_has_element), (element_get_reachables_func),
7461         (group_migrate_connected):
7462           fix for #147894 (opt scheduler decoupled elements mismanagement)
7463         * testsuite/schedulers/Makefile.am:
7464           testsuite app now passes
7465
7466 2004-07-19  Wim Taymans  <wim@fluendo.com>
7467
7468         * testsuite/schedulers/147819.c: (handoff_identity1),
7469         (handoff_identity2), (main):
7470         * testsuite/schedulers/Makefile.am:
7471         Added testcase for bug 147819
7472
7473 2004-07-19  Wim Taymans  <wim@fluendo.com>
7474
7475         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7476         (handoff_identity), (main):
7477         * testsuite/schedulers/Makefile.am:
7478         Added testcase for bug 147894
7479
7480 2004-07-16  Wim Taymans  <wim@fluendo.com>
7481
7482         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7483         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7484         * testsuite/schedulers/Makefile.am:
7485         Added testsuite for bug 142183 in its two incarnations. Refcount
7486         is not increased for scheduled elements and threadsafe properties
7487         mutexes are not properly unlocked.
7488
7489 2004-07-16  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7492         (create_chain), (destroy_chain), (create_group), (destroy_group),
7493         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7494         (group_dec_link), (gst_opt_scheduler_pad_link),
7495         (group_inc_links_for_element), (group_migrate_connected):
7496         Call group_inc_link with the proper src->sink ordering -- 
7497         break this, and we break sort_chain. patch from wingo for bug
7498         147713.
7499         Partially revert patch 1.89. When adding a loop based element to 
7500         the scheduler, the links to other groups are automatically followed
7501         and incremented. This should not happen because the bin will call
7502         pad_link explicitly for those connection, resulting in them counted 
7503         twice. Results in assertion failure on pipeline cleanup.
7504
7505 2004-07-16  Wim Taymans  <wim@fluendo.com>
7506
7507         * testsuite/schedulers/143777-2.c: (main):
7508         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7509         (main):
7510         * testsuite/schedulers/Makefile.am:
7511         Added cleanup code to testcase 143777-2.
7512         Added testcase to show bug 147713, does not really show the
7513         deadlock as I can't figure out how to trigger it, but it does
7514         demonstrate bad ordering in the scheduler.
7515
7516 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7517
7518         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7519           change strndup to g_strndup.  Fixes #147707
7520
7521 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7522
7523         * po/af.po:
7524         * po/az.po:
7525         * po/cs.po:
7526         * po/en_GB.po:
7527         * po/fr.po:
7528         * po/nl.po:
7529         * po/sr.po:
7530         * po/sv.po:
7531         * po/tr.po:
7532         * po/uk.po:
7533           updated translations
7534
7535 2004-07-16  Benjamin Otte  <otte@gnome.org>
7536
7537         * gst/gstvalue.c: (gst_greatest_common_divisor):
7538           use ints and return ints, fractions only use ints, too, so this
7539           avoids accidently casting multiplications to unsigned
7540         (gst_value_lcopy_fraction): it's ints, not uint32
7541         (gst_value_set_fraction): disallow minint, multiplying and negation
7542           are broken with it
7543         (gst_value_fraction_multiply): fix to make large numbers work and get
7544         rid of the assumption that the multiplication of two ints fits an
7545         int64 - dunno if that's true for all systems
7546         * testsuite/caps/Makefile.am:
7547         * testsuite/caps/fraction-multiply-and-zero.c:
7548         (check_multiplication), (check_equal), (zero_test), (main):
7549           add tests for all the stuff above
7550         * testsuite/caps/value_compare.c: (test1):
7551           fix comment
7552         * tests/.cvsignore:
7553         * testsuite/caps/.cvsignore:
7554         * testsuite/debug/.cvsignore:
7555         * testsuite/dlopen/.cvsignore:
7556         * testsuite/states/.cvsignore:
7557           get up to date
7558
7559 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7560
7561         * docs/manual/bins-api.xml:
7562         * docs/manual/factories.xml:
7563         * docs/manual/helloworld.xml:
7564         * docs/manual/links-api.xml: 
7565           fixes for out of date info, incorrect info and grammar
7566
7567 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7568
7569         * docs/manual/pads.xml:
7570         * docs/manual/pads-api.xml: grammar fix
7571
7572 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7573
7574         * docs/manual/pads-api.xml: typo + grammar fix
7575
7576 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7577
7578         * docs/gst/gstreamer-sections.txt:
7579           add new symbols
7580         * docs/gst/tmpl/gstelement.sgml:
7581         * docs/gst/tmpl/gstpad.sgml:
7582         * docs/gst/tmpl/gsttypes.sgml:
7583         * docs/gst/tmpl/gstvalue.sgml:
7584           update docs
7585         * gst/gststructure.c: (gst_structure_set_valist),
7586         (gst_structure_from_abbr), (gst_structure_to_abbr):
7587         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7588         (gst_greatest_common_divisor), (gst_value_init_fraction),
7589         (gst_value_copy_fraction), (gst_value_collect_fraction),
7590         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7591         (gst_value_get_fraction_numerator),
7592         (gst_value_get_fraction_denominator),
7593         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7594         (gst_value_deserialize_fraction),
7595         (gst_value_transform_fraction_string),
7596         (gst_value_transform_string_fraction),
7597         (gst_value_compare_fraction), (_gst_value_initialize):
7598         * gst/gstvalue.h:
7599           adding GstFraction GValue type, get/set, and multiply
7600         * testsuite/caps/Makefile.am:
7601         * testsuite/caps/fraction.c: (test), (main):
7602         * testsuite/caps/string-conversions.c: (main):
7603         * testsuite/caps/value_compare.c: (test1), (main):
7604           add regression tests for GstFraction
7605
7606 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7607         
7608         * docs/manual/init-api.xml: Grammar fix
7609
7610 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7611
7612         * docs/manual/states.xml: Fix inconsistent information
7613
7614 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7615
7616         * gst/gstelement.c: (gst_element_set_state):
7617         * gst/gstpad.c: (gst_pad_try_set_caps):
7618         * gst/gststructure.c:
7619         * gst/gstthread.c: (gst_thread_child_state_change):
7620         * gst/gstvalue.c: (gst_value_compare_double):
7621         * gst/gstvalue.h:
7622         * testsuite/parse/parse1.c: (main):
7623           debugging additions and style cleanups
7624
7625 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7626
7627         * docs/manual/states.xml: Grammar fix
7628
7629 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7630
7631         * docs/manual/pads.xml: Grammar fix
7632
7633 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7634
7635         * docs/manual/elements.xml: Fixed image reference
7636
7637 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7638
7639         * docs/manual/goals.xml: Grammar fix
7640
7641 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7642
7643         * docs/manual/motivation.xml:
7644         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7645
7646 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7647
7648         * docs/manual/motivation.xml: Fix spelling
7649
7650 2004-07-15  Benjamin Otte  <otte@gnome.org>
7651
7652         * gst/gstelement.h: 
7653           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7654           strings.
7655         * gst/gstelement.c (gst_element_class_init):
7656           GError's are boxed, not objects
7657         * gst/gstmarshal.list:
7658           update list for the fixed error signal
7659
7660 2004-07-14  Andy Wingo  <wingo@pobox.com>
7661
7662         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7663         there all along, but the function wasn't. (guile-gstreamer's build
7664         system uses the address of the function -- I wasn't actually
7665         trying to use this.)
7666
7667 2004-07-14  Andy Wingo  <wingo@pobox.com>
7668
7669         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7670         as gst_pad_proxy_pad_link) just link to every other pad when they
7671         are called. In the case where the graph has cycles, this will mean
7672         that a call to try_set_caps will recurse. Allow this recursion
7673         and return OK, while we wait for the first try_set_caps to give a
7674         proper return value.
7675         (gst_pad_link_call_link_functions): Since this function is the
7676         only one to set the NEGOTIATING flag on a pad, if the flag is set
7677         it means that the link functions have indirectly recursed. If this
7678         happens, error out to avoid infinite recursion and an eventual
7679         SEGV.
7680         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7681         (gst_pad_proxy_getcaps): Intersect the result with the template
7682         caps to ensure that the return value is valid.
7683
7684 2004-07-14  Andy Wingo  <wingo@pobox.com>
7685
7686         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7687         one refcount, the calling function is the owner of the buffer.
7688
7689 2004-07-14  Wim Taymans  <wim@fluendo.com>
7690
7691         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7692         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7693         Fix stupid warning when an element is to be migrated but
7694         is already migrated.
7695
7696 2004-07-14  Wim Taymans  <wim@fluendo.com>
7697
7698         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7699         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7700         Make sure that a single non-loop-based element does not 
7701         end up in a group. This fixes the testsuite again.
7702
7703 2004-07-14  Wim Taymans  <wim@fluendo.com>
7704
7705         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7706         (add_to_group), (merge_groups), (schedule_group),
7707         (gst_opt_scheduler_get_wrapper), (group_elements),
7708         (group_dec_link), (gst_opt_scheduler_pad_link),
7709         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7710         (gst_opt_scheduler_iterate):
7711         move isolated groups to a new chain.
7712         Emit a warning instead of segfaulting in some error cases.
7713         Fix a bug where the link count between groups was not calculated 
7714         correctly. Fixes #144510.
7715
7716 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7717         * gst/elements/gstfilesrc.c:
7718           Binary files support under Windows now OK
7719       
7720 2004-07-13  Benjamin Otte  <otte@gnome.org>
7721
7722           compatibility fixes for Solaris 8/gcc 2.95
7723         * configure.ac:
7724           include libintl libs in LDFLAGS
7725         * gstvalue.c (gst_value_deserialize_buffer):
7726           cast isxdigit stuff to int to silence compiler warning
7727
7728 2004-07-12  Benjamin Otte  <otte@gnome.org>
7729
7730         * gst/gsttypes.h:
7731           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7732           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7733           just causes support madness
7734         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7735           make it work without this
7736         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7737         (gst_file_index_commit):
7738           glib IO channels don't want binary mode
7739         * testsuite/bytestream/filepadsink.c: (main):
7740         * testsuite/bytestream/test1.c: (read_param_file):
7741           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7742
7743 2004-07-12  Benjamin Otte  <otte@gnome.org>
7744
7745         * gst/gstelement.c: (gst_element_class_init),
7746         (gst_element_set_state), (gst_element_set_state_func):
7747           virutalize gst_element_set_state, use set_state member in class
7748           struct that was already added in 0.7 for this.
7749         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7750         (gst_bin_change_state):
7751           make gst_bin_foreach works similar to other foreach functions, plug
7752           memleaks in it. Make functions using it work with the new approach.
7753           Document gst_bin_foreach, so it can be exported if we want to
7754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7755           use virtualized set_state to make set_state on bins set the state of
7756           all its children.
7757
7758 2004-07-12  Benjamin Otte  <otte@gnome.org>
7759
7760         * configure.ac:
7761           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7762           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7763         * gst/gstpad.c: (gst_pad_alloc_buffer):
7764           allow buffer_alloc functions to return NULL and allocate a normal
7765           buffer in that case
7766
7767 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7768         * gst/elements/gstfilesink.c:
7769         * gst/elements/gstfilesrc.c:
7770         * gst/indexers/gstfileindex.c:
7771         * gst/gsttypes.h:
7772         * testsuite/bytestream/filepadsink.c:
7773         * testsuite/bytestream/test1.c:
7774           Handle binary files under Windows
7775
7776 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7777         * docs/manual/win32.xml:
7778         * win32/config.h:
7779         * win32/gst-register.vcproj:
7780         * win32/gstreamer.def:
7781           Update to another gettext public build
7782
7783 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7784         * gst/gstplugin.c:
7785           Fix an impossible C syntax
7786         * win32/config.h:
7787           Disable i18n under Windows for the moment
7788         * win32/gst-register.vcproj:
7789           Use this configuration
7790
7791 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7792         * docs/manual/quotes.xml:
7793           Keep the quotes file alive
7794         * docs/random/ds/0.9-suggested-changes:
7795           Add the suggestion of including a 'rowstride' as part of video
7796           format caps
7797
7798 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * gst/gstelement.c: (gst_element_set_state),
7801         (gst_element_change_state):
7802           d'oh.  Set PENDING state correctly before forcing bin to change.
7803         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7804         (gst_structure_parse_fixed_list):
7805         * gst/schedulers/gstoptimalscheduler.c:
7806         (gst_opt_scheduler_state_transition):
7807         * testsuite/states/parent.c: (main):
7808           remove comment now that it's fixed.
7809
7810 2004-07-11  Benjamin Otte  <otte@gnome.org>
7811
7812         * gst/gstclock.h:
7813           GST_SECOND shouldn't cause a conversion to unsigned.
7814         * testsuite/clock/.cvsignore:
7815         * testsuite/clock/Makefile.am:
7816         * testsuite/clock/signedness.c: (main):
7817           make sure it never will again
7818
7819 2004-07-11  Andy Wingo  <wingo@pobox.com>
7820
7821         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7822         whose state is higher than the bin state, raise the bin state to
7823         ensure that bin state := highest child state.
7824         
7825 2004-07-11  Andy Wingo  <wingo@pobox.com>
7826
7827         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7828         procedure on the children of a bin. Assumes that the procedure can
7829         change the set of children.
7830         (set_kid_state_func): New static function.
7831         (gst_bin_change_state): Use gst_bin_foreach to call
7832         set_kid_state_func. Fixes a bug: if a child had a state-change
7833         handler that removes it from the bin, there would be a segfault.
7834         Hopefully it should also work in the case where the state-change
7835         handler on one child adds or removes other children. In any case,
7836         fixes should go to gst_bin_foreach.
7837
7838 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7839
7840         * gst/gstelement.c: (gst_element_set_state):
7841           compatibility fix for latest plugins release.  Change loop back
7842           to while {}
7843
7844 2004-07-09  Wim Taymans  <wim@fluendo.com>
7845
7846         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7847         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7848         (gst_thread_main_loop):
7849         Since remove is virtual in GstBin we must not assume the 
7850         elements GList to have anothing useful.
7851         Add some more logging to GstThread and be a bit more paranoid
7852         when resetting the scheduler.
7853         Set the state of the bin to NULL before removing the children.
7854
7855 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7856
7857         * testsuite/threads/Makefile.am:
7858         * testsuite/threads/threadg.c:
7859           added test to check if problem when removing all elements from a
7860           GstThread before setting GstThread state to NULL
7861
7862 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7863
7864         * docs/gst/tmpl/gstelement.sgml:
7865         * docs/gst/tmpl/gsttypes.sgml:
7866         * gst/gstbin.c: (gst_bin_change_state):
7867         * gst/gstelement.c: (gst_element_set_state),
7868         (gst_element_change_state):
7869           rework so that for bins we try to set the state on all children
7870           as well even if the bin is in the correct state already.
7871           change while to do so at least one iteration is done.
7872           For regular elements, we fall back to the previous behaviour for
7873           now since we first need a new plugins release.
7874         * testsuite/states/parent.c: (main):
7875           test for this case
7876           Fixes #123774
7877
7878 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7879
7880         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7881         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7882         (gst_queue_release_locks), (gst_queue_change_state),
7883         (gst_queue_set_property):
7884           add proper lock debugging.  Change dispose to finalize, since
7885           we're freeing mutexes and other stuff which should happen only once.
7886
7887 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7888
7889         * docs/gst/tmpl/gstelement.sgml:
7890         * docs/gst/tmpl/gstplugin.sgml:
7891         * docs/gst/tmpl/gsttypes.sgml:
7892         * docs/pwg/building-state.xml:
7893         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7894         * gst/gstelement.c: (gst_element_change_state):
7895         * gst/gstthread.c: (gst_thread_change_state):
7896           catch wrong state changes in element base class.
7897
7898 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7899
7900         * gst/gstinfo.h:
7901           clean up layout a little.
7902
7903 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7904
7905         * configure.ac:
7906         * testsuite/Makefile.am:
7907         * testsuite/states/Makefile.am:
7908         * testsuite/states/parent.c: (main):
7909           re-enable states testsuite dir.  Add test for state changes and
7910           parent behaviour
7911
7912 2004-07-09  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/schedulers/gstoptimalscheduler.c:
7915         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7916         (element_get_reachables_func), (element_get_reachables),
7917         (debug_element), (rechain_group), (group_migrate_connected),
7918         (gst_opt_scheduler_pad_unlink):
7919         Do not try to migrate decoupled elements to a new group since
7920         they are not added to groups.
7921
7922 2004-07-08  Benjamin Otte  <otte@gnome.org>
7923
7924         * gst/gstelement.c: (gst_element_error_func):
7925           make reentrant (= allow removing elements in error handler)
7926
7927 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7928
7929         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7930         (gst_pad_send_event), (gst_pad_call_chain_function):
7931           events sent to elements below PAUSED cannot be handled, so
7932           don't try to
7933
7934 2004-07-08  Wim Taymans  <wim@fluendo.com>
7935
7936         * gst/schedulers/gstoptimalscheduler.c:
7937         (chain_recursively_migrate_group), (create_group),
7938         (schedule_group), (gst_opt_scheduler_pad_link),
7939         (group_elements_set_visited), (element_get_reachables_func),
7940         (element_get_reachables), (group_can_reach_group), (debug_element),
7941         (rechain_group), (group_migrate_connected),
7942         (gst_opt_scheduler_pad_unlink):
7943         * testsuite/schedulers/Makefile.am:
7944         Implemented group splitting and rechaining.
7945         Fixes 143777 and 143777-2 in the testsuite.
7946
7947 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7948
7949         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7950           extra debugging
7951         * gst/gstevent.h:
7952         * gst/gstinfo.c: (gst_debug_log_default):
7953           print time nicely.  add thread pointer until someone figures out
7954           a completely portable way of getting at thread id's.
7955         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7956         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7957         (gst_pad_call_chain_function):
7958           extra debugging
7959         * gst/schedulers/gstoptimalscheduler.c:
7960         (get_group_schedule_function), (loop_group_schedule_function),
7961         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7962         (pad_clear_queued), (gst_opt_scheduler_iterate):
7963           rename BUFPEN and friends to DATAPEN since that's what they are.
7964
7965 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7966
7967         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7968         * gst/gstbuffer.h:
7969         * gst/gstpad.c:
7970           cleanups and debugging
7971
7972 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7973
7974         * configure.ac:
7975         * gst/gstvalue.c: (gst_value_compare_enum),
7976         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7977         (gst_value_can_compare), (gst_value_compare):
7978         * testsuite/Makefile.am:
7979         * testsuite/enumcaps/Makefile.am:
7980         * testsuite/enumcaps/enumcaps.c:
7981           Fix enum serialization, deserialization, comparison in caps, add
7982           a test to ensure that this continues working in the future.
7983
7984 2004-07-06  David Schleef  <ds@schleef.org>
7985
7986         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7987         Fix memleak.
7988
7989 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7990
7991         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7992         * gst/gstplugin.h:
7993         * gst/registries/gstxmlregistry.c:
7994         (plugin_times_older_than_recurse), (plugin_times_older_than),
7995         (gst_xml_registry_parse_padtemplate):
7996           only rebuild registry when actual plugins have a newer time than
7997           the registry.  Fixes #145520
7998
7999 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         * docs/manual/manual.xml:
8002         * docs/manual/win32.xml:
8003           add chapter on win32 building.  fixes #142422
8004
8005 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8006
8007         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8008
8009         * gst/autoplug/gstspider.c: (gst_spider_init),
8010         (gst_spider_dispose):
8011           fix spider memleaks.  fixes #137863
8012
8013 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8014
8015         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8016
8017         * gst/schedulers/gstoptimalscheduler.c:
8018         (gst_opt_scheduler_pad_unlink):
8019           fix SIGBUS error, fixes #145338
8020
8021 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8022
8023         * gst/gstobject.c: (gst_object_replace):
8024         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8025         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8026           clean up clock lifecycle.  Fixes #109831
8027
8028 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8029
8030         * po/LINGUAS:
8031         * po/cs.po:
8032           added Czech translation (Miloslav Trmac)
8033
8034 2004-07-04  David Schleef  <ds@schleef.org>
8035
8036         * tools/Makefile.am:
8037         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8038
8039 2004-07-04  David Schleef  <ds@schleef.org>
8040
8041         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8042
8043 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         * gst/gstbin.c: (gst_bin_restore_thyself):
8046           chain to parent restore so the bins get restored correctly
8047           in the editor
8048
8049 2004-07-03  David Schleef  <ds@schleef.org>
8050
8051         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8052         Actually do something in these functions, like before the big
8053         caps change.  (bug #145137)
8054
8055 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8056
8057         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8058         (gst_element_get_compatible_pad_filtered):
8059         * gst/gstthread.c: (gst_thread_main_loop):
8060           more debugging
8061
8062 2004-07-02  David Schleef  <ds@schleef.org>
8063
8064         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8065         * gst/gstobject.h:
8066         * gst/gstparse.h:
8067         * gst/gsttrace.h:
8068         * gst/gstxml.h:
8069
8070 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8071
8072         * gst/gstpad.c: (gst_pad_check_schedulers),
8073         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8074         (gst_pad_link_prepare):
8075           revert until testsuite is fixed
8076
8077 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8078
8079         * testsuite/Makefile.am:
8080         * testsuite/caps/filtercaps.c: (main):
8081         * testsuite/clock/clock1.c: (main):
8082         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8083           fix some more tests
8084
8085 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8086
8087         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8088         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8089         * testsuite/cleanup/cleanup4.c: (main):
8090           fix testsuite
8091
8092 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8093
8094         * libs/gst/control/control.c:
8095         * libs/gst/control/dparam.c:
8096         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8097         * libs/gst/control/dparammanager.c:
8098         * libs/gst/control/dparammanager.h:
8099         * testsuite/dynparams/Makefile.am:
8100         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8101         (gst_dptest_change_state), (gst_dptest_chain), (main):
8102           fix testcase for dparams
8103           add debugging category
8104
8105 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8106
8107         * testsuite/Rules:
8108           change path
8109
8110 2004-07-02  Benjamin Otte  <otte@gnome.org>
8111
8112         * tests/.cvsignore:
8113         * tests/Makefile.am:
8114         * tests/mass_elements.c: (gst_get_current_time), (main):
8115           add simple benchmark to test various speeds of fakesrc ! identity !
8116           identity ! ... ! fakesink.
8117           Usage: mass_elements [num_identities] [num_buffers]
8118           If not specified they default to 1000.
8119
8120 2004-07-02  Benjamin Otte  <otte@gnome.org>
8121
8122         * gst/gstpad.c: (gst_pad_check_schedulers),
8123         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8124         (gst_pad_link_prepare):
8125           check that pads that get linked belong to the same manager. The old
8126           code allowed linking elements before putting them into bins, so it
8127           worked to link them and then put them in different threads, which
8128           lead to weird behaviour.
8129           Since this effectively disallows linking elements before putting
8130           them in a bin, some applications might not work after this and error
8131           out. If these applications are too critical, we might need to revert
8132           that patch. Please test this before the next release...
8133
8134 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8135
8136         * gst/gstpad.c: (gst_pad_get_caps):
8137           throw an error if the getcaps function does not return a subset of
8138           the template caps.
8139         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8140           make disconts without position info an error in debugging
8141         * tests/spidey_bench.c: (handoff), (main):
8142           don't count first try when averaging
8143
8144 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * gst/gstplugin.c: (gst_plugin_load_file):
8147           figure out problem with dynamic test
8148
8149 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * docs/gst/Makefile.am:
8152           fix docs build
8153
8154 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8155
8156         * po/POTFILES.in:
8157         * po/af.po:
8158         * po/az.po:
8159         * po/en_GB.po:
8160         * po/fr.po:
8161         * po/nl.po:
8162         * po/sr.po:
8163         * po/sv.po:
8164         * po/tr.po:
8165         * po/uk.po:
8166         * tools/gst-register.c: (plugin_added_func), (main):
8167           i18n-ize -register, fix plural
8168
8169 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8170
8171         * gst/elements/gstidentity.c: (gst_identity_class_init),
8172         (gst_identity_init), (gst_identity_chain),
8173         (gst_identity_set_property), (gst_identity_get_property):
8174         * gst/elements/gstidentity.h:
8175           check for perfect stream
8176
8177 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8178
8179         * gst/elements/gstidentity.c: (gst_identity_chain):
8180           print offset_end
8181
8182 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8183
8184         * docs/gst/Makefile.am:
8185         * docs/gst/gstreamer-docs.sgml:
8186           doc fixes
8187
8188 2004-06-24  David Schleef  <ds@schleef.org>
8189
8190         * autogen.sh:  Remove call to env, since the buildbot isn't
8191         broken anymore.
8192
8193 2004-06-24  Wim Taymans  <wim@fluendo.com>
8194
8195         * gst/elements/Makefile.am:
8196         * gst/elements/gstelements.c:
8197         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8198         (gst_multifdsink_class_init), (gst_multifdsink_init),
8199         (gst_multifdsink_add), (gst_multifdsink_remove),
8200         (gst_multifdsink_clear), (gst_multifdsink_chain),
8201         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8202         * gst/elements/gstmultifdsink.h:
8203         Added an element that writes to multiple filedescriptors at once.
8204
8205 2004-06-24  Benjamin Otte  <otte@gnome.org>
8206
8207         * gst/parse/grammar.y:
8208           don't try to link elements before they have been added to bins
8209
8210 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8211
8212         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8213         (gst_file_pad_get_length):
8214         * libs/gst/bytestream/filepad.h:
8215           add 2 new functions
8216
8217 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8218
8219         * docs/gst/gstreamer-sections.txt:
8220         remove from docs, the define that Benjamin removed from gstelement.h
8221
8222 2004-06-22  Benjamin Otte  <otte@gnome.org>
8223
8224         * gst/gstelement.h:
8225           remove define that referenced a nonexisting GstElement struct member
8226
8227 2004-06-20  Benjamin Otte  <otte@gnome.org>
8228
8229         * gst/gstdata.c: (gst_data_is_writable):
8230           whoops, return values were wrong, so writable data was marked as
8231           non-writable and vice versa. (fixes #143953, spotted by Francis
8232           Labonte)
8233           Shows how rarely we need to copy data ;)
8234
8235 2004-06-20  Benjamin Otte  <otte@gnome.org>
8236
8237         * testsuite/schedulers/.cvsignore:
8238         * testsuite/schedulers/Makefile.am:
8239         * testsuite/schedulers/143777-2.c: (main):
8240           add test for opt breakage in bug #143777
8241
8242 2004-06-20  Benjamin Otte  <otte@gnome.org>
8243
8244         * gst/gstpad.c: (gst_pad_call_chain_function):
8245           check for if we were unlinked while inside the chainfunction (fixes
8246           entrygthread having issues with #143777)
8247         * testsuite/schedulers/143777.c: (main):
8248         * testsuite/schedulers/Makefile.am:
8249           add a test for that fix
8250
8251 2004-06-20  Benjamin Otte  <otte@gnome.org>
8252
8253         * gst/gstvalue.c: (gst_value_set_int_range):
8254           test that start is smaller then end
8255         * libs/gst/bytestream/Makefile.am:
8256         * libs/gst/bytestream/filepad.c: 
8257         * libs/gst/bytestream/filepad.h:
8258           add GstFilePad - a pad that behaves like a FILE*
8259         * testsuite/bytestream/.cvsignore:
8260         * testsuite/bytestream/Makefile.am:
8261         * testsuite/bytestream/filepadsink.c: 
8262           test for the GstFilePad
8263
8264 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8265
8266         * gst/elements/gstidentity.c: (gst_identity_class_init),
8267         (gst_identity_init), (gst_identity_set_clock),
8268         (gst_identity_chain), (gst_identity_set_property),
8269         (gst_identity_get_property):
8270         * gst/elements/gstidentity.h:
8271         * gst/gstclock.c: (gst_clock_id_wait):
8272           add a "sync" property to sync to the clock
8273
8274 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8275
8276         * gst/gstelementfactory.c: (gst_element_factory_create):
8277           make the freakin "elementfactory bla has no type" message more
8278           useful. So we actually can do something when someone shows up
8279           complaining about it.
8280
8281 2004-06-15  Johan Dahlin  <johan@gnome.org>
8282
8283         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8284         found. This matches the old behavior better. Thanks to Thomas for
8285         pointing out.
8286
8287 2004-06-14  David Schleef  <ds@schleef.org>
8288
8289         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8290         -fomit-frame-pointer.  Appears to generate correct code in
8291         other cases as well.
8292
8293 2004-06-14  Johan Dahlin  <johan@gnome.org>
8294
8295         * tools/gst-inspect.c (main): Add two new command line options: -a
8296         to print all elements and -n to print the name on each line. Also
8297         fix some error reporting.
8298         (main): Simplify, remove -n and always print names if -a is specified
8299
8300 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8301
8302         * win32/gstconfig.h:
8303         * win32/GSTreamer.vcproj:
8304         * win32/Makefile:
8305         * gst/gstconfig.h.in:
8306         * gst/gst.h:
8307         * gst/gstbin.h:
8308         * gst/gstelement.h:
8309         * gst/gstevent.h:
8310         * gst/gstobject.h:
8311         * gst/gstpad.h:
8312         * docs/gst/gstreamer-sections.txt:
8313         * docs/gst/tmpl/gstconfig.sgml:
8314           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8315
8316 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8317         * docs/gst/gstreamer-sections.txt:
8318         * docs/gst/tmpl/gstconfig.sgml:
8319         Add the GSTREAMER_EXPORT macro to the docs
8320
8321 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8322
8323         * tools/gst-compprep.c: (handle_xmlerror), (main):
8324         Add a check for the version that introduced SetStructuredError to fix
8325         the build on FC1
8326
8327 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8328
8329         * win32/msvc71.sln:
8330         * win32/testsuite/:
8331           prepare to compile the testsuite with MSVC
8332
8333 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8334
8335         * docs/manual/win32.xml:
8336           attempt to transform the Win32 README into an XML doc
8337
8338 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8339
8340         * gst/gst.c:
8341         * gst/gstbin.*:
8342         * gst/config.h.in:
8343         * gst/gstelement.*:
8344         * gst/gstevent.h:
8345         * gst/gstobject.*:
8346         * gst/gstpad.h:
8347         * tools/gst-register.c:
8348         * win32/gstreamer.def:
8349           extern symbols are now exported for the Windows DLL
8350
8351 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8352
8353         * gst/gstinfo.h:
8354           fix a problem to enable/disable DEBUG under MSVC
8355
8356 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8357
8358         * win32/:
8359           enable more debug code in DEBUG build
8360
8361 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8362
8363         * win32/config.h:
8364         * gst/gst-i18n-app.h:
8365           enable NLS under Windows
8366
8367 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8368         * tools/gst-compprep.c: (handle_xmlerror), (main):
8369           Make an error that baffled me a bit clearer
8370
8371 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8372
8373         * gst/gstqueue.c:
8374           don't use g_queue_get_length () because it's 2.4, use ->length
8375
8376 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8377
8378         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8379
8380         * tools/gst-inspect.c: (print_signal_info):
8381           don't free random data twice. (fixes #144185)
8382
8383 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8384
8385         * gst/gstqueue.c:
8386         * gst/gstqueue.h:
8387           fix removing from the wrong queue on event timeout
8388           fix disposing of the event queue by casting correctly
8389           add mutexes for handling the event queue
8390           someone was sleeping when fixing queue last time around :)
8391
8392 2004-06-10  Johan Dahlin  <johan@gnome.org>
8393
8394         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8395         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8396
8397 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8398
8399         * docs/random/gdp:
8400         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8401         * libs/gst/dataprotocol/dataprotocol.c:
8402         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8403         (gst_dp_buffer_from_header):
8404         * libs/gst/dataprotocol/dataprotocol.h:
8405         * libs/gst/dataprotocol/dp-private.h:
8406           rev version to 0.1, add buffer flags and copy them
8407
8408 2004-06-09  Johan Dahlin  <johan@gnome.org>
8409
8410         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8411         the flags from the buffer we're copying.
8412
8413 2004-06-09  Wim Taymans  <wim@fluendo.com>
8414
8415         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8416         * gst/elements/gstidentity.c: (gst_identity_init),
8417         (gst_identity_chain):
8418         Print more buffer info in fakesink.
8419         Make identity output similar to fakesink.
8420
8421 2004-06-07  Daniel Gazard  <dany42@free.fr>
8422
8423         reviewed by Benjamin Otte  <otte@gnome.org>
8424
8425         * configure.ac:
8426           fix cross compiling not working. (fixes #143741)
8427
8428 2004-06-07  Benjamin Otte  <otte@gnome.org>
8429
8430         * gst/gstelement.c: (gst_element_set_time_delay):
8431           add failure check
8432         * gst/gstinfo.h:
8433           put brackets around macro arguments of GST_TIME_ARGS, add note to
8434           move it to correct header in 0.9
8435
8436 2004-06-07  Benjamin Otte  <otte@gnome.org>
8437
8438         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8439         (gst_file_index_load), (_file_index_id_save_entries),
8440         (gst_file_index_commit), (gst_file_index_add_association),
8441         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8442         (gst_file_index_plugin_init):
8443           make debugging use a default category
8444
8445 2004-06-06  David Moore  <dcm@acm.org>
8446
8447         reviewed by Benjamin Otte  <otte@gnome.org>
8448
8449         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8450         (gst_fdsrc_change_state):
8451           reset offset counter when going READY => PAUSED. (fixes #142903)
8452
8453 2004-06-06  ed@catmur.co.uk
8454
8455         reviewed by Benjamin Otte  <otte@gnome.org>
8456
8457         * gst/registries/gstxmlregistry.c:
8458         (gst_xml_registry_rebuild_recurse):
8459           don't rely on g_dir_open to figure out if a file is a directory, use
8460           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8461           directories. (fixes #142850)
8462
8463 2004-06-06  Benjamin Otte  <otte@gnome.org>
8464
8465         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8466           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8467         * libs/gst/bytestream/adapter.c:
8468         * libs/gst/bytestream/adapter.h:
8469           fix copyright in header and typo in debugging category name
8470
8471 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8472
8473         * configure.ac:
8474           bump nano to cvs
8475
8476 === release 0.8.3 ===
8477
8478 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8479
8480         * configure.ac:
8481           update libtool versioning
8482           do a new release
8483         * docs/gst/tmpl/gstelement.sgml:
8484         * docs/gst/tmpl/gsttypes.sgml:
8485         * gst/gstinfo.c: (_gst_debug_init):
8486           put back GST_CAT_DATAFLOW to fix API breakage
8487
8488 2004-06-04  David Schleef  <ds@schleef.org>
8489
8490         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8491
8492 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8493
8494         * configure.ac:
8495           bump nano to cvs
8496
8497 === release 0.8.2 ===
8498
8499 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8500
8501         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8502           check GST_DEBUG environment variable which is parsed the same way
8503           as --gst-debug=
8504
8505 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8506
8507         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8508                             gstmd5sink.c gstshaper.c gsttee.c
8509                             gsttypefindelement.c
8510         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8511
8512           - removing trailing commas at end of enums
8513             it is correct C99 code but C90 compilers would complain
8514             (AIX, Forte, ...)
8515             ('should' fix #143290, at least partially)
8516
8517 2004-05-27  Wim Taymans  <wim@fluendo.com>
8518
8519         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8520         (chain_group_set_enabled), (create_group), (add_to_group),
8521         (merge_groups), (setup_group_scheduler), (group_elements),
8522         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8523         Don't try to follow the pad connections with other groups
8524         when a loop based element is added to the scheduler because
8525         the bin will inform the scheduler about the pad links a little
8526         later.
8527
8528 2004-05-27  Wim Taymans  <wim@fluendo.com>
8529
8530         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8531         (remove_from_chain), (chain_group_set_enabled),
8532         (setup_group_scheduler), (group_element_set_enabled),
8533         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8534         (gst_opt_scheduler_show):
8535         Elements without a group can do a state change as well, just wait
8536         with the setup of the scheduling function when it is added to a
8537         chain.
8538
8539 2004-05-27  Wim Taymans  <wim@fluendo.com>
8540
8541         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8542         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8543         (merge_groups), (setup_group_scheduler),
8544         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8545         (gst_opt_scheduler_show):
8546         Fixes to maintain internal consistency of the scheduler data
8547         structures. 
8548          - adding an enabled group to a chain should increment the
8549            number of enabled elements in that chain.
8550          - removing an enabled group from a chain could disable the
8551            chain.
8552          - removing a disabled group from a chain could enable the
8553            chain.
8554          - add g_assert when internal inconsistency is detected.
8555          - adding an element to a group could increase the number of
8556            links this group has with other groups.
8557          - merging two groups also merges the chains.
8558          - also show group links in the _show method.
8559            
8560
8561 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8562
8563         * gst/gstcaps.c: (gst_caps_structure_simplify):
8564           don't print error messages when there is no error
8565         * gst/gstvalue.c: (gst_value_compare_int_range):
8566           compare the second value, too
8567         * testsuite/caps/Makefile.am:
8568         * testsuite/caps/random.c: (assert_on_error), (main):
8569           add tests to make sure the two things above are checked for
8570
8571 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8572
8573         * configure.ac:
8574         * libs/gst/dataprotocol/Makefile.am:
8575         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8576         * libs/gst/dataprotocol/dataprotocol.h:
8577           wrap header in GST_ENABLE_NEW.  make code use it
8578
8579 2004-05-23  Johan Dahlin  <johan@gnome.org>
8580
8581         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8582         so verbose and print GstElement signal names all the time.
8583
8584 2004-05-22  David Schleef  <ds@schleef.org>
8585
8586         * gst/registries/gstxmlregistry.c:
8587         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8588         (bug #142957)
8589
8590 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8591
8592         * configure.ac:
8593           scrub cflags for glib2 so gcc doesn't complain when glib is in
8594           /usr/local
8595
8596 2004-05-21  Johan Dahlin  <johan@gnome.org>
8597
8598         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8599         __GNUC__, patch from Brian Cameron, fixes bug #142804
8600
8601 2004-05-20  David Schleef  <ds@schleef.org>
8602
8603         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8604         comparison code.  (bug #142819)
8605
8606 2004-05-20  Wim Taymans  <wim@fluendo.com>
8607
8608         * gst/gstbuffer.c: (gst_buffer_default_copy):
8609         * gst/gstbuffer.h:
8610         Added Comment to a flag.
8611         copy relevant flags in _buffer_copy.
8612
8613 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8614
8615         reviewed by: Wim Taymans <wim at fluendo dot com>
8616
8617         * gst/gstbuffer.h:
8618           add GST_BUFFER_IN_CAPS buffer flag
8619         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8620         (gst_structure_parse_any_list), (gst_structure_parse_list),
8621         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8622         * gst/gstvalue.c: (gst_value_serialize_any_list),
8623         (gst_value_transform_any_list_string),
8624         (gst_value_list_prepend_value), (gst_value_list_append_value),
8625         (gst_value_list_get_size), (gst_value_list_get_value),
8626         (gst_value_transform_list_string),
8627         (gst_value_transform_fixed_list_string),
8628         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8629         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8630         (_gst_value_initialize):
8631         * gst/gstvalue.h:
8632           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8633           < , > as a format.
8634         * testsuite/caps/string-conversions.c: (main):
8635           add regression tests for < >
8636
8637 2004-05-20  Johan Dahlin  <johan@gnome.org>
8638
8639         * docs/gst/Makefile.am (all-local): Re-add
8640
8641 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8642
8643         * docs/gst/Makefile.am:
8644         * docs/gst/gstreamer-docs.sgml:
8645         * docs/libs/Makefile.am:
8646         * docs/libs/gstreamer-libs-docs.sgml:
8647           fix distcheck issues
8648
8649 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * libs/gst/dataprotocol/Makefile.am:
8652           add to autotest
8653
8654 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8655
8656         * libs/gst/dataprotocol/Makefile.am:
8657         * libs/gst/dataprotocol/dataprotocol.c:
8658         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8659         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8660         * libs/gst/dataprotocol/dp-private.h:
8661           use GST macros to read/write fixed length ints
8662           add some more asserts
8663
8664 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8665
8666         * docs/libs/gstreamer-libs-docs.sgml:
8667         * docs/libs/gstreamer-libs-sections.txt:
8668           remove idct and putbits
8669         * configure.ac:
8670         * docs/libs/tmpl/gstdataprotocol.sgml:
8671         * libs/gst/Makefile.am:
8672         * libs/gst/dataprotocol/Makefile.am:
8673         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8674         (buffer_test), (caps_test), (event_test), (main):
8675         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8676         (gst_dp_dump_byte_array), (gst_dp_init),
8677         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8678         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8679         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8680         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8681         (gst_dp_validate_header), (gst_dp_validate_payload),
8682         (gst_dp_validate_packet), (plugin_init):
8683         * libs/gst/dataprotocol/dataprotocol.h:
8684         * libs/gst/dataprotocol/dp-private.h:
8685           add dataprotocol
8686
8687 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8688
8689         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8690           fix int variable deserialization and add a helper so we can actually
8691           debug this.
8692
8693 2004-05-18  David Schleef  <ds@schleef.org>
8694
8695         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8696           argv[0].  Calling yourself is probably not the best way to
8697           construct a test like this, btw.
8698
8699 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8700
8701         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8702           don't claim to be more intelligent than a scheduler when the
8703           scheduler claims the pipeline is stopped
8704         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8705         (safe_cothread_destroy),
8706         (gst_entry_scheduler_remove_all_cothreads),
8707         (gst_entry_scheduler_reset), (_remove_cothread),
8708         (gst_entry_scheduler_state_transition):
8709           hold off cothread destruction if we're not in main cothread
8710         * configure.ac:
8711         * testsuite/Makefile.am:
8712           add new test dir
8713         * testsuite/schedulers/.cvsignore:
8714         * testsuite/schedulers/Makefile.am:
8715           add tests
8716         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8717           check relinking and adding/removing elements from a running pipeline
8718         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8719           check unlinking in a running pipeline
8720         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8721           check unreffing a running pipeline
8722         * testsuite/schedulers/useless_iteration.c: (main):
8723           check iterating a pipeline that contains running threads works
8724
8725 2004-05-18  David Schleef  <ds@schleef.org>
8726
8727         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8728           is false.
8729
8730 2004-05-18  Wim Taymans  <wim@fluendo.com>
8731
8732         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8733         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8734         Fixed an error introduced with patch for 1.63. When setting
8735         a get based element as the entry point in a group, make sure
8736         to mark the group as GET based.
8737
8738 2004-05-18  Wim Taymans  <wim@fluendo.com>
8739
8740         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8741         (setup_group_scheduler), (loop_group_schedule_function),
8742         (gst_opt_scheduler_pad_link):
8743         Added some more debug info and fixed a bug where the group
8744         type was set to LOOP but it was in fact unknown.
8745
8746 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8747
8748         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8749           make resetting scheduler work twice in a row
8750
8751 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8752
8753         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8754         (CREATE_USERIALIZATION), (_gst_value_initialize),
8755         (gst_value_compare_float), (gst_value_serialize_float),
8756         (gst_value_deserialize_float), (gst_value_compare_enum),
8757         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8758           add serialization and comparison functions for long, int64, enum and
8759           float values
8760         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8761           use best serialization function in type hierarchy instead of only a
8762           matching one. This is required for enums to work.
8763         * gst/parse/grammar.y:
8764           use gst_caps_deserialize
8765         * testsuite/parse/Makefile.am:
8766           parse1 now works
8767         * testsuite/parse/parse1.c: (main):
8768           remove aggregator check, aggregator is broken, this test works now
8769           but fails because of bug #138012
8770         * testsuite/parse/parse2.c: (main):
8771           s/xvideosink/xvimagesink - this test looks a lot like we should
8772           disable it
8773
8774 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8775
8776         * gst/gstelement.c: (gst_element_class_init):
8777           whoops, store the signal id correctly
8778         * gst/schedulers/gstbasicscheduler.c:
8779         (gst_basic_scheduler_chain_wrapper):
8780           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8781           chain function isn't linked
8782
8783 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8784         * configure.ac:
8785         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8786         support until we decide where the flags should be used
8787         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8788         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8789         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8790         Output refused caps in the debug info
8791
8792 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8793
8794         * gst/elements/gstidentity.c: (gst_identity_chain):
8795           add duration debug
8796         * gst/gstinfo.c: (gst_debug_log_default):
8797           add timestamp
8798
8799 2004-05-13  Benjamin Otte  <otte@gnome.org>
8800
8801         * gst/gstpipeline.c: (gst_pipeline_dispose),
8802         (gst_pipeline_change_state):
8803           call gst_scheduler_reset on dispose (fixes #141416)
8804
8805 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8806
8807         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8808           compute mapsize correctly
8809         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8810           use correct datatypes when calling a varargs function
8811         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8812           push a DISCONT event as first thing
8813         * gst/gst_private.h:
8814         * gst/gstinfo.c: (_gst_debug_init):
8815           remove GST_DATAFLOW debugging category
8816         * gst/gstbin.c: (gst_bin_iterate):
8817           use GST_SCHEDULING category
8818         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8819         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8820         (gst_pad_call_get_function):
8821           add GST_DATAFLOW to easily track flow of buffers or events.
8822         * gst/gstqueue.c: (gst_queue_get_type),
8823         (gst_queue_handle_pending_events), (gst_queue_chain),
8824         (gst_queue_get), (gst_queue_handle_src_event):
8825           use own static debugging category GST_DATAFLOW for dataflow,
8826           use DEBUG category for showing which path events go, use LOG
8827           category for buffers.
8828
8829 2004-05-10  David Schleef  <ds@schleef.org>
8830
8831         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8832
8833 2004-05-10  David Schleef  <ds@schleef.org>
8834
8835         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8836         symbols, because otherwise we don't know what they are.  Thanks,
8837         the GStreamer team.
8838         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8839
8840 2004-05-10  David Schleef  <ds@schleef.org>
8841
8842         (from Steve Lhomme)
8843         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8844         are deleted.  Fix.
8845         * win32/Makefile.inspect:
8846         * win32/Makefile.launch:
8847         * win32/Makefile.register:
8848
8849 2004-05-10  David Schleef  <ds@schleef.org>
8850
8851         * gst/gstinfo.h: Add missing inline function.
8852         * gst/gsttrace.c: add include
8853         * gst/parse/grammar.y: remove unused code
8854         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8855         more portable.
8856         * tools/gst-register.c: wrap unistd.h
8857         
8858         More additions/fixes from Steve for the MSVC build.
8859         * win32/GStreamer.vcproj:
8860         * win32/Makefile:
8861         * win32/Makefile.inspect:
8862         * win32/Makefile.launch:
8863         * win32/Makefile.register:
8864         * win32/README.txt:
8865         * win32/gst-inspect.vcproj:
8866         * win32/gst-launch.vcproj:
8867         * win32/gst-register.vcproj:
8868         * win32/gstbytestream.def:
8869         * win32/gstbytestream.vcproj:
8870         * win32/gstconfig.h:
8871         * win32/gstelements.def:
8872         * win32/gstelements.vcproj:
8873         * win32/gstenumtypes.c:
8874         * win32/gstenumtypes.h:
8875         * win32/gstoptimalscheduler.def:
8876         * win32/gstoptimalscheduler.vcproj:
8877         * win32/gstreamer.def:
8878         * win32/gstspider.def:
8879         * win32/gstspider.vcproj:
8880         * win32/gstversion.h:
8881         * win32/msvc71.sln:
8882
8883 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8884
8885         * gst/gstelement.c: (gst_element_class_init),
8886         (gst_element_no_more_pads):
8887         * gst/gstelement.h:
8888           add gst_element_no_more_pads and the "no-more-pads" signal
8889
8890 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8891
8892         * gst/gstregistry.c: (gst_registry_add_plugin):
8893           refuse to add plugins when a plugin with same name is already
8894           registered. Fixes a bunch of "How to remove plugins?" issues.
8895           May lead to other problems though, let's test
8896
8897 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8898
8899         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8900         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8901         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8902
8903 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8904
8905         * tests/Makefile.am: fix am16 issue
8906
8907 2004-05-09  Benjamin Otte  <otte@gnome.org>
8908
8909         * libs/gst/bytestream/Makefile.am:
8910           we should indeed add .c files to makefiles or they won't be built
8911           (d'oh)
8912
8913 2004-05-08  Benjamin Otte  <otte@gnome.org>
8914
8915         * gst/gstpad.c: (gst_pad_proxy_fixate):
8916           really reduce the set of caps
8917
8918 2004-05-08  Benjamin Otte  <otte@gnome.org>
8919
8920         * tests/Makefile.am:
8921         * tests/spidey_bench.c: (handoff), (main):
8922           add benchmark to test how long spider needs to create a pipeline
8923
8924 2004-05-08  Benjamin Otte  <otte@gnome.org>
8925
8926         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8927           mark links as unengaged when unnegotiating instead of deactivating.
8928           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8929
8930 2004-05-08  Benjamin Otte  <otte@gnome.org>
8931
8932         * docs/manual/helloworld.xml:
8933           s/audiosink/osssink (patch by Patrick Guimond)
8934
8935 2004-05-07  David Schleef  <ds@schleef.org>
8936
8937         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8938         since it contains important stuff.
8939
8940 2004-05-07  David Schleef  <ds@schleef.org>
8941
8942         * testsuite/caps/caps.c: (test3), (main): A check for appending
8943         ANY caps.
8944
8945 2004-05-07  David Schleef  <ds@schleef.org>
8946
8947         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8948         which may contain commas.  Fixes detection of -Wa,-mregnames
8949
8950 2004-05-06  David Schleef  <ds@schleef.org>
8951
8952         Changes to handle compilers that don't have variadic macro
8953         support.  In particular, glib headers define some inlines
8954         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8955         builds.
8956         * gst/Makefile.am:
8957         * gst/cothreads.c:
8958         * gst/elements/gstfdsink.c:
8959         * gst/elements/gstfdsrc.c:
8960         * gst/elements/gstfilesink.c:
8961         * gst/elements/gstfilesrc.c:
8962         * gst/gst_private.h:
8963         * gst/gstatomic.c:
8964         * gst/gstcaps.c: (gst_caps_append):
8965         * gst/gstcpu.c: (gst_cpuid_i386):
8966         * gst/gstelement.c:
8967         * gst/gsterror.c:
8968         * gst/gstfilter.c:
8969         * gst/gstinfo.h:
8970         * gst/gstprobe.c:
8971         * gst/gstquery.c:
8972         * gst/gstregistry.c:
8973         * gst/gststructure.c:
8974         * gst/gsttaginterface.c:
8975         * gst/gsttrace.c: (gst_trace_new):
8976         * gst/gsttrashstack.c:
8977         * gst/gsturi.c:
8978         * gst/gstvalue.c:
8979         * gst/parse/grammar.y:
8980         * gst/parse/parse.l:
8981         * tools/gst-inspect.c: (main):
8982         * tools/gst-launch.c: (main):
8983         * tools/gst-xmlinspect.c: (PUT_STRING):
8984
8985 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8986
8987         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8988         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8989         * gst/elements/gstfilesrc.h:
8990           send NEW_MEDIA events correctly
8991         * gst/elements/gsttypefindelement.c: (start_typefinding),
8992         (gst_type_find_element_handle_event):
8993           restart typefinding when we get a NEW_MEDIA event
8994         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8995         (gst_bin_dispose):
8996           don't die when someone removes elements in callbacks
8997         * gst/gstelement.c: (gst_element_change_state):
8998           improve debugging
8999         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9000           we need a NEW_MEDIA event to engage a link
9001         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9002           don't g_print debugging stuff
9003         * testsuite/caps/simplify.c: (check_caps):
9004
9005 2004-05-04  Benjamin Otte  <otte@gnome.org>
9006
9007         * gst/parse/grammar.y:
9008           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9009
9010 2004-05-04  Benjamin Otte  <otte@gnome.org>
9011
9012         * testsuite/caps/renegotiate.c: (main):
9013           improve output in error case
9014
9015 2004-05-04  Benjamin Otte  <otte@gnome.org>
9016
9017         * gst/parse/grammar.y:
9018           fix assert to not trigger when there's no error argument
9019         * gst/parse/parse.l:
9020           fix definition of caps to allow more than two structures
9021         * testsuite/caps/Makefile.am:
9022         * testsuite/caps/renegotiate.c: (main):
9023           it's sinesrc and works in that case
9024
9025 2004-05-04  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9028         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9029         when removing an element from a group, we always need to
9030         decrement the link count that this group had with other 
9031         groups through the element.
9032         added an extra assert to catch inconsistencies when decrementing
9033         the link count.
9034
9035 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9036
9037         * configure.ac:
9038         * docs/gst/Makefile.am:
9039         * docs/gst/gstreamer-sections.txt:
9040         * docs/gst/tmpl/gstcompat.sgml:
9041         * examples/appreader/Makefile.am:
9042         * examples/cutter/Makefile.am:
9043         * examples/events/Makefile.am:
9044         * examples/helloworld/Makefile.am:
9045         * examples/helloworld2/Makefile.am:
9046         * examples/launch/Makefile.am:
9047         * examples/manual/Makefile.am:
9048         * examples/mixer/Makefile.am:
9049         * examples/pingpong/Makefile.am:
9050         * examples/plugins/Makefile.am:
9051         * examples/queue/Makefile.am:
9052         * examples/queue2/Makefile.am:
9053         * examples/queue3/Makefile.am:
9054         * examples/queue4/Makefile.am:
9055         * examples/retag/Makefile.am:
9056         * examples/thread/Makefile.am:
9057         * examples/typefind/Makefile.am:
9058         * examples/xml/Makefile.am:
9059         * gst/Makefile.am:
9060         * gst/autoplug/Makefile.am:
9061         * gst/elements/Makefile.am:
9062         * gst/gstcompat.h:
9063         * gst/indexers/Makefile.am:
9064         * gst/parse/Makefile.am:
9065         * gst/registries/Makefile.am:
9066         * gst/schedulers/Makefile.am:
9067         * libs/gst/bytestream/Makefile.am:
9068         * libs/gst/control/Makefile.am:
9069         * libs/gst/getbits/Makefile.am:
9070         * po/af.po:
9071         * po/az.po:
9072         * po/en_GB.po:
9073         * po/fr.po:
9074         * po/nl.po:
9075         * po/sr.po:
9076         * po/sv.po:
9077         * po/tr.po:
9078         * po/uk.po:
9079         * tests/Makefile.am:
9080         * tests/bufspeed/Makefile.am:
9081         * tests/instantiate/Makefile.am:
9082         * tests/memchunk/Makefile.am:
9083         * tests/muxing/Makefile.am:
9084         * tests/negotiation/Makefile.am:
9085         * tests/probes/Makefile.am:
9086         * tests/sched/Makefile.am:
9087         * tests/seeking/Makefile.am:
9088         * tests/threadstate/Makefile.am:
9089         * testsuite/caps/Makefile.am:
9090         * testsuite/cleanup/Makefile.am:
9091         * testsuite/dlopen/Makefile.am:
9092         * testsuite/dynparams/Makefile.am:
9093         * testsuite/plugin/Makefile.am:
9094         * testsuite/states/Makefile.am:
9095         * tools/Makefile.am:
9096           reorganize compile/link flags to be consistent
9097           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9098
9099 2004-05-04  David Schleef  <ds@schleef.org>
9100
9101         The "once more, with feeling" check-in.
9102         * testsuite/caps/Makefile.am: dist caps_strings
9103         * testsuite/caps/renegotiate.c: (main): This test triggers a
9104           segfault in the core.  Marking as failing.
9105
9106 2004-05-03  David Schleef  <ds@schleef.org>
9107
9108         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9109           by the build bots.
9110         * testsuite/caps/renegotiate.c: (main): Same.
9111
9112 2004-05-03  David Schleef  <ds@schleef.org>
9113
9114         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9115
9116 2004-05-03  David Schleef  <ds@schleef.org>
9117
9118         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9119           variable to find our source file.
9120
9121 2004-05-03  David Schleef  <ds@schleef.org>
9122
9123         * configure.ac:  Link plugins with libgstreamer and dependent
9124           libraries
9125         * testsuite/caps/Makefile.am:
9126         * testsuite/caps/caps_strings:
9127         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9128           through a file of caps strings and test each one
9129
9130 2004-05-04  Benjamin Otte  <otte@gnome.org>
9131
9132         * libs/gst/bytestream/Makefile.am:
9133         * libs/gst/bytestream/adapter.c: 
9134         * libs/gst/bytestream/adapter.h:
9135           add GstAdapter, similar to bytestream, but doesn't require ugly event
9136           handling or uglier loopbased elements
9137
9138 2004-05-03  David Schleef  <ds@schleef.org>
9139
9140         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9141         * testsuite/caps/erathostenes.c:
9142         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9143
9144 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9145
9146         * docs/pwg/pwg.xml:
9147           remove hardcoded stylesheet path (duh)
9148         * docs/random/release:
9149         * docs/gst/gstreamer-sections.txt:
9150         * gst/Makefile.am:
9151         * gst/gst.h:
9152         * gst/gst_private.h:
9153         * gst/gstcaps.c:
9154         * gst/gstevent.c:
9155         * gst/gstformat.c:
9156         * gst/gstinfo.c:
9157         * gst/gstinfo.h:
9158         * gst/gstinterface.c:
9159         * gst/gstmemchunk.c:
9160         * gst/gstprobe.c:
9161         * gst/gstquery.c:
9162         * gst/gstregistry.c:
9163         * gst/gstregistrypool.c:
9164         * gst/gststructure.c:
9165         * gst/gsttaginterface.c:
9166         * gst/gstthread.c:
9167         * gst/gsttrace.c:
9168         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9169         * gst/gsturi.c:
9170         * gst/gstvalue.c:
9171           deprecate gst_info; remove gstlog.h
9172    
9173
9174 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * Makefile.am:
9177         * po/en_GB.po:
9178         * po/sv.po:
9179         * po/uk.po:
9180           updated translations
9181
9182 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9183
9184         * gst/gstbin.c: (gst_bin_dispose):
9185           better debugging
9186
9187 2004-05-03  Johan Dahlin  <johan@gnome.org>
9188
9189         * gst/schedulers/gstoptimalscheduler.c
9190         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9191         really is a GstElement. Avoids critical when running gst-launch -v
9192         and a oggdemux/decoding pipeline.
9193
9194 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9195
9196         * docs/gst/tmpl/gstpipeline.sgml :
9197         * docs/manual/elements-api.xml :
9198                 doc fix by Patrick Guimond (Protector) from devel ML
9199                 reviewed by ronald
9200
9201 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9202
9203         * docs/gst/Makefile.am :
9204         * docs/libs/Makefile.am :
9205                 apply a patch from Arwed v. Merkatz so that gtk-doc
9206                 generated docs install (same for .devhelp file)
9207                 (fixes part 1 of #138836)
9208
9209 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9210
9211         * docs/faq/dependencies.xml: typo
9212         * docs/faq/getting.xml :
9213             - fix download URL for new gstreamer site
9214             - hide sf.net download page as latest version aren't there
9215             - fix apt URLs
9216             - fill "get via CVS" paragraph (link to dev page on the site)
9217         * docs/faq/general.xml:
9218             hide status tables as they no more exists
9219             change case on plugins license file to reflect reality
9220         * docs/faq/troubleshooting.xml:
9221             remove the wiki question/answer as there is no more wiki
9222
9223 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9224
9225         * gst/gsterror.h:
9226           include the headers needed for declarations used in this header
9227
9228 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9229
9230         * docs/random/uraeus/gstreamer_and_midi.txt :
9231           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9232           (fixes #132288)
9233
9234 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9235
9236         reviewed by Benjamin Otte  <otte@gnome.org>
9237
9238         * gst/schedulers/gthread-cothreads.h:
9239           free allocated data for main cothread, too when destroying context
9240           (fixes #141417)
9241
9242 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9243
9244         * docs/manual/goals.xml : remove duplicated paragraph at end 
9245         of doc page (fixes #141448)
9246
9247 2004-04-29  David Schleef  <ds@schleef.org>
9248
9249         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9250         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9251
9252 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9255           fix property
9256         * gst/gstcaps.c:
9257           fix doc string
9258         * po/POTFILES.in:
9259           rename typefind source file
9260
9261 2004-04-28  David Schleef  <ds@schleef.org>
9262
9263         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9264         * win32/GStreamer.vcproj:
9265         * win32/Makefile:
9266         * win32/config.h:
9267         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9268         (_trewinddir), (_ttelldir), (_tseekdir):
9269         * win32/dirent.h:
9270         * win32/gst-inspect.vcproj:
9271         * win32/gst-launch.vcproj:
9272         * win32/gst-register.vcproj:
9273         * win32/gstbytestream.vcproj:
9274         * win32/gstelements.vcproj:
9275         * win32/gstoptimalscheduler.vcproj:
9276         * win32/gstspider.vcproj:
9277         * win32/gtchar.h:
9278         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9279         * win32/mman.h:
9280         * win32/mman.inl:
9281         * win32/msvc71.sln:
9282
9283 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9284
9285         * gst/gst.c: (init_post):
9286         * gst/gstinfo.c:
9287           remove useless _gst_progname stuff
9288         * tools/gst-inspect.c: (print_field), (print_caps):
9289           improve caps output
9290
9291 2004-04-28  David Schleef  <ds@schleef.org>
9292
9293         Disable parsing of a lot of files that aren't part of the
9294         exported API.  Move corresponding template files to old/,
9295         waiting for removal when they don't contain anything
9296         interesting.
9297         * docs/gst/Makefile.am:
9298         * docs/gst/gstreamer-sections.txt:
9299         * docs/gst/tmpl/cothreads.sgml:
9300         * docs/gst/tmpl/cothreads_compat.sgml:
9301         * docs/gst/tmpl/gettext.sgml:
9302         * docs/gst/tmpl/gobject2gtk.sgml:
9303         * docs/gst/tmpl/grammar.tab.sgml:
9304         * docs/gst/tmpl/gst-i18n-app.sgml:
9305         * docs/gst/tmpl/gst-i18n-lib.sgml:
9306         * docs/gst/tmpl/gst_private.sgml:
9307         * docs/gst/tmpl/gstaggregator.sgml:
9308         * docs/gst/tmpl/gstarch.sgml:
9309         * docs/gst/tmpl/gstatomic_impl.sgml:
9310         * docs/gst/tmpl/gstbufferstore.sgml:
9311         * docs/gst/tmpl/gstdata_private.sgml:
9312         * docs/gst/tmpl/gstdisksink.sgml:
9313         * docs/gst/tmpl/gstdisksrc.sgml:
9314         * docs/gst/tmpl/gstelementfactory.sgml:
9315         * docs/gst/tmpl/gstextratypes.sgml:
9316         * docs/gst/tmpl/gstfakesink.sgml:
9317         * docs/gst/tmpl/gstfakesrc.sgml:
9318         * docs/gst/tmpl/gstfdsink.sgml:
9319         * docs/gst/tmpl/gstfdsrc.sgml:
9320         * docs/gst/tmpl/gstfilesink.sgml:
9321         * docs/gst/tmpl/gstfilesrc.sgml:
9322         * docs/gst/tmpl/gsthttpsrc.sgml:
9323         * docs/gst/tmpl/gstidentity.sgml:
9324         * docs/gst/tmpl/gstindexfactory.sgml:
9325         * docs/gst/tmpl/gstmarshal.sgml:
9326         * docs/gst/tmpl/gstmd5sink.sgml:
9327         * docs/gst/tmpl/gstmultidisksrc.sgml:
9328         * docs/gst/tmpl/gstmultifilesrc.sgml:
9329         * docs/gst/tmpl/gstpadtemplate.sgml:
9330         * docs/gst/tmpl/gstpipefilter.sgml:
9331         * docs/gst/tmpl/gstschedulerfactory.sgml:
9332         * docs/gst/tmpl/gstsearchfuncs.sgml:
9333         * docs/gst/tmpl/gstshaper.sgml:
9334         * docs/gst/tmpl/gstspider.sgml:
9335         * docs/gst/tmpl/gstspideridentity.sgml:
9336         * docs/gst/tmpl/gststatistics.sgml:
9337         * docs/gst/tmpl/gsttee.sgml:
9338         * docs/gst/tmpl/gsttimecache.sgml:
9339         * docs/gst/tmpl/gsttypefind.sgml:
9340         * docs/gst/tmpl/gsttypefindfactory.sgml:
9341         * docs/gst/tmpl/gstxmlregistry.sgml:
9342         * docs/gst/tmpl/gthread-cothreads.sgml:
9343         * docs/gst/tmpl/old/cothreads.sgml:
9344         * docs/gst/tmpl/old/cothreads_compat.sgml:
9345         * docs/gst/tmpl/old/gettext.sgml:
9346         * docs/gst/tmpl/old/gobject2gtk.sgml:
9347         * docs/gst/tmpl/old/grammar.tab.sgml:
9348         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9349         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9350         * docs/gst/tmpl/old/gst_private.sgml:
9351         * docs/gst/tmpl/old/gstaggregator.sgml:
9352         * docs/gst/tmpl/old/gstarch.sgml:
9353         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9354         * docs/gst/tmpl/old/gstbufferstore.sgml:
9355         * docs/gst/tmpl/old/gstdata_private.sgml:
9356         * docs/gst/tmpl/old/gstdisksink.sgml:
9357         * docs/gst/tmpl/old/gstdisksrc.sgml:
9358         * docs/gst/tmpl/old/gstelementfactory.sgml:
9359         * docs/gst/tmpl/old/gstextratypes.sgml:
9360         * docs/gst/tmpl/old/gstfakesink.sgml:
9361         * docs/gst/tmpl/old/gstfakesrc.sgml:
9362         * docs/gst/tmpl/old/gstfdsink.sgml:
9363         * docs/gst/tmpl/old/gstfdsrc.sgml:
9364         * docs/gst/tmpl/old/gstfilesink.sgml:
9365         * docs/gst/tmpl/old/gstfilesrc.sgml:
9366         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9367         * docs/gst/tmpl/old/gstidentity.sgml:
9368         * docs/gst/tmpl/old/gstindexfactory.sgml:
9369         * docs/gst/tmpl/old/gstmarshal.sgml:
9370         * docs/gst/tmpl/old/gstmd5sink.sgml:
9371         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9372         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9373         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9374         * docs/gst/tmpl/old/gstpipefilter.sgml:
9375         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9376         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9377         * docs/gst/tmpl/old/gstshaper.sgml:
9378         * docs/gst/tmpl/old/gstspider.sgml:
9379         * docs/gst/tmpl/old/gstspideridentity.sgml:
9380         * docs/gst/tmpl/old/gststatistics.sgml:
9381         * docs/gst/tmpl/old/gsttee.sgml:
9382         * docs/gst/tmpl/old/gsttimecache.sgml:
9383         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9384         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9385         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9386         * docs/gst/tmpl/old/types.sgml:
9387         * docs/gst/tmpl/types.sgml:
9388
9389         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9390         gtkdoc-scan doesn't like files with the same name in different
9391         directories.
9392         * gst/elements/Makefile.am:
9393         * gst/elements/gstelements.c:
9394         * gst/elements/gsttypefind.c: 
9395         * gst/elements/gsttypefind.h:
9396         * gst/elements/gsttypefindelement.c:
9397         * gst/elements/gsttypefindelement.h:
9398
9399 2004-04-28  David Schleef  <ds@schleef.org>
9400
9401         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9402         patch (bug #141317):
9403         * gst/gst-i18n-lib.h: Allow disabling gettext.
9404         * gst/gstatomic_impl.h: disable warning when it's dumb.
9405         * gst/gstclock.c: fix include
9406         * gst/gstcompat.h: fix variadic macro
9407         * gst/gstinfo.c: fix include
9408         * gst/gstmacros.h: add defines for inlines on MSVC
9409         * gst/gstplugin.c: fix includes
9410         * gst/gstregistry.c: fix includes
9411         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9412         * gst/gstsystemclock.c: fix include
9413         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9414         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9415         * gst/registries/gstxmlregistry.c:
9416         (gst_xml_registry_parse_element_factory): fix use of non-portable
9417         functions
9418         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9419         * libs/gst/control/dparammanager.h: same
9420
9421 2004-04-28  David Schleef  <ds@schleef.org>
9422
9423         Move a bunch of unused files to old/ with names that are
9424         not case-insensitive-unique.  These files still contain some
9425         useful information that needs to be merged into gstbin.sgml,
9426         etc., so they shouldn't be deleted yet.
9427         * docs/gst/tmpl/GstBin.sgml:
9428         * docs/gst/tmpl/GstBuffer.sgml:
9429         * docs/gst/tmpl/GstCaps.sgml:
9430         * docs/gst/tmpl/GstClock.sgml:
9431         * docs/gst/tmpl/GstCompat.sgml:
9432         * docs/gst/tmpl/GstData.sgml:
9433         * docs/gst/tmpl/GstElement.sgml:
9434         * docs/gst/tmpl/GstEvent.sgml:
9435         * docs/gst/tmpl/GstIndex.sgml:
9436         * docs/gst/tmpl/GstStructure.sgml:
9437         * docs/gst/tmpl/GstTag.sgml:
9438         * docs/gst/tmpl/old/GstBin.sgml:
9439         * docs/gst/tmpl/old/GstBuffer.sgml:
9440         * docs/gst/tmpl/old/GstCaps.sgml:
9441         * docs/gst/tmpl/old/GstClock.sgml:
9442         * docs/gst/tmpl/old/GstCompat.sgml:
9443         * docs/gst/tmpl/old/GstData.sgml:
9444         * docs/gst/tmpl/old/GstElement.sgml:
9445         * docs/gst/tmpl/old/GstEvent.sgml:
9446         * docs/gst/tmpl/old/GstIndex.sgml:
9447         * docs/gst/tmpl/old/GstStructure.sgml:
9448         * docs/gst/tmpl/old/GstTag.sgml:
9449
9450 2004-04-28  David Schleef  <ds@schleef.org>
9451
9452         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9453         (gst_caps_append), (gst_caps_append_structure),
9454         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9455         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9456         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9457         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9458         (gst_caps_intersect), (gst_caps_normalize),
9459         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9460         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9461         * gst/gstcaps.h: use GST_IS_CAPS().
9462
9463 2004-04-26  David Schleef  <ds@schleef.org>
9464
9465         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9466         assembly.  gcc doesn't handle it correctly. (bug #141083)
9467         * gst/gsttrashstack.h: same
9468
9469 2004-04-25  Benjamin Otte  <otte@gnome.org>
9470
9471         * gst/gstelement.c: (gst_element_change_state):
9472           fix assertion to do an int comparison
9473
9474 2004-04-25  Benjamin Otte  <otte@gnome.org>
9475
9476         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9477           better debugging output on error
9478
9479 2004-04-25  Benjamin Otte  <otte@gnome.org>
9480
9481         * gst/gstcaps.c: (gst_caps_subtract):
9482           fix memleak
9483
9484 2004-04-23  Benjamin Otte  <otte@gnome.org>
9485
9486         * gst/gstvalue.c: (gst_value_compare_buffer),
9487         (_gst_value_initialize):
9488           add comparison function for buffers
9489
9490 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9491
9492         * docs/pwg/pwg.xml:
9493           Just found out that this so-called "ima-wav" format is really
9494           just "dvi adpcm" (according to the MS WAV documentation). So
9495           renaming it. We didn't use it yet anyway.
9496
9497 2004-04-23  Benjamin Otte  <otte@gnome.org>
9498
9499         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9500           call gst_caps_is_subset
9501
9502 2004-04-23  Benjamin Otte  <otte@gnome.org>
9503
9504         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9505         (gst_caps_is_subset):
9506           add documentation
9507
9508 2004-04-23  Benjamin Otte  <otte@gnome.org>
9509           
9510         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9511         (gst_caps_structure_subtract), (gst_caps_subtract),
9512         (gst_caps_structure_figure_out_union),
9513         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9514           fix simplifying and subtracting not working correctly with optional
9515           properties
9516           solve assorted problems that make it now simplify ebven more
9517         * docs/gst/tmpl/gstcaps.sgml:
9518         * gst/gstcaps.h:
9519           make gst_caps_do_simplify return a bool to indicate if it simplified
9520         * testsuite/caps/simplify.c: (main):
9521           add more checks. The tests is quite a bit useless right now because
9522           the core is heavily simplifying itself.
9523         * testsuite/caps/caps.h:
9524           fix caps to contain all optional properties
9525
9526 2004-04-22  Benjamin Otte  <otte@gnome.org>
9527
9528         * docs/gst/tmpl/gstcaps.sgml:
9529         * docs/gst/tmpl/gstfilesrc.sgml:
9530         * docs/gst/tmpl/gststructure.sgml:
9531         * docs/gst/tmpl/gstvalue.sgml:
9532           update for recent API changes
9533         * gst/gstcaps.c: (gst_caps_do_simplify):
9534           fix to stop trying with a freed structure
9535         * gst/gstpad.c: (gst_pad_link_fixate):
9536           simplify caps
9537         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9538           remove C++ comment
9539         * gst/gstpad.h:
9540           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9541         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9542         (gst_structure_to_string):
9543           keep the correct type when using lists of ranges
9544         * gst/gstvalue.c: (gst_value_list_prepend_value),
9545         (gst_value_list_append_value):
9546           copy the value before adding to the list (d'oh)
9547         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9548         (gst_value_subtract_int_range_int_range):
9549           handle overflows correctly
9550         * gst/gstvalue.c: (gst_value_subtract_from_list):
9551           fix memleak
9552         * testsuite/caps/caps.h:
9553           add a caps that caused segfaults
9554
9555 2004-04-22  Benjamin Otte  <otte@gnome.org>
9556
9557         * testsuite/refcounting/pad.c: (main):
9558           fix test
9559
9560 2004-04-22  Benjamin Otte  <otte@gnome.org>
9561
9562         * gst/gstcaps.c: (gst_caps_subtract):
9563           allow subtracting ANY and EMPTY from ANY caps
9564
9565 2004-04-22  Benjamin Otte  <otte@gnome.org>
9566
9567         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9568         (gst_caps_union):
9569           only simplify in functions that create new caps. Simplifying in
9570           gst_caps_append breaks tests.
9571
9572 2004-04-22  Benjamin Otte  <otte@gnome.org>
9573
9574         * gst/gstcaps.c: (gst_caps_structure_simplify):
9575           unset GValue after use
9576         * gst/gstcaps.c: (gst_caps_append), 
9577         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9578           use gst_caps_simplify (reduces registry size by 30%)
9579         * gst/gstpad.c: (gst_pad_template_new):
9580           don't allow NULL caps
9581
9582 2004-04-22  Benjamin Otte  <otte@gnome.org>
9583
9584         * docs/gst/gstreamer-sections.txt:
9585           add gst_caps_do_simplify
9586         * gst/gstcaps.c:
9587           add documentation for gst_caps_do_simplify
9588         * gst/gstvalue.h:
9589           fix typo in gst_value_register_subtract_func declaration for gst-doc
9590
9591 2004-04-22  Benjamin Otte  <otte@gnome.org>
9592
9593         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9594           fix bug when converting from empty string.
9595         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9596         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9597           use gst_caps_new_empty to allocate a new caps. Only that function
9598           allocates memory for caps now.
9599         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9600         (gst_caps_remove_structure):
9601           add ability to remove one structure (but not to header yet)
9602         * gst/gstcaps.c: (gst_caps_compare_structures),
9603         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9604         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9605         * gst/gstcaps.h:
9606           add gst_caps_do_simplify that tries to simplify a caps in place.
9607           Deprecate old gst_caps_simplify function.
9608         * testsuite/caps/caps.h:
9609           add caps.h containing a common set of caps to test against.
9610         * testsuite/caps/sets.c: (check_caps), (main):
9611           use it.
9612         * testsuite/caps/.cvsignore:
9613         * testsuite/caps/Makefile.am:
9614         * testsuite/caps/simplify.c: (check_caps), (main):
9615           add test to check correctness and efficency of caps simplification.
9616
9617 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9618
9619         reviewed by Benjamin Otte  <otte@gnome.org>
9620
9621         * gst/gstparse.c: (_gst_parse_escape):
9622           Free the GString used in _gst_parse_escape()
9623
9624 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9625
9626         * gst/gstpad.c: (gst_pad_link_negotiate):
9627           refuse to link if the link is not possible
9628         * configure.ac:
9629         * testsuite/Makefile.am:
9630         * testsuite/negotiation/.cvsignore:
9631         * testsuite/negotiation/Makefile.am:
9632         * testsuite/negotiation/pad_link.c: (main):
9633           add test that checks the above behaviour
9634
9635 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * docs/gst/gstreamer-sections.txt:
9638           add newly added API
9639
9640 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9643         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9644         (gst_filesrc_open_file), (gst_filesrc_close_file),
9645         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9646         * gst/elements/gstfilesrc.h:
9647           add support for non-regular files (#140734)
9648
9649 2004-04-21  Benjamin Otte  <otte@gnome.org>
9650
9651         * gst/gstpad.c: (gst_pad_link_fixate):
9652           add sophisticated error checking code to see if fixation functions
9653           did their fixation right
9654
9655 2004-04-21  Benjamin Otte  <otte@gnome.org>
9656
9657         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9658           check for ANY caps before appending/unioning
9659         * gst/gstcaps.c: (gst_caps_is_subset),
9660         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9661         (gst_caps_structure_subtract), (gst_caps_subtract):
9662         * gst/gstcaps.h:
9663           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9664           the API. deprecate gst_caps_is_equal_fixed
9665         * gst/gstpad.c: (gst_pad_try_set_caps):
9666         * gst/gstqueue.c: (gst_queue_link):
9667           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9668         * gst/gststructure.c: (gst_structure_get_name_id):
9669         * gst/gststructure.h:
9670           add function gst_structure_get_name_id
9671         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9672         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9673         (gst_value_subtract_int_range_int_range),
9674         (gst_value_subtract_double_double_range),
9675         (gst_value_subtract_double_range_double),
9676         (gst_value_subtract_double_range_double_range),
9677         (gst_value_subtract_from_list), (gst_value_subtract_list),
9678         (gst_value_can_intersect), (gst_value_subtract),
9679         (gst_value_can_subtract), (gst_value_register_subtract_func),
9680         (_gst_value_initialize):
9681         * gst/gstvalue.h:
9682           add support for subtracting values from each other. Note that
9683           subtracting means subtracting as in set theory. Required for caps
9684           stuff above.
9685         * testsuite/caps/.cvsignore:
9686         * testsuite/caps/Makefile.am:
9687         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9688         * testsuite/caps/sets.c: (check_caps), (main):
9689         * testsuite/caps/subtract.c: (check_caps), (main):
9690           add tests for subtraction and equality code.
9691
9692 2004-04-20  David Schleef  <ds@schleef.org>
9693
9694         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9695         * gst/indexers/Makefile.am:
9696         * gst/schedulers/Makefile.am:
9697         * libs/gst/bytestream/Makefile.am:
9698         * libs/gst/control/Makefile.am:
9699         * libs/gst/getbits/Makefile.am:
9700
9701 2004-04-20  David Schleef  <ds@schleef.org>
9702
9703         * common/as-libtool.mak: Fine-tune DLL building.
9704         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9705         (like gst-plugins)
9706         * examples/plugins/Makefile.am: remove plugindir
9707         * gst/autoplug/Makefile.am: DLL building fixes
9708         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9709         Windows.
9710         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9711         * gst/indexers/Makefile.am: DLL building fixes
9712         * gst/schedulers/Makefile.am: DLL building fixes.
9713         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9714         * libs/gst/control/Makefile.am: same
9715         * libs/gst/getbits/Makefile.am: same
9716         * testsuite/Makefile.am: New dlopen directory
9717         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9718         when dlopened.
9719         * testsuite/dlopen/dlopen_gst.c: (main): same
9720         * testsuite/dlopen/loadgst.c: (do_test): same
9721
9722 2004-04-20  David Schleef  <ds@schleef.org>
9723
9724         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9725         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9726
9727 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9728
9729         * gst/gstelement.c: (gst_element_wait),
9730         (gst_element_set_time_delay), (gst_element_change_state):
9731           Use GST_TIME_*
9732
9733 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9734
9735         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9736         (gst_spider_identity_plug):
9737           improve debugging messages
9738         * gst/gstbin.c: (gst_bin_remove_func):
9739           make sure the state_change function is only called with simple state
9740           transitions
9741
9742 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9743
9744         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9745         (gst_fakesink_set_property), (gst_fakesink_chain):
9746         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9747         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9748         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9749         * gst/elements/gstidentity.c: (gst_identity_chain),
9750         (gst_identity_set_property):
9751         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9752         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9753           add warnings to _set_property for unknown arguments
9754           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9755
9756 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9757
9758         * Makefile.am:
9759         * docs/manuals.mak:
9760           add .po file download snippet
9761           fix a bug in the doc makefile
9762
9763 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9764
9765         * Makefile.am:
9766         * po/LINGUAS:
9767         * po/en_GB.po:
9768           Added en_GB translation (Gareth Owen)
9769
9770 2004-04-20  Johan Dahlin  <johan@gnome.org>
9771
9772         * gst/gstpad.c (_invent_event): Clean up
9773
9774 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9775
9776         * testsuite/caps/filtercaps.c: (main):
9777           fix test to test things correctly (caps are complicated)
9778
9779 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9780
9781         * testsuite/caps/Makefile.am:
9782         * testsuite/caps/filtercaps.c: (main):
9783           add test (that doesn't work right now, but should)
9784
9785 2004-04-19  David Schleef  <ds@schleef.org>
9786
9787         * configure.ac: Add test for allowing unaligned access.  Add define
9788         to put in gstconfig.h.
9789         * docs/gst/gstreamer-sections.txt: New symbols
9790         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9791         * docs/gst/tmpl/gstfilesrc.sgml:
9792         * docs/gst/tmpl/gstparse.sgml:
9793         * docs/gst/tmpl/gsttypes.sgml:
9794         * docs/gst/tmpl/gstutils.sgml:
9795         * docs/gst/tmpl/gstvalue.sgml:
9796         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9797         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9798         on most !i386/!powerpc architectures.  From Daniel Gazard
9799         <daniel.gazard@free.fr>.  (bug #140156)
9800         * po/af.po: Check in changes made by gettext.
9801         * po/az.po:
9802         * po/fr.po:
9803         * po/nl.po:
9804         * po/sr.po:
9805         * po/sv.po:
9806
9807 2004-04-20  Benjamin Otte  <otte@gnome.org>
9808
9809         * gst/schedulers/entryscheduler.c: 
9810         (gst_entry_scheduler_yield):
9811           refuse to yield when decoupled elements insist on doing that.
9812           At least it's better than crashing
9813
9814 2004-04-19  David Schleef  <ds@schleef.org>
9815
9816         * docs/libs/Makefile.am: Change sinclude to include
9817         * docs/gst/Makefile.am: same
9818         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9819
9820 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9821
9822         * po/LINGUAS:
9823         * po/uk.po:
9824           Added Ukrainian translation (Maxim V. Dziumanenko)
9825
9826 2004-04-19  Johan Dahlin  <johan@gnome.org>
9827
9828         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9829         checking here, do it before calling the function.
9830         Clean up, use for loops instead of while loops while iterating
9831         over lists.
9832
9833         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9834         in debug message.
9835         (gst_spider_create_and_plug): Improve debug message.
9836         General: Replace while loops which iterates over GLists with for
9837         loops. Which are much cleaner, improves readability, especially
9838         for gst_spider_identity_plug
9839
9840         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9841         fixes bug 140477
9842
9843 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9844
9845         * po/LINGUAS:
9846         * po/tr.po:
9847           Added Turkish translation (Baris Cicek)
9848
9849 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9850
9851         * docs/faq/troubleshooting.xml:
9852           Mention gst-register in the FAQ (fixes 139045).
9853
9854 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * docs/gst/gstreamer-sections.txt:
9857
9858 2004-04-17  Benjamin Otte  <otte@gnome.org>
9859
9860         * gst/gstelement.c: (gst_element_dispose):
9861           simplify
9862         * gst/gstpad.c: (gst_pad_call_chain_function):
9863           don't create loads of events due to bad macro usage
9864
9865 2004-04-16  David Schleef  <ds@schleef.org>
9866
9867         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9868         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9869         * gst/gstvalue.c: (gst_value_serialize_buffer),
9870         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9871         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9872         to indicate types that are fixed wrt caps or not.  Switching to
9873         this function fixes (bug #140298).
9874         * gst/gstvalue.h:
9875
9876 2004-04-16  David Schleef  <ds@schleef.org>
9877
9878         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9879         for GST_UNALIGNED_ACESS, since we essentially know which archs
9880         are ok.
9881
9882 2004-04-17  Benjamin Otte  <otte@gnome.org>
9883
9884         * docs/gst/Makefile.am:
9885           ignore gst/parse directory when building docs (fixes #140205)
9886
9887 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9888
9889         * testsuite/refcounting/mem.c: (vmsize):
9890           do error checking
9891
9892 2004-04-16  Johan Dahlin  <johan@gnome.org>
9893
9894         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9895         and gst_pad_call_get_function.
9896
9897 2004-04-15  David Schleef  <ds@schleef.org>
9898
9899         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9900         checks if we can access unaligned memory.
9901         * configure.ac: Use it.
9902
9903 2004-04-16  Benjamin Otte  <otte@gnome.org>
9904
9905         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9906         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9907         * gst/elements/gstfilesrc.h:
9908           s/seek_happened/need_discont/ and require discont before sending any
9909           data
9910
9911 2004-04-15  David Schleef  <ds@schleef.org>
9912
9913         * gst/gstvalue.c: (gst_value_serialize_buffer),
9914         (gst_value_deserialize_buffer), (_gst_value_initialize):
9915         Register these types as fundamental types. (bug #140015)
9916
9917 2004-04-16  Benjamin Otte  <otte@gnome.org>
9918
9919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9920         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9921         (gst_pad_pull):
9922           implement enforcing discont events before buffers are passed. This
9923           allows state changes of only some elements and later correctly going
9924           on where they left off (or in short: you can now set audio sinks to
9925           NULL to release the device when the pipeline is paused)
9926         * gst/gstpad.c: (gst_pad_call_chain_function),
9927         (gst_pad_call_get_function):
9928         * gst/gstpad.h:
9929           add gst_pad_call_chain_function and gst_pad_call_get_function for
9930           scheduler interaction. They are required because of the changes
9931           above.
9932         * gst/schedulers/entryscheduler.c: (get_buffer),
9933         (gst_entry_scheduler_chain_wrapper),
9934         (gst_entry_scheduler_get_wrapper),
9935         (gst_entry_scheduler_state_transition),
9936         (gst_entry_scheduler_pad_link):
9937         * gst/schedulers/gstbasicscheduler.c:
9938         (gst_basic_scheduler_chain_wrapper),
9939         (gst_basic_scheduler_src_wrapper),
9940         (gst_basic_scheduler_chainhandler_proxy),
9941         (gst_basic_scheduler_gethandler_proxy),
9942         (gst_basic_scheduler_cothreaded_chain),
9943         (gst_basic_scheduler_chain_elements):
9944         * gst/schedulers/gstoptimalscheduler.c:
9945         (get_group_schedule_function), (pad_clear_queued),
9946         (gst_opt_scheduler_pad_link):
9947           use the new functions instead of calling get/chain-functions
9948           directly.
9949
9950 2004-04-15  David Schleef  <ds@schleef.org>
9951
9952         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9953         * docs/gst/tmpl/gstinfo.sgml: same
9954         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9955         gtk-doc put here.
9956         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9957         * examples/queue/queue.c: (main):  We iterate pipelines, not
9958         bins.  (bug #139996)
9959
9960 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9961
9962         * docs/pwg/advanced-types.xml:
9963           Add MS RLE support. Also document Qt RLE although I have no sample
9964           files for that yet. And document an extra property for ADPCM.
9965
9966 2004-04-15  David Schleef  <ds@schleef.org>
9967
9968         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9969         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9970         Windows.
9971
9972 2004-04-15  David Schleef  <ds@schleef.org>
9973
9974         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9975         symbol names to not conflict with new gstinfo.h symbols.
9976         * gst/gstinfo.h: Add inline functions for all those crazy
9977         compilers that don't know how to handle variadic macros (MSVC).
9978
9979 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9980
9981         * configure.ac: bump nano to 1
9982
9983 === release 0.8.1 ===
9984
9985 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9986
9987         * NEWS:
9988         * RELEASE:
9989         * configure.ac:
9990           releasing 0.8.1, "Snow Brigade"
9991
9992 2004-04-14  David Schleef  <ds@schleef.org>
9993
9994         * testsuite/Makefile.am: define tests_ignore
9995         * testsuite/Rules: Added new tests_ignore, which get compiled,
9996         but not run (generally because they're inconsistent or have
9997         heisenbugs).  Now we can ensure all the .c files compile in
9998         testsuite/.
9999         * testsuite/bins/Makefile.am: define tests_ignore
10000         * testsuite/bytestream/Makefile.am:
10001         * testsuite/caps/Makefile.am:
10002         * testsuite/clock/Makefile.am:
10003         * testsuite/debug/Makefile.am:
10004         * testsuite/debug/global.c: (gst_debug_log_one),
10005         (gst_debug_log_two): Fix compilation problem.
10006         * testsuite/dynparams/Makefile.am:
10007         * testsuite/elements/Makefile.am:
10008         * testsuite/ghostpads/Makefile.am:
10009         * testsuite/indexers/Makefile.am:
10010         * testsuite/parse/Makefile.am:
10011         * testsuite/plugin/Makefile.am:
10012         * testsuite/refcounting/Makefile.am:
10013         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10014         results, because it's not calculated correctly.
10015         * testsuite/refcounting/pad.c: (main): same
10016         * testsuite/states/Makefile.am:
10017         * testsuite/tags/Makefile.am:
10018         * testsuite/threads/Makefile.am:
10019
10020 2004-04-14  David Schleef  <ds@schleef.org>
10021
10022         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10023         generating bad code around the cpu detection asm code.
10024
10025 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * tools/gst-inspect.c: (print_element_info):
10028           print numeric version of rank as well, since we added some - 1
10029           rank values to elements
10030
10031 2004-04-13  David Schleef  <ds@schleef.org>
10032
10033         * configure.ac:  Disable various code when compiling for MinGW.
10034         * gst/elements/Makefile.am:
10035         * gst/elements/gstelements.c:
10036         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10037         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10038         * gst/registries/gstxmlregistry.c: (make_dir):
10039
10040 2004-04-13  David Schleef  <ds@schleef.org>
10041
10042         * gst/Makefile.am:
10043         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10044         assembly.
10045         * gst/gstcpuid_i386.s: remove
10046
10047 2004-04-13  David Schleef  <ds@schleef.org>
10048
10049         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10050         seems to think it needs to be done.
10051         * docs/gst/tmpl/gstfakesink.sgml:
10052         * docs/gst/tmpl/gstfakesrc.sgml:
10053         * docs/gst/tmpl/gstfdsink.sgml:
10054         * docs/gst/tmpl/gstfdsrc.sgml:
10055         * docs/gst/tmpl/gstfilesink.sgml:
10056         * docs/gst/tmpl/gstfilesrc.sgml:
10057         * docs/gst/tmpl/gstidentity.sgml:
10058         * docs/gst/tmpl/gstmd5sink.sgml:
10059         * docs/gst/tmpl/gstmultifilesrc.sgml:
10060         * docs/gst/tmpl/gstpipefilter.sgml:
10061         * docs/gst/tmpl/gstshaper.sgml:
10062         * docs/gst/tmpl/gstspider.sgml:
10063         * docs/gst/tmpl/gstspideridentity.sgml:
10064         * docs/gst/tmpl/gststatistics.sgml:
10065         * docs/gst/tmpl/gsttee.sgml:
10066         * docs/gst/tmpl/gsttypefind.sgml:
10067         * docs/gst/tmpl/gstutils.sgml:
10068
10069 2004-04-13  David Schleef  <ds@schleef.org>
10070
10071         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10072         and to build DLLs on Windows.
10073         * gst/Makefile.am:
10074         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10075         (gst_filesrc_open_file):
10076         * gst/schedulers/Makefile.am:
10077
10078 2004-04-13  David Schleef  <ds@schleef.org>
10079
10080         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10081         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10082         fixating lists.
10083
10084 2004-04-12  David Schleef  <ds@schleef.org>
10085
10086         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10087         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10088         to using it.
10089         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10090         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10091         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10092         * gst/gststructure.c: (gst_structure_set_valist),
10093         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10094         support for buffers.
10095         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10096         intended to be const.
10097         * gst/gsttag.h: same
10098         * gst/gstvalue.c: (gst_value_serialize_buffer),
10099         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10100         to (de)serialize buffers.
10101         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10102         * testsuite/caps/string-conversions.c: (main):
10103         * testsuite/caps/value_serialize.c: add new test
10104
10105 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10106
10107         * docs/pwg/advanced-types.xml:
10108           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10109
10110 2004-04-11  Benjamin Otte  <otte@gnome.org>
10111
10112         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10113           rename categories to basic_*
10114         * gst/schedulers/gstbasicscheduler.c: 
10115         (gst_basic_scheduler_chain_wrapper),
10116         (gst_basic_scheduler_chainhandler_proxy),
10117         (gst_basic_scheduler_gethandler_proxy),
10118         (gst_basic_scheduler_eventhandler_proxy):
10119           debugging category fixes - put common stuff in log category
10120         * gst/schedulers/gstbasicscheduler.c: 
10121         (gst_basic_scheduler_chain_elements):
10122           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10123           active and linking two active chains
10124
10125 2004-04-10  Benjamin Otte  <otte@gnome.org>
10126
10127         * docs/pwg/intro-preface.xml:
10128           fix dead links and remove reference to Wiki
10129
10130 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10131
10132         * gst/schedulers/gstbasicscheduler.c:
10133           make sure we can switch back to the main function if we're still in
10134           the main function (supposed to fix #139617)
10135         * gst/schedulers/gthread-cothreads.h:
10136           don't throw an error when switching to the same cothread
10137
10138 2004-04-09  Benjamin Otte  <otte@gnome.org>
10139
10140         * gst/gstbin.c: (gst_bin_get_type):
10141         * gst/gstclock.c: (gst_clock_get_type):
10142         * gst/gstindex.c: (gst_index_get_type):
10143         * gst/gstobject.c: (gst_object_get_type),
10144         (gst_signal_object_get_type):
10145         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10146         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10147         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10148         * gst/gstqueue.c: (gst_queue_get_type):
10149         * gst/gstregistry.c: (gst_registry_get_type):
10150         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10151         * gst/gstthread.c: (gst_thread_get_type):
10152           don't use memchunks for these objects, use malloc instead
10153
10154 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10155
10156         * docs/gst/.cvsignore:
10157         * docs/gst/Makefile.am:
10158         * docs/gst/gstreamer-sections.txt:
10159         * docs/gst/tmpl/gstaggregator.sgml:
10160         * docs/gst/tmpl/gstbuffer.sgml:
10161         * docs/gst/tmpl/gstclock.sgml:
10162         * docs/gst/tmpl/gstelement.sgml:
10163         * docs/gst/tmpl/gstfakesink.sgml:
10164         * docs/gst/tmpl/gstfakesrc.sgml:
10165         * docs/gst/tmpl/gstfdsink.sgml:
10166         * docs/gst/tmpl/gstfdsrc.sgml:
10167         * docs/gst/tmpl/gstfilesink.sgml:
10168         * docs/gst/tmpl/gstfilesrc.sgml:
10169         * docs/gst/tmpl/gstidentity.sgml:
10170         * docs/gst/tmpl/gstindex.sgml:
10171         * docs/gst/tmpl/gstinfo.sgml:
10172         * docs/gst/tmpl/gstmd5sink.sgml:
10173         * docs/gst/tmpl/gstmultifilesrc.sgml:
10174         * docs/gst/tmpl/gstpad.sgml:
10175         * docs/gst/tmpl/gstpipefilter.sgml:
10176         * docs/gst/tmpl/gstpipeline.sgml:
10177         * docs/gst/tmpl/gstpluginfeature.sgml:
10178         * docs/gst/tmpl/gstqueue.sgml:
10179         * docs/gst/tmpl/gstregistry.sgml:
10180         * docs/gst/tmpl/gstscheduler.sgml:
10181         * docs/gst/tmpl/gstshaper.sgml:
10182         * docs/gst/tmpl/gstspider.sgml:
10183         * docs/gst/tmpl/gstspideridentity.sgml:
10184         * docs/gst/tmpl/gststatistics.sgml:
10185         * docs/gst/tmpl/gstsystemclock.sgml:
10186         * docs/gst/tmpl/gsttee.sgml:
10187         * docs/gst/tmpl/gstthread.sgml:
10188         * docs/gst/tmpl/gsttypefind.sgml:
10189         * docs/gst/tmpl/gstutils.sgml:
10190           further doc build fixes
10191
10192 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * docs/gst/Makefile.am:
10195           make docs exit on scanning problems
10196           fix nonsrcdir build issues
10197         * docs/gst/gstreamer-sections.txt:
10198           adding stuff from -unused
10199         * gst/gstqueue.h:
10200           create GstQueueSize
10201         * gst/schedulers/cothreads_compat.h:
10202           fix cothread warnings
10203
10204 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10205
10206         * docs/gst/gstreamer-sections.txt:
10207           remove defines deprecated by Benjamin
10208
10209 2004-04-07  Benjamin Otte  <otte@gnome.org>
10210
10211         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10212           when the buffer is complete, don't check if other buffers are needed
10213         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10214           check that the offset is >0 so we don't try to read before the
10215           beginning of the file
10216         * gst/gstpad.c: (gst_pad_set_pad_template):
10217           sink the template, so we don't end up with 130k pad templates
10218
10219 2004-04-06  Benjamin Otte  <otte@gnome.org>
10220
10221         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10222           don't ref the element, adding already reffed it. And we didn't unref
10223           it later anyway... (huge memleak when you used many spider elements)
10224         * gst/gstelement.c: (gst_element_base_class_finalize):
10225         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10226         (gst_element_register):
10227         * gst/gsturi.c: (gst_element_make_from_uri):
10228           use gst_object_(un)ref instead of g_object(un)ref
10229
10230 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10231
10232         * gst/gstbuffer.h:
10233           remove macro that wouldn't work anymore because struct member has
10234           been removed.
10235         * gst/schedulers/entryscheduler.c: (schedule_forward):
10236           fix segfault for unconnected pads
10237         
10238 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10239
10240         reviewed by David Schleef <ds@schleef.org>
10241
10242         * gst/gstinfo.h:
10243           *_FORMAT modifiers should require putting a % in front of them for
10244           consistency reasons.
10245
10246 2004-04-05  Colin Walters  <walters@redhat.com>
10247
10248         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10249         space.
10250
10251 2004-04-05  Benjamin Otte  <otte@gnome.org>
10252
10253         * configure.ac:
10254         * gst/Makefile.am:
10255         * gst/gst_private.h:
10256         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10257           add support for detecting if GStreamer runs inside valgrind.
10258           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10259           print a big message in valgrind that GStreamer has detected it's
10260           running inside and might now use different code.
10261         * gst/gstmemchunk.c: (populate), (free_area),
10262         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10263         (gst_mem_chunk_free):
10264           flag memchunks for valgrind, so it can detect leaking of chunks.
10265           This allows detecting leaks of GstBuffer and GstEvent correctly
10266           inside valgrind.
10267
10268 2004-04-05  David Schleef  <ds@schleef.org>
10269
10270         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10271           jensgr@gmx.net (Jens Granseuer)
10272
10273 2004-04-05  David Schleef  <ds@schleef.org>
10274
10275         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10276         (gst_buffer_default_free), (gst_buffer_default_copy),
10277         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10278         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10279         structures in one place.
10280
10281 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10282
10283         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10284           (GST_TIME_FORMAT, GST_TIME_ARGS)
10285
10286 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * testsuite/elements/Makefile.am:
10289           disable test until it stops breaking make distcheck
10290
10291 2004-04-05  Johan Dahlin  <johan@gnome.org>
10292
10293         * po/sv.po: Updated translation
10294
10295 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * gst/gstplugin.c: (gst_plugin_load_file):
10298           fix segfault for when original plugin was loaded statically
10299
10300 2004-04-05  Benjamin Otte  <otte@gnome.org>
10301
10302         * testsuite/debug/category.c: (main):
10303         * testsuite/debug/commandline.c: (main):
10304         * testsuite/debug/output.c: (main):
10305           fix tests to work again with debugging enabled
10306
10307 2004-04-05  Benjamin Otte  <otte@gnome.org>
10308
10309         * gst/schedulers/gstbasicscheduler.c:
10310         (gst_basic_scheduler_pad_link):
10311           fix to work with recent scheduling changes
10312
10313 2004-04-05  Benjamin Otte  <otte@gnome.org>
10314
10315         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10316         prepareChangeLog doesn't work when cvs indents):
10317           don't throw an error when no element can be scheduled, there's too
10318           many weird reasons why it doesn't work. Return STOPPED instead.
10319           decoupled elemts' schedulability doesn't depend on bufpens.
10320
10321 2004-04-04  Benjamin Otte  <otte@gnome.org>
10322
10323         * gst/schedulers/gstbasicscheduler.c:
10324         (gst_basic_scheduler_pad_select):
10325           fix uninitialized variable warnings
10326
10327 2004-04-04  Benjamin Otte  <otte@gnome.org>
10328
10329         * gst/gstpad.c: (gst_pad_collect_valist):
10330           fix uninitialized variable warning
10331         * gst/schedulers/entryscheduler.c: (schedule_forward):
10332           fix shadowed variable
10333
10334 2004-04-04  Benjamin Otte  <otte@gnome.org>
10335
10336         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10337         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10338         (gst_pad_select):
10339         * gst/gstpad.h:
10340         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10341         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10342         * gst/gstscheduler.h:
10343           implement gst_pad_collect as replacement for gst_pad_select.
10344           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10345           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10346           new pad_select, lock and unlock calls.
10347         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10348         * gst/cothreads.h:
10349         * gst/schedulers/cothreads_compat.h:
10350         * gst/schedulers/gthread-cothreads.h:
10351           remove unused cothread_lock and cothread_unlock calls
10352         * gst/schedulers/entryscheduler.c:
10353         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10354         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10355         (gst_entry_scheduler_pad_select):
10356           update to new API
10357         * gst/schedulers/gstbasicscheduler.c:
10358         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10359         (gst_basic_scheduler_pad_select):
10360           remove useless lock and unlock calls, update pad_select to new API
10361           (untested)
10362         * gst/schedulers/gstoptimalscheduler.c:
10363         (gst_opt_scheduler_class_init):
10364           remove useless select, lock and unlock function calls
10365         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10366           use gst_pad_collect instead of gst_pad_select
10367
10368 2004-04-04  Benjamin Otte  <otte@gnome.org>
10369
10370         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10371         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10372         (schedule_next_element), (print_entry):
10373           add can_schedule_pad to handle element states.
10374           add schedule_forward to select the correct entry to schedule next
10375
10376 2004-04-03  Benjamin Otte  <otte@gnome.org>
10377
10378         * gst/schedulers/entryscheduler.c: 
10379           remove unused variable, fix error inside Rb, fix compile warning in
10380           unreachable code
10381
10382 2004-04-03  Benjamin Otte  <otte@gnome.org>
10383
10384         * gst/schedulers/entryscheduler.c:
10385           completely revamp the inner workings, so it's a lot easier to
10386           understand and extend
10387
10388 2004-04-03  Andy Wingo  <wingo@pobox.com>
10389
10390         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10391         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10392         This allows better introspection of pipeline topology.
10393         (add_to_chain): Don't do trickery to put loop elements first;
10394         rather, queue a chain sort by marking the chain as dirty.
10395         (remove_from_chain): Mark the chain dirty.
10396         (sort_chain): New function. Sorts the group list so that terminal
10397         sinks are first. This means elements on the sink side will be
10398         preferentially sscheduled before elements on the src side of the
10399         pipeline.
10400         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10401         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10402         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10403         (group_inc_link): Change argument and variable names to match the
10404         new link structure member names (src and sink).
10405         (group_dec_link): Add some description
10406
10407 2004-04-03  Benjamin Otte  <otte@gnome.org>
10408
10409         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10410         * gst/gstinfo.h:
10411         * testsuite/debug/category.c: (main):
10412         * testsuite/debug/commandline.c: (main):
10413         * testsuite/debug/output.c: (main):
10414         * testsuite/debug/printf_extension.c: (main):
10415           fix to successfully build and test with --disable-gst-debug
10416           configure switch (fixes #138705)
10417
10418 2004-04-03  Benjamin Otte  <otte@gnome.org>
10419
10420         * docs/pwg/building-boiler.xml:
10421           add cvs login line and s/anonymous/anoncvs/
10422
10423 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10424
10425         reviewed by Benjamin Otte  <otte@gnome.org>
10426
10427         * gst/gststructure.c: (gst_structure_free):
10428           memleak fix: free fields array (partial fix for #134839)
10429
10430 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10431
10432         * docs/random/ds/0.9-suggested-changes:
10433           Add a note to change handoff use in fakesrc to be usable in
10434           a more generic way (fakesrc should be renamed to appsrc or so).
10435         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10436           Change signal type to scope, so we can fill the buffer in the
10437           handoff handler (that's the whole use of this signal...).
10438
10439 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10440
10441         * docs/pwg/other-ntoone.xml:
10442           Document muxers and n-to-1 elements.
10443
10444 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10445
10446         * gst/registries/gstxmlregistry.c
10447         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10448         determine if a file is a G_MODULE. The old one discards paths
10449         containing "so" somewhere in the middle. My home directory is
10450         called "soto". Go figure...
10451
10452 2004-03-31  David Schleef  <ds@schleef.org>
10453
10454         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10455         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10456         * gst/gstbuffer.h:
10457
10458 2004-03-31  David Schleef  <ds@schleef.org>
10459
10460         * gst/gstvalue.c: (gst_value_union_int_int_range),
10461         (gst_value_union_int_range_int_range), (gst_value_can_union),
10462         (gst_value_union), (_gst_value_initialize):  Add some union
10463         implementations.  We didn't have any previously.
10464         * testsuite/caps/Makefile.am:
10465         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10466         (gst_audioscale_getcaps), (test_caps), (main): A little test
10467         that is the same as the caps manipulation in audioscale.
10468
10469 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10470
10471         * docs/faq/general.xml:
10472           add entry about "does gst support format X?"
10473
10474 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10475
10476         * gst/gstthread.c:
10477           fix docs
10478         * gst/gstutils.h:
10479           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10480
10481 2004-03-30  Benjamin Otte  <otte@gnome.org>
10482
10483         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10484           set the offset of the buffer to the requested offset
10485         * gst/elements/gsttypefind.c: (stop_typefinding):
10486           revert patch 1.18 (which I unfortunately don't know the reason for).
10487           This is needed to allow downstream elements to seek. Otherwise
10488           typefind might overwrite a previous seek by downstream elements.
10489           This lead to errors with id3tag and typefind on some mp3s.
10490         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10491         (gst_entry_scheduler_iterate):
10492           be more verbose when debugging
10493
10494 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10495
10496         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10497           make sure we don't get NULL strings
10498
10499 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10500
10501         * gst/gstcaps.c:
10502         * gst/gstelement.c:
10503         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10504         * gst/gstindex.c: (gst_index_resolver_get_type),
10505         (gst_index_get_type), (gst_index_factory_get_type):
10506         * gst/gstinfo.c:
10507         * gst/gstpad.c:
10508         * gst/gstplugin.c:
10509         * gst/gsturi.c: (gst_uri_handler_get_type):
10510         * gst/gstvalue.c:
10511           first batch of documentation fixes
10512
10513 2004-03-29  David Schleef  <ds@schleef.org>
10514
10515         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10516         * docs/gst/gstreamer-docs.sgml:  More hacking
10517         * docs/gst/gstreamer-sections.txt:
10518         * docs/gst/tmpl/cothreads_compat.sgml:
10519         * docs/gst/tmpl/gstcaps.sgml:
10520         * docs/gst/tmpl/gstclock.sgml:
10521         * docs/gst/tmpl/gstelement.sgml:
10522         * docs/gst/tmpl/gstevent.sgml:
10523         * docs/gst/tmpl/gstpad.sgml:
10524         * docs/gst/tmpl/gstutils.sgml:
10525         * docs/gst/tmpl/gstxml.sgml:
10526         * docs/gst/tmpl/gthread-cothreads.sgml:
10527         * docs/random/ds/0.9-suggested-changes:
10528         * gst/elements/gstfakesink.h: doc fixes
10529         * gst/elements/gstfakesrc.h: doc fixes
10530         * gst/gstcaps.c: doc fixes
10531         * gst/gstcaps.h: doc fixes
10532         * gst/gstelement.c: doc fixes
10533         * gst/gstelement.h: doc fixes
10534         * gst/gstindex.c: doc fixes
10535         * gst/gstinfo.c: doc fixes
10536         * gst/gstpad.c: doc fixes
10537         * gst/gstpad.h: doc fixes
10538         * gst/gstplugin.c: doc fixes
10539         * gst/gsttypefind.h: doc fixes
10540         * gst/gsturi.c: doc fixes
10541         * gst/gstvalue.c: doc fixes
10542
10543 2004-03-29  Colin Walters  <walters@redhat.com>
10544
10545         * gst/registries/gstxmlregistry.c (get_time)
10546         (plugin_times_older_than_recurse):
10547         Use the result of stat to determine whether a path is a file,
10548         so we don't attempt to opendir() files.
10549
10550 2004-03-29  Benjamin Otte  <otte@gnome.org>
10551
10552         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10553           print caps in debugging output when setting caps failed
10554         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10555         (schedule_next_element), (get_buffer), (run_chainhandler),
10556         (element_may_start), (gst_entry_scheduler_chain_handler),
10557         (gst_entry_scheduler_get_handler),
10558         (gst_entry_scheduler_state_transition),
10559         (gst_entry_scheduler_pad_link):
10560           make this scheduler a testcase for mandatory
10561           discont-before-first-buffer which is needed if we want to allow apps
10562           to release the sound device.
10563           add SCHED_ASSERT macro to print scheduler state before an assertion
10564           triggers.
10565
10566 2004-03-29  Benjamin Otte  <otte@gnome.org>
10567
10568         * COPYING:
10569           replace by LGPL (former COPYING.LIB). The core is completely
10570           licensed LGPL.
10571         * COPYING.LIB:
10572           remove
10573
10574 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10575
10576         * po/af.po:
10577         * po/sv.po:
10578           updated Afrikaans and Swedish
10579
10580 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10581
10582         * po/LINGUAS:
10583         * po/az.po:
10584           adding Azerbaijani (Mətin Əmirov)
10585
10586 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10587
10588         * gst/gstelement.h: 
10589         * gst/gstelement.c (gst_element_set_time_delay): New function for
10590         setting element time taking into account a hardware buffering
10591         delay.
10592         (gst_element_set_time): Now just an invocation of
10593         gst_element_set_time_delay.
10594         * gst/gstclock.h: 
10595         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10596         allowing to set event times in the future.
10597         (gst_clock_get_event_time): Now just an invocation of
10598         gst_clock_get_event_time_delay.
10599
10600 2004-03-28  Benjamin Otte  <otte@gnome.org>
10601
10602         * gst/gstbin.c: (gst_bin_set_element_sched),
10603         (gst_bin_unset_element_sched):
10604           don't add decoupled elements to schedulers - otherwise it's
10605           impossible to control if a link to a decoupled element was already
10606           removed from a scheduler or not.
10607         * gst/schedulers/cothreads_compat.h:
10608         * gst/schedulers/gthread-cothreads.h:
10609           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10610           is no "unused" warning.
10611         * gst/schedulers/Makefile.am:
10612         * gst/schedulers/entryscheduler.c:
10613           add new scheduler, based on ideas from talking to David and Martin.
10614           It's supposed to be small and correct. Currently it's also slow (but
10615           it's not noticable)
10616         * examples/retag/retag.c: (main):
10617         * testsuite/bytestream/test1.c: (main):
10618           fix missing NULLs at end of variadic functions
10619         * testsuite/elements/.cvsignore:
10620           update
10621
10622 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10623
10624         * gst/gstevent.h:
10625         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10626
10627 2004-03-25  David Schleef  <ds@schleef.org>
10628
10629         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10630         * docs/gst/tmpl/gstaggregator.sgml:
10631         * docs/gst/tmpl/gstautoplugfactory.sgml:
10632         * docs/gst/tmpl/gstbin.sgml:
10633         * docs/gst/tmpl/gstbuffer.sgml:
10634         * docs/gst/tmpl/gstbufferstore.sgml:
10635         * docs/gst/tmpl/gstfakesink.sgml:
10636         * docs/gst/tmpl/gstfakesrc.sgml:
10637         * docs/gst/tmpl/gstmd5sink.sgml:
10638         * docs/gst/tmpl/gstreamer-unused.sgml:
10639         * docs/gst/tmpl/gstsearchfuncs.sgml:
10640         * docs/gst/tmpl/gstshaper.sgml:
10641         * docs/gst/tmpl/gstspider.sgml:
10642         * docs/gst/tmpl/gsttee.sgml:
10643         * docs/gst/tmpl/gstutils.sgml:
10644         * docs/gst/tmpl/gstvalue.sgml:
10645         * docs/gst/tmpl/gstxml.sgml:
10646         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10647         and we don't support it.
10648         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10649         (gst_use_threads), (gst_has_threads): same
10650         * gst/gstthreaddummy.c: same
10651         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10652         * gst/autoplug/gstspider.h: same
10653         * gst/elements/gstaggregator.h: Remove bogus function from header
10654         * gst/elements/gstfakesink.h: same
10655         * gst/elements/gstfakesrc.h: same
10656         * gst/elements/gstmd5sink.h: same
10657         * gst/elements/gstshaper.h: same
10658         * gst/elements/gsttee.h: same
10659         * gst/gstbin.c: doc fixes
10660         * gst/gstbin.h: Remove unused definition.
10661         * gst/gstbuffer.c: doc fixes
10662         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10663         * gst/gstfilter.c: doc fixes
10664         * gst/gsttag.c: doc fixes
10665         * gst/gstvalue.c: doc fixes
10666
10667 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10668
10669         * docs/pwg/advanced-types.xml:
10670           Document typefinding.
10671         * docs/pwg/other-oneton.xml:
10672           Document one-to-n elements, demuxers and parsers.
10673
10674 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10675
10676         reviewed by: David Schleef  <ds@schleef.org>
10677
10678         * configure.ac: Check bison version (bug #127838)
10679
10680 2004-03-25  David Schleef  <ds@schleef.org>
10681
10682         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10683         * docs/gst/gstreamer-sections.txt:
10684         * docs/gst/tmpl/gstautoplug.sgml:
10685         * docs/gst/tmpl/gststaticautoplug.sgml:
10686         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10687         * docs/gst/tmpl/gstutils.sgml:
10688         * docs/gst/tmpl/gstxml.sgml:
10689
10690 2004-03-24  David Schleef  <ds@schleef.org>
10691
10692         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10693         manual being such complete crap, that I decided to do major
10694         hacking of it.  This checkin replaces any fine tuning that
10695         may have been done previously, with the benefit of actually
10696         being complete for much of the API that was changed since
10697         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10698         * docs/gst/gstreamer-sections.txt:
10699         * docs/gst/tmpl/GstBin.sgml:
10700         * docs/gst/tmpl/GstBuffer.sgml:
10701         * docs/gst/tmpl/GstCaps.sgml:
10702         * docs/gst/tmpl/GstClock.sgml:
10703         * docs/gst/tmpl/GstCompat.sgml:
10704         * docs/gst/tmpl/GstData.sgml:
10705         * docs/gst/tmpl/GstElement.sgml:
10706         * docs/gst/tmpl/GstEvent.sgml:
10707         * docs/gst/tmpl/GstIndex.sgml:
10708         * docs/gst/tmpl/GstStructure.sgml:
10709         * docs/gst/tmpl/GstTag.sgml:
10710         * docs/gst/tmpl/cothreads.sgml:
10711         * docs/gst/tmpl/cothreads_compat.sgml:
10712         * docs/gst/tmpl/gettext.sgml:
10713         * docs/gst/tmpl/grammar.tab.sgml:
10714         * docs/gst/tmpl/gst-i18n-app.sgml:
10715         * docs/gst/tmpl/gst-i18n-lib.sgml:
10716         * docs/gst/tmpl/gst.sgml:
10717         * docs/gst/tmpl/gst_private.sgml:
10718         * docs/gst/tmpl/gstaggregator.sgml:
10719         * docs/gst/tmpl/gstarch.sgml:
10720         * docs/gst/tmpl/gstatomic.sgml:
10721         * docs/gst/tmpl/gstatomic_impl.sgml:
10722         * docs/gst/tmpl/gstbin.sgml:
10723         * docs/gst/tmpl/gstbuffer.sgml:
10724         * docs/gst/tmpl/gstbufferstore.sgml:
10725         * docs/gst/tmpl/gstcaps.sgml:
10726         * docs/gst/tmpl/gstclock.sgml:
10727         * docs/gst/tmpl/gstcompat.sgml:
10728         * docs/gst/tmpl/gstconfig.sgml:
10729         * docs/gst/tmpl/gstcpu.sgml:
10730         * docs/gst/tmpl/gstdata.sgml:
10731         * docs/gst/tmpl/gstdata_private.sgml:
10732         * docs/gst/tmpl/gstelement.sgml:
10733         * docs/gst/tmpl/gstenumtypes.sgml:
10734         * docs/gst/tmpl/gsterror.sgml:
10735         * docs/gst/tmpl/gstevent.sgml:
10736         * docs/gst/tmpl/gstfakesink.sgml:
10737         * docs/gst/tmpl/gstfakesrc.sgml:
10738         * docs/gst/tmpl/gstfilesink.sgml:
10739         * docs/gst/tmpl/gstfilter.sgml:
10740         * docs/gst/tmpl/gstindex.sgml:
10741         * docs/gst/tmpl/gstinfo.sgml:
10742         * docs/gst/tmpl/gstinterface.sgml:
10743         * docs/gst/tmpl/gstlog.sgml:
10744         * docs/gst/tmpl/gstmacros.sgml:
10745         * docs/gst/tmpl/gstmarshal.sgml:
10746         * docs/gst/tmpl/gstmd5sink.sgml:
10747         * docs/gst/tmpl/gstmultifilesrc.sgml:
10748         * docs/gst/tmpl/gstobject.sgml:
10749         * docs/gst/tmpl/gstpad.sgml:
10750         * docs/gst/tmpl/gstparse.sgml:
10751         * docs/gst/tmpl/gstpipeline.sgml:
10752         * docs/gst/tmpl/gstplugin.sgml:
10753         * docs/gst/tmpl/gstpluginfeature.sgml:
10754         * docs/gst/tmpl/gstqueue.sgml:
10755         * docs/gst/tmpl/gstreamer-unused.sgml:
10756         * docs/gst/tmpl/gstregistry.sgml:
10757         * docs/gst/tmpl/gstregistrypool.sgml:
10758         * docs/gst/tmpl/gstscheduler.sgml:
10759         * docs/gst/tmpl/gstsearchfuncs.sgml:
10760         * docs/gst/tmpl/gstshaper.sgml:
10761         * docs/gst/tmpl/gstspider.sgml:
10762         * docs/gst/tmpl/gstspideridentity.sgml:
10763         * docs/gst/tmpl/gststructure.sgml:
10764         * docs/gst/tmpl/gstsystemclock.sgml:
10765         * docs/gst/tmpl/gsttag.sgml:
10766         * docs/gst/tmpl/gsttaginterface.sgml:
10767         * docs/gst/tmpl/gsttee.sgml:
10768         * docs/gst/tmpl/gstthread.sgml:
10769         * docs/gst/tmpl/gsttrace.sgml:
10770         * docs/gst/tmpl/gsttrashstack.sgml:
10771         * docs/gst/tmpl/gsttypefind.sgml:
10772         * docs/gst/tmpl/gsttypes.sgml:
10773         * docs/gst/tmpl/gsturi.sgml:
10774         * docs/gst/tmpl/gsturitype.sgml:
10775         * docs/gst/tmpl/gstutils.sgml:
10776         * docs/gst/tmpl/gstvalue.sgml:
10777         * docs/gst/tmpl/gstversion.sgml:
10778         * docs/gst/tmpl/gstxml.sgml:
10779         * docs/gst/tmpl/gstxmlregistry.sgml:
10780         * docs/gst/tmpl/gthread-cothreads.sgml:
10781         * docs/gst/tmpl/types.sgml:
10782
10783 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10784
10785         * docs/pwg/other-sink.xml:
10786         * docs/pwg/other-source.xml:
10787           Documentation on how to write source and sink elements. Other
10788           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10789           manager, autoplugger) are all still pending.
10790
10791 2004-03-25  Benjamin Otte  <otte@gnome.org>
10792
10793         * testsuite/elements/Makefile.am:
10794         * testsuite/elements/gst-compprep-check:
10795           add check to make sure gst-compprep works
10796         * testsuite/elements/gst-inspect-check.in:
10797           improve initialization output
10798         * testsuite/Makefile.am:
10799         * testsuite/gst-inspect-check:
10800           remove old file
10801
10802 2004-03-24  David Schleef  <ds@schleef.org>
10803
10804         * testsuite/elements/Makefile.am:
10805         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10806         to the testsuite.
10807
10808 2004-03-24  Benjamin Otte  <otte@gnome.org>
10809
10810         * libs/gst/control/dparam.c: (gst_dparam_attach),
10811         (gst_dparam_detach):
10812         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10813           fix lvalue casts for real
10814
10815 2004-03-24  Benjamin Otte  <otte@gnome.org>
10816
10817         * gst/schedulers/gstbasicscheduler.c:
10818         (gst_basic_scheduler_src_wrapper):
10819         * gst/schedulers/gstoptimalscheduler.c:
10820         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10821         (pad_clear_queued), (gst_opt_scheduler_add_element),
10822         (gst_opt_scheduler_remove_element):
10823           fix GStreamer to not have issues with lvalue casts anymore (fixes
10824           #136841)
10825
10826 2004-03-24  Benjamin Otte  <otte@gnome.org>
10827
10828         * gst/gstelement.c:
10829           add documentation about a gobject quirk where the object hasn't the
10830           correct class pointer set on initialization
10831         * gst/schedulers/gstbasicscheduler.c:
10832         (gst_basic_scheduler_src_wrapper):
10833           make sure to not run into an infinite loop
10834
10835 2004-03-22  Benjamin Otte  <otte@gnome.org>
10836
10837         * gst/gstutils.c: (gst_util_dump_mem):
10838         * gst/gstutils.h:
10839           first argument of gst_util_dump_mem should be const
10840
10841 2004-03-22  Johan Dahlin  <johan@gnome.org>
10842
10843         * gst/gstvalue.h: Clean up a little bit.
10844
10845 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10846
10847         reviewed by Benjamin Otte  <otte@gnome.org>
10848
10849         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10850         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10851         (gst_aggregator_class_init), (gst_aggregator_init):
10852         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10853         (gst_filesrc_dispose), (gst_filesrc_set_location):
10854         * gst/elements/gstidentity.c: (gst_identity_finalize),
10855         (gst_identity_class_init), (gst_identity_chain):
10856         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10857         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10858         (gst_statistics_class_init):
10859         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10860         (gst_tee_get_property):
10861           clean up used memory in this elements correctly on teardown (closes
10862           #137279)
10863
10864 2004-03-20  Colin Walters  <walters@redhat.com>
10865
10866         * gst/registries/gstxmlregistry.c:
10867         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10868         registry saving atomic.
10869
10870 2004-03-20  Colin Walters  <walters@redhat.com>
10871
10872         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10873         Just use
10874         access() instead of actually creating and deleting files.
10875
10876 2004-03-18  David Schleef  <ds@schleef.org>
10877
10878         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10879         (bug #137625)
10880
10881 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * po/sv.po: updated translation (Christian Rose)
10884
10885 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10888         (gst_filesink_get_query_types), (_do_init),
10889         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10890           return FALSE silently
10891         * po/af.po: updated translation (Petri Jooste)
10892
10893 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10894
10895         * Makefile.am:
10896         * configure.ac:
10897           dist common properly
10898         * po/af.po:
10899         * po/fr.po:
10900         * po/nl.po:
10901         * po/sr.po:
10902         * po/sv.po:
10903           refreshing translations
10904
10905 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * po/LINGUAS:
10908         * po/sv.po:
10909         * po/af.po:
10910           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10911
10912 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10913
10914         * Makefile.am: use common/release.mak
10915
10916 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10917
10918         * docs/faq/gst-uninstalled:
10919           adding gst-monkeysaudio to the list of possible plugin dirs
10920
10921 2004-03-16  David Schleef  <ds@schleef.org>
10922
10923         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10924         (gst_init_check_with_popt_table):  Fix some gettext strings to
10925         make them easier to translate.  Required making the strings
10926         non-const.
10927
10928 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10929
10930         * configure.ac: bump nano to 1
10931
10932 === release 0.8.0 ===
10933
10934 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * configure.ac: release 0.8.0, "Executive Slacks"
10937
10938 2004-03-16  Johan Dahlin  <johan@gnome.org>
10939
10940         * gst/schedulers/gstoptimalscheduler.c
10941         (gst_opt_scheduler_pad_unlink): Remove double ;,
10942         spotted by Scott Wheeler
10943
10944 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * configure.ac: bump libtool version
10947
10948 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10949
10950         * gst/gstcaps.h:
10951         * gst/gststructure.h:
10952           add reserved padding
10953
10954 2004-03-15  Benjamin Otte  <otte@gnome.org>
10955
10956         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10957           set the first parameter for select call correctly.
10958           (fixes #137230)
10959
10960 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10961
10962         * *.c,*.h: don't mix tabs and spaces
10963
10964 2004-03-15  Johan Dahlin  <johan@gnome.org>
10965
10966         * gst/schedulers/gstoptimalscheduler.c
10967         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10968         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10969
10970         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10971         
10972 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * testsuite/Rules:
10975           fix gst-register rules
10976
10977 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * testsuite/Rules:
10980           use versioned gst-register
10981
10982 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10983
10984         * docs/libs/gstreamer-libs-sections.txt:
10985           remove </SUBSECTION>
10986         * gst/gstplugin.c:
10987         * gst/gstregistry.c: (gst_registry_add_plugin):
10988         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10989         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10990           add debugging and fix some comment blocks
10991
10992 2004-03-15  Johan Dahlin  <johan@gnome.org>
10993
10994         * *.h: Revert indent changes.
10995         
10996 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10997
10998         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10999           g_error_free the g_error
11000         * tools/gst-feedback-m.m:
11001           check for other versions of gstreamer
11002         * tools/gst-indent:
11003           use sh, not bash
11004
11005 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11006
11007         * tools/gst-register.c: do not spill paths when registries are not
11008           writable, until we fix the "user running gst-register" case.
11009
11010 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11011
11012         * *.c, *.h: commit of gst-indent run on core
11013
11014 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11015
11016         * tools/gst-indent:
11017         * tools/Makefile.am:
11018           add our indentation style as a script
11019
11020 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * po/sr.po:
11023         * po/LINGUAS:
11024           added Serbian translation
11025
11026 2004-03-13  Benjamin Otte  <otte@gnome.org>
11027
11028         * gst/gstelement.c:
11029           add documentation note about gst_element_found_tags_for_pad not
11030           being usable in getfunctions. (see #137042)
11031
11032 2004-03-12  David Schleef  <ds@schleef.org>
11033
11034         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11035         change API right now!  Readd gst_caps_is_simple() macro.
11036         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11037         uninitialized variable.  I'd bet this caused crashes.
11038         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11039
11040 2004-03-12  Johan Dahlin  <johan@gnome.org>
11041
11042         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11043         * gst/gstcaps.h: Clean up
11044
11045         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11046         _gst_caps_initalize()
11047
11048         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11049         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11050
11051         * gst/gststructure.c (gst_structure_get_type): Ditto
11052
11053         * gst/gststructure.h: Ditto
11054         
11055 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11056
11057         * gst/gstqueue.c: (gst_queue_init):
11058           Reset default max. values in queues. Reason is simply to avoid
11059           braindead use. If you want wider values, use the properties. The
11060           default is supposed to always work. Wider values would make this
11061           beast a memory hog by default (250 full-PAL RGB32 video frames?
11062           That's 440 MB! No thank you).
11063
11064 2004-03-10  David Schleef  <ds@schleef.org>
11065
11066         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11067         were found.  (bug #136793)
11068
11069 2004-03-10  Johan Dahlin  <johan@gnome.org>
11070
11071         * gst/schedulers/gstoptimalscheduler.c
11072         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11073         links to elements within the same group, so we can finally remove
11074         that annoying warning. Refactor the code a little bit
11075         (group_dec_links_for_element): Split out
11076
11077 2004-03-09  David Schleef  <ds@schleef.org>
11078
11079         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11080         (bug #134863)
11081
11082 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11083
11084         * configure.ac: first bug fix due to major/minor bump
11085
11086 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * configure.ac: bump nano to 1
11089
11090 === release 0.7.6 ===
11091
11092 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11093
11094         * NEWS:
11095         * RELEASE:
11096         * configure.ac:
11097           releasing 0.7.6, "Almost"
11098         * po/fr.po:
11099         * po/nl.po:
11100         * tools/Makefile.am:
11101         * tools/gst-feedback-m.m:
11102           unversioned source
11103
11104 2004-03-09  Johan Dahlin  <johan@gnome.org>
11105
11106         Reviewed by: Thomas Vander Stichele
11107
11108         * gst/gstelement.c (gst_element_class_init): register second
11109         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11110         language bindings can (de)marshall correctly.
11111
11112         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11113
11114         * gst/gsterror.c (gst_g_error_get_type): New function
11115
11116         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11117         with VOID:OBJECT,OBJECT,STRING 
11118
11119 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11120
11121         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11122         Free a leaked g_timer on early returns.
11123
11124 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11125
11126         * docs/pwg/advanced-types.xml:
11127           Add cinepak description.
11128
11129 2004-03-07  David Schleef  <ds@schleef.org>
11130
11131         * docs/random/mimetypes:  Added cinepak description
11132
11133 2004-03-07  Andy Wingo  <wingo@pobox.com>
11134
11135         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11136
11137         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11138         there are no links to other groups when a group is destroyed.
11139         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11140         removed from a group, make sure the link count to elements linked
11141         to other pads is appropriately decremented. This really fixes
11142         #135672.
11143
11144         The 1.60->1.61 patch has been reapplied in light of this fix.
11145
11146         * gst/gstelement.c (gst_element_dispose): Really protect against
11147         multiple invocations this time.
11148
11149 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * docs/gst/gstreamer-sections.txt:
11152         * docs/gst/tmpl/gsttag.sgml:
11153           remove some deprecated functions, document some existing ones
11154         * gst/gsttag.c: (gst_tag_get_flag):
11155         * gst/gsttag.h:
11156           add accessor function
11157
11158 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * docs/gst/gstreamer-sections.txt:
11161         * docs/gst/tmpl/gsttag.sgml:
11162         * docs/gst/tmpl/gstxml.sgml:
11163         * gst/gsttag.c: (gst_tag_get_flag):
11164         * gst/gsttag.h:
11165
11166 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11167
11168         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11169         leak
11170
11171 2004-03-05  David Schleef  <ds@schleef.org>
11172
11173         * REQUIREMENTS: Add bison and flex.
11174         * configure.ac: Fix comment about bison.
11175         * docs/random/ds/0.9-suggested-changes: yer ma
11176         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11177
11178 2004-03-05  Benjamin Otte  <otte@gnome.org>
11179
11180         * gst/gstelement.c: (gst_element_error_full):
11181           revert recent recursive state changing commit - messing with other
11182           elements' states is evil and should be done by apps only.
11183
11184 2004-03-05  Benjamin Otte  <otte@gnome.org>
11185
11186         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11187           check for empty intersection instead of NULL caps
11188         (gst_element_get_compatible_pad_filtered):
11189           remove old workaround that is only a bug nowadays
11190
11191 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11192
11193         * gst/gstelement.c: (gst_element_error_full):
11194           make elements try to recursively change state to PAUSED on all
11195           parents after an error to suppress ensuing warnings
11196         * gst/parse/grammar.y:
11197           make it check if it was able to sync the state, and throw an error
11198           if not, so stuff like
11199           oggdemux ! vorbisdec ! osssink gets caught
11200
11201 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11202
11203         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11204           it contains lib64; use AS_AC_EXPAND to handle it properly
11205
11206 2004-03-05  David Schleef  <ds@schleef.org>
11207
11208         * gst/gstcpuid_i386.s:  Remove unused code
11209         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11210         (gst_getbits_newbuf): Remove MMX code
11211         * libs/gst/getbits/getbits.h: Remove MMX code
11212
11213 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11214
11215         * debian/.cvsignore:
11216         * debian/README.Debian:
11217         * debian/changelog:
11218         * debian/control:
11219         * debian/control.in:
11220         * debian/copyright:
11221         * debian/gstreamer-core-libs-dev.files:
11222         * debian/gstreamer-core-libs.files:
11223         * debian/gstreamer-core.files:
11224         * debian/gstreamer-core.postinst:
11225         * debian/gstreamer-core.postrm:
11226         * debian/gstreamer-doc.files:
11227         * debian/gstreamer-doc.links:
11228         * debian/gstreamer-doc.lintian:
11229         * debian/gstreamer-runtime.files:
11230         * debian/gstreamer-runtime.manpages:
11231         * debian/gstreamer-runtime.postinst:
11232         * debian/gstreamer-runtime.postrm:
11233         * debian/gstreamer-tools.files:
11234         * debian/gstreamer-tools.manpages:
11235         * debian/libgstreamer-dev.files:
11236         * debian/libgstreamer0.4.1.files:
11237         * debian/libgstreamerVERSION.files:
11238         * debian/rules:
11239         Debian package info not maintained here.
11240
11241 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11242
11243         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11244         * gst/gstbin.c: (gst_bin_class_init):
11245         * gst/gstelement.c: (gst_element_class_init):
11246         * gst/gstindex.c: (gst_index_class_init):
11247         * gst/gstobject.c: (gst_object_class_init),
11248         (gst_signal_object_class_init):
11249         * gst/gstpad.c: (gst_pad_template_class_init):
11250         * gst/gstregistry.c: (gst_registry_class_init):
11251         * gst/gsturi.c: (gst_uri_handler_base_init):
11252         * gst/gstxml.c: (gst_xml_class_init):
11253         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11254         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11255           make all signal names use dashes instead of underscore
11256
11257 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11258
11259         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11260
11261 2004-03-03  Benjamin Otte  <otte@gnome.org>
11262
11263         * gst/schedulers/gstoptimalscheduler.c:
11264           revert last commit by Andy Wingo. It causes segfaults on unreffing
11265           in Rhythmbox. (see bug #135672)
11266
11267 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11268
11269         * po/fr.po: fix typo
11270
11271 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11272
11273         * tools/gst-inspect.c: (main): 
11274         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11275
11276 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11277
11278         * configure.ac:
11279           get GLIB_ONLY and POPT flags for the nonversioned binaries
11280         * tools/Makefile.am:
11281           use them
11282
11283 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11284
11285         * gst/gst.c: (init_post):
11286           change so that GST_REGISTRY now is where the global registry gets
11287           saved, since that is where plugins now get attached to first, and
11288           spilled over to the user registry.  Note that in the case of using
11289           GST_REGISTRY env var, we don't want to affect any real registries
11290           beyond the one given by this var, and thus we don't set a user
11291           registry to spill to.  So make sure GST_REGISTRY is writable.
11292
11293 2004-03-01  David Schleef  <ds@schleef.org>
11294
11295         * AUTHORS:  Added some names.  Add yourself if you're missing.
11296
11297 2004-03-01  David Schleef  <ds@schleef.org>
11298
11299         * MAINTAINERS: Add
11300
11301 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * configure.ac:
11304           remove whitespace
11305         * docs/gst/tmpl/gstbuffer.sgml:
11306         * docs/gst/tmpl/gstdata.sgml:
11307         * docs/gst/tmpl/gstreamer-unused.sgml:
11308         * docs/gst/tmpl/gstxml.sgml:
11309           doc update
11310         * docs/manuals.mak:
11311           add a FIXME
11312         * docs/pwg/intro-preface.xml:
11313         * docs/pwg/pwg.xml:
11314           remove GNOME
11315         * gst/gst.c: (init_post):
11316           try GST_PLUGIN_PATH paths for the _global_registry first
11317         * gst/gstelement.h:
11318           add the error message as well, otherwise (null) debug info doesn't
11319           make much sense
11320         * tools/gst-register.c: (main):
11321           spill paths to next registry if this registry is not writable
11322         * po/fr.po:
11323         * po/nl.po:
11324           translation updates
11325
11326 2004-03-01  Johan Dahlin  <johan@gnome.org>
11327
11328         * gst/gstbuffer.c (_gst_buffer_initialize): 
11329         * gst/gstdata.c (gst_data_get_type): 
11330         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11331         instead of ref, since some applications that uses GBoxed
11332         routines depends on a function that actually returns a copy.
11333
11334 2004-02-27  Benjamin Otte  <otte@gnome.org>
11335
11336         * gst/gstbuffer.h:
11337           remove gst_buffer_free, use gst_data_unref
11338         * gst/gstdata.c: (gst_data_get_type):
11339           use refcounting in GstData GBoxed registration
11340         * gst/gstdata.h:
11341           remove gst_data_free, use gst_data_unref
11342
11343 2004-02-27  Johan Dahlin  <johan@gnome.org>
11344
11345         * gst/gstdata.c (gst_data_get_type): New function, register
11346         GstData as a GBoxed type.
11347
11348         * gst/gstdata.h (GST_TYPE_DATA): New macro
11349
11350 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11351
11352         * Makefile.am:
11353         * gstreamer.spec.in:
11354           put back RELEASE
11355         * gst/Makefile.am:
11356           clean up non-disting of built files
11357         * testsuite/debug/commandline.c:
11358           test fix for option rename
11359
11360 2004-02-26  David Schleef  <ds@schleef.org>
11361
11362         * configure.ac:  We don't really need glib-2.3.  Also remove
11363         some unneeded checks for library functions.
11364         * gst/Makefile.am:  Instead, we need to not dist files created
11365         by glib-genmarshal.
11366
11367 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11368
11369         * configure.ac:
11370           bump glib required version to 2.3.0 for g_value_takes_boxed
11371
11372  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11373
11374         * common/m4/gst-docs.m4
11375         change flavour text from enable to disable as enable is our default
11376         closes bug Bug 135304
11377
11378 === release 0.7.5 ===
11379  
11380  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11381  
11382         * NEWS:
11383           instate NEWS file
11384         * Makefile.am:
11385         * gstreamer.spec.in:
11386         * RELEASE:
11387           put back release
11388         * configure.ac:
11389         * docs/random/release:
11390           more updates
11391
11392 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11393
11394         * gst/gsttag.c: (_gst_tag_initialize):
11395         * po/fr.po:
11396         * po/nl.po:
11397           remove hyphen from codec tags
11398
11399 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * gst/parse/Makefile.am:
11402           fix dependency so that a make from a clean build works the first
11403           time
11404
11405 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11406
11407         * docs/random/release:
11408           update release strategy
11409         * po/fr.po:
11410           auto-update po file
11411         * po/nl.po:
11412           update dutch translation
11413
11414 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11415
11416         * docs/manual/debugging.xml:
11417         fix manual for new debugging system
11418
11419 2004-02-25  Andy Wingo  <wingo@pobox.com>
11420
11421         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11422         gst_pad_link_prepare. Please email the list with specific reasons
11423         for reverting.
11424
11425 2004-02-24  Andy Wingo  <wingo@pobox.com>
11426
11427         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11428         invocations.
11429
11430         * gst/schedulers/gstoptimalscheduler.c:
11431         I added a mess of prototypes at the top of the file by way of
11432         documentation. Some of the operations on chains and groups were
11433         re-organized.
11434
11435         (create_group): Added a type argument so if the group is enabled,
11436         the setup_group_scheduler knows what to do.
11437         (group_elements): Added a type argument here, too, to be passed on
11438         to create_group.
11439         (group_element_set_enabled): If an unlinked PLAYING element is
11440         added to a bin, we have to create a new group to hold the element,
11441         and this function will be called before the group is added to the
11442         chain. Thus we have a valid case for group->chain==NULL. Instead
11443         of calling chain_group_set_enabled, just set the flag on the group
11444         (the chain's status will be set when the group is added to it).
11445         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11446         Setup the group scheduler when the group is enabled, not
11447         specifically when an element goes PAUSED->PLAYING. This means
11448         PLAYING elements can be added, linked, and scheduled into a
11449         PLAYING pipeline, as was intended.
11450         (add_to_group): Don't ref the group twice. I don't know when this
11451         double-ref got in here. Removing it has the potential to cause
11452         segfaults if other parts of the scheduler are buggy. If you find
11453         that the scheduler is segfaulting for you, put in an extra ref
11454         here and see if that hacks over the underlying issue. Of course,
11455         then find out what code is unreffing a group it doesn't own...
11456         (create_group): Make the extra refcount floating, and remove it
11457         after adding the element. This means that...
11458         (unref_group): Destroy when the refcount reaches 0, not 1, like
11459         every other refcounted object in the known universe.
11460         (remove_from_group): When a group becomes empty, set it to be not
11461         active, and remove it from its chain. Don't unref it again,
11462         there's no floating reference any more.
11463         (destroy_group): We have to remove the group from the chain in
11464         remove_from_group (rather than here) to break refcounting cycles
11465         (the chain always has a ref on the group). So assert that
11466         group->chain==NULL.
11467         (ref_group_by_count): Removed, it was commented out anyway.
11468         (merge_chains): Use the remove_from_chain and add_to_chain
11469         primitives to do the reparenting, instead of rolling our own
11470         implementation.
11471         (add_to_chain): The first non-disabled group in the chain's group
11472         list will be the entry point for the chain. Because buffers can
11473         accumulate in loop elements' peer bufpens, we preferentially
11474         schedule loop groups before get groups to avoid unnecessary
11475         execution of get-based groups when the bufpens are already full.
11476         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11477         (get_group_schedule_function): Ditto.
11478         (loop_group_schedule_function): Ditto.
11479         (gst_opt_scheduler_loop_wrapper): Ditto.
11480         (gst_opt_scheduler_iterate): Ditto.
11481
11482         I understand the opt scheduler now, yippee!
11483
11484         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11485         (gst_pad_get_name, gst_pad_set_chain_function) 
11486         (gst_pad_set_get_function, gst_pad_set_event_function) 
11487         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11488         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11489         (gst_pad_set_query_function, gst_pad_get_query_types) 
11490         (gst_pad_get_query_types_default) 
11491         (gst_pad_set_internal_link_function) 
11492         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11493         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11494         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11495         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11496         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11497         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11498         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11499         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11500         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11501         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11502         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11503         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11504         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11505         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11506         argument checks, and some doc fixes.
11507
11508         (gst_pad_custom_new_from_template): Um, does anyone
11509         use these functions? Actually make a custom pad instead of a
11510         normal one.
11511         (gst_pad_try_set_caps): Transpose some checks.
11512         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11513         the pad is in negotiation.
11514         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11515         
11516         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11517
11518         * gst/gstelement.h: 
11519         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11520         on the list.
11521
11522 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11523
11524         * gst/gstbin.c: (gst_bin_add):
11525           add error for not being able to add elements
11526
11527 2004-02-22  Julien MOUTTE <julien@moutte.net>
11528
11529         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11530         audio-codec and video-codec.
11531
11532 2004-02-22  Benjamin Otte  <otte@gnome.org>
11533
11534         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11535
11536         * autogen.sh:
11537           replace test -e with test -x for mkinstalldirs to be more portable.
11538           (fixes #134816)
11539
11540 2004-02-22  Benjamin Otte  <otte@gnome.org>
11541
11542         * gst/gstpad.c:
11543           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11544           too noisy
11545         * gst/gsttag.c: (_gst_tag_initialize):
11546         * gst/gsttag.h:
11547           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11548         * libs/gst/control/dparam.c: (gst_dparam_attach):
11549         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11550           check that types for attached dparams match
11551
11552 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11553
11554         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11555         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11556         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11557           fix errors
11558
11559 2004-02-20  Andy Wingo  <wingo@pobox.com>
11560
11561         * gst/gstbin.c:
11562         * gst/gstbuffer.c:
11563         * gst/gstplugin.c:
11564         * gst/registries/gstxmlregistry.c: 
11565         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11566
11567         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11568         (gst_element_add_pad): DEBUG->INFO, some fixes.
11569         (gst_element_get_compatible_pad_template): Just see if the
11570         templates' caps intersect, not if one is a strict subset of the
11571         other. This conforms more to what gst_pad_link_intersect() does.
11572         (gst_element_class_add_pad_template): Don't memcpy the pad
11573         template, just ref it.
11574         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11575
11576         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11577         (gst_pad_link_filtered): Debug changes.
11578         (gst_pad_link_prepare): New function, consolidated from
11579         can_link_filtered and link_filtered.
11580
11581         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11582         look more like that of the functions in gstelement.c
11583
11584         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11585         object, and return the empty string if object is NULL.
11586
11587         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11588         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11589         LOG, not DEBUG. We still get flex info on debug.
11590
11591         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11592         debug string more verbose.
11593         (plugin_times_older_than): DEBUG->LOG.
11594
11595 2004-02-20  Julien MOUTTE <julien@moutte.net>
11596
11597         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11598         will emit found_tag for each stream they demux with the codec.
11599
11600 2004-02-20  Benjamin Otte  <otte@gnome.org>
11601
11602         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11603           copy navigation event correctly. Check freeing tag lists. 
11604         * gst/gstthread.c: (gst_thread_change_state):
11605           don't abort() on state changing mess - it might happen because of
11606           bugs.
11607         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11608           use boxed functions
11609         * gst/gstvalue.h:
11610           fix GST_VALUE_HOLDS_CAPS
11611
11612 2004-02-19  David Schleef  <ds@schleef.org>
11613
11614         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11615         and use it for GST_FUNCTION.  (bug #134750)
11616
11617 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11618
11619         * po/fr.po:
11620         * po/nl.po:
11621           updating translations
11622
11623 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11624
11625         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11626
11627 2004-02-18  kost@imn.htwk-leipzig.de
11628
11629         reviewed by: David Schleef  <ds@schleef.org>
11630
11631         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11632         for libgstcontrol.
11633
11634 2004-02-18  David Schleef  <ds@schleef.org>
11635
11636         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11637         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11638         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11639         * tools/gst-inspect.c: (print_element_info): Support dumping of
11640         double dparam information.
11641
11642 2004-02-17  David Schleef  <ds@schleef.org>
11643
11644         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11645         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11646         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11647         Use GST_TYPE_CAPS in signal prototype.
11648         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11649         Convert GST_TYPE_CAPS to boxed.
11650         * gst/gstelement.c: (gst_element_class_init):
11651         Use GST_TYPE_TAG_LIST in signal prototype.
11652         * gst/gstindex.c: (gst_index_class_init):
11653         * gst/gstindex.h:
11654         Add GST_TYPE_INDEX_ENTRY type.
11655         * gst/gstmarshal.list:
11656         Add necessary marshal types.
11657         * gst/gstpad.c: (gst_real_pad_class_init),
11658         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11659         (gst_pad_recover_caps_error):
11660         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11661         * gst/gststructure.c: (_gst_structure_initialize),
11662         (gst_structure_copy), (_gst_structure_copy_conditional):
11663         * gst/gststructure.h:
11664         Convert GST_TYPE_STRUCTURE to boxed.
11665         * gst/gsttag.c: (gst_tag_list_get_type):
11666         * gst/gsttag.h:
11667         Add GST_TYPE_TAG_LIST type.
11668
11669 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11670
11671         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11672         to what we agreed with david.
11673         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11674
11675 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11676
11677         * po/nl.po: update translation
11678
11679 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11680
11681         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11682           throw an error if spider is trying to play a mime type there is
11683           no decoder for
11684         * po/POTFILES.in:
11685           add gst/autoplug/gstspider.c for translation
11686
11687 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11688
11689         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11690         silently when the pad is negotiating.
11691
11692 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11693
11694         * docs/faq/Makefile.am:
11695           add script to run gstreamer uninstalled 
11696         * docs/faq/faq.xml:
11697         * docs/faq/developing.xml:
11698         * docs/faq/gst-uninstalled:
11699           extract script to run gstreamer uninstalled
11700         * docs/manuals.mak:
11701           add EXTRA_SOURCES variable for Makefile.am's to set to
11702           use additional SOURCE files for the doc build
11703
11704 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11705
11706         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11707
11708 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11709
11710         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11711         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11712         an error was thrown by osssink. Basically a state change failure for
11713         an element in a different scheduling group was considered as
11714         successful, which means that caps nego was going on and weird stuff
11715         happened. Like I wrote in the comment there, if someone wants to
11716         revert that please drop me a mail explaining why because I really see
11717         no point in keeping that broken behaviour there.
11718         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11719         be empty, we then return NULL which will trigger a nice error when 
11720         pulling from the pad.
11721
11722 2004-02-13  David Schleef  <ds@schleef.org>
11723
11724         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11725         (gst_dparam_get_property), (gst_dparam_set_property),
11726         (gst_dparam_do_update_default):
11727         * libs/gst/control/dparam.h:
11728         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11729         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11730         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11731         (gst_dpsmooth_do_update_double):
11732         * libs/gst/control/dparam_smooth.h:
11733         * libs/gst/control/dparammanager.c:
11734         (gst_dpman_inline_direct_update):
11735         Add support for double dparams.
11736
11737 2004-02-13  David Schleef  <ds@schleef.org>
11738
11739         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11740         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11741
11742 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11743
11744         reviewed by: David Schleef  <ds@schleef.org>
11745
11746         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11747         (gst_fdsrc_init), (gst_fdsrc_set_property),
11748         (gst_fdsrc_get_property), (gst_fdsrc_get):
11749         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11750         and sends an EOS event if file descriptor reading times out.
11751
11752 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * configure.ac:
11755           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11756
11757 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11758
11759         * configure.ac: pass required libxml version as argument
11760         (bug reported by Christophe Fergeau)
11761
11762 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11763   
11764         * docs/gst/gstreamer-docs.sgml:
11765         * docs/gst/tmpl/gstxml.sgml:
11766         * docs/libs/gstreamer-libs-docs.sgml:
11767           version API docs
11768
11769 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11770
11771         * gst/gstinfo.c:
11772         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11773         (gst_registry_pool_feature_filter):
11774         * gst/gstthread.c: (gst_thread_class_init):
11775         * gst/gstvalue.c:
11776           add includes exposed by building without libxml
11777         * gst/indexers/Makefile.am:
11778           do not build fileindex when LOADSAVE disabled; we should have
11779           a better libxml check later since fileindex depends on xml, not
11780           LOADSAVE or REGISTRY
11781         * libs/gst/control/Makefile.am:
11782           link with m
11783         * tools/Makefile.am:
11784           fix wrong source code for gst-xmlinspect
11785
11786 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * configure.ac:
11789           fix gcov help output
11790           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11791         * docs/random/release:
11792           some updated releasing notes
11793         * gstreamer.spec.in:
11794           more updates
11795
11796 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11797
11798         * docs/faq/faq.xml:
11799         * docs/manual/manual.xml:
11800         * docs/pwg/pwg.xml:
11801         * docs/pwg/titlepage.xml:
11802           put version in documentation
11803
11804 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11805
11806         * tools/Makefile.am: fix man page installation
11807
11808 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11809
11810         * configure.ac:
11811           don't check for libxml when load/save and registry disabled (#105844)
11812         * gstreamer.spec.in:
11813           sync with fedora candidate spec
11814
11815 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * po/fr.po:
11818         * po/nl.po:
11819           replace multidisksrc with multifilesrc
11820
11821 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11822
11823         * po/POTFILES.in:
11824           update to multidisksrc => multifilesrc file renaming (#134145)
11825
11826 2004-02-11  David Schleef  <ds@schleef.org>
11827
11828         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11829         * docs/gst/tmpl/gstpadtemplate.sgml: same
11830         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11831         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11832         fixing dance.
11833         * gst/gstutils.c: Remove disabled code that uses GstProps.
11834         * gst/registries/gstxmlregistry.h: same
11835         * docs/random/ds/0.9-suggested-changes: random notes
11836
11837 2004-02-11  kost@imn.htwk-leipzig.de
11838
11839         reviewed by: David Schleef  <ds@schleef.org>
11840
11841         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11842         initialisation of clock (bug #134128)
11843
11844 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11845
11846         * configure.ac:
11847         * gst/elements/Makefile.am:
11848         * gst/elements/gstelements.c:
11849         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11850         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11851         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11852         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11853         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11854         * gst/elements/gstmultifilesrc.h:
11855           rename multidisksrc to multifilesrc (part of #122200)
11856
11857 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * docs/manuals.mak:
11860           fix automake complaints
11861         * gst-element-check.m4:
11862           fix unquotedness
11863
11864 2004-02-11  David Schleef  <ds@schleef.org>
11865
11866         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11867         * gst/gstatomic_impl.h: Disable sparc implementation.
11868
11869 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * gst-element-check.m4:
11872           fix underquoted macros as reported by automake 1.8.x (#133800)
11873         * configure.ac:
11874           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11875           by autopoint (fixes #132996)
11876
11877 2004-02-10  Andy Wingo  <wingo@pobox.com>
11878
11879         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11880         way to do inheritance.
11881         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11882         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11883         Routine docs.
11884         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11885         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11886         doc.
11887         (gst_pad_unlink, gst_pad_is_linked): Docs.
11888         (gst_pad_renegotiate): A brief description of capsnego.
11889         (gst_pad_try_set_caps): Document.
11890         (gst_pad_try_set_caps_nonfixed): Document.
11891         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11892         (gst_pad_set_parent): Deprecated (although not out of the API).
11893         (gst_pad_get_parent): Deprecated, although many plugins use this.
11894         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11895         are private and will go away in 0.9.
11896         (gst_pad_perform_negotiate): Doc.
11897         (gst_pad_link_unnegotiate): I think this is meant to be static.
11898         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11899         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11900         (gst_pad_get_peer): Doc updates.
11901         (gst_pad_caps_change_notify): Doc.
11902         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11903         (gst_ghost_pad_new): Doc fixes.
11904
11905         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11906         (gst_object_check_uniqueness): 
11907
11908         * gst/gstelement.c (gst_element_add_pad) 
11909         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11910         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11911         (gst_element_get_static_pad, gst_element_get_pad_list) 
11912         (gst_element_class_get_pad_template_list) 
11913         (gst_element_class_get_pad_template): Work on the docs.
11914         (gst_element_get_pad_template_list): Uses the class method.
11915         (gst_element_get_compatible_pad_template): Docs, and consolidate
11916         some test conditions. 
11917         (gst_element_get_pad_from_template): New static function.
11918         (gst_element_request_compatible_pad): Docs, and work with
11919         non-request compatible templates. 
11920         (gst_element_get_compatible_pad_filtered): Docs and remove
11921         redundant checks.
11922         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11923         (gst_element_link_filtered, gst_element_link_many) 
11924         (gst_element_link, gst_element_link_pads) 
11925         (gst_element_unlink_many): Docs.
11926
11927 2004-02-05  Andy Wingo  <wingo@pobox.com>
11928
11929         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11930         s/pointer/boxed/.
11931
11932         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11933
11934         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11935         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11936         with the type=GST_TYPE_CAPS. This allows language bindings to know
11937         what kind of data they're dealing with.
11938
11939         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11940         to NULL when g_value_init is called. GstCaps, which rolls its own
11941         type implementation, now does the same instead of allocating empty
11942         caps.
11943         (_gst_caps_initialize, _gst_caps_collect_value,
11944         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11945         table methods. This allows G_VALUE_COLLECT to work.
11946
11947 2004-02-05  Andy Wingo  <wingo@pobox.com>
11948
11949         * configure.ac:
11950         * testsuite/Makefile.am (SUBDIRS): 
11951         * testsuite/ghostpads/Makefile.am: 
11952         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11953
11954         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11955         These two routines are the only ones that set
11956         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11957         pad template. They should be made static, depending on ABI needs.
11958         (gst_real_pad_dispose): Handle the case of ghost pads without a
11959         parent. Assert after dealing with ghost pads that the ghost pad
11960         list is empty.
11961         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11962         set after creation.
11963         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11964         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11965         functions. set_property will call add_ghost_pad/remove_ghost_pad
11966         as appropriate.
11967         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11968
11969         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11970         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11971         (gst_element_remove_pad): Handle ghost pads as well.
11972         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11973         depending on API-stability needs).
11974
11975 2004-02-05  Andy Wingo  <wingo@pobox.com>
11976
11977         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11978         of course they're const
11979
11980 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11981
11982         * tools/Makefile.am:
11983         * tools/gst-feedback:
11984         * tools/gst-feedback-0.7:
11985           make gst-feedback versioned too for consistency
11986
11987 2004-02-11  David Schleef  <ds@schleef.org>
11988
11989         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11990         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11991
11992 2004-02-10  Julien MOUTTE <julien@moutte.net>
11993
11994         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11995         the structure does not contain a valid tag list. Adding a safety check
11996         to remove a noisy warning in that case.
11997
11998 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11999
12000         * gst/gst.c: fix name to be in line with others
12001
12002 2004-02-09  Julien MOUTTE <julien@moutte.net>
12003
12004         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12005         not shout that loud when len is 0. Just return 0 silently.
12006
12007 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12008
12009         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12010         because data_unref has one and I prefer the debug to be symetric.
12011         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12012         were refed when added to the queue and unrefed only once when the queue
12013         was flushed. Now the flush handler unref the buffers two times : first
12014         unref for the ref added when pushing in the queue's tail and second
12015         unref to destroy the flushed buffer.
12016
12017 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12018
12019         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12020
12021 2004-02-06  David Schleef  <ds@schleef.org>
12022
12023         * docs/random/ds/0.9-suggested-changes: Random ramblings
12024         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12025         to int before printing.
12026         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12027         * gst/parse/parse.l: same.  See bug #129600
12028
12029 2004-02-06  David Schleef  <ds@schleef.org>
12030
12031         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12032         (gst_index_add_entry), (gst_index_add_associationv),
12033         (gst_index_add_association): Add gst_index_add_associationv()
12034         and clean up gst_index_add_association(). #127133
12035
12036 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12037
12038         * autogen.sh: check out common with right tag if CVS/Tag exists
12039
12040 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12041
12042         * testsuite/ghostpads/ghostpads.c: (main):
12043           fix testsuite from segfaulting
12044
12045 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12046
12047         * Makefile.am: add release target
12048         * configure.ac: bump nano to 1
12049         * docs/random/release:
12050
12051 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12052
12053         * gst/gstcaps.h:
12054         * gst/gstelement.c: (gst_element_base_class_init),
12055         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12056         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12057         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12058         (gst_real_pad_dispose):
12059         * gst/gststructure.c: (gst_structure_free),
12060         (gst_structure_from_string):
12061           put reverted patch back in
12062         * gst/gstelement.c: (gst_element_remove_pad):
12063           free explicit caps if they're set
12064         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12065           copy the structure when fixating
12066
12067 2004-02-05  David Schleef  <ds@schleef.org>
12068
12069         * gst/gstmarshal.list:
12070         * gst/gstpad.c: (gst_real_pad_class_init),
12071         (_gst_real_pad_fixate_accumulator):
12072         Revert POINTER->BOXED change in signal marshaller.
12073
12074 === release 0.7.4 ===
12075                                                                                 
12076 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12077                                                                                 
12078         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12079         * configure.ac: changed for release
12080
12081 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12082
12083         * gstreamer.spec.in:
12084           bump required version of gtk-doc
12085
12086 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12087
12088         * gst/gstcaps.h:
12089         * gst/gstelement.c: (gst_element_base_class_init),
12090         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12091         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12092         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12093         (gst_real_pad_dispose):
12094         * gst/gststructure.c: (gst_structure_free),
12095         (gst_structure_from_string):
12096           revert patch that breaks applications, reapply after release
12097           to get this fixed properly
12098
12099 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12100
12101         * gst/gsttag.c: (_gst_tag_initialize):
12102         * gst/gsttag.h:
12103           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12104
12105 2004-02-04  David Schleef  <ds@schleef.org>
12106
12107         Fix some memleaks:
12108         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12109         (gst_spider_plug_from_srcpad):
12110         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12111
12112 2004-02-04  David Schleef  <ds@schleef.org>
12113
12114         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12115         a GstRealPad before accessing its structure members.
12116
12117 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12118
12119         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12120         (gst_clock_get_speed):
12121         * gst/gstclock.h:
12122           reset padding, remove unused fields
12123
12124 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12125
12126         * gst/autoplug/gstspideridentity.c:
12127         (gst_spider_identity_sink_loop_type_finding):
12128           use get_allowed_caps, not get_caps (fixes #132519)
12129         * gst/elements/gsttypefind.c: (stop_typefinding):
12130           use correct order when sending buffers and seeking
12131
12132 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12133
12134         * configure.ac:
12135         * gst/gstelement.h:
12136         * gst/gstpad.h:
12137         * gst/gstqueue.h:
12138           upgrade libtool CURRENT, reset padding
12139
12140 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12141
12142         * configure.ac:
12143           bump to prerelease
12144           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12145
12146 2004-02-04  David Schleef  <ds@schleef.org>
12147
12148         * docs/random/ds/0.9-suggested-changes: random notes
12149         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12150         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12151         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12152         expansion.
12153         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12154         (gst_filesink_get_query_types): same
12155         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12156         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12157         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12158         to use new GST_PTR_FORMAT.
12159         * gst/gstelement.h: deprecate function factory macros
12160         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12161         These are our last variadic macros that can't be replaced with
12162         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12163         attempting to deprecate gst_element_clock_wait().
12164         * gst/gstevent.h: same
12165         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12166         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12167         * gst/gstpad.h: deprecate function factory macros similar to above.
12168
12169 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12170
12171         * configure.ac:
12172         * tools/Makefile.am:
12173         * tools/gst-run.c: (popt_callback), (hash_print_key),
12174         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12175         (get_candidates), (main):
12176           add new source file to generate non-versioned wrapper binaries
12177           for our tools.
12178
12179 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12180
12181         * gst/gstevent.c: (_gst_event_free):
12182           actually break; inside the switch statement
12183         * gst/parse/grammar.y:
12184           fix memleak where GValues weren't unset
12185
12186 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12187
12188         * gst/gststructure.c: (gst_structure_from_string):
12189           fix huge memleak
12190         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12191         (new_entry), (gst_type_find_element_chain):
12192         * gst/gstelement.c: (gst_element_base_class_init),
12193         (gst_element_class_set_details):
12194         * gst/gstpad.c: (gst_pad_can_link_filtered):
12195           fix smaller memleaks
12196         * gst/gstpad.c: (gst_real_pad_dispose):
12197           check that explicit caps are gone
12198         * gst/gststructure.c: (gst_structure_free):
12199           actually free the structure
12200         * gst/gstelement.c: (gst_element_clear_pad_caps):
12201           unset explicit caps
12202
12203 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12204
12205         * tools/Makefile.am:
12206           use AM_CFLAGS since all the CFLAGS are the same
12207           use AM_LDFAGS
12208
12209 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12210
12211         * docs/manual/gnome.xml:
12212           expand example a little
12213         * gst/gst.c: (gst_init_with_popt_table),
12214         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12215           make sure popt option displays are done with right textdomain
12216           use GstPoptOption type
12217         * gst/gst.h:
12218           create GstPoptOption type
12219
12220 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * gst/gsterror.c: (_gst_stream_errors_init):
12223         * gst/gsterror.h:
12224           adding error type for no codec
12225         * po/POTFILES.in:
12226           add gst-inspect
12227         * po/nl.po:
12228           update dutch translation
12229         * tools/gst-inspect.c: (print_element_list), (main):
12230           do proper internationalization
12231         * tools/gst-launch.c: (idle_func):
12232           remove commented out function call
12233
12234 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12235
12236         * docs/README:
12237           add some error fixing notes
12238         * docs/gst/gstreamer-sections.txt:
12239           remove double entries
12240         * docs/gst/tmpl/gstbin.sgml:
12241         * docs/gst/tmpl/gstclock.sgml:
12242           remove override
12243         * docs/gst/tmpl/gstelement.sgml:
12244         * docs/gst/tmpl/gstindex.sgml:
12245         * docs/gst/tmpl/gstobject.sgml:
12246         * docs/gst/tmpl/gstpadtemplate.sgml:
12247         * docs/gst/tmpl/gstreamer-unused.sgml:
12248         * docs/gst/tmpl/gsttag.sgml:
12249         * docs/gst/tmpl/gstthread.sgml:
12250         * docs/gst/tmpl/gstxml.sgml:
12251         * gst/gsttag.h:
12252           sync header prototypes with c decls
12253         * gst/gsttaginterface.c:
12254           fix doc headers
12255
12256 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12257
12258         * gst/parse/Makefile.am:
12259         * gst/gstobject.h:
12260           get rid of gstmarshal.h dependency. It's not needed.
12261         * gst/gst.h:
12262         * gst/elements/gstfakesink.c:
12263         * gst/elements/gstfakesrc.c:
12264         * gst/elements/gstidentity.c:
12265         * gst/gstbin.c:
12266         * gst/gstelement.c:
12267         * gst/gstindex.c:
12268         * gst/gstobject.c:
12269         * gst/gstpad.c:
12270         * gst/gstthread.c:
12271         * gst/gstxml.c:
12272         * libs/gst/control/dparam.c:
12273         * libs/gst/control/dparammanager.c:
12274           include gstmarshal.h.
12275         Fixes #132045
12276
12277 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12278
12279         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12280         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12281         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12282         * gst/elements/gstfilesrc.h:
12283           don't ref the filesrc when creating mmaped buffers. Don't keep a
12284           list of not-yet-destroyed buffers.
12285         * gst/gstbuffer.h:
12286           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12287
12288 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12289
12290         * gst/gst.c: (init_pre):
12291           remove textdomain
12292
12293 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12294
12295         * docs/pwg/advanced-events.xml:
12296         * docs/pwg/advanced-scheduling.xml:
12297         * docs/pwg/intro-basics.xml:
12298         * docs/pwg/other-manager.xml:
12299         * docs/pwg/other-nton.xml:
12300         * docs/pwg/other-ntoone.xml:
12301         * docs/pwg/other-oneton.xml:
12302         * docs/pwg/pwg.xml:
12303           All sort of documentation... Forgot what. Point is that I want this
12304           in before I leave. The 'other-*' will be the last section and will
12305           explain issues specific to these type of elements.
12306
12307 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12308
12309         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12310         (gst_filesrc_get_read):
12311           set all the values on buffers that we can
12312
12313 2004-02-02  David Schleef  <ds@schleef.org>
12314
12315         Change usage of isblah() to g_ascii_isblah() to be more locale
12316         independent.  (#133076)
12317         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12318         * gst/gstutils.c:
12319         * gst/parse/parse.l:
12320
12321 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12322
12323         reviewed by: David Schleef  <ds@schleef.org>
12324
12325         Fix memory leaks:
12326         * gst/gstcaps.c: (gst_caps_to_string):
12327         * gst/registries/gstxmlregistry.c:
12328         (gst_xml_registry_add_path_list_func),
12329         (gst_xml_registry_parse_padtemplate):
12330
12331 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12332
12333         * gst/gstelement.c: (gst_element_default_error):
12334           suffix error messages with period
12335
12336 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12337
12338         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12339         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12340         * gst/gsterror.c: (gst_error_get_message):
12341           Suffix with dots
12342         * po/fr.po:
12343         * po/nl.po:
12344           Update translation files
12345
12346 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * gst/autoplug/gstspideridentity.c:
12349         (gst_spider_identity_sink_loop_type_finding):
12350         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12351         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12352         (gst_filesink_close_file), (gst_filesink_handle_event),
12353         (gst_filesink_chain):
12354         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12355         (gst_filesrc_get_read), (gst_filesrc_open_file):
12356         * gst/elements/gstidentity.c: (gst_identity_chain):
12357         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12358         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12359         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12360         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12361         * gst/gsterror.c: (_gst_core_errors_init),
12362         (_gst_library_errors_init), (_gst_resource_errors_init),
12363         (_gst_stream_errors_init), (gst_error_get_message):
12364         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12365         (gst_pad_recover_caps_error), (gst_pad_pull):
12366         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12367         * gst/schedulers/gstbasicscheduler.c:
12368         (gst_basic_scheduler_chainhandler_proxy),
12369         (gst_basic_scheduler_gethandler_proxy),
12370         (gst_basic_scheduler_cothreaded_chain):
12371           Suffix error messages with period.
12372           Use (NULL) instead of NULL
12373
12374 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12375
12376         * docs/gst/tmpl/gstelement.sgml:
12377         * docs/gst/tmpl/gstxml.sgml:
12378         * gst/gstelement.c: (gst_element_error_full):
12379           add element path to error
12380
12381 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12382
12383         * docs/random/mimetypes:
12384           update raw int/float info
12385         * gst/gsttag.c: (_gst_tag_initialize):
12386         * gst/gsttag.h:
12387           add GST_TAG_ENCODER
12388
12389 2004-01-30  David Schleef  <ds@schleef.org>
12390
12391         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12392           missing (#132991)
12393
12394 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12395
12396         reviewed by Benjamin Otte 
12397           parts of the patch submitted in bug #113913
12398
12399         * configure.ac:
12400           use AC_C_INLINE. Use = instead of == with test
12401         * examples/plugins/example.c:
12402         * gst/autoplug/gstspideridentity.c:
12403         * gst/elements/gstfdsrc.c:
12404         * gst/elements/gstfilesrc.c:
12405         * gst/elements/gstidentity.c:
12406         * gst/elements/gstmultidisksrc.c:
12407         * gst/elements/gststatistics.c:
12408         * gst/gstelement.c:
12409         * gst/gstobject.c:
12410         * gst/gstpad.c:
12411         * gst/gstpipeline.c:
12412         * gst/gstthread.c:
12413           don't end enums with a comma
12414         * gst/gstindex.c: (gst_index_compare_func):
12415           do explicit casting to gint
12416         * gst/gsttrace.c: (gst_trace_text_flush):
12417           #define strsize as a macro
12418
12419 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12420
12421         * docs/README:
12422         * docs/gst/gstreamer-docs.sgml:
12423         * docs/gst/gstreamer-sections.txt:
12424         * docs/gst/tmpl/gstelement.sgml:
12425         * docs/gst/tmpl/gsterror.sgml:
12426         * docs/gst/tmpl/gstinterface.sgml:
12427         * docs/gst/tmpl/gstreamer-unused.sgml:
12428         * docs/gst/tmpl/gststructure.sgml:
12429         * docs/gst/tmpl/gsttag.sgml:
12430         * docs/gst/tmpl/gsttaginterface.sgml:
12431         * docs/gst/tmpl/gstvalue.sgml:
12432         make sure all API ends up in the built docs
12433         * gst/gstinterface.c:
12434         * gst/gststructure.c: (gst_structure_id_set_value),
12435         (gst_structure_set_value), (gst_structure_id_get_value):
12436         * gst/gststructure.h:
12437         * gst/gstvalue.h:
12438         sync .h with .c declarations
12439
12440 2004-01-30  Julien Moutte  <julien@moutte.net>
12441
12442         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12443         Ronald will fix riffread.
12444
12445 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12446
12447         * docs/pwg/advanced-interfaces.xml:
12448           Added tuner interface docs.
12449
12450 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12451
12452         * docs/random/mimetypes:
12453           correct Theora information
12454         * gst/gstelement.h:
12455           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12456
12457 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12458
12459         * gst/gstelement.c: (gst_element_error_full):
12460         * gst/gstelement.h:
12461           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12462
12463 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12464
12465         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12466         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12467         again and even before DISCONT.
12468         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12469         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12470         bytestream so that it's not stopping to fill the bytestream if events
12471         different than EOS or DISCONT are received. Instead it process them so
12472         that they go downstream.
12473
12474 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12475
12476         * docs/gst/tmpl/gstelement.sgml:
12477         * docs/gst/tmpl/gstreamer-unused.sgml:
12478         * docs/gst/tmpl/gstxml.sgml:
12479         * gst/autoplug/gstspideridentity.c:
12480         (gst_spider_identity_sink_loop_type_finding):
12481         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12482         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12483         (gst_filesink_close_file), (gst_filesink_handle_event),
12484         (gst_filesink_chain):
12485         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12486         (gst_filesrc_get_read), (gst_filesrc_open_file):
12487         * gst/elements/gstidentity.c: (gst_identity_chain):
12488         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12489         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12490         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12491         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12492         * gst/gstelement.h:
12493         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12494         (gst_pad_recover_caps_error), (gst_pad_pull):
12495         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12496         * gst/schedulers/gstbasicscheduler.c:
12497         (gst_basic_scheduler_chainhandler_proxy),
12498         (gst_basic_scheduler_gethandler_proxy),
12499         (gst_basic_scheduler_cothreaded_chain):
12500           gst_element_error -> GST_ELEMENT_ERROR
12501
12502 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12503
12504         * docs/Makefile.am:
12505         * docs/gst/tmpl/gstelement.sgml:
12506         * docs/gst/tmpl/gstxml.sgml:
12507         * docs/manuals.mak:
12508         * docs/pwg/advanced-request.xml:
12509         * docs/pwg/advanced-scheduling.xml:
12510         * docs/pwg/advanced-tagging.xml:
12511           fix non-validating docbook using CDATA
12512           make sure make check-local gets run first to check if it validates
12513
12514 2004-01-29  Julien MOUTTE <julien@moutte.net>
12515
12516         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12517         handling (up and downstream).
12518         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12519         my_filter thing.
12520
12521 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12522
12523         * docs/pwg/advanced-tagging.xml:
12524           Add docs about tag writing.
12525
12526 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12527
12528         * docs/pwg/advanced-tagging.xml:
12529           Add a part about tag reading and application signalling... Tag
12530           writing still needs to be documented.
12531         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12532           We can set file locations in READY, too.
12533
12534 2004-01-29  Julien MOUTTE <julien@moutte.net>
12535
12536         * docs/random/ds/element-checklist: Adding some notes about src
12537         events.
12538
12539 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12540
12541         * docs/random/mimetypes:
12542           Update docs to point to correct elements for various mimetypes, and
12543           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12544           <stephane.loeuillet@tiscali.fr>.
12545
12546 2004-01-28  David Schleef  <ds@schleef.org>
12547
12548         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12549
12550 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12551
12552         * docs/random/mimetypes:
12553           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12554           undefined"
12555         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12556           make it only work in NULL.
12557         * gst/gstcaps.c:
12558           don't posion NULL caps
12559         * gst/gstelement.c: (gst_element_set_time):
12560           add debugging statement
12561         * gst/gstelement.c: (gst_element_emit_found_tag),
12562         (gst_element_found_tag_func), (gst_element_found_tags):
12563         * gst/gstelement.h:
12564           These functions take const taglists
12565         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12566           fix memleak
12567         * gst/gstpad.c: (gst_pad_event_default):
12568           make more effort on handling discont and clocks, g_warn if everything
12569           fails
12570         * gst/gststructure.c: (gst_structure_remove_fields),
12571         (gst_structure_remove_fields_valist):
12572         * gst/gststructure.h:
12573           add gst_structure_remove_fields(_valist)
12574         * gst/gsttag.c:
12575           fix doc glitch
12576
12577 2004-01-28  David Schleef  <ds@schleef.org>
12578
12579         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12580         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12581         Fix memory leakage of gst_caps_to_string().
12582
12583         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12584         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12585         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12586         (gst_spider_identity_sink_loop_type_finding):
12587         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12588         (find_suggest):
12589         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12590         (gst_pad_set_explicit_caps):
12591         * gst/parse/grammar.y:
12592
12593 2004-01-28  David Schleef  <ds@schleef.org>
12594
12595         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12596         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12597         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12598         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12599         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12600         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12601         (gst_debug_log_default), (_gst_info_printf_extension),
12602         (_gst_info_printf_extension_arginfo):  Add printf extension.
12603         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12604         * gst/gststructure.c: (gst_structure_to_string),
12605         (_gst_structure_parse_value): Use gst_value_deserialize() and
12606         remove old code.
12607         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12608         (gst_value_deserialize_boolean), (gst_strtoi),
12609         (gst_value_deserialize_int), (gst_value_deserialize_double),
12610         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12611         a bunch of deserialize functions and gst_value_deserialize.
12612         * gst/gstvalue.h: er, _de_serialize, not unserialize
12613         * testsuite/caps/string-conversions.c: (main): We don't currently
12614         handle (float) in caps, so convert these to (double).
12615         * testsuite/debug/Makefile.am: Add new test for the printf extension
12616         * testsuite/debug/printf_extension.c: (main): same
12617
12618 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12619
12620         * docs/random/company/time:
12621           Add some docs about clocking and time
12622
12623 2004-01-28  Julien MOUTTE <julien@moutte.net>
12624
12625         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12626
12627 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12628
12629         * docs/pwg/advanced-clock.xml:
12630         * docs/pwg/advanced-dparams.xml:
12631         * docs/pwg/advanced-events.xml:
12632         * docs/pwg/advanced-interfaces.xml:
12633         * docs/pwg/advanced-midi.xml:
12634         * docs/pwg/advanced-request.xml:
12635         * docs/pwg/advanced-scheduling.xml:
12636         * docs/pwg/advanced-tagging.xml:
12637         * docs/pwg/advanced-types.xml:
12638         * docs/pwg/appendix-checklist.xml:
12639         * docs/pwg/building-boiler.xml:
12640         * docs/pwg/building-chainfn.xml:
12641         * docs/pwg/building-filterfactory.xml:
12642         * docs/pwg/building-pads.xml:
12643         * docs/pwg/building-props.xml:
12644         * docs/pwg/building-signals.xml:
12645         * docs/pwg/building-state.xml:
12646         * docs/pwg/building-testapp.xml:
12647         * docs/pwg/intro-basics.xml:
12648         * docs/pwg/intro-preface.xml:
12649         * docs/pwg/other-autoplugger.xml:
12650         * docs/pwg/other-sink.xml:
12651         * docs/pwg/other-source.xml:
12652         * docs/pwg/titlepage.xml:
12653           fix up id's
12654
12655 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12656
12657         * docs/95NonPath:
12658         * docs/HACKING:
12659         * docs/README:
12660         * docs/building-the-docs-on-debian:
12661           collect relevant bits of doc info
12662
12663 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12664
12665         * docs/pwg/advanced_tagging.xml:
12666           Half-assed commit so Thomas can re-arrange document IDs here to be
12667           consistent, too.
12668
12669 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12670
12671         * docs/manual/autoplugging.xml:
12672         * docs/manual/bins-api.xml:
12673         * docs/manual/bins.xml:
12674         * docs/manual/buffers-api.xml:
12675         * docs/manual/buffers.xml:
12676         * docs/manual/clocks.xml:
12677         * docs/manual/components.xml:
12678         * docs/manual/cothreads.xml:
12679         * docs/manual/debugging.xml:
12680         * docs/manual/dparams-app.xml:
12681         * docs/manual/dynamic.xml:
12682         * docs/manual/elements-api.xml:
12683         * docs/manual/elements.xml:
12684         * docs/manual/factories.xml:
12685         * docs/manual/gnome.xml:
12686         * docs/manual/goals.xml:
12687         * docs/manual/helloworld.xml:
12688         * docs/manual/helloworld2.xml:
12689         * docs/manual/init-api.xml:
12690         * docs/manual/intro.xml:
12691         * docs/manual/links-api.xml:
12692         * docs/manual/links.xml:
12693         * docs/manual/manual.xml:
12694         * docs/manual/motivation.xml:
12695         * docs/manual/pads-api.xml:
12696         * docs/manual/pads.xml:
12697         * docs/manual/plugins-api.xml:
12698         * docs/manual/plugins.xml:
12699         * docs/manual/programs.xml:
12700         * docs/manual/queues.xml:
12701         * docs/manual/quotes.xml:
12702         * docs/manual/schedulers.xml:
12703         * docs/manual/states-api.xml:
12704         * docs/manual/states.xml:
12705         * docs/manual/threads.xml:
12706         * docs/manual/typedetection.xml:
12707         * docs/manual/xml.xml:
12708           use chapter, part, section or misc as id starts for all bits
12709
12710 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12711
12712         * docs/gst/gstreamer-sections.txt:
12713           Fix up TITLE of the sections
12714
12715 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12716
12717         * docs/pwg/advanced_interfaces.xml:
12718           Add documentation on propertyprobing.
12719         * docs/pwg/advanced_events.xml:
12720         * docs/pwg/advanced_tagging.xml:
12721         * docs/pwg/building_boiler.xml:
12722         * docs/pwg/building_filterfactory.xml:
12723         * docs/pwg/pwg.xml:
12724           Move filterfactory and tagging into their own chapter, add a chapter
12725           on events. all these are empty placeholders that will be filled in
12726           some day.
12727
12728 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12729
12730         * docs/pwg/advanced_interfaces.xml:
12731           Docs for mixer interface. Also a check for website uploading.
12732
12733 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12734
12735         * docs/HACKING:
12736         * docs/Makefile.am:
12737         * docs/faq/Makefile.am:
12738         * docs/gst/Makefile.am:
12739         * docs/gst/tmpl/gstelement.sgml:
12740         * docs/gst/tmpl/gstplugin.sgml:
12741         * docs/gst/tmpl/gstreamer-unused.sgml:
12742         * docs/libs/Makefile.am:
12743         * docs/manual/Makefile.am:
12744         * docs/manuals.mak:
12745         * docs/pwg/Makefile.am:
12746         * docs/upload.mak:
12747           Separate out upload target and make it similar for
12748           both docbook and gtk-doc docs
12749
12750 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12751
12752         * docs/manuals.mak:
12753           Fix upload target to work with freedesktop
12754
12755 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12756
12757         * docs/pwg/advanced_types.xml:
12758           Add notes on creating your own types.
12759         * docs/pwg/building_boiler.xml:
12760         * docs/pwg/building_pads.xml:
12761         * docs/pwg/building_state.xml:
12762           Add some stuff about how to retrieve values from structures, how
12763           that relates to types and change layout slightly again to be almost
12764           perfect.
12765
12766 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12767
12768         * docs/pwg/advanced_dparams.xml:
12769         * docs/pwg/advanced_scheduling.xml:
12770           Change index layout slightly.
12771
12772 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12773
12774         * docs/pwg/advanced_clock.xml:
12775         * docs/pwg/advanced_interfaces.xml:
12776         * docs/pwg/advanced_midi.xml:
12777           General placeholders for now.
12778         * docs/pwg/advanced_request.xml:
12779           Explanation about sometimes and request pads.
12780         * docs/pwg/advanced_scheduling.xml:
12781           Concept of bytestream, loopfunctions and schedulers.
12782         * docs/pwg/building_boiler.xml:
12783           Add something about plugin-init.
12784
12785 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12786
12787         * docs/pwg/building_pads.xml:
12788           Fix broken docbook
12789
12790 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12791
12792         * docs/pwg/advanced_interfaces.xml:
12793         * docs/pwg/pwg.xml:
12794           Add as a placeholder for future filling-in.
12795         * docs/pwg/basics_autoplugging.xml:
12796         * docs/pwg/basics_buffers.xml:
12797         * docs/pwg/basics_elements.xml:
12798         * docs/pwg/basics_events.xml:
12799         * docs/pwg/basics_plugins.xml:
12800         * docs/pwg/basics_types.xml:
12801           Remove, because unused (this is all in intro_basics.xml).
12802         * docs/pwg/building_signals.xml:
12803           Short intro to signals + reference to GObject docs - we really
12804           shouldn't go into these sort of things to deply because we don't
12805           use them that extensively anyway.
12806         * docs/pwg/building_state.xml:
12807           Explanation of states. Benjamin, please check.
12808         * docs/pwg/building_testapp.xml:
12809           Put everything in one page - putting only a few lines of content
12810           per page doesn't really make sense.
12811
12812           Time to get into the advanced topics. ;).
12813
12814 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12815
12816         * docs/pwg/advanced_types.xml:
12817           Finish documenting the current state of mimetypes.
12818         * docs/pwg/building_boiler.xml:
12819         * docs/pwg/building_chainfn.xml:
12820         * docs/pwg/building_pads.xml:
12821         * docs/pwg/building_props.xml:
12822         * docs/pwg/building_testapp.xml:
12823           Start documenting the "how to build a simple audio filter" part
12824           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12825           states and (maybe?) a short introduction to capsnego in the chapter
12826           on pads (building_pads.xml). Capsnego should probably be explained
12827           fully in advanced_capsnego.xml or so.
12828
12829 2004-01-26  David Schleef  <ds@schleef.org>
12830
12831         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12832         * gst/gstpad.h: Add new function to allow element to (somewhat)
12833         specify non-fixed caps on a pad.
12834         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12835         that I added a few weeks ago.
12836
12837 2004-01-26  David Schleef  <ds@schleef.org>
12838
12839         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12840           making try_set_caps() work with non-fixed caps.
12841
12842 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12843
12844         * docs/pwg/advanced_types.xml:
12845         * docs/pwg/intro_basics.xml:
12846         * docs/pwg/intro_preface.xml:
12847         * docs/pwg/pwg.xml:
12848         * docs/pwg/titlepage.xml:
12849           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12850           in here (docs/random/mimetypes), and will from there on work on both
12851           updating outdated parts and adding missing parts.
12852           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12853
12854 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12855
12856         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12857           policy is set
12858
12859 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12860
12861         * gst/gstelement.h:
12862           remove gst_element_factory_get_version. It doesn't exist anymore.
12863         * gst/gstplugin.c:
12864         * gst/gstplugin.h:
12865           remove gst_plugin_set_name and change gst_plugin_get_longname to
12866           gst_plugin_get_description to match code.
12867         * gst/gsterror.h:
12868           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12869         * gst/gstpad.c: (gst_pad_try_set_caps):
12870           make it work with nonfixed caps.
12871           Note that even in the nonfixed case the link function of the pad
12872           that tries to set caps isn't called.
12873
12874 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12875
12876         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12877           fix bug where buffer was not assembled correctly
12878         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12879           silence by default
12880         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12881           only seek if there's no more buffers that could work without seeking
12882
12883 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12884
12885         * gst/gsttag.c: (_gst_tag_initialize):
12886         * gst/gsttag.h:
12887           Add application tag (for encoding/muxing app).
12888
12889 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12890
12891         * autogen.sh:
12892           make autopoint force, and libtoolize not copy
12893         * common/m4/as-docbook.m4:
12894           added docbook xml catalog setup check
12895         * common/m4/gst-doc.m4:
12896           use docbook check
12897
12898 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12899
12900         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12901         * gst/gsttag.h:
12902           add GstTagFlag
12903
12904 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12905
12906         * docs/gst/gstreamer-sections.txt:
12907         * docs/gst/tmpl/gst.sgml:
12908         * docs/gst/tmpl/gstbuffer.sgml:
12909         * docs/gst/tmpl/gstclock.sgml:
12910         * docs/gst/tmpl/gstelement.sgml:
12911         * docs/gst/tmpl/gstreamer-unused.sgml:
12912         * docs/gst/tmpl/gstxml.sgml:
12913           sync latest API changes to docs
12914
12915 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12916
12917         * gst/gstpluginfeature.c:
12918           fix doc snippet
12919         * tools/gst-inspect.c: (print_element_list):
12920           fix output of typefind
12921           add GPL header
12922         * tools/gst-launch.c:
12923           add GPL header
12924
12925 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12926
12927         * gst/elements/Makefile.am:
12928         * gst/elements/gstelements.c:
12929         * gst/elements/gsttypefindelement.c:
12930         * gst/elements/gsttypefindelement.h:
12931         * po/POTFILES.in:
12932         * po/fr.po:
12933         * po/nl.po:
12934           renamed gsttypefindelement to gsttypefind, conserving CVS history
12935
12936 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12937
12938         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12939         * gst/gsttag.h:
12940           add some tags used in ogg as well
12941           fix _ in replaygain tags
12942
12943 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12944
12945         * gst/gsterror.h:
12946           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12947
12948 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12949
12950         * gst/gstelement.c: (gst_element_error_full):
12951         * gst/gstelement.h:
12952           change _extended to _full
12953
12954 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12955
12956         reviewed by: <delete if not using a buddy>
12957
12958         * docs/gst/tmpl/gst.sgml:
12959         * docs/gst/tmpl/gstbuffer.sgml:
12960         * docs/gst/tmpl/gstclock.sgml:
12961         * docs/gst/tmpl/gstelement.sgml:
12962         * docs/gst/tmpl/gstreamer-unused.sgml:
12963         * docs/gst/tmpl/gstxml.sgml:
12964         * gst/gstelement.c: (gst_element_error_full):
12965         * gst/gstelement.h:
12966
12967 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12968
12969         * gst/gstelement.h: fix _gst_element_error_printf prototype
12970
12971 2004-01-20  David Schleef  <ds@schleef.org>
12972
12973         * gst/gststructure.c: (gst_structure_to_string):
12974         Convert function to use gst_value_serialize().
12975         * gst/gstvalue.c: (gst_value_serialize_list),
12976         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12977         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12978         (gst_value_serialize_int), (gst_value_serialize_double),
12979         (gst_string_wrap), (gst_value_serialize_string),
12980         (gst_value_serialize), (gst_value_deserialize):
12981         * gst/gstvalue.h:
12982         Add implementations for serialize.
12983
12984 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12985
12986         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12987         we want to keep that one in the future or change xvidenc.c to use 
12988         another error.
12989
12990 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * gst/gstelement.c: (_gst_element_error_printf):
12993         * gst/gstelement.h:
12994           privatise function
12995
12996 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12997
12998         * docs/random/error:
12999           doc explaining error system
13000         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13001           cleanup
13002
13003 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13004
13005         * gst/gst-i18n-app.h:
13006         * gst/gst-i18n-lib.h:
13007           remove inclusion of config.h
13008         * po/POTFILES.in:
13009         * po/nl.po:
13010           add gst/gstelement.c
13011
13012 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13013
13014         * po/nl.po: updated Dutch translation
13015
13016 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13017
13018         * gst/gsterror.c: (_gst_core_errors_init),
13019         (_gst_library_errors_init), (_gst_resource_errors_init),
13020         (_gst_stream_errors_init):
13021         remove ending punctuation dots
13022
13023 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13024
13025         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13026         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13027         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13028         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13029         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13030         use GST_ERROR_SYSTEM
13031
13032 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13033
13034         * gst/gstelement.c: (gst_element_error_printf),
13035         (gst_element_error_extended):
13036         * gst/gstelement.h:
13037           add a helper printf function so we can have NULL values passed.
13038
13039 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13040
13041         * gst/gstelement.h:
13042           add G_STMT macros to gst_element_error, which isn't strictly
13043           necessary but people tell me to anyway.
13044
13045 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13046
13047         * gst/Makefile.am:
13048         * gst/autoplug/gstspideridentity.c:
13049         (gst_spider_identity_sink_loop_type_finding):
13050         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13051         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13052         (gst_filesink_close_file), (gst_filesink_handle_event),
13053         (gst_filesink_chain):
13054         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13055         (gst_filesrc_map_region), (gst_filesrc_get_read),
13056         (gst_filesrc_open_file):
13057         * gst/elements/gstidentity.c: (gst_identity_chain):
13058         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13059         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13060         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13061         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13062         * gst/gst.h:
13063         * gst/gst_private.h:
13064         * gst/gstelement.c: (gst_element_class_init),
13065         (gst_element_default_error), (gst_element_error_func),
13066         (gst_element_error_extended):
13067         * gst/gstelement.h:
13068         * gst/gsterror.c: (_gst_core_errors_init),
13069         (_gst_library_errors_init), (_gst_resource_errors_init),
13070         (_gst_stream_errors_init), (gst_error_get_message):
13071         * gst/gsterror.h:
13072         * gst/gstinfo.c: (_gst_debug_init):
13073         * gst/gstmarshal.list:
13074         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13075         (gst_pad_recover_caps_error), (gst_pad_pull):
13076         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13077         * gst/schedulers/gstbasicscheduler.c:
13078         (gst_basic_scheduler_chainhandler_proxy),
13079         (gst_basic_scheduler_gethandler_proxy),
13080         (gst_basic_scheduler_cothreaded_chain):
13081         * po/POTFILES.in:
13082         * po/fr.po:
13083         * po/nl.po:
13084           change error signal
13085           add error categories
13086
13087 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13088
13089         * gst/gsttag.c: (_gst_tag_initialize):
13090         * gst/gsttag.h:
13091         Add replaygain tag
13092
13093 2004-01-18  Colin Walters  <walters@verbum.org>
13094
13095         * examples/retag/retag.c: Call gst_init before processing
13096         program args.  Add g_assert to _link_many call.
13097
13098 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13099
13100         * gst/gstpad.c: (gst_pad_alloc_buffer):
13101           Return a newly allocated buffer when the pad has no peer.
13102
13103 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13104
13105         * gst/gstclock.c: (gst_clock_get_time):
13106           make it compile with gcc 2.95 again.
13107           Patch by Scott Wheeler
13108
13109 2004-01-15  David Schleef  <ds@schleef.org>
13110
13111         * gst/gstcaps.h:
13112         Added gst_caps_is_simple() macro.
13113         * testsuite/caps/caps.c: (test1):
13114         * testsuite/caps/intersect2.c: (main):
13115         * testsuite/caps/intersection.c: (main):
13116         Fixes to make 'make check' work again after removing
13117         gst_caps_is_chained().
13118
13119 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13120
13121         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13122         and additions to the MIDI document.
13123
13124 2004-01-15  David Schleef  <ds@schleef.org>
13125
13126         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13127         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13128         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13129
13130 2004-01-15  David Schleef  <ds@schleef.org>
13131
13132         * gst/gstqueue.c:
13133         * gst/gstqueue.h:
13134         Fix the spelling of "treshold" and make min_threshold actually
13135         affect the queue.
13136
13137 2004-01-15  David Schleef  <ds@schleef.org>
13138
13139         * gst/gstcaps.c:
13140         Add lots of documentation.
13141         * gst/gstcaps.h:
13142         Deprecate a few functions.
13143         * gst/gstpad.c:
13144         Removed use of deprecated functions.
13145
13146 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13147
13148         * gst/gstpad.c: (gst_pad_is_linked):
13149         * gst/gstpad.h:
13150           implement gst_pad_is_linked
13151         * gst/gstelement.h:
13152           reserve space for initiate_state_change
13153
13154 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13155
13156         * gst/autoplug/gstspideridentity.c:
13157         (gst_spider_identity_sink_loop_type_finding):
13158           break infinite loop by just returning instead of looping
13159         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13160           set event time difference correctly. Set it to 1 second instead
13161           of 100ms to be more tolerant
13162         * gst/gstelement.c: (gst_element_set_time):
13163           add debugging output
13164
13165 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13166
13167         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13168           query if buffers are inside the pool, ignore events
13169
13170 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13171
13172         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13173         (gst_clock_set_speed), (gst_clock_set_active),
13174         (gst_clock_is_active), (gst_clock_reset),
13175         (gst_clock_handle_discont):
13176         * gst/gstclock.h:
13177           deprecate old interface and disable functions that aren't in use
13178           anymore.
13179         * gst/gstelement.h:
13180         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13181         (gst_element_set_time), (gst_element_adjust_time):
13182           add concept of "element time" and functions to get/set this time.
13183         * gst/gstelement.c: (gst_element_change_state):
13184           update element time correctly.
13185         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13186           This is a debug message, not a g_critical.
13187         * gst/gstpad.c: (gst_pad_event_default):
13188           handle discontinuous events right with element time.
13189         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13190           update to clocking fixes.
13191           set clocks on elements in READY=>PAUSED. The old behaviour caused
13192           a wrong element time on the first element that started playing.
13193         * gst/schedulers/gstbasicscheduler.c:
13194         (gst_basic_scheduler_class_init):
13195         * gst/schedulers/gstoptimalscheduler.c:
13196         (gst_opt_scheduler_class_init):
13197           remove code that just implements the default behaviour.
13198         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13199           update to use new clocking functions
13200         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13201         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13202           update to test new element time.
13203         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13204           use _get_allowed_caps instead of _get_caps. This catches filtered
13205           caps correctly.
13206         * testsuite/debug/commandline.c:
13207           update for new GST_DEBUG syntax.
13208         * testsuite/threads/Makefile.am:
13209           disable a test that only works sometimes.
13210
13211 2004-01-13  Julien MOUTTE <julien@moutte.net>
13212
13213         * po/LINGUAS: Adding fr.
13214         * po/fr.po: Adding french translation.
13215
13216 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13217
13218         * gst/parse/grammar.y:
13219         * po/POTFILES.in:
13220         * po/nl.po:
13221         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13222           translate parsing error messages
13223
13224 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13225
13226         * po/POTFILES.in: adding gst-launch
13227         * po/nl.po: updated translation, all 99 strings translated
13228         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13229         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13230           fix strings for translation
13231
13232 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13233
13234         * gst/gst.c:
13235           - capitalize beginnings of popt options
13236           - fix strings for translation
13237           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13238
13239 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13240
13241         * po/README: add some notes on how to update translations
13242
13243 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13244
13245         * ABOUT-NLS: removed, is autogenerated from autopoint
13246         * autogen.sh: add autopoint stuff
13247         * configure.ac: fix up gettext stuff
13248         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13249         * gst/elements/gsttypefindelement.c: add header include
13250         * gst/gettext.h: add header, copy from system-installed header
13251         * gst/gst-i18n-app.h: to be included by each app having translations
13252         * gst/gst-i18n-lib.h: to be included by each lib having translations
13253         * gst/gst.c: (init_pre): fix up gettext calls
13254         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13255         * po/LINGUAS: the new way to specify translations present
13256         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13257         * po/Makevars: the variables filled in for GStreamer
13258         * po/POTFILES.in: added new files with translations
13259         * po/de.po: has new strings
13260         * po/nl.po: readded, has new strings
13261
13262 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13263
13264         * gst/gsttag.c: fix some strings marked for translation
13265
13266 2004-01-13  Iain <iain@prettypeople.org>
13267
13268         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13269         group when we add an element to it, cos we unref it when we remove one
13270
13271 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13272
13273         * testsuite/debug/commandline.c: (debug_not_reached):
13274         * testsuite/debug/output.c: (check_message):
13275           fix testsuite
13276
13277 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13278
13279         * examples/cutter/.cvsignore:
13280         * examples/helloworld/.cvsignore:
13281         * examples/launch/.cvsignore:
13282         * examples/manual/.cvsignore:
13283         * examples/mixer/.cvsignore:
13284         * examples/pingpong/.cvsignore:
13285         * examples/plugins/.cvsignore:
13286         * examples/queue/.cvsignore:
13287         * examples/queue2/.cvsignore:
13288         * examples/queue3/.cvsignore:
13289         * examples/queue4/.cvsignore:
13290         * examples/retag/.cvsignore:
13291         * examples/thread/.cvsignore:
13292         * examples/typefind/.cvsignore:
13293         * examples/xml/.cvsignore:
13294         * gst/.cvsignore:
13295         * gst/autoplug/.cvsignore:
13296         * gst/elements/.cvsignore:
13297         * gst/indexers/.cvsignore:
13298         * gst/parse/.cvsignore:
13299         * gst/registries/.cvsignore:
13300         * gst/schedulers/.cvsignore:
13301         * libs/gst/bytestream/.cvsignore:
13302         * libs/gst/control/.cvsignore:
13303         * libs/gst/getbits/.cvsignore:
13304         * tests/.cvsignore:
13305         * tests/bufspeed/.cvsignore:
13306         * tests/instantiate/.cvsignore:
13307         * tests/memchunk/.cvsignore:
13308         * tests/muxing/.cvsignore:
13309         * tests/sched/.cvsignore:
13310         * tests/seeking/.cvsignore:
13311         * tests/threadstate/.cvsignore:
13312         * testsuite/.cvsignore:
13313         * testsuite/caps/.cvsignore:
13314         * testsuite/cleanup/.cvsignore:
13315         * testsuite/dynparams/.cvsignore:
13316         * testsuite/plugin/.cvsignore:
13317         * tools/.cvsignore:
13318           update - this is huge, because it includes *.bb, *.bbg and *.da files
13319           which are generated for gcov.
13320
13321 2004-01-11  David Schleef  <ds@schleef.org>
13322
13323         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13324         a function to parse integers in ways that strto[u]l() does not.
13325
13326 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13327
13328         * tools/gst-inspect.c: (print_caps):
13329           improve output of caps a bit
13330
13331 2004-01-11  David Schleef  <ds@schleef.org>
13332
13333         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13334         inherit correct flags (READONLY and DONTKEEP).
13335
13336 2004-01-11  David Schleef  <ds@schleef.org>
13337
13338         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13339         (gst_filesrc_map_region):
13340         * gst/gstbuffer.c: (_gst_buffer_initialize),
13341         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13342         (gst_buffer_new), (gst_buffer_create_sub),
13343         (gst_buffer_is_span_fast), (gst_buffer_span):
13344         * gst/gstbuffer.h:
13345         Change GstBuffer private structure element names. (all files)
13346         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13347         (gst_queue_link):
13348         * gst/gstqueue.h:
13349         Implement getcaps/pad_link functions that handle the case where
13350         there are data in the queue.
13351
13352 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13353
13354         * gst/elements/gstbufferstore.c:
13355           initialize debugging structure correctly
13356         * gst/elements/gsttee.c: (gst_tee_set_property):
13357           g_object_notify when property was changed
13358         * gst/elements/gsttypefindelement.c:
13359         (gst_type_find_element_change_state):
13360           clear caps correctly
13361
13362 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13363
13364         * gst/gstqueue.c: (gst_queue_init):
13365           Use better defaults for when a queue should block. This
13366           gets rid of jerky playback for quite a few files.
13367           It takes more memory.
13368
13369 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13370
13371         (gst_xml_registry_parse_padtemplate):
13372           make critical message slightly more useful
13373
13374 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13375
13376         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13377         (gst_debug_message_get), (gst_debug_log_default):
13378         * gst/gstinfo.h:
13379           Change gst_debug_log(_valist) to take a const format string.
13380           Change prototype of log function and functions using those to 
13381           take a GstDebugMessage instead of a string that requires using
13382           gst_debug_message_get.
13383
13384 2004-01-08  David Schleef  <ds@schleef.org>
13385
13386         * Makefile.am:
13387         * configure.ac:
13388         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13389         and -ftest-coverage, which allows gcov to show information about
13390         testsuite coverage.
13391
13392 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13393
13394         * gst/gstutils.h:
13395           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13396           GST_PARENT_CALL_WITH_DEFAULT
13397         * gst/elements/gstaggregator.c: 
13398         * gst/elements/gstbufferstore.c: 
13399         * gst/elements/gstfakesink.c: 
13400         * gst/elements/gstfakesrc.c: 
13401         * gst/elements/gstfdsink.c: 
13402         * gst/elements/gstfdsrc.c: 
13403         * gst/elements/gstfilesink.c: 
13404         * gst/elements/gstfilesrc.c: 
13405         * gst/elements/gstidentity.c: 
13406         * gst/elements/gstmd5sink.c: 
13407         * gst/elements/gstmultidisksrc.c:
13408         * gst/elements/gstpipefilter.c: 
13409         * gst/elements/gstshaper.c:
13410         * gst/elements/gststatistics.c:
13411         * gst/elements/gsttee.c:
13412         * gst/elements/gsttypefindelement.c:
13413           use them.
13414
13415 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13416
13417         * docs/gst/gstreamer-docs.sgml: remove props
13418         * docs/gst/gstreamer-sections.txt: remove props
13419         * docs/gst/tmpl/gst.sgml:
13420         * docs/gst/tmpl/gstbin.sgml:
13421         * docs/gst/tmpl/gstbuffer.sgml:
13422         * docs/gst/tmpl/gstcaps.sgml:
13423         * docs/gst/tmpl/gstclock.sgml:
13424         * docs/gst/tmpl/gstelement.sgml:
13425         * docs/gst/tmpl/gstindex.sgml:
13426         * docs/gst/tmpl/gstobject.sgml:
13427         * docs/gst/tmpl/gstpad.sgml:
13428         * docs/gst/tmpl/gstpadtemplate.sgml:
13429         * docs/gst/tmpl/gstreamer-unused.sgml:
13430         * docs/gst/tmpl/gstthread.sgml:
13431         * docs/gst/tmpl/gstxml.sgml:
13432           sync with code reorganization
13433
13434 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13435
13436         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13437         Make the 'Could not find compatible pad' message more informative.
13438
13439 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13440                                                                                 
13441         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13442           Fix for if we pass NULL as property to location.
13443         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13444         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13445           Fix for instantiate-test (see below).
13446         * gst/gststructure.c: (_gst_structure_parse_value):
13447           Fix compile error on gcc-2.96.
13448         * configure.ac:
13449         * tests/Makefile.am:
13450         * tests/instantiate/Makefile.am:
13451         * tests/instantiate/create.c: (create_all_elements), (main):
13452           Add a test that instantiates all elements. This makes it easy to
13453           track dead code for old API/design (like setting event functions
13454           on sink pads and so on).
13455
13456 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13457
13458         * gst/gstcaps.c: (gst_caps_append_structure):
13459           Move the poisoning to allow a NULL structure
13460         * gst/gstevent.c: (_gst_event_free):
13461           When freeing a navigation event, free the structure
13462           also
13463
13464 2004-01-04  David Schleef  <ds@schleef.org>
13465
13466         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13467         Remove usage of gst_pad_proxy_fixate.
13468         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13469         (gst_caps_split_one), (gst_caps_replace):
13470         Add poisoning code.
13471         * gst/gstmarshal.list:
13472         Add pointer__pointer for fixate signal
13473         * gst/gstpad.c: (gst_real_pad_class_init),
13474         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13475         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13476         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13477         Add poisoning code. Add fixate signal on RealPad. Change
13478         set_explicit_caps() to take const GstCaps, like try_set_caps().
13479         * gst/gstpad.h:
13480         * testsuite/caps/Makefile.am:
13481         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13482
13483 2004-01-03  David Schleef  <ds@schleef.org>
13484
13485         * gst/elements/gsttypefindelement.c:
13486         (gst_type_find_element_have_type), (gst_type_find_element_init):
13487         Use gst_pad_use_explicit_caps for src pad.
13488         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13489         before using it.
13490
13491 2004-01-03  David Schleef  <ds@schleef.org>
13492
13493         * gst/gstelement.c: (gst_element_link_pads_filtered),
13494         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13495         that linking was successful.
13496         * gst/gstpad.c: (gst_pad_link_free),
13497         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13498         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13499         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13500         GstPadLinkReturn correctly between functions, and don't fail
13501         when DELAYED is used (DELAYED is very important).  Better
13502         cleanup on unlinking and unnegotiation.  Should fix some spider
13503         bugs.
13504
13505 2004-01-02  David Schleef  <ds@schleef.org>
13506
13507         * gst/gstelement.c: (gst_element_class_init),
13508         (gst_element_base_class_init): ->padtemplates should be cleared
13509         in base_init, since we need to have a fresh list for every
13510         class.  (Alternately, we chould copy the list and share the
13511         actual pad templates (not the list), but that would require
13512         changing every plugin to move pad template registration from
13513         base_init to class_init.)
13514
13515 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13516
13517         * gst/gstelement.c: (gst_element_class_add_pad_template):
13518           Refuse registering a pad template if another pad template
13519           with the same name already exists (#114715).
13520
13521 2004-01-02  David Schleef  <ds@schleef.org>
13522
13523         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13524         (gst_caps_is_equal_fixed): Add new function.
13525         * gst/gstcaps.h: ditto.
13526         * gst/gstpad.c: (gst_real_pad_class_init),
13527         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13528         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13529         check new caps against existing caps -- if they're the same, return
13530         OK without renegotiating.  caps-nego-failed signal fixed so that
13531         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13532         to save an extra caps copy.  Don't complete negotiation if a pad
13533         link function returns DELAYED.
13534
13535 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13536
13537         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13538           Fix wrong g_return_if_fail
13539
13540 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13541
13542         * gst/gstbin.c: (gst_bin_class_init):
13543         Change the marshalling of element_added/element_removed
13544         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13545         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13546
13547 2004-01-01  David Schleef  <ds@schleef.org>
13548
13549         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13550         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13551         (gst_pad_use_explicit_caps):
13552         * gst/gstpad.h:
13553         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13554         to use an internal getcaps and link fuction so that negotiation
13555         always results in the explicitly set caps.
13556         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13557         are particularly useful for decoders.
13558
13559 2003-12-31  David Schleef  <ds@schleef.org>
13560
13561         * gst/elements/gstidentity.c: (gst_identity_class_init),
13562         (gst_identity_init), (gst_identity_chain),
13563         (gst_identity_set_property), (gst_identity_get_property):
13564         * gst/elements/gstidentity.h:
13565         * gst/gstqueue.c: (gst_queue_init):
13566           Negotiation fixes.
13567
13568 2003-12-31  David Schleef  <ds@schleef.org>
13569
13570         * gst/gstcaps.c: (gst_caps_intersect),
13571         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13572           Implement gst_caps_normalize().
13573         * testsuite/caps/normalisation.c: (main):
13574           Add an additional test
13575
13576 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13577
13578         * gst/gstqueue.c: (gst_queue_init):
13579           use gst_pad_proxy_getcaps()
13580
13581 2003-12-31  David Schleef  <ds@schleef.org>
13582
13583         * gst/elements/gstshaper.c: (gst_shaper_link):
13584         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13585         * gst/gstqueue.c: (gst_queue_link):
13586           Negotiation fixes.
13587
13588 2003-12-31  David Schleef  <ds@schleef.org>
13589
13590         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13591         * gst/gstpad.h: Add functions that are useful as default pad
13592         link and fixate functions for elements.
13593
13594 2003-12-30  David Schleef  <ds@schleef.org>
13595
13596         * gst/gstpad.c: (gst_pad_link_try):
13597           Fix segfault when attempting to return to old caps
13598
13599 2003-12-29  David Schleef  <ds@schleef.org>
13600
13601         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13602         (gst_caps_structure_simplify), (gst_caps_simplify):
13603         * gst/gstcaps.h:
13604           Add simplify function
13605         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13606         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13607         * gst/gstpad.h:
13608           Copy over srcnotify, sinknotify when calling old pad_link
13609           functions.  Add new is_negotiated() function.
13610         * gst/gststructure.c: (gst_structure_copy):
13611           Fix an incredibly stupid bug that should have been noticed
13612           weeks ago.  _copy() returned the argument, not the new copy.
13613
13614 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13615
13616         * gst/gstcaps.c: (gst_caps_append):
13617           add sanity checks
13618         * gst/gstcaps.h: (gst_caps_debug):
13619           remove, it doesn't exist anymore.
13620         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13621         (gst_element_threadsafe_properties_post_run):
13622           make debugging messages not clutter up THREAD debug category
13623         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13624         (gst_element_change_state):
13625           update to new caps API
13626         * gst/gstinterface.c: (gst_implements_interface_cast):
13627           don't put vital code in g_return_if_fail
13628         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13629         (gst_pad_link_filtered):
13630           add pst_pad_try_link and use it.
13631         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13632           implement correctly, deprecate first one.
13633         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13634           add and implement.
13635         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13636           implement.
13637         (gst_pad_get_negotiated_caps):
13638           add and implement. Make GST_PAD_CAPS call this function.
13639         (gst_pad_get_caps):
13640           remove unneeded check..
13641         (gst_pad_recover_caps_error):
13642           disable, always return FALSE.
13643         (gst_real_pad_dispose):
13644           don't free caps and appfilter anymore, they're unused.
13645         * gst/gstpad.h:
13646           Reflect changes mentioned above.
13647         * gst/gstsystemclock.c: (gst_system_clock_wait):
13648           Make 'clock is way behind' a debugging message.
13649         * gst/gstthread.c: (gst_thread_change_state):
13650           Fix debugging message
13651
13652 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13653
13654         * gst/gstinfo.h:
13655           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13656         * docs/gst/tmpl/gstreamer-unused.sgml:
13657           removed all traces of cvs conflicts
13658
13659 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * configure.ac:
13662         * gst/schedulers/cothreads_compat.h:
13663         * libs/Makefile.am:
13664           remove last instances of wingo cothread usage
13665
13666 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13667
13668         * gst/gstplugin.c:
13669         * gst/gstversion.h.in:
13670         * gst/parse/grammar.y:
13671           change comment block from /** to /* when not gtk-doc comments
13672
13673 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13674
13675         * gst/gst.c: whitespace and doc style fixes
13676
13677 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13678
13679         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13680
13681 2003-12-24  Colin Walters  <walters@verbum.org>
13682
13683         * gst/elements/gsttypefindelement.c:
13684           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13685           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13686           Don't double-free caps.
13687
13688 2003-12-23  David Schleef  <ds@schleef.org>
13689
13690         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13691           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13692           Many little fixes and additions of debug statements to
13693           get rhythmbox working.
13694
13695 2003-12-23  Colin Walters  <walters@verbum.org>
13696
13697         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13698         Use GST_PAD_LINK_SUCCESSFUL.
13699
13700 2003-12-23  David Schleef  <ds@schleef.org>
13701
13702         * gst/elements/gstaggregator.c:
13703         * gst/elements/gsttee.c:
13704           Use gst_pad_proxy_getcaps().
13705         * gst/gstpad.c:
13706         * gst/gstpad.h:
13707           Add gst_pad_proxy_getcaps(), which filter elements can use
13708           as a generic getcaps implementation.
13709           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13710           was advertised.
13711
13712 2003-12-23  David Schleef  <ds@schleef.org>
13713
13714         * gst/gstpad.c:
13715           Rearrange/rewrite much of the pad negotiation code, since it
13716           resembled pasta.  This actually changes the way some
13717           negotiation works, since the previous code was inconsistent
13718           depending on how it was invoked.  Add (internal) structure
13719           GstPadLink, which is used to hold some information (more in
13720           the future) about the link between two pads.  Fixes a number
13721           of bugs, including random lossage of filter caps when the
13722           initial negotiation is delayed.  A few functions are still
13723           unimplemented.
13724         * gst/gstpad.h:
13725           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13726           these when testing GstPadLinkReturn values instead of comparing
13727           directly.
13728
13729 2003-12-23  David Schleef  <ds@schleef.org>
13730
13731         * gst/gstvalue.c: 
13732         * gst/gstvalue.h:
13733           Rearrange lots of code.  Change registration of compare function
13734           into registration of compare/serialize/deserialize functions.
13735           Doesn't include implementation of gst_value_[de]serialize(),
13736           but that should be easy.
13737
13738 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13739
13740         * docs/gst/gstreamer-sections.txt:
13741         * docs/gst/tmpl/gstprops.sgml: removed
13742         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13743           David removed props and caps code, so let's remove their docs as well.
13744           Removed all no longer existing symbols from gstreamer-sections.txt
13745           
13746 2003-12-22  Colin Walters  <walters@verbum.org>
13747
13748         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13749           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13750           of tags directly.
13751
13752 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13753
13754         * gst/elements/gstelements.c:
13755           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13756         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13757           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13758           gst_caps (peer).
13759
13760 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13761
13762         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13763         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13764         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13765         (gst_spider_identity_sink_loop_type_finding):
13766         * gst/autoplug/gstspideridentity.h:
13767           Fix autoplugging in spider element, so it works with new caps.
13768           This was mainly caused by identifying empty caps incorrectly.
13769
13770 2003-12-22  David Schleef  <ds@schleef.org>
13771
13772         * gststructure.c, gstvalue.c, gstvalue.h: Add
13773           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13774           using g_value_copy()
13775
13776 2003-12-21  David Schleef  <ds@schleef.org>
13777
13778         * many, many files: Merge CAPS branch.  This includes:
13779           - implemention of GstValue and several GstValue types
13780           - implemention of GstStructure
13781           - entire rewrite of GstCaps
13782           - removal of GstProps
13783           - many changes to GstPad to compensate for new caps paradigm
13784           - removal of GstBufferpool
13785         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13786         gstvalue.h, gst/gstcaps[2]*.[ch]:
13787           - rename gstcaps2.[ch] to gstcaps.[ch]
13788
13789 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13790
13791         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13792         (gst_queue_chain), (gst_queue_handle_src_event):
13793           implement timeout for sending events. Workaround for if the
13794           pipeline on this queue is not passing any data.
13795
13796 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13797                                                                                 
13798         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13799         * moved CVS to freedesktop.org