gst/gstbin.c: Use gst_element_post_message() instead.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * gst/gstbin.c: (bin_bus_handler):
4           Use gst_element_post_message() instead.
5
6 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7
8         * gst/base/gstadapter.h:
9         * gst/base/gstbasesink.h:
10         * gst/base/gstbasesrc.h:
11         * gst/base/gstbasetransform.h:
12         * gst/base/gstcollectpads.h:
13         * gst/base/gstpushsrc.h:
14         * gst/gstiterator.h:
15           Add padding to our base elements' class and instance structs and
16           to GstIterator (you will need to rebuild all plugins and apps!)
17
18 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19
20         * gst/gstbin.c: (bin_bus_handler):
21           Make default message forwarding from child->bus to bin->bus
22           threadsafe and make it not emit warnings if the parent has no bus.
23
24 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25
26         * gst/gstelement.c: (activate_pads):
27           On paused->ready, set pad->caps to NULL, as is the documented
28           behaviour in this state change. Fixes playback of series of
29           media files when visualization is enabled in Totem.
30
31 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
32
33         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
34           Allow NULL as filter-caps (which means "any").
35
36 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
37
38         * docs/libs/gstreamer-libs-sections.txt:
39         * libs/gst/controller/gst-controller.c:
40         * libs/gst/controller/gst-controller.h:
41         * libs/gst/controller/gst-helper.c:
42           adding more entries to the docs and fix small doc-bugs
43
44 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
45
46         * docs/gst/gstreamer-docs.sgml:
47         * docs/gst/gstreamer-sections.txt:
48         * docs/gst/gstreamer.types:
49         * docs/gst/tmpl/gstbasesink.sgml:
50         * docs/gst/tmpl/gstbasesrc.sgml:
51         * docs/gst/tmpl/gstbasetransform.sgml:
52         * docs/gst/tmpl/gstfakesrc.sgml:
53         * gst/base/gstcollectpads.c:
54         * gst/base/gstcollectpads.h:
55         * libs/gst/controller/gst-controller.c:
56         * libs/gst/controller/gst-controller.h:
57         * libs/gst/controller/gst-helper.c:
58         * libs/gst/controller/gst-interpolation.c:
59         * libs/gst/controller/lib.c:
60           added long/short desc for controller docs
61           added collectpads base class docs
62           added correct includes to base-class docs
63
64 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
65
66         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
67         (gst_test_mono_source_set_property),
68         (gst_test_mono_source_class_init), (GST_START_TEST),
69         (gst_controller_suite):
70         * docs/gst/gstreamer-docs.sgml:
71         * docs/gst/gstreamer-sections.txt:
72         * docs/gst/gstreamer.types:
73         * docs/libs/gstreamer-libs-docs.sgml:
74         * docs/libs/gstreamer-libs-sections.txt:
75         * gst/base/gstadapter.c:
76         * libs/gst/controller/gst-controller.c:
77         (gst_controlled_property_new), (gst_controlled_property_free),
78         (gst_controller_new_valist),
79         (gst_controller_remove_properties_valist),
80         (gst_controller_sink_values), (_gst_controller_finalize):
81         * libs/gst/controller/gst-controller.h:
82         * libs/gst/controller/gst-helper.c:
83         (gst_object_control_properties), (gst_object_uncontrol_properties),
84         (gst_object_get_controller), (gst_object_set_controller),
85         (gst_object_sink_values), (gst_object_get_value_arrays),
86         (gst_object_get_value_array):
87           more tests (and fixes) for the controller
88           more docs for the controller
89           integrated companies docs for the adapter 
90
91 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
92
93         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
94         (GST_START_TEST), (fakesrc_suite):
95           add tests for sizetype
96
97 2005-08-04  Andy Wingo  <wingo@pobox.com>
98
99         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
100         fixes buffer_alloc proxying among other things.
101
102         * gst/base/gstbasetransform.c:
103         * gst/base/gstbasetransform.h:
104         Revert patch to gstbasetransform from 7-28 removing
105         delay_configure.
106
107         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
108         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
109         Semantics changed, should return not the size of the output buffer
110         but the byte size of a buffer with a given caps.
111
112         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
113         debug object.
114         (gst_base_transform_configure_caps): Don't set out_size here: (in,
115         out) are not the pad caps until setcaps finishes.
116         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
117         not-in-place case as well. Deal with changing from in-place to
118         not-in-place within calling pad_alloc_buffer. Still a bit
119         concerned about the overhead here...
120
121 2005-08-03  Andy Wingo  <wingo@pobox.com>
122
123         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
124         fixating is an error.
125
126 2005-08-04  Edward Hervey  <edward@fluendo.com>
127
128         * gst/base/gstadapter.h: 
129         Added gst_adapter_get_type() to the header
130
131 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
132
133         * check/Makefile.am:
134         * check/gst-libs/controller.c:
135         * libs/gst/controller/gst-controller.c:
136         (gst_controller_new_valist):
137           added check test suite for the controller
138         * gst/base/gstpushsrc.c:
139           fixed a doc typo
140
141 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
142
143         * docs/gst/Makefile.am:
144         * docs/gst/gstreamer-docs.sgml:
145         * docs/gst/gstreamer-sections.txt:
146         * docs/gst/gstreamer.types:
147         * docs/gst/tmpl/gstfakesrc.sgml:
148         * gst/base/README:
149         * gst/base/gstbasesink.c:
150         * gst/base/gstbasesink.h:
151         * gst/base/gstbasesrc.c:
152         * gst/base/gstbasesrc.h:
153         * gst/base/gstbasetransform.c:
154         * gst/base/gstpushsrc.c:
155         * gst/base/gstpushsrc.h:
156           add short/long description docs to base classes
157           add pushsrc to the docs
158           remove consolidated doc fragments
159
160 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
161
162         * configure.ac:
163         * docs/libs/Makefile.am:
164         * docs/libs/gstreamer-libs-docs.sgml:
165         * docs/libs/gstreamer-libs-sections.txt:
166         * docs/libs/gstreamer-libs.types:
167         * examples/Makefile.am:
168         * examples/controller/.cvsignore:
169         * examples/controller/Makefile.am:
170         * examples/controller/audio-example.c: (main):
171         * libs/gst/Makefile.am:
172         * libs/gst/controller/.cvsignore:
173         * libs/gst/controller/Makefile.am:
174         * libs/gst/controller/gst-controller.c:
175         (on_object_controlled_property_changed), (gst_timed_value_compare),
176         (gst_timed_value_find),
177         (gst_controlled_property_set_interpolation_mode),
178         (gst_controlled_property_new), (gst_controlled_property_free),
179         (gst_controller_find_controlled_property),
180         (gst_controller_new_valist), (gst_controller_new),
181         (gst_controller_remove_properties_valist),
182         (gst_controller_remove_properties), (gst_controller_set),
183         (gst_controller_set_from_list), (gst_controller_unset),
184         (gst_controller_get), (gst_controller_get_all),
185         (gst_controller_sink_values), (gst_controller_get_value_arrays),
186         (gst_controller_get_value_array),
187         (gst_controller_set_interpolation_mode),
188         (_gst_controller_finalize), (_gst_controller_init),
189         (_gst_controller_class_init), (gst_controller_get_type):
190         * libs/gst/controller/gst-controller.h:
191         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
192         (g_object_uncontrol_properties), (g_object_get_controller),
193         (g_object_set_controller), (g_object_sink_values),
194         (g_object_get_value_arrays), (g_object_get_value_array):
195         * libs/gst/controller/gst-interpolation.c:
196         (gst_controlled_property_find_timed_value_node),
197         (interpolate_none_get), (interpolate_trigger_get),
198         (interpolate_trigger_get_value_array):
199         * libs/gst/controller/lib.c: (gst_controller_init):
200         * pkgconfig/Makefile.am:
201         * pkgconfig/gstreamer-control-uninstalled.pc.in:
202         * pkgconfig/gstreamer-control.pc.in:
203         * testsuite/Makefile.am:
204         * testsuite/controller/.cvsignore:
205         * testsuite/controller/Makefile.am:
206         * testsuite/controller/interpolator.c: (main):
207           added controller code
208           removed dparam pc files
209
210 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
211         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
212         (gst_collectpads_stop):
213           Broadcast the condition when shutting down, to make sure we wake all
214           threads up. Shut down pads on finalize, for safety.
215
216 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
217         * gst/base/gstbasetransform.c: (gst_base_transform_init),
218         (gst_base_transform_handle_buffer),
219         (gst_base_transform_change_state):
220           Handle PAUSED->READY->PAUSED transition after negotiation
221           occurred already.
222         * gst/gstmessage.c: (gst_message_init):
223           Extra piece of debug for new messages.
224
225 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
226
227         * configure.ac:
228         * docs/gst/tmpl/gstbasesrc.sgml:
229         * docs/gst/tmpl/gstelement.sgml:
230         * docs/gst/tmpl/gstevent.sgml:
231         * docs/gst/tmpl/gstfakesrc.sgml:
232         * docs/gst/tmpl/gstformat.sgml:
233         * docs/gst/tmpl/gstghostpad.sgml:
234         * docs/gst/tmpl/gstpad.sgml:
235         * docs/gst/tmpl/gstquery.sgml:
236         * docs/gst/tmpl/gststructure.sgml:
237         * docs/gst/tmpl/gsttaglist.sgml:
238         * docs/gst/tmpl/gstvalue.sgml:
239         * docs/libs/gstreamer-libs-docs.sgml:
240         * docs/libs/gstreamer-libs-sections.txt:
241         * docs/libs/gstreamer-libs.types:
242         * libs/gst/Makefile.am:
243         * libs/gst/control/.cvsignore:
244         * libs/gst/control/Makefile.am:
245         * libs/gst/control/control.c:
246         * libs/gst/control/control.h:
247         * libs/gst/control/dparam.c:
248         * libs/gst/control/dparam.h:
249         * libs/gst/control/dparam_smooth.c:
250         * libs/gst/control/dparam_smooth.h:
251         * libs/gst/control/dparamcommon.h:
252         * libs/gst/control/dparammanager.c:
253         * libs/gst/control/dparammanager.h:
254         * libs/gst/control/dplinearinterp.c:
255         * libs/gst/control/dplinearinterp.h:
256         * libs/gst/control/unitconvert.c:
257         * libs/gst/control/unitconvert.h:
258         * testsuite/Makefile.am:
259         * testsuite/dynparams/.cvsignore:
260         * testsuite/dynparams/Makefile.am:
261         * testsuite/dynparams/dparamstest.c:
262         * tools/Makefile.am:
263         * tools/gst-inspect.c: (print_element_info), (main):
264         * tools/gst-xmlinspect.c: (print_element_info), (main):
265           deactivate and remove dparams (libgstcontrol)
266
267 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
268
269         * gst/elements/gsttypefindelement.c:
270         (gst_type_find_element_have_type), (gst_type_find_element_init),
271         (stop_typefinding), (gst_type_find_element_handle_event),
272         (gst_type_find_element_chain), (gst_type_find_element_getrange):
273         * gst/elements/gsttypefindelement.h:
274           Set caps on all outgoing buffers, not just the first one.
275
276 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
277
278         * gst/elements/gsttypefindelement.c:
279         (gst_type_find_element_have_type),
280         (gst_type_find_element_check_set_buffer_caps),
281         (gst_type_find_element_init), (stop_typefinding),
282         (gst_type_find_element_handle_event),
283         (gst_type_find_element_chain), (gst_type_find_element_getrange):
284         * gst/elements/gsttypefindelement.h:
285           Set caps on first outgoing buffer when we've found the type.
286
287 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
288
289         * docs/gst/gstreamer-docs.sgml:
290         * docs/gst/gstreamer-sections.txt:
291         * docs/gst/tmpl/gstscheduler.sgml:
292         * docs/gst/tmpl/gstschedulerfactory.sgml:
293           Remove some old cruft from docs.
294
295 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
296
297         * gst/gstpad.h:
298           Fix inline docs for GstPadLinkReturn.
299           
300         * gst/gststructure.c: (gst_structure_has_name):
301         * gst/gststructure.h:
302         * docs/gst/gstreamer-sections.txt:
303           New API: gst_structure_has_name().
304
305 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
306
307         * configure.ac:
308           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
309           and _LARGEFILE_SOURCE in config.h as required. Do not 
310           export those flags in our .pc files any longer (#142209).
311
312           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
313
314         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
315         (gst_file_sink_do_seek), (gst_file_sink_event),
316         (gst_file_sink_get_current_offset), (gst_file_sink_render):
317           Redo seek/tell calls with large file support in mind; add some
318           debugging messages; add log message that tells us when large
319           file support is unavailable or not enabled for some reason.
320
321         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
322           Add log message that tells us when large file support 
323           is unavailable or not enabled for some reason.
324
325 2005-07-29  Wim Taymans  <wim@fluendo.com>
326
327         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
328         Added test for removing an element with ghostpad from a bin.
329         Fixed test as current implementation does the right thing.
330
331         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
332         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
333         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
334         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
335         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
336         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
337         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
338         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
339         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
340         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
341         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
342         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
343         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
344         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
345         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
346         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
347         * gst/gstghostpad.h:
348         Clean up ghostpads, remove properties for internal stuff.
349         Make threadsafe.
350         Fix refcounting.
351         Prepare for switching targets, not all use cases work yet.
352
353 2005-07-29  Wim Taymans  <wim@fluendo.com>
354
355         * docs/design/part-gstghostpad.txt:
356         Small update.
357
358         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
359         (gst_bin_remove_func):
360         Unlinking pads while holding the bin LOCK is not a good
361         idea.
362
363         * gst/gstpad.c: (gst_pad_class_init),
364         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
365         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
366         No prob setting template after creating the pad.
367
368 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
369
370         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
371         (gst_bus_peek), (gst_bus_source_dispatch),
372         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
373         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
374           gst_bus_poll may be called from other threads. Handle
375           this nicely by not making poll_data disappear off the
376           stack once gst_bus_poll returns.
377           gst_bus_peek now increments the refcount on the returned
378           message.
379
380 2005-07-29  Wim Taymans  <wim@fluendo.com>
381
382         * docs/design/part-gstghostpad.txt:
383         Overview of current GhostPad datastructures and use
384         cases for changing the target.
385
386 2005-07-28  Wim Taymans  <wim@fluendo.com>
387
388         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
389         Added checks for hierarchy consistency whan adding linked
390         elements to bins.
391
392         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
393         Added check to test element scheduling without bin/pipeline.
394
395         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
396         First add elements to bin, then link.
397         
398         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
399         (gst_bin_remove_func):
400         Unlink pads from elements added/removed from bin to maintain
401         hierarchy consistency.
402
403 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
404
405         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
406         (gst_base_transform_handle_buffer):
407         * gst/base/gstbasetransform.h:
408           Remove broken delay_configure (fixes renegotiation of software
409           scaling pipelines); remove some leftover printf()s.
410
411 2005-07-28  Wim Taymans  <wim@fluendo.com>
412
413         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
414         Added some more tests for wrong hierarchy
415
416         * docs/design/part-overview.txt:
417         Some updates.
418
419         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
420         Cleanups.
421
422         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
423         (gst_element_dispose):
424         Some more cleanups.
425
426         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
427         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
428         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
429         (gst_pad_set_caps), (gst_pad_send_event):
430         Check for correct hierarchy when linking pads. Moving to
431         strict requirement for ghostpads when linking elements in
432         different bins.
433
434         * gst/gstpad.h:
435         Clean ups. Added WRONG_HIERARCHY return value.
436
437 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
438
439         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
440           Better debug if no transform is possible.
441
442 2005-07-27  Wim Taymans  <wim@fluendo.com>
443
444         * docs/random/wtay/network-transp:
445         Some old doc I had.
446
447 2005-07-27  Wim Taymans  <wim@fluendo.com>
448
449         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
450         (gst_dp_event_from_packet):
451         Fix serialization of seek events.
452
453 2005-07-27  Wim Taymans  <wim@fluendo.com>
454
455         * check/gst-libs/gdp.c: (GST_START_TEST):
456         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
457         Fix compilation and fix event serialization.
458
459 2005-07-27  Wim Taymans  <wim@fluendo.com>
460
461         * CHANGES-0.9:
462         * docs/design/part-TODO.txt:
463         * docs/design/part-events.txt:
464         Some docs updates
465
466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
467         (gst_base_sink_event), (gst_base_sink_do_sync),
468         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
469         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
470         (gst_base_src_do_seek), (gst_base_src_event_handler),
471         (gst_base_src_loop):
472         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
473         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
474         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
475         (gst_base_transform_event), (gst_base_transform_handle_buffer),
476         (gst_base_transform_set_passthrough),
477         (gst_base_transform_is_passthrough):
478         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
479         * gst/elements/gstfilesink.c: (gst_file_sink_event):
480         Event updates.
481
482         * gst/gstbuffer.h:
483         Use faster casts.
484
485         * gst/gstelement.c: (gst_element_seek):
486         * gst/gstelement.h:
487         Update gst_element_seek.
488
489         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
490         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
491         (gst_event_new_flush_start), (gst_event_new_flush_stop),
492         (gst_event_new_eos), (gst_event_new_newsegment),
493         (gst_event_parse_newsegment), (gst_event_new_tag),
494         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
495         (gst_event_parse_qos), (gst_event_new_seek),
496         (gst_event_parse_seek), (gst_event_new_navigation):
497         * gst/gstevent.h:
498         Make GstEvent use GstStructure. Add parsing code, make sure the
499         API is sufficiently generic.
500         Mark possible directions of events and serialization.
501
502         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
503         (_gst_message_copy), (gst_message_new_segment_start),
504         (gst_message_new_segment_done), (gst_message_new_custom),
505         (gst_message_parse_segment_start),
506         (gst_message_parse_segment_done):
507         Small cleanups.
508
509         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
510         (gst_pad_set_caps), (gst_pad_send_event):
511         Update for new events. 
512         Catch events sent in wrong directions.
513
514         * gst/gstqueue.c: (gst_queue_link_src),
515         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
516         (gst_queue_handle_src_query):
517         Event updates.
518
519         * gst/gsttag.c:
520         * gst/gsttag.h:
521         Remove event code from this file.
522
523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
524         (gst_dp_event_from_packet):
525         Event updates.
526
527 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
528
529         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
530         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
531         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
532           Make debugging actually useful.
533
534 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
535
536         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
537         (gst_pad_fixate_caps):
538           Implement default fixation once again, so that gst_pad_fixate()
539           actually does anything at all. This probably needs to be some
540           sort of a last resort, and use profile-based fixation first, but
541           since that doesn't exist yet, this is the best we have. Fixes
542           visualization in Totem.
543
544 2005-07-22  Wim Taymans  <wim@fluendo.com>
545
546         * docs/design/part-events.txt:
547         Small update.
548
549         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
550         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
551         (gst_base_sink_activate_pull):
552         Some more comments.
553
554         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
555         (gst_fake_src_create):
556         Fix handoff marshall.
557
558         * gst/elements/gstidentity.c: (gst_identity_class_init),
559         (gst_identity_transform_ip):
560         We're a real inplace element.
561
562         * gst/gstbus.c: (gst_bus_post):
563         Added some comments.
564
565         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
566         * tests/muxing/case1.c: (main):
567         * tests/sched/dynamic-pipeline.c: (main):
568         * tests/sched/interrupt1.c: (main):
569         * tests/sched/interrupt2.c: (main):
570         * tests/sched/interrupt3.c: (main):
571         * tests/sched/runxml.c: (main):
572         * tests/sched/sched-stress.c: (main):
573         * tests/seeking/seeking1.c: (event_received), (main):
574         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
575         (main):
576         * tests/threadstate/threadstate3.c: (main):
577         * tests/threadstate/threadstate4.c: (main):
578         * tests/threadstate/threadstate5.c: (main):
579         Fix the tests.
580
581 2005-07-21  Wim Taymans  <wim@fluendo.com>
582
583         * docs/design/part-seeking.txt:
584         Some small additions.
585
586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
587         (gst_base_sink_get_times), (gst_base_sink_do_sync),
588         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
589         * gst/base/gstbasesink.h:
590         discont values are gint64, handle the math correctly.
591
592         * gst/base/gstbasesrc.c: (gst_base_src_loop):
593         Make the basesrc report error if the source pad is not linked.
594
595         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
596         (gst_queue_loop), (gst_queue_handle_src_query),
597         (gst_queue_src_activate_push):
598         Make queue collect data even if the srcpad is not linked.
599         Start pushing out data as soon as it is linked.
600
601         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
602         * gst/gstutils.h:
603         Added gst_flow_get_name() to ease error reporting.
604
605 2005-07-20  Wim Taymans  <wim@fluendo.com>
606
607         * gst/gstmessage.c: (gst_message_new_segment_start),
608         (gst_message_new_segment_done), (gst_message_parse_segment_start),
609         (gst_message_parse_segment_done):
610         * gst/gstmessage.h:
611         Added a bunch of messages for advanced seeking.
612
613         * gst/parse/grammar.y:
614         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
615         (gst_dpman_state_changed):
616         Fix some new-pad -> pad-added signals
617
618 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
619
620         * docs/manual/appendix-porting.xml:
621         * docs/pwg/appendix-porting.xml:
622           Document new-pad/state-change signal renames and the FixedList
623           type rename.
624
625 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
626
627         * docs/manual/advanced-autoplugging.xml:
628         * docs/manual/basics-helloworld.xml:
629         * docs/manual/basics-pads.xml:
630         * docs/random/ds/0.9-suggested-changes:
631         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
632         * gst/gstelement.h:
633         * gst/gstevent.h:
634         * gst/gstformat.h:
635         * gst/gstquery.h:
636         * gst/gststructure.c: (gst_structure_value_get_generic_type),
637         (gst_structure_parse_array), (gst_structure_parse_value):
638         * gst/gstvalue.c: (gst_type_is_fixed),
639         (gst_value_list_prepend_value), (gst_value_list_append_value),
640         (gst_value_list_get_size), (gst_value_list_get_value),
641         (gst_value_transform_array_string), (gst_value_serialize_array),
642         (gst_value_deserialize_array), (gst_value_intersect_array),
643         (gst_value_is_fixed), (_gst_value_initialize):
644         * gst/gstvalue.h:
645           GstElement::new-pad -> pad-added, GstElement::state-change ->
646           state-changed, GstValueFixedList -> GstValueArray, add format and
647           flags as their own arguments in gst_element_seek() (should improve
648           "bindeability"), remove function generators since they don't work
649           under a whole bunch of compilers (they were deprecated already
650           anyway).
651
652 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
653
654         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
655         (_gst_debug_register_funcptr):
656         * gst/gstinfo.h:
657           Fix illegal cast on some platforms (#309253).
658
659 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
660
661         * gst/gstmessage.c: (gst_message_new_custom):
662         * gst/gstmessage.h:
663           Add _new_custom, make _new_application a macro to _new_custom.
664
665 2005-07-20  Wim Taymans  <wim@fluendo.com>
666
667         * gst/base/gstbasesrc.c: (gst_base_src_init),
668         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
669         * gst/base/gstbasesrc.h:
670         Add a gboolean to decide when to push out a discont.
671
672         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
673         (gst_queue_loop), (gst_queue_handle_src_query),
674         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
675         (gst_queue_set_property), (gst_queue_get_property):
676         Some cleanups.
677
678         * tests/threadstate/threadstate1.c: (main):
679         Make a thread test compile and run... very silly..
680
681
682 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
683
684         * docs/manual/appendix-porting.xml:
685           Mention removal of libgstgconf-0.9.la and existence of gconf
686           elements.
687
688 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
689
690         * docs/pwg/advanced-clock.xml:
691         * docs/pwg/appendix-porting.xml:
692         * docs/pwg/intro-preface.xml:
693         * docs/pwg/other-base.xml:
694         * docs/pwg/other-manager.xml:
695         * docs/pwg/other-nton.xml:
696         * docs/pwg/other-ntoone.xml:
697         * docs/pwg/other-oneton.xml:
698         * docs/pwg/pwg.xml:
699           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
700           demuxer), remove n-to-n (was never written), fix some code examples
701           and links and update the porting section to include all this.
702
703 2005-07-19  Wim Taymans  <wim@fluendo.com>
704
705         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
706         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
707         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
708         (gst_queue_src_activate_push), (gst_queue_change_state),
709         (gst_queue_get_property):
710         * gst/gstqueue.h:
711         Propagate GstFlowReturn more intelligently upstream and output
712         an ERROR/EOS when streaming stopped due to fatal error.
713
714 2005-07-19  Wim Taymans  <wim@fluendo.com>
715
716         * tools/gst-launch.c: (check_intr), (event_loop), (main):
717         Don't block forever for the state change to complete, the
718         pipeline already did with a sensible timeout.
719
720 2005-07-19  Wim Taymans  <wim@fluendo.com>
721
722         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
723         Make sure we never call the create function is we
724         got deactivated.
725
726 2005-07-19  Andy Wingo  <wingo@pobox.com>
727
728         * gst/parse/parse.l: Attempt to solve bug #172815.
729
730 2005-07-19  Wim Taymans  <wim@fluendo.com>
731
732         * docs/design/part-clocks.txt:
733         * docs/design/part-events.txt:
734         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
735         Small docs updates.
736         Only update the seeking values when we are not
737         busy streaming.
738
739 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
740
741         * gst/base/gstbasesrc.c: (gst_base_src_loop):
742           Oops, ignore the result of gst_pad_push_event here.
743
744 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
745
746         * gst/base/gstbasesrc.c: (gst_base_src_loop),
747         (gst_base_src_activate_push):
748           Send discont event from the loop function, as pads
749           aren't activated yet in the activate_push handler.
750
751         * gst/gstbin.c: (bin_bus_handler):
752           Don't leak element name.
753
754 2005-07-18  Andy Wingo  <wingo@pobox.com>
755
756         * configure.ac: Use AS_LIBTOOL_TAGS.
757
758 2005-07-18  Wim Taymans  <wim@fluendo.com>
759
760         * docs/gst/gstreamer.types:
761         Remove deleted types.
762
763 2005-07-18  Wim Taymans  <wim@fluendo.com>
764
765         * check/elements/gstfakesrc.c: (GST_START_TEST):
766         * configure.ac:
767         * gst/Makefile.am:
768         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
769         (init_popt_callback):
770         * gst/gst.h:
771         * gst/gst_private.h:
772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
773         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
774         * gst/gstbin.h:
775         * gst/gstbus.h:
776         * gst/gstconfig.h.in:
777         * gst/gstelement.c: (gst_element_class_init),
778         (gst_element_set_base_time), (gst_element_get_base_time),
779         (iterator_fold_with_resync), (gst_element_change_state),
780         (gst_element_dispose), (gst_element_get_bus):
781         * gst/gstelement.h:
782         * gst/gstelementfactory.h:
783         * gst/gsterror.c: (_gst_core_errors_init):
784         * gst/gsterror.h:
785         * gst/gstevent.h:
786         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
787         * gst/gstindex.c:
788         * gst/gstinfo.c: (_gst_debug_init):
789         * gst/gstmessage.c: (_gst_message_copy):
790         * gst/gstmessage.h:
791         * gst/gstminiobject.h:
792         * gst/gstobject.c:
793         * gst/gstobject.h:
794         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
795         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
796         * gst/gstpad.h:
797         * gst/gstparse.h:
798         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
799         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
800         (gst_pipeline_get_last_stream_time):
801         * gst/gstpipeline.h:
802         * gst/gstpluginfeature.h:
803         * gst/gstquery.h:
804         * gst/gstscheduler.c:
805         * gst/gstscheduler.h:
806         * gst/gststructure.h:
807         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
808         (gst_task_finalize), (gst_task_func), (gst_task_create),
809         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
810         (gst_task_stop), (gst_task_pause):
811         * gst/gsttask.h:
812         * gst/gsttypefind.h:
813         * gst/gsttypes.h:
814         * gst/registries/gstlibxmlregistry.c: (load_feature),
815         (gst_xml_registry_load), (gst_xml_registry_save_feature):
816         * gst/registries/gstxmlregistry.c:
817         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
818         * gst/schedulers/threadscheduler.c:
819         * libs/gst/control/dparammanager.h:
820         * tools/gst-inspect.c: (print_element_list),
821         (print_plugin_features), (print_element_features):
822         * tools/gst-xmlinspect.c: (print_element_list),
823         (print_plugin_info), (main):
824         Removed plugable schedulers.
825         Removed Scheduler/Manager from elements.
826         Removed gsttypes.h, rearranged includes.
827         Removed dependency pad<->element, element<>pipeline, and
828         various others,  fix includes.
829         implement gst_pad_get_parent() with gst_object_get_parent()
830         Make GstTask sefcontained.
831         Fix _get_state() on GstBin, it did not return ASYNC with a 0
832         timeout.
833         Fix endless loop in iterator_fold_with_resync.
834
835
836 2005-07-18  Wim Taymans  <wim@fluendo.com>
837
838         * gst/Makefile.am:
839         * gst/gstarch.h:
840         Remove old file.
841
842 2005-07-18  Wim Taymans  <wim@fluendo.com>
843
844         * gst/Makefile.am:
845         No more cothreads.h
846
847 2005-07-18  Wim Taymans  <wim@fluendo.com>
848
849         * gst/cothreads.c:
850         * gst/cothreads.h:
851         Let's remove these.
852
853 2005-07-18  Wim Taymans  <wim@fluendo.com>
854
855         * docs/design/part-dynamic.txt:
856         * docs/design/part-events.txt:
857         * docs/design/part-seeking.txt:
858         Some more docs in the works.
859
860         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
861         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
862         (gst_base_transform_setcaps), (gst_base_transform_get_size),
863         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
864         (gst_base_transform_handle_buffer),
865         (gst_base_transform_sink_activate_push),
866         (gst_base_transform_src_activate_pull),
867         (gst_base_transform_set_passthrough),
868         (gst_base_transform_is_passthrough):
869         Refcounting fixes.
870
871         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
872         Cleanups.
873
874         * gst/gstevent.c: (gst_event_finalize):
875         Set SRC to NULL.
876
877         * gst/gstutils.c: (gst_element_unlink),
878         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
879         (gst_pad_proxy_setcaps):
880         * gst/gstutils.h:
881         Add _get_parent_element() to get a pads parent as an element.
882
883 2005-07-18  Wim Taymans  <wim@fluendo.com>
884
885         * check/gst/gstbin.c: (GST_START_TEST):
886         Remove bogus test.
887
888 2005-07-18  Wim Taymans  <wim@fluendo.com>
889
890         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
891         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
892         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
893         (gst_base_sink_event), (gst_base_sink_do_sync),
894         (gst_base_sink_chain), (gst_base_sink_loop),
895         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
896         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
897         Refcounting fixes.
898         Fix logic for returning ASYNC when not prerolled.
899
900 2005-07-18  Wim Taymans  <wim@fluendo.com>
901
902         * gst/gstqueue.c: (gst_queue_handle_sink_event):
903         Fix nasty refcount bug.
904
905 2005-07-16 Philippe Khalaf <burger@speedy.org>
906         * gst/elements/gstfdsrc.c:
907         * gst/elements/gstfdsrc.h:
908         * gst/elements/gstelements.c:
909         * gst/elements/Makefile.am:
910         Ported fdsrc to 0.9.
911
912 2005-07-16  Wim Taymans  <wim@fluendo.com>
913
914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
915         (gst_base_sink_do_sync):
916         Fix compile error.
917
918 2005-07-16  Wim Taymans  <wim@fluendo.com>
919
920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
921         (gst_base_sink_event), (gst_base_sink_get_times),
922         (gst_base_sink_do_sync), (gst_base_sink_change_state):
923         * gst/base/gstbasesink.h:
924         Store and use discont values when syncing buffers as described
925         in design docs.
926         
927         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
928         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
929         (gst_base_src_activate_push):
930         Push discont event when starting.
931
932         * gst/elements/gstidentity.c: (gst_identity_transform):
933         Small cleanups.
934
935         * gst/gstbin.c: (gst_bin_change_state):
936         Small cleanups in base_time  distribution.
937
938         * gst/gstelement.c: (gst_element_set_base_time),
939         (gst_element_get_base_time), (gst_element_change_state):
940         * gst/gstelement.h:
941         Added methods for the base_time of the element.
942         Some MT fixes.
943
944         * gst/gstpipeline.c: (gst_pipeline_send_event),
945         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
946         (gst_pipeline_get_last_stream_time):
947         * gst/gstpipeline.h:
948         MT fixes.
949         Handle seeking as described in design doc, remove stream_time
950         hack.
951         Cleanups clock and stream_time selection code. Added accessors
952         for the stream_time.
953         
954
955 2005-07-16  Andy Wingo  <wingo@pobox.com>
956
957         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
958         (#305291).
959
960 2005-07-16  Wim Taymans  <wim@fluendo.com>
961
962         * check/gst/gstbin.c: (GST_START_TEST):
963         Make elements silent as the deep_notify refs the
964         parent, which might make the test fail.
965
966         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
967         Don't hold the lock for too long.
968
969 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
970
971         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
972           Don't unref the caps we passed to gst_caps_make_writable() after
973           passing them. gst_caps_make_writable() will do that for us.
974
975 2005-07-15  Andy Wingo  <wingo@pobox.com>
976
977         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
978         (#157311).
979
980         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
981         own marshalling function for the handoff signal. Properly type the
982         buffer as a buffer. Fixes some warnings. Should do a more general
983         solution.
984         (gst_identity_class_init): Plug into the right marshaller.
985
986 2005-07-15  Wim Taymans  <wim@fluendo.com>
987
988         * docs/design/part-TODO.txt:
989         * docs/design/part-clocks.txt:
990         * docs/design/part-element-sink.txt:
991         * docs/design/part-events.txt:
992         * docs/design/part-gstpipeline.txt:
993         Updated docs, mostly DISCONT related.
994
995 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
996
997         * docs/pwg/building-pads.xml:
998           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
999
1000 2005-07-15  Andy Wingo  <wingo@pobox.com>
1001
1002         * tools/gst-typefind.c: Update, add copyright block.
1003
1004         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1005         Normalize and truncate caps before fixation.
1006
1007         * gst/gstcaps.h:
1008         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1009         discards all but the first structure from its argument.
1010
1011 2005-07-15  Wim Taymans  <wim@fluendo.com>
1012
1013         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1014         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1015         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1016         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1017         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1018         (gst_base_transform_chain), (gst_base_transform_change_state),
1019         (gst_base_transform_set_passthrough),
1020         (gst_base_transform_is_passthrough):
1021         * gst/base/gstbasetransform.h:
1022         Make passthrough work using the bufferpools.
1023         Changed API a bit, subclasses have to write into a buffer
1024         provided by the base class.
1025         More debug info in nego functions.
1026         
1027         * gst/elements/gstidentity.c: (gst_identity_init),
1028         (gst_identity_transform):
1029         Port to new base class.
1030
1031 2005-07-15  Wim Taymans  <wim@fluendo.com>
1032
1033         * gst/gstmessage.c: (gst_message_new_state_changed):
1034         * tools/gst-launch.c: (event_loop), (main):
1035         Totally dump messages in -launch with the -m option.
1036         Fix message name for State messages,
1037
1038 2005-07-14  Wim Taymans  <wim@fluendo.com>
1039
1040         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1041         Post error messages on errors.
1042
1043 2005-07-14  Wim Taymans  <wim@fluendo.com>
1044
1045         * gst/gstcaps.c: (gst_caps_do_simplify):
1046         Remove debug info.
1047
1048         * gst/gsterror.h:
1049         Define error for stream stopped.
1050
1051         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1052         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1053         Do proper return values.
1054
1055         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1056         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1057         (gst_pad_get_range):
1058         Better return values.
1059
1060         * gst/gstpad.h:
1061         Reorganise return values, add macro to check for fatal errors.
1062
1063         * gst/gstqueue.c: (gst_queue_chain):
1064         Return proper GstFlowReturn values,
1065
1066 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * docs/gst/gstreamer-sections.txt:
1069         * docs/gst/gstreamer.types:
1070         * docs/gst/tmpl/gst.sgml:
1071         * docs/gst/tmpl/gstbasesink.sgml:
1072         * docs/gst/tmpl/gstbasesrc.sgml:
1073         * docs/gst/tmpl/gstbasetransform.sgml:
1074         * docs/gst/tmpl/gstbin.sgml:
1075         * docs/gst/tmpl/gstbuffer.sgml:
1076         * docs/gst/tmpl/gstcaps.sgml:
1077         * docs/gst/tmpl/gstclock.sgml:
1078         * docs/gst/tmpl/gstcompat.sgml:
1079         * docs/gst/tmpl/gstconfig.sgml:
1080         * docs/gst/tmpl/gstelement.sgml:
1081         * docs/gst/tmpl/gstelementdetails.sgml:
1082         * docs/gst/tmpl/gstelementfactory.sgml:
1083         * docs/gst/tmpl/gstenumtypes.sgml:
1084         * docs/gst/tmpl/gsterror.sgml:
1085         * docs/gst/tmpl/gstevent.sgml:
1086         * docs/gst/tmpl/gstfakesink.sgml:
1087         * docs/gst/tmpl/gstfakesrc.sgml:
1088         * docs/gst/tmpl/gstfilesink.sgml:
1089         * docs/gst/tmpl/gstfilesrc.sgml:
1090         * docs/gst/tmpl/gstfilter.sgml:
1091         * docs/gst/tmpl/gstformat.sgml:
1092         * docs/gst/tmpl/gstghostpad.sgml:
1093         * docs/gst/tmpl/gstimplementsinterface.sgml:
1094         * docs/gst/tmpl/gstindex.sgml:
1095         * docs/gst/tmpl/gstindexfactory.sgml:
1096         * docs/gst/tmpl/gstinfo.sgml:
1097         * docs/gst/tmpl/gstiterator.sgml:
1098         * docs/gst/tmpl/gstmacros.sgml:
1099         * docs/gst/tmpl/gstmemchunk.sgml:
1100         * docs/gst/tmpl/gstminiobject.sgml:
1101         * docs/gst/tmpl/gstobject.sgml:
1102         * docs/gst/tmpl/gstpad.sgml:
1103         * docs/gst/tmpl/gstpadtemplate.sgml:
1104         * docs/gst/tmpl/gstparse.sgml:
1105         * docs/gst/tmpl/gstpipeline.sgml:
1106         * docs/gst/tmpl/gstplugin.sgml:
1107         * docs/gst/tmpl/gstpluginfeature.sgml:
1108         * docs/gst/tmpl/gstquery.sgml:
1109         * docs/gst/tmpl/gstqueue.sgml:
1110         * docs/gst/tmpl/gstregistry.sgml:
1111         * docs/gst/tmpl/gstregistrypool.sgml:
1112         * docs/gst/tmpl/gstscheduler.sgml:
1113         * docs/gst/tmpl/gstschedulerfactory.sgml:
1114         * docs/gst/tmpl/gststructure.sgml:
1115         * docs/gst/tmpl/gstsystemclock.sgml:
1116         * docs/gst/tmpl/gsttaglist.sgml:
1117         * docs/gst/tmpl/gsttagsetter.sgml:
1118         * docs/gst/tmpl/gsttrace.sgml:
1119         * docs/gst/tmpl/gsttrashstack.sgml:
1120         * docs/gst/tmpl/gsttypefind.sgml:
1121         * docs/gst/tmpl/gsttypefindfactory.sgml:
1122         * docs/gst/tmpl/gsttypes.sgml:
1123         * docs/gst/tmpl/gsturihandler.sgml:
1124         * docs/gst/tmpl/gsturitype.sgml:
1125         * docs/gst/tmpl/gstutils.sgml:
1126         * docs/gst/tmpl/gstvalue.sgml:
1127         * docs/gst/tmpl/gstversion.sgml:
1128         * docs/gst/tmpl/gstxml.sgml:
1129         * docs/libs/tmpl/gstcontrol.sgml:
1130         * docs/libs/tmpl/gstdataprotocol.sgml:
1131         * docs/libs/tmpl/gstdparam.sgml:
1132         * docs/libs/tmpl/gstdplinint.sgml:
1133         * docs/libs/tmpl/gstdpman.sgml:
1134         * docs/libs/tmpl/gstdpsmooth.sgml:
1135         * docs/libs/tmpl/gstgetbits.sgml:
1136         * docs/libs/tmpl/gstunitconvert.sgml:
1137         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1138         (gst_push_src_base_init), (gst_push_src_class_init),
1139         (gst_push_src_init), (gst_push_src_create):
1140         * gst/base/gstpushsrc.h:
1141         * gst/elements/gstelements.c:
1142         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1143         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1144         (gst_fake_sink_init), (gst_fake_sink_set_property),
1145         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1146         (gst_fake_sink_event), (gst_fake_sink_preroll),
1147         (gst_fake_sink_render), (gst_fake_sink_change_state):
1148         * gst/elements/gstfakesink.h:
1149         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1150         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1151         (gst_fake_src_base_init), (gst_fake_src_class_init),
1152         (gst_fake_src_init), (gst_fake_src_event_handler),
1153         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1154         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1155         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1156         (gst_fake_src_create_buffer), (gst_fake_src_create),
1157         (gst_fake_src_start), (gst_fake_src_stop):
1158         * gst/elements/gstfakesrc.h:
1159         * gst/elements/gstfilesink.c: (_do_init),
1160         (gst_file_sink_base_init), (gst_file_sink_class_init),
1161         (gst_file_sink_init), (gst_file_sink_dispose),
1162         (gst_file_sink_set_location), (gst_file_sink_set_property),
1163         (gst_file_sink_get_property), (gst_file_sink_open_file),
1164         (gst_file_sink_close_file), (gst_file_sink_query),
1165         (gst_file_sink_event), (gst_file_sink_render),
1166         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1167         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1168         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1169         * gst/elements/gstfilesink.h:
1170         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1171         (gst_file_src_class_init), (gst_file_src_init),
1172         (gst_file_src_finalize), (gst_file_src_set_location),
1173         (gst_file_src_set_property), (gst_file_src_get_property),
1174         (gst_file_src_map_region), (gst_file_src_map_small_region),
1175         (gst_file_src_create_mmap), (gst_file_src_create_read),
1176         (gst_file_src_create), (gst_file_src_is_seekable),
1177         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1178         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1179         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1180         (gst_file_src_uri_handler_init):
1181         * gst/elements/gstfilesrc.h:
1182           more autistic cleanliness in functions/names/defines
1183
1184 2005-07-13  Andy Wingo  <wingo@pobox.com>
1185
1186         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1187         source couldn't negotiate.
1188
1189         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1190         connections again.
1191
1192         * gst/gstutils.h:
1193         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1194         function. I am channeling Hades. Put your boots on suckers!!!
1195
1196 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1197
1198         * testsuite/caps/Makefile.am:
1199         * testsuite/caps/value_compare.c:
1200         * testsuite/caps/value_intersect.c:
1201         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1202           move two testsuite apps over to the check dir
1203
1204 2005-07-12  Wim Taymans  <wim@fluendo.com>
1205
1206         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1207         Added more debug info in the negotiate process.
1208
1209         * gst/gstmessage.h:
1210         Prepare for segment playback.
1211
1212         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1213         Better debugging.
1214
1215         * gst/gstutils.c:
1216         Some more docs.
1217
1218         * tools/gst-launch.c: (main):
1219         NULL pipeline on errors.
1220
1221 2005-07-12  Andy Wingo  <wingo@pobox.com>
1222
1223         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1224         not it comes from a malloc region. Make sure our copy gets freed.
1225
1226 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1227
1228         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1229         * check/gst/gstmessage.c: (GST_START_TEST):
1230         * check/gst/gststructure.c: (GST_START_TEST),
1231         (gst_structure_suite), (main):
1232           more testing
1233         * gst/gstelement.c: (gst_element_message_full):
1234           clean up GError and debug string now that they get copied
1235         * gst/gstmessage.c: (gst_message_new_error),
1236         (gst_message_new_warning), (gst_message_parse_error),
1237         (gst_message_parse_warning):
1238           use GST_TYPE_G_ERROR for structure_new, and take copies of
1239           arguments, so that we don't mess up refcounting
1240
1241 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1242
1243         * check/Makefile.am:
1244           add per-test valgrind targets
1245         * check/gst-libs/gdp.c: (GST_START_TEST),
1246         (gst_data_protocol_suite), (main):
1247           clean up
1248
1249 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * check/Makefile.am:
1252           instate more valgrindable tests
1253         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1254         (GST_START_TEST), (fakesrc_suite):
1255         * check/gst/gstpad.c: (GST_START_TEST):
1256         * check/gst/gststructure.c: (GST_START_TEST):
1257           fix test leaks
1258         * docs/gst/tmpl/gstminiobject.sgml:
1259         * gst/gstpad.c: (gst_pad_finalize):
1260           fix the static mutex leak
1261
1262 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1263
1264         * check/Makefile.am:
1265           add two more tests for valgrinding
1266         * check/gst/gstvalue.c: (GST_START_TEST):
1267           test refcount of deserialized buffer, found a leak
1268         * docs/gst/gstreamer-docs.sgml:
1269         * docs/gst/gstreamer-sections.txt:
1270         * docs/gst/gstreamer.types:
1271         * docs/gst/tmpl/gstminiobject.sgml:
1272           add miniobject to docs
1273         * gst/gstminiobject.c:
1274           add some docs
1275         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1276         (gst_string_unwrap):
1277           fix a hard-to-find invalid write for one of the tests
1278           fix a leak for deserialized buffers
1279
1280 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1281
1282         * docs/pwg/advanced-events.xml:
1283         * docs/pwg/advanced-request.xml:
1284         * docs/pwg/advanced-scheduling.xml:
1285         * docs/pwg/appendix-porting.xml:
1286         * docs/pwg/building-boiler.xml:
1287         * docs/pwg/intro-preface.xml:
1288         * docs/pwg/other-ntoone.xml:
1289           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1290           of example code and explanation for pad activation, loop() and
1291           getrange() functions and a bit more. Remove old comments pointing
1292           to loop-functions.
1293         * examples/pwg/Makefile.am:
1294           Add loop/getrange examples.
1295
1296 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1297
1298         * configure.ac:
1299           check for valgrind binary + some fixes
1300         * check/gst.supp:
1301           valgrind suppressions for the tests
1302         * check/Makefile.am:
1303           add a valgrind: target that valgrinds the unit tests
1304         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1305         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1306         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1307         * check/gst/gstghostpad.c:
1308           added some cleanup
1309         * check/gst/gstdata.c:
1310           removed
1311         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1312         (thread_unref), (gst_mini_object_suite), (main):
1313           added
1314         * gst/gst.c: (gst_deinit):
1315         * gst/gst.h:
1316           add a method to clean up.
1317         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1318         (gst_system_clock_obtain):
1319           allow for disposing the system clock.
1320         * tools/gst-launch.c: (main):
1321           deinit
1322
1323 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1324
1325         * docs/gst/tmpl/gstbasesrc.sgml:
1326         * docs/gst/tmpl/gstfakesrc.sgml:
1327         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1328         (gst_base_src_init), (gst_base_src_set_property),
1329         (gst_base_src_get_property), (gst_base_src_get_range),
1330         (gst_base_src_start):
1331         * gst/base/gstbasesrc.h:
1332           add num-buffers property
1333         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1334         (gst_fakesrc_init), (gst_fakesrc_set_property),
1335         (gst_fakesrc_get_property), (gst_fakesrc_create),
1336         (gst_fakesrc_start):
1337           remove num-buffers property
1338
1339 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1340
1341         * docs/gst/gstreamer-sections.txt:
1342         * docs/gst/tmpl/gstbasesink.sgml:
1343         * docs/gst/tmpl/gstbasesrc.sgml:
1344         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1345         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1346         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1347         (gst_base_sink_set_property), (gst_base_sink_get_property),
1348         (gst_base_sink_handle_object), (gst_base_sink_event),
1349         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1350         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1351         (gst_base_sink_loop), (gst_base_sink_deactivate),
1352         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1353         (gst_base_sink_change_state):
1354         * gst/base/gstbasesink.h:
1355         * gst/base/gstbasesrc.h:
1356         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1357         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1358         (gst_filesink_init):
1359           more macro splitting
1360
1361 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1362
1363         * gst/gstelement.c: (gst_element_get_bus):
1364           add debug
1365         * tools/gst-launch.c: (check_intr), (event_loop):
1366           fix bus leaks
1367
1368 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1369
1370         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1371           fix a caps leak
1372
1373 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1374
1375         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1376         (gst_base_src_finalize):
1377           add finalize method and clean up properly
1378         * gst/gstpipeline.c: (gst_pipeline_dispose):
1379           add debug
1380
1381 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1382
1383         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1384         (gst_bin_suite):
1385           add more things to check
1386         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1387         * gst/gstelement.c:
1388           more debug
1389
1390 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1391
1392         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1393         (GST_START_TEST), (fakesrc_suite):
1394         * check/gst-libs/gdp.c: (GST_START_TEST):
1395         * check/gst/gst.c: (GST_START_TEST):
1396         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1397         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1398         * check/gst/gstbus.c: (GST_START_TEST):
1399         * check/gst/gstcaps.c: (GST_START_TEST):
1400         * check/gst/gstdata.c: (GST_START_TEST):
1401         * check/gst/gstelement.c: (GST_START_TEST):
1402         * check/gst/gstghostpad.c: (GST_START_TEST):
1403         * check/gst/gstiterator.c: (GST_START_TEST):
1404         * check/gst/gstmessage.c: (GST_START_TEST):
1405         * check/gst/gstobject.c: (GST_START_TEST):
1406         * check/gst/gstpad.c: (GST_START_TEST):
1407         * check/gst/gststructure.c: (GST_START_TEST):
1408         * check/gst/gstsystemclock.c: (GST_START_TEST),
1409         (gst_systemclock_suite):
1410         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1411         * check/gst/gstvalue.c: (GST_START_TEST):
1412         * check/pipelines/cleanup.c: (GST_START_TEST):
1413         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1414         * check/states/sinks.c: (GST_START_TEST):
1415         * check/gstcheck.c: (gst_check_init):
1416         * check/gstcheck.h:
1417           add debugging category
1418           use GST_START_TEST now, so we add a debug line
1419
1420 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1421
1422         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1423           add test for state change message on a bin
1424         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1425           add another test
1426         * gst/gstbin.c: (gst_bin_init):
1427         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1428         * gst/gstelement.c: (gst_element_post_message),
1429         (gst_element_set_state):
1430         * gst/gstelementfactory.c: (gst_element_factory_create):
1431         * gst/gstmessage.c: (gst_message_new):
1432         * gst/gstscheduler.c:
1433           various debugging additions and cleanups
1434
1435 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1436
1437         * check/Makefile.am:
1438         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1439         (main):
1440           adding tests for elements
1441         * gst/gstelement.c: (gst_element_dispose):
1442
1443 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1444
1445         * gst/registries/gstlibxmlregistry.c: (load_feature):
1446           plug more leaks.  A simple gst_init() now is leakfree, yay.
1447
1448 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1449
1450         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1451         (gst_xml_registry_load):
1452           plug another memleak
1453
1454 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1455
1456         * configure.ac:
1457           use GST_SET_ERROR_CFLAGS
1458         * docs/faq/cvs.xml:
1459           change to ERROR_CFLAGS
1460
1461 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1462
1463         * configure.ac:
1464           make GST_ERROR_CFLAGS overridable and re-enable Werror
1465         * docs/faq/cvs.xml:
1466           add a note about error CFLAGS
1467         * docs/gst/tmpl/gstfakesrc.sgml:
1468         * gst/elements/gstfakesrc.c:
1469           comment out some unused code
1470         * gst/gst.c: (split_and_iterate):
1471         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1472         (load_feature):
1473           plug some memleaks
1474
1475 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1476
1477         * common/Makefile.am:
1478         * common/gtk-doc.mak:
1479         * docs/gst/Makefile.am:
1480           factor out gtk-doc.mak
1481
1482 2005-07-07  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1485         (gst_thread_scheduler_dispose):
1486         Unlock the STREAM_LOCK completely.
1487
1488 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1489
1490         * check/Makefile.am:
1491         * check/elements/.cvsignore:
1492         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1493         (START_TEST), (fakesrc_suite), (main):
1494         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1495         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1496         (gst_fakesrc_create), (gst_fakesrc_start):
1497         * gst/elements/gstfakesrc.h:
1498           adding a first element test
1499
1500 2005-07-07  Andy Wingo  <wingo@pobox.com>
1501
1502         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1503         debug message.
1504
1505 2005-07-07  Wim Taymans  <wim@fluendo.com>
1506
1507         * gst/gstquery.c:
1508         * gst/gstquery.h:
1509         Remove old types
1510
1511 2005-07-07  Wim Taymans  <wim@fluendo.com>
1512
1513         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1514         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1515         Allow subclasses to implement their own negotiation.
1516
1517 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1518
1519         * docs/design/part-gstbin.txt:
1520         * docs/design/part-gstpipeline.txt:
1521           Update design notes to reflect the movement of
1522           responsibility for bus handling from GstPipeline to
1523           GstBin
1524
1525 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1526
1527         * configure.ac:
1528           Remove unnecessary queue2/3/4 examples.
1529
1530 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1531
1532         * examples/Makefile.am:
1533         * examples/helloworld/helloworld.c: (event_loop), (main):
1534         * examples/queue/queue.c: (event_loop), (main):
1535         * examples/queue2/queue2.c: (main):
1536           Update a couple of the examples to work again.
1537
1538         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1539         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1540          Spelling corrections and extra debug.
1541         
1542         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1543         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1544         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1545         * gst/gstbin.h:
1546         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1547         (gst_pipeline_change_state):
1548         * gst/gstpipeline.h:
1549           Move the bus handler for children to the GstBin, and create a
1550           separate bus for receiving messages from children to the one the
1551           bus sends 'upwards' on.
1552
1553 2005-07-06  Wim Taymans  <wim@fluendo.com>
1554
1555         * gst/base/README:
1556         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1557         (gst_base_sink_handle_object), (gst_base_sink_loop),
1558         (gst_base_sink_change_state):
1559         * gst/base/gstbasesink.h:
1560         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1561         (gst_base_src_init), (gst_base_src_setcaps),
1562         (gst_base_src_getcaps), (gst_base_src_loop),
1563         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1564         (gst_base_src_start), (gst_base_src_change_state):
1565         * gst/base/gstbasesrc.h:
1566         Make basesrc negotiate.
1567         Handle the case where preroll fails in basesink.
1568         Update README.
1569
1570 2005-07-06  Wim Taymans  <wim@fluendo.com>
1571
1572         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1573         Implement the fixate function.
1574         Clean up acceptcaps.
1575
1576 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1577
1578         * docs/pwg/building-filterfactory.xml:
1579         * docs/pwg/pwg.xml:
1580           Remove never-written filter-factory chapter; I'll add the various
1581           base classes to part 4 ("other element types") later on.
1582
1583 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1584
1585         * docs/pwg/advanced-negotiation.xml:
1586         * docs/pwg/building-boiler.xml:
1587         * docs/pwg/building-pads.xml:
1588         * docs/pwg/pwg.xml:
1589         * examples/pwg/Makefile.am:
1590           Add a chapter on caps negotiation, simplify the original code
1591           samples a bit w.r.t. caps negotiation, add link to the advanced
1592           section. Add a bunch of examples showing different use cases of
1593           different types of caps negotiation. Upstream renegotiation isn't
1594           fully documented yet since nobody knows how that works.
1595
1596 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1597
1598         * check/gst/gstpad.c:
1599         * check/gstcheck.c:
1600         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1601           if pad has no parent, return NULL as list of internal links
1602
1603 2005-07-05  Andy Wingo  <wingo@pobox.com>
1604
1605         * gst/elements/gstfilesrc.c:
1606         * gst/elements/gstfakesrc.c: 
1607         * gst/base/gstpushsrc.c:
1608         * gst/base/gstbasesrc.h: 
1609         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1610         
1611 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1612
1613         * Makefile.am:
1614           better report generation target (lcov needs a patch)
1615
1616 2005-07-05  Andy Wingo  <wingo@pobox.com>
1617
1618         * gst/elements, testsuite: Null if we got it...
1619
1620 2005-07-05  Wim Taymans  <wim@fluendo.com>
1621
1622         * configure.ac:
1623         * libs/gst/dataprotocol/Makefile.am:
1624         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1625         * libs/gst/dataprotocol/dataprotocol.h:
1626         * pkgconfig/Makefile.am:
1627         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1628         * pkgconfig/gstreamer-dataprotocol.pc.in:
1629         Ported dataprotol to 0.9. 
1630         Added pkgconfig files.
1631
1632 2005-07-05  Andy Wingo  <wingo@pobox.com>
1633
1634         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1635         Default to returning TRUE for the case when tranform_caps returns
1636         a fixed caps, like for identity or volume.
1637
1638         * check/gst/gstbus.c (pound_bus_with_messages): 
1639         * check/gst/gstmessage.c (START_TEST): 
1640         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1641         message API change.
1642
1643         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1644         logic weaks here: always run transform_caps, trying passthrough
1645         operation only if the original caps intersects with the transform.
1646
1647         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1648         source and sink caps.
1649
1650         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1651         Intersect the peer caps with the pad template before going into
1652         transform_caps.
1653         (gst_base_transform_transform_caps): More debugging.
1654
1655         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1656         src argument.
1657
1658 2005-07-04  Edward Hervey  <edward@fluendo.com>
1659
1660         * gst/gstutils.c:
1661         * gst/gstutils.h:
1662         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1663         in bindings.
1664
1665 2005-07-04  Andy Wingo  <wingo@pobox.com>
1666
1667         * check/gst/gstpad.c: Only set explicit caps on pads.
1668
1669 2005-07-01  Andy Wingo  <wingo@pobox.com>
1670
1671         * tests/network-clock.scm: Commentary update.
1672
1673         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1674         Didn't really make sense, not implementable with basetransform,
1675         etc.
1676         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1677         attempt at implementing the sync property, needs an unlock method.
1678
1679         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1680         New func, by default returns the same caps (the identity
1681         transformation).
1682         (gst_base_transform_getcaps): Uses transform_caps to return
1683         something sensible.
1684         (gst_base_transform_setcaps): Complicated logic to get caps on
1685         both pads, even if they are different, and to call set_caps once
1686         for every time both pads get their caps set.
1687         (gst_base_transform_handle_buffer): Give the ref to the transform
1688         function. Allows in-place modification of the buffer.
1689
1690         * gst/base/gstbasetransform.h (transform_caps): New class method.
1691         Given caps on one side, what can I do on the other.
1692         (set_caps): Take two caps, one for each side of the element.
1693
1694         * gst/gstpad.h:
1695         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1696         caps in place. This is safe because we can check the mutability of
1697         the caps, and a good idea because fixate functions are just called
1698         as a matter of last resort. (Not actually implemented.)
1699         (gst_pad_set_caps): If the caps we're setting is actually the same
1700         as the existing pad caps, just update the pointer without calling
1701         setcaps. Assert that caps is either NULL or fixed, as per the
1702         docs.
1703
1704         * gst/gstghostpad.c: Update for fixate changes.
1705
1706 2005-07-02  Andy Wingo  <wingo@pobox.com>
1707
1708         * gst/gstcaps.c:
1709         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1710         two refcounts makes it immutable, which is enough. Doc more.
1711
1712 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1713
1714         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1715           Put the mini_object into GValue as a mini_object,
1716           not a gpointer, since that's how we declared
1717           the signal.
1718
1719 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1720
1721         * examples/pwg/Makefile.am:
1722           Fix buildbot again.
1723
1724 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1725
1726         * docs/pwg/building-testapp.xml:
1727           Add extra check.
1728         * examples/pwg/Makefile.am:
1729           Fix buildbot.
1730
1731 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1732
1733         * configure.ac:
1734         * examples/Makefile.am:
1735         * examples/pwg/Makefile.am:
1736         * examples/pwg/extract.pl:
1737           Enable building the PWG examples.
1738         * docs/pwg/advanced-interfaces.xml:
1739           Add URI interface stub.
1740         * docs/pwg/advanced-types.xml:
1741         * docs/pwg/other-autoplugger.xml:
1742         * docs/pwg/appendix-porting.xml:
1743         * docs/pwg/pwg.xml:
1744           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1745         * docs/pwg/building-boiler.xml:
1746         * docs/pwg/building-chainfn.xml:
1747         * docs/pwg/building-pads.xml:
1748         * docs/pwg/building-props.xml:
1749         * docs/pwg/building-state.xml:
1750         * docs/pwg/building-testapp.xml:
1751           Update the building-*.xml parts for 0.9 changes. All examples
1752           code blocks compile in examples/pwg/*.
1753
1754 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1755
1756         * docs/manual/advanced-autoplugging.xml:
1757         * docs/manual/appendix-checklist.xml:
1758         * docs/manual/appendix-integration.xml:
1759         * docs/manual/highlevel-components.xml:
1760           Fix playbin/decodebin examples, update docs a bit, mention bus
1761           instead of signals in various places, mention kmplayer and
1762           kaffeine since they have a working GStreamer backend in the KDE
1763           section.
1764
1765 2005-06-30  Wim Taymans  <wim@fluendo.com>
1766
1767         * CHANGES-0.9:
1768         * docs/design/draft-ghostpads.txt:
1769         * docs/design/draft-push-pull.txt:
1770         * docs/design/draft-query.txt:
1771         * docs/design/part-TODO.txt:
1772         * docs/design/part-query.txt:
1773         Added CHANGES-0.9 doc, updated status of other docs.
1774         
1775         * gst/gstquery.h:
1776         Remove "hmm" macro
1777
1778 2005-06-30  Wim Taymans  <wim@fluendo.com>
1779
1780         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1781         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1782         (gst_base_sink_change_state):
1783         * gst/base/gstbasesink.h:
1784         Some tweaks, only EOS and a buffer complete a preroll.
1785
1786 2005-06-30  Andy Wingo  <wingo@pobox.com>
1787
1788         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1789         activate_push down to the internal pad as well.
1790
1791 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1792
1793         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1794
1795         * gst/gsttaginterface.c:
1796           Some documentation fixes (#307394 and #307397).
1797
1798 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1799
1800         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1801
1802         * gst/gstvalue.c: (gst_value_intersect_list):
1803           Fix memleak (#309125).
1804
1805 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1806
1807         * docs/manual/advanced-dataaccess.xml:
1808           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1809         * docs/manual/basics-pads.xml:
1810           Add reference for filtered caps to above chapter.
1811
1812 2005-06-30  Wim Taymans  <wim@fluendo.com>
1813
1814         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1815         (gst_bin_change_state):
1816         Probes are gone.
1817         Lame attempt at making the state change function a bit
1818         more readable.
1819
1820 2005-06-30  Wim Taymans  <wim@fluendo.com>
1821
1822         * docs/design/part-clocks.txt:
1823         * docs/design/part-element-sink.txt:
1824         * docs/design/part-events.txt:
1825         * docs/design/part-preroll.txt:
1826         * docs/design/part-states.txt:
1827         Some more tweeks and additions to the docs.
1828
1829 2005-06-30  Wim Taymans  <wim@fluendo.com>
1830
1831         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1832         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1833         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1834         (gst_pad_check_pull_range), (gst_pad_get_range),
1835         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1836         * gst/gstpad.h:
1837         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1838         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1839         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1840         (gst_pad_remove_buffer_probe):
1841         Removed atomic operations, use existing LOCK.
1842         Move exception handling out of main code path.
1843
1844 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1845
1846         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1847         (silly_return_true_function), (gst_pad_class_init),
1848         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1849         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1850         (gst_pad_send_event):
1851           Fix accumulator, add default value by using _emitv() instead
1852           of _emit() for signal emission.
1853
1854 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1855
1856         * docs/manual/advanced-dataaccess.xml:
1857         * examples/manual/Makefile.am:
1858           Add probe example.
1859         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1860           Make work (??).
1861
1862 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1863
1864         * gst/elements/gstfilesink.c: (gst_filesink_render):
1865           Simplify code so that we don't have to handle short
1866           writes and return GST_FLOW_ERROR if an error occured.
1867
1868 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1869
1870         * docs/gst/gstreamer-docs.sgml:
1871           Remove probes more.
1872
1873 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1874
1875         * docs/gst/gstreamer-sections.txt:
1876         * docs/gst/tmpl/gstpad.sgml:
1877         * docs/gst/tmpl/gstprobe.sgml:
1878         * gst/Makefile.am:
1879         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1880         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1881         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1882         (gst_pad_push_event), (gst_pad_send_event):
1883         * gst/gstpad.h:
1884         * gst/gstutils.c: (gst_pad_add_data_probe),
1885         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1886         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1887         (gst_pad_remove_buffer_probe):
1888         * gst/gstutils.h:
1889           Remove old probes, add new g-signal-based probes and some utility
1890           functions.
1891
1892 2005-06-29  Edward Hervey  <edward@fluendo.com>
1893
1894         * gst/gstelementfactory.c:
1895         * gst/gstutils.h:
1896         * gst/gstutils.c:
1897         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1898         the definition to the header file.
1899
1900 2005-06-29  Andy Wingo  <wingo@pobox.com>
1901
1902         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1903         plugins from the source directory.
1904
1905 2005-06-29  Wim Taymans  <wim@fluendo.com>
1906
1907         * docs/gst/tmpl/gstbuffer.sgml:
1908         * docs/gst/tmpl/gstclock.sgml:
1909         Some fixings for blantently wrong text.
1910
1911 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1912
1913         * check/Makefile.am:
1914         * gst/gst.c: (add_path_func), (init_pre):
1915         * gst/gstregistry.c: (gst_registry_add_path):
1916           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1917           only scan the GST_PLUGIN_PATH locations, and not add
1918           system locations
1919
1920 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1921
1922         * docs/gst/gstreamer-sections.txt:
1923         * docs/gst/tmpl/gstbasesrc.sgml:
1924         * gst/gstelement.c:
1925         * gst/gstelement.h:
1926         * gst/gstevent.c:
1927         * gst/gstutils.c:
1928           doc fixes
1929
1930 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1931
1932         * docs/manual/advanced-autoplugging.xml:
1933           Fix autoplugging example.
1934
1935 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1936
1937         * docs/manual/advanced-autoplugging.xml:
1938         * docs/manual/mime-world.fig:
1939           Try to get autoplugging working, fix type detection. Fix text
1940           in hello-world image.
1941
1942 2005-06-29  Wim Taymans  <wim@fluendo.com>
1943
1944         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1945         (gst_base_sink_change_state):
1946         Small debug line.
1947
1948         * gst/gstclock.h:
1949         map SIGNAL and BROADCAST to the right function.
1950
1951         * gst/gstobject.h:
1952         Remove redundant braces.
1953
1954         * gst/gstpad.c: (gst_pad_set_caps):
1955         Don't call setcaps function when reseting caps to NULL.
1956
1957         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1958         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1959         (gst_system_clock_id_unschedule):
1960         Use BROADCAST as this is what we do.
1961
1962 2005-06-29  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1965         We are actually prerolling before commiting the state
1966         change. 
1967
1968 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1969
1970         * docs/manual/advanced-clocks.xml:
1971         * docs/manual/advanced-interfaces.xml:
1972         * docs/manual/advanced-metadata.xml:
1973         * docs/manual/advanced-position.xml:
1974         * docs/manual/advanced-schedulers.xml:
1975         * docs/manual/advanced-threads.xml:
1976         * docs/manual/appendix-porting.xml:
1977         * docs/manual/basics-bins.xml:
1978         * docs/manual/basics-bus.xml:
1979         * docs/manual/basics-elements.xml:
1980         * docs/manual/basics-helloworld.xml:
1981         * docs/manual/basics-pads.xml:
1982         * docs/manual/highlevel-components.xml:
1983         * docs/manual/manual.xml:
1984         * docs/manual/thread.fig:
1985           Update (until threads/scheduling) Application Development Manual;
1986           remove GstThread, add GstBus, add simple porting checklist, add
1987           documentation for tag writing, clocks, make all examples until this
1988           part compile and run.
1989         * examples/manual/Makefile.am:
1990           Update from changes to Application Development Manual; add bus
1991           example, remove thread example.
1992
1993 2005-06-28  Wim Taymans  <wim@fluendo.com>
1994
1995         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1996         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1997         (gst_bus_source_dispatch):
1998         Add debugging messages.
1999         Make internal methods static.
2000         Handle the case where the bus is flushed in the handler.
2001         
2002         * gst/gstelement.c: (gst_element_get_bus):
2003         Fix refcount in _get_bus();
2004
2005         * gst/gstpipeline.c: (gst_pipeline_change_state),
2006         (gst_pipeline_get_clock_func):
2007         Clock refcounting fixes.
2008         Handle the case where preroll timed out more gracefully.
2009         
2010         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2011         Clean up the internal thread in dispose. This is needed
2012         for subclasses that actually get disposed.
2013         
2014         * gst/schedulers/threadscheduler.c:
2015         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2016         (gst_thread_scheduler_dispose):
2017         Free thread pool in dispose.
2018
2019 2005-06-28  Andy Wingo  <wingo@pobox.com>
2020
2021         * tests/network-clock-utils.scm (debug, print-event): New utils.
2022
2023         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2024         (*packet-loss*): Unified loss probability.
2025         (network-time): Report out-of-band events.
2026
2027         * tests/plot-data: Add support for out-of-band events. Hack it
2028         into this script instead of passing it down the pipe; should fix
2029         this later.
2030
2031 2005-06-28  Wim Taymans  <wim@fluendo.com>
2032
2033         * docs/gst/gstreamer.types:
2034         * docs/gst/tmpl/gstbasesrc.sgml:
2035         * docs/gst/tmpl/gstpad.sgml:
2036         Docs fixes.
2037
2038 2005-06-28  Wim Taymans  <wim@fluendo.com>
2039
2040         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2041         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2042         (gst_proxy_pad_do_fixatecaps):
2043         Correctly proxy the check_pull_range function.
2044
2045 2005-06-28  Andy Wingo  <wingo@pobox.com>
2046
2047         * tests/network-clock.scm: Removed need for slib.
2048         
2049 2005-06-28  Wim Taymans  <wim@fluendo.com>
2050
2051         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2052         (gst_basesink_preroll_queue_flush):
2053         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2054         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2055         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2056         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2057         (gst_proxy_pad_set_property):
2058         * gst/gstpad.c:
2059         * gst/gstpad.h:
2060         * gst/gstqueue.c: (gst_queue_init):
2061         The deprecated pad loop function is removed now.
2062
2063 2005-06-28  Andy Wingo  <wingo@pobox.com>
2064
2065         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2066         New parameters, simulate network packet loss.
2067
2068         * tests/network-clock-utils.scm: Initialize the RNG.
2069
2070 2005-06-28  Wim Taymans  <wim@fluendo.com>
2071
2072         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2073         (gst_basesink_event), (gst_basesink_deactivate):
2074         Flushing the preroll queue always needs to unlock the waiters.
2075
2076 2005-06-28  Edward Hervey  <edward@fluendo.com>
2077
2078         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2079         Wheen a seek was successful on a pipeline, set the stream_time to the
2080         seek offset in order to have a synchronized stream_time.
2081
2082 2005-06-28  Wim Taymans  <wim@fluendo.com>
2083
2084         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2085         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2086         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2087         (gst_proxy_pad_do_fixatecaps):
2088         Call wrapper function instead of just calling the function
2089         pointers. This takes care of any locking and whatmore.
2090
2091 2005-06-28  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2094         (gst_pad_pull_range):
2095         * gst/gstpad.h:
2096         CONNECTED -> LINKED.
2097
2098 2005-06-28  Andy Wingo  <wingo@pobox.com>
2099
2100         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2101         source-munging commit!!!
2102
2103         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2104         (gst_object_sink): Take gpointer arguments, not GstObject --
2105         avoids casts. Like GLib.
2106
2107         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2108         activate.
2109
2110 2005-06-27  Andy Wingo  <wingo@pobox.com>
2111
2112         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2113         remaining buffer.
2114
2115         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2116         returns a sorted copy of the trace list.
2117         (gst_alloc_trace_print_live): New API, only prints traces with
2118         live objects. Sort the list.
2119         (gst_alloc_trace_print_all): Sort the list.
2120         (gst_alloc_trace_print): Align columns.
2121
2122         * gst/elements/gstttypefindelement.c:
2123         * gst/elements/gsttee.c:
2124         * gst/base/gstbasesrc.c:
2125         * gst/base/gstbasesink.c:
2126         * gst/base/gstbasetransform.c:
2127         * gst/gstqueue.c: Adapt for pad activation changes.
2128
2129         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2130         sched.
2131         (gst_pipeline_dispose): Drop ref on sched.
2132
2133         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2134         (gst_pad_activate_default): Push mode by default.
2135         (pre_activate_switch, post_activate_switch): New stubs, things to
2136         do before and after switching activation modes on pads.
2137         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2138         the pad's activate function to choose which mode to activate.
2139         Shortcut on deactivation and call the right function directly.
2140         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2141         mode.
2142         (gst_pad_activate_push): New API, same for push mode.
2143         (gst_pad_set_activate_function) 
2144         (gst_pad_set_activatepull_function) 
2145         (gst_pad_set_activatepush_function): Setters for new API.
2146
2147         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2148         Trace all miniobjects.
2149         (gst_mini_object_make_writable): Unref the arg if we copy, like
2150         gst_caps_make_writable.
2151
2152         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2153
2154         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2155         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2156         Adapt for new pad API.
2157
2158         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2159
2160         * gst/gstelement.h:
2161         * gst/gstelement.c (gst_element_iterate_src_pads) 
2162         (gst_element_iterate_sink_pads): New API functions.
2163         
2164         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2165         should fold into gstiterator.c in some form.
2166         (gst_element_pads_activate): Simplified via use of fold and
2167         delegation of decisions to gstpad->activate.
2168
2169         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2170         help in debugging.
2171
2172         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2173         class once in init, like gstmessage. Didn't run into this issue
2174         but it seems correct. Don't initialize a trace, gstminiobject does
2175         that.
2176
2177         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2178         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2179         to the bus.
2180         (assert_live_count): New util function, uses alloc traces to check
2181         cleanup.
2182
2183         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2184         To be modified when unlink drops the internal pad.
2185
2186 2005-06-27  Wim Taymans  <wim@fluendo.com>
2187
2188         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2189         (gst_bin_change_state):
2190         Cleanup the get_state() function a little, make sure it
2191         iterates the same set of elements.
2192         Added stub iterate_state_order().
2193
2194 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2195
2196         * docs/gst/gstreamer-docs.sgml:
2197         * docs/gst/gstreamer-sections.txt:
2198         * docs/gst/gstreamer.types:
2199         * docs/gst/tmpl/gstbasesink.sgml:
2200         * docs/gst/tmpl/gstbasesrc.sgml:
2201         * docs/gst/tmpl/gstbasetransform.sgml:
2202         * docs/gst/tmpl/gstelement.sgml:
2203         * docs/gst/tmpl/gstiterator.sgml:
2204         * gst/base/gstbasesrc.c:
2205         * gst/base/gstbasesrc.h:
2206         * gst/base/gstbasetransform.h:
2207         * gst/gstelement.c:
2208         * gst/gstiterator.h:
2209           adding basetransform and iterator docs
2210
2211 2005-06-27  Andy Wingo  <wingo@pobox.com>
2212
2213         * docs/design/part-activation.txt: Notes on how activation should
2214         work -- not quite implemented yet.
2215
2216 2005-06-25  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2219         At least get the chain function correct, needs more
2220         fixing.
2221
2222 2005-06-25  Wim Taymans  <wim@fluendo.com>
2223
2224         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2225         (gst_basesink_handle_object), (gst_basesink_event),
2226         (gst_basesink_do_sync), (gst_basesink_handle_event),
2227         (gst_basesink_change_state):
2228         * gst/gsttask.h:
2229         Right, two problems here: ghostpads don't take locks and
2230         glib _rec_mutex_lock_full() with depth==0 still locks.
2231         Catch illegal locking and g_warn them.
2232
2233 2005-06-25  Wim Taymans  <wim@fluendo.com>
2234
2235         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2236         Have to check for completion now...
2237
2238 2005-06-25  Wim Taymans  <wim@fluendo.com>
2239
2240         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2241         (gst_basesink_handle_object), (gst_basesink_event),
2242         (gst_basesink_do_sync), (gst_basesink_handle_event),
2243         (gst_basesink_change_state):
2244         * gst/gstpad.h:
2245         Unlock STREAM_LOCK whatever the recursion was.
2246
2247 2005-06-25  Wim Taymans  <wim@fluendo.com>
2248
2249         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2250         (gst_basesink_preroll_queue_empty),
2251         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2252         (gst_basesink_event), (gst_basesink_do_sync),
2253         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2254         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2255         (gst_basesink_change_state):
2256         Reworked the base sink, handle event and buffer serialisation
2257         correctly and removed possible deadlock.
2258         Handle EOS correctly.
2259
2260 2005-06-25  Wim Taymans  <wim@fluendo.com>
2261
2262         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2263         (gst_pipeline_change_state):
2264         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2265         Allow elements to post EOS in the state change function.
2266         Fix up -launch, make it exit the poll loop when the
2267         pipeline actually changed state.
2268         Fix up warning parsing in -launch.
2269
2270 2005-06-25  Wim Taymans  <wim@fluendo.com>
2271
2272         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2273         (gst_tee_sink_activate):
2274         Core takes STREAM_LOCK for us now.
2275
2276 2005-06-25  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/gstelement.c: (gst_element_get_state_func),
2279         (gst_element_set_state):
2280         * gst/gstelement.h:
2281         * gst/gstmessage.c: (gst_message_parse_error),
2282         (gst_message_parse_warning):
2283         Keep track of current target state while performing a state
2284         change so that subclasses can do something interesting.
2285         Fix parsing of warning/error messages when GError is NULL.
2286
2287 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * docs/gst/Makefile.am:
2290         * docs/gst/gstreamer-docs.sgml:
2291         * docs/gst/gstreamer-sections.txt:
2292         * docs/gst/gstreamer.types:
2293         * docs/gst/tmpl/gstbasesink.sgml:
2294         * docs/gst/tmpl/gstbasesrc.sgml:
2295         * docs/gst/tmpl/gstbin.sgml:
2296         * docs/gst/tmpl/gstcompat.sgml:
2297         * docs/gst/tmpl/gstfakesink.sgml:
2298         * docs/gst/tmpl/gstfakesrc.sgml:
2299         * docs/gst/tmpl/gstfilesink.sgml:
2300         * docs/gst/tmpl/gstfilesrc.sgml:
2301         * docs/gst/tmpl/gstindex.sgml:
2302         * docs/manual/appendix-quotes.xml:
2303         * gst/base/gstbasesrc.h:
2304         * gst/elements/gstfakesrc.h:
2305         * gst/gstmessage.h:
2306           start pulling in base classes and elements in our docs
2307
2308 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2309
2310         * docs/gst/Makefile.am:
2311         * docs/libs/Makefile.am:
2312           fixed make distcheck with gtk-doc 1.3
2313
2314 2005-06-23  Wim Taymans  <wim@fluendo.com>
2315
2316         * gst/gstelement.c: (gst_element_get_state_func),
2317         (gst_element_set_state), (gst_element_change_state):
2318         When the state did not change, also report NO_PREROLL
2319         when it matters.
2320
2321 2005-06-23  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/gstpad.c: (gst_pad_event_default):
2324         * gst/gstqueue.c: (gst_queue_loop):
2325         No unsafe task pausing please.
2326
2327 2005-06-23  Wim Taymans  <wim@fluendo.com>
2328
2329         * gst/schedulers/threadscheduler.c:
2330         (gst_thread_scheduler_task_start),
2331         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2332         Ref the task before pushing it on the threadpool. This
2333         makes sure that we have a ref when the threadfunction is
2334         actually called.
2335
2336 2005-06-23  Andy Wingo  <wingo@pobox.com>
2337
2338         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2339         offset is greater than the file's size.
2340
2341         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2342         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2343         * gst/gstobject.c (gst_object_class_init): Make the class lock
2344         recursive. Wim won't let me drop deep_notify. Decodebin works
2345         again, whoopdy doo.
2346
2347         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2348         internal pad, and hacks accordingly. Doesn't do it on the target
2349         pad because we change its caps. Probably catches all cases of
2350         interest tho.
2351         (gst_ghost_pad_set_property): Connect to notify::caps as
2352         appropritate.
2353
2354         * tests/network-clock.scm (plot-simulation): Pipe data to the
2355         elite python skript.
2356
2357         * tests/network-clock-utils.scm (define-parameter): New macro,
2358         defines a parameter that can be set via the command line.
2359         (set-parameter!, parse-parameter-arguments): Command line args
2360         parser.
2361
2362         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2363         stdin.
2364
2365 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2366
2367         * gst/elements/gsttypefindelement.c:
2368         (gst_type_find_element_handle_event):
2369           Don't restart typefinding on a discont.
2370         * gst/gstelement.c: (gst_element_set_state):
2371           Debug spelling fix.
2372         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2373           Allow changing mode of an active pad.
2374           Debug output fixes.
2375         * gst/registries/gstlibxmlregistry.c: (load_feature):
2376           Don't cast a static pad template to a normal pad template.
2377
2378 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2379
2380         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2381         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2382           remove gst_strtoll completely, since it didn't actually do
2383           anything more than what g_ascii_strtoull already does.
2384           check for range errors when deserializing
2385           do a cast for the unsigned cases; but further fixing needs
2386           a decision on what the interpretation of "(int)" and
2387           deserialization should be for values that fall outside the
2388           type's boundaries (ie, refuse, or interpret as casting)
2389
2390 2005-06-23  Wim Taymans  <wim@fluendo.com>
2391
2392         * check/Makefile.am:
2393         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2394         * docs/design/part-live-source.txt:
2395         * docs/design/part-states.txt:
2396         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2397         (gst_basesrc_set_live), (gst_basesrc_is_live),
2398         (gst_basesrc_get_range), (gst_basesrc_activate),
2399         (gst_basesrc_change_state):
2400         * gst/base/gstbasesrc.h:
2401         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2402         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2403         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2404         * gst/gstelement.c: (gst_element_get_state_func),
2405         (gst_element_set_state):
2406         * gst/gstelement.h:
2407         * gst/gsttypes.h:
2408         * tools/gst-launch.c: (event_loop), (main):
2409         Added support for live sources and other elements that
2410         cannot do preroll.
2411         Updated design docs, added live-source design doc.
2412         Implemented live source functionality in basesrc
2413         Fix error condition in _bin_get_state()
2414         Implement live source handling in -launch.
2415         Added check for live sources.
2416         Fixed case in GstBin where elements were changed state
2417         multiple times.
2418
2419
2420 2005-06-23  Andy Wingo  <wingo@pobox.com>
2421
2422         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2423         borken refcounting.
2424
2425         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2426         gst_caps_replace takes care of this for us.
2427
2428         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2429         gst_pad_set_caps on the target, not just its setcaps() function.
2430
2431         * tests/network-clock.scm: 
2432         * tests/network-clock-utils.scm: A network clock simulator.
2433         Something of an algorithmic testbed before doing something in C.
2434
2435 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2436
2437         * check/Makefile.am:
2438         * check/gst/capslist.h:
2439           copy over from 0.8, and add two with bitmasks specified with
2440           (int) 0xFF...
2441         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2442           add test to parse everything from capslist.h
2443         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2444         (main):
2445           add test for structure deserialization
2446         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2447           add tests for deserialization of strings to int types
2448         * gst/gststructure.c: (gst_structure_nth_field_name):
2449         * gst/gststructure.h:
2450           add a way to get the name of a field referenced by index
2451         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2452           instead of checking if the resulting long long lies between
2453           min and max, we check if the long long would fit into
2454           a number of bytes for the final type.
2455           This fixes cases where a string represents 2^32 - 1, which
2456           when cast to int would be the (valid) -1, but is bigger than
2457           G_MAXINT
2458
2459 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2460
2461         * gst/parse/grammar.y:
2462           add a log line for type deserialization
2463
2464 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2465
2466         * check/gst/gstvalue.c: (START_TEST):
2467         * gst/gstvalue.c: (gst_value_deserialize):
2468           return long long, not int, so gint64 deserialization actually
2469           works.  Is there any flag that makes the compiler check this ?
2470           Fixes #308559
2471
2472 2005-06-22  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/gstbuffer.h:
2475         Added convenience macros for setting buffers in GValue.
2476
2477 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2478
2479         * check/gst/.cvsignore:
2480         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2481           add a test deserializing int64, and comment part out because
2482           it fails, yay !
2483
2484 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2485
2486         * check/Makefile.am:
2487         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2488         * testsuite/Makefile.am:
2489         * testsuite/caps/Makefile.am:
2490         * testsuite/caps/value_serialize.c:
2491         * testsuite/test_gst_init.c:
2492           move a value_serialize test over
2493
2494 2005-06-20  Wim Taymans  <wim@fluendo.com>
2495
2496         * gst/gstpad.c:
2497         Small doc updates.
2498         
2499         * gst/gstvalue.c: (gst_value_compare_buffer),
2500         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2501         (gst_value_compare_flags), (gst_value_serialize_flags),
2502         (gst_value_deserialize_flags), (_gst_value_initialize):
2503         Fix serialisation of buffers, they are not boxed types anymore
2504
2505 2005-06-20  Wim Taymans  <wim@fluendo.com>
2506
2507         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2508         Testcase to show error in buffer-on-caps serialisation.
2509
2510 2005-06-20  Andy Wingo  <wingo@pobox.com>
2511
2512         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2513         will be adding to later.
2514
2515         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2516         if its socks fill with rocks.
2517         (gst_system_clock_obtain): Set the name on object construction.
2518         Avoid double-checked locking.
2519
2520 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2521
2522         * gst/gsturi.c: (gst_element_make_from_uri):
2523           Fix potential endless loop.
2524
2525 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2526
2527         * check/Makefile.am:
2528           add gsttag
2529         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2530         (main):
2531           move over from testsuite dir and clean up
2532         * configure.ac:
2533         * gst/gsttag.c:
2534         * testsuite/Makefile.am:
2535         * testsuite/tags/.cvsignore:
2536         * testsuite/tags/Makefile.am:
2537         * testsuite/tags/merge.c:
2538           remove testsuite/tags
2539
2540 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2541
2542         * docs/gst/gstreamer-sections.txt:
2543         * docs/gst/tmpl/gstenumtypes.sgml:
2544         * win32/gstenumtypes.c:
2545           clean up documentation build a little
2546
2547 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2548
2549         * check/gstcheck.h:
2550           add macros for checking refcounts on objects and caps
2551         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2552           add some more unit tests
2553         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2554         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2555           fix leaked refcounts (I hope :)) so unittest works
2556         * gst/gstpad.h:
2557           whitespace removal
2558
2559 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2560
2561         * configure.ac: back to HEAD
2562
2563 === release 0.9.1 ===
2564
2565 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2566
2567         * NEWS:
2568         * RELEASE:
2569           updated
2570
2571 2005-06-17  Andy Wingo  <wingo@pobox.com>
2572
2573         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2574         assert; it's always possible that the pad gets deactivated in
2575         between the checks in gstpad.c and the implementation. Rely on
2576         finish_preroll() to return a FLUSHING or similar instead of on the
2577         assert.
2578         
2579         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2580         clock and post an EOS message if we come out of finish_preroll in
2581         the playing state.
2582
2583 2005-06-16  David Schleef  <ds@schleef.org>
2584
2585         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2586         (gst_capsfilter_set_property): Allow NULL as possible value
2587         for filter_caps property, indicating GST_CAPS_ANY.
2588
2589 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2590
2591         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2592           fix debug output
2593         * gst/schedulers/Makefile.am:
2594           use libgst prefix
2595         * gstreamer.spec.in:
2596           fix spec for it
2597
2598 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2599
2600         * gstreamer.spec.in:
2601           clean up
2602
2603 2005-06-08  Andy Wingo  <wingo@pobox.com>
2604
2605         * gst/gstutils.c: RPAD fixes all around.
2606         (gst_element_link_pads): Refcounting fixes.
2607
2608         * tools/gst-inspect.c:
2609         * tools/gst-xmlinspect.c:
2610         * parse/grammar.y:
2611         * gst/base/gsttypefindhelper.c:
2612         * gst/base/gstbasesink.c:
2613         * gst/gstqueue.c: RPAD fixes.
2614
2615         * gst/gstghostpad.h:
2616         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2617         pads. The tricky thing is they provide both source and sink
2618         interfaces, since they proxy the internal pad for the external
2619         pad, and vice versa. Implement with lower-level ProxyPad objects,
2620         with the interior proxy pad as a child of the exterior ghost pad.
2621         Should write a doc on this.
2622         
2623         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2624         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2625         gst_object API.
2626         
2627         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2628         pads are real pads. No ghost pads in this file. Not documenting
2629         the myriad s/RPAD/PAD/ and REALIZE fixes.
2630         (gst_pad_class_init): Add properties for "direction" and
2631         "template". Both are construct-only, so they can't change during
2632         the life of the pad. Fixes properly deriving from GstPad.
2633         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2634         derived objects, just set properties when creating the objects via
2635         g_object_new.
2636         (gst_pad_get_parent): Implement as a function, return NULL if the
2637         parent is not an element.
2638         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2639         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2640         
2641         * gst/gstobject.c (gst_object_class_init): Make name a construct
2642         property. Don't set it in the object init.
2643
2644         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2645         with UNKNOWN direction.
2646         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2647         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2648         (gst_element_remove_pad): Remove ghost-pad special cases.
2649         (gst_element_pads_activate): Remove rpad cruft.
2650
2651         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2652         catch the pad's-parent-not-an-element case.
2653
2654         * gst/gst.h: Include gstghostpad.h.
2655
2656         * gst/gst.c (init_post): No more real, ghost pads.
2657
2658         * gst/Makefile.am: Add gstghostpad.[ch].
2659
2660         * check/Makefile.am:
2661         * check/gst/gstbin.c:
2662         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2663         into a bin creates ghost pads, and that the refcounts are right.
2664         Partly moved from gstbin.c.
2665
2666 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2667
2668         * check/gst-libs/.cvsignore:
2669         * check/gst/.cvsignore:
2670         * check/pipelines/.cvsignore:
2671           ignore more
2672         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2673         (START_TEST), (cleanup_suite), (main):
2674           add some tests related to cleanup after running pipelines
2675
2676 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2677
2678         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2679           add a testsuite for GstBuffer
2680
2681 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2682
2683         * gst/gstminiobject.h:
2684           add defines for accessing the refcount
2685
2686 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2687
2688         * Makefile.am: added support for html unit test coverage reports
2689
2690 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2691
2692         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2693           Free existing caps if the capsfilter changes. Add a FIXME about
2694           setting those caps on the pads.
2695
2696         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2697           Before adding a ghost pad to a parent bin, check that there isn't
2698           already one for the element on the bin. Prevents infinite recursion
2699           when using decodebin in parse pipelines. Andy says he'll rewrite the
2700           way this works anyway, so ignore the hack.
2701
2702 2005-06-02  Andy Wingo  <wingo@pobox.com>
2703
2704         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2705         file size, pass it on to the type find helper.
2706
2707         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2708         segment_start and segment_end properly according to the seek
2709         method. Segment_end is still a bit flaky because offset can be
2710         negative for CUR and END cases, but it takes -1 as an "unset"
2711         value.
2712
2713 2005-06-02  Wim Taymans  <wim@fluendo.com>
2714
2715         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2716         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2717         (gst_basesink_activate):
2718         * gst/base/gstbasesink.h:
2719         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2720         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2721         (gst_pad_query), (gst_pad_start_task):
2722         * gst/gstpad.h:
2723         * gst/gstqueue.c: (gst_queue_bufferalloc),
2724         (gst_queue_handle_sink_event), (gst_queue_chain):
2725         Bufferalloc: return GstFlowReturn to more accuratly report
2726         why allocation failed.
2727
2728 2005-06-02  Wim Taymans  <wim@fluendo.com>
2729
2730         * gst/gstpipeline.c: (gst_pipeline_send_event):
2731         Take snapshot of state without blocking.
2732
2733 2005-06-02  Wim Taymans  <wim@fluendo.com>
2734
2735         * docs/design/part-TODO.txt:
2736         * docs/design/part-caps.txt:
2737         * docs/design/part-clocks.txt:
2738         * docs/design/part-negotiation.txt:
2739         * docs/design/part-preroll.txt:
2740         Small doc updates 
2741
2742 2005-05-30  Wim Taymans  <wim@fluendo.com>
2743
2744         * gst/elements/gstidentity.c: (gst_identity_event),
2745         (gst_identity_transform), (gst_identity_get_property):
2746         Protect last_message property as it is accessed from
2747         multiple threads.
2748
2749 2005-05-30  Wim Taymans  <wim@fluendo.com>
2750
2751         * gst/gstelement.c: (gst_element_init),
2752         (gst_element_pads_activate), (gst_element_change_state):
2753         Slicker pad activation code.
2754
2755 2005-05-30  Wim Taymans  <wim@fluendo.com>
2756
2757         * gst/Makefile.am:
2758         * gst/gstelement.h:
2759         * gst/gstelementfactory.h:
2760         * gst/gsttypes.h:
2761         Move elementfactory methods to separate .h file.
2762
2763 2005-05-30  Wim Taymans  <wim@fluendo.com>
2764
2765         * docs/design/part-overview.txt:
2766         * gst/gstsystemclock.h:
2767         Small typo fixes, doc updates.
2768
2769 2005-05-30  Wim Taymans  <wim@fluendo.com>
2770
2771         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2772         (init_popt_callback):
2773         Remove cpu-opt flag.
2774
2775 2005-05-30  Wim Taymans  <wim@fluendo.com>
2776
2777         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2778         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2779         * gst/gstbuffer.h:
2780         Avoid typechecking in places where not needed.
2781         Added accessor for malloc_data.
2782
2783 2005-05-30  Wim Taymans  <wim@fluendo.com>
2784
2785         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2786         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2787         (gst_pad_configure_sink), (gst_pad_configure_src),
2788         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2789         (gst_pad_start_task):
2790         Propagate errors from _set_caps() in configure_src/sink
2791         functions instead of returning TRUE.
2792         FLUSH events can travel up and downstream
2793
2794
2795 2005-05-30  Wim Taymans  <wim@fluendo.com>
2796
2797         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2798         (gst_basesink_activate):
2799         Handle EOS in preroll.
2800
2801 2005-05-30  Wim Taymans  <wim@fluendo.com>
2802
2803         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2804         (gst_queue_loop), (gst_queue_handle_src_event):
2805         Remove old pieces of code
2806         Flushing the queue in an upstream event is a very bad idea.
2807
2808 2005-05-26  Andy Wingo  <wingo@pobox.com>
2809
2810         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2811         gst_value_set_mini_object so as to add a ref on the object (which
2812         will be removed when the value is unset).
2813
2814         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2815         arg type in ::handoff.
2816
2817         * gst/gstelement.c (gst_element_change_state): Also deactivate
2818         pads in READY->NULL, just in case the element didn't make it to
2819         PAUSED. Wingo tested, Wim approved.
2820
2821 2005-05-26  Wim Taymans  <wim@fluendo.com>
2822
2823         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2824         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2825         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2826         A flushing pad cannot be used to alloc_buffer from.
2827
2828 2005-05-26  Wim Taymans  <wim@fluendo.com>
2829
2830         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2831         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2832         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2833         (gst_bus_create_watch), (gst_bus_add_watch_full):
2834         * gst/gstbus.h:
2835         Implement a real GSource and use g_main_context_wakeup() to
2836         signal new messages instead of the socketpair.
2837
2838 2005-05-25  Wim Taymans  <wim@fluendo.com>
2839
2840         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2841         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2842         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2843         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2844         (gst_pad_send_event), (gst_pad_start_task):
2845         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2846         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2847         (gst_queue_sink_activate), (gst_queue_src_activate),
2848         (gst_queue_change_state):
2849         * gst/gstqueue.h:
2850         Fix state changes for non sinks. We now change sinks, then elements
2851         with unconnected srcpads, then the rest.
2852         More efficient queue unlocking in flush and state changes.
2853         Set the pad activate mode even if it does not have an activate
2854         function.
2855
2856 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2857
2858         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2859           Don't go in pull mode for non-seekable sources.
2860         * gst/elements/gsttypefindelement.h:
2861         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2862         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2863         (free_entry), (stop_typefinding),
2864         (gst_type_find_element_handle_event), (find_peek),
2865         (gst_type_find_element_chain), (do_pull_typefind),
2866         (gst_type_find_element_change_state):
2867           Allow typefinding (w/o seeking) in push-mode, simplified version
2868           of what was in 0.8.
2869         * gst/gstutils.c: (gst_buffer_join):
2870         * gst/gstutils.h:
2871           gst_buffer_join() from 0.8.
2872
2873 2005-05-25  Wim Taymans  <wim@fluendo.com>
2874
2875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2876         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2877         (gst_pad_send_event), (gst_pad_start_task):
2878         Disable attempt at mode switching until it is figured out.
2879
2880 2005-05-25  Wim Taymans  <wim@fluendo.com>
2881
2882         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2883         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2884         (gst_basesink_finish_preroll), (gst_basesink_chain),
2885         (gst_basesink_loop), (gst_basesink_activate),
2886         (gst_basesink_change_state):
2887         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2888         (gst_basesrc_get_range), (gst_basesrc_loop),
2889         (gst_basesrc_activate):
2890         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2891         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2892         (gst_real_pad_init), (gst_real_pad_set_property),
2893         (gst_real_pad_get_property), (gst_pad_set_active),
2894         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2895         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2896         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2897         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2898         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2899         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2900         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2901         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2902         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2903         (gst_pad_stop_task):
2904         * gst/gstpad.h:
2905         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2906         (gst_queue_loop), (gst_queue_src_activate):
2907         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2908         (gst_task_get_state):
2909         * gst/gsttask.h:
2910         * gst/schedulers/threadscheduler.c:
2911         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2912         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2913         in task function.
2914         Remove ACTIVE pad flag, use FLUSHING everywhere
2915         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2916         functions.
2917         Add locks around IS_FLUSHING when reading.
2918         Take STREAM lock in chain(), get_range() functions so plugins
2919         don't need to take it anymore.
2920         
2921
2922
2923 2005-05-25  Wim Taymans  <wim@fluendo.com>
2924
2925         * tools/gst-launch.c: (event_loop):
2926         Unref message after using its contents instead of
2927         before.
2928
2929 2005-05-24  Wim Taymans  <wim@fluendo.com>
2930
2931         * docs/design/draft-ghostpads.txt:
2932         * docs/design/draft-push-pull.txt:
2933         * docs/design/draft-query.txt:
2934         * docs/design/part-overview.txt:
2935         Docs updates, added general overview doc.
2936
2937 2005-05-21  David Schleef  <ds@schleef.org>
2938
2939         * docs/gst/tmpl/old/GstBin.sgml:
2940         * docs/gst/tmpl/old/GstBuffer.sgml:
2941         * docs/gst/tmpl/old/GstCaps.sgml:
2942         * docs/gst/tmpl/old/GstClock.sgml:
2943         * docs/gst/tmpl/old/GstCompat.sgml:
2944         * docs/gst/tmpl/old/GstData.sgml:
2945         * docs/gst/tmpl/old/GstElement.sgml:
2946         * docs/gst/tmpl/old/GstEvent.sgml:
2947         * docs/gst/tmpl/old/GstIndex.sgml:
2948         * docs/gst/tmpl/old/GstStructure.sgml:
2949         * docs/gst/tmpl/old/GstTag.sgml:
2950         * docs/gst/tmpl/old/cothreads.sgml:
2951         * docs/gst/tmpl/old/cothreads_compat.sgml:
2952         * docs/gst/tmpl/old/gettext.sgml:
2953         * docs/gst/tmpl/old/gobject2gtk.sgml:
2954         * docs/gst/tmpl/old/grammar.tab.sgml:
2955         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2956         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2957         * docs/gst/tmpl/old/gst_private.sgml:
2958         * docs/gst/tmpl/old/gstaggregator.sgml:
2959         * docs/gst/tmpl/old/gstarch.sgml:
2960         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2961         * docs/gst/tmpl/old/gstbufferstore.sgml:
2962         * docs/gst/tmpl/old/gstdata_private.sgml:
2963         * docs/gst/tmpl/old/gstdisksink.sgml:
2964         * docs/gst/tmpl/old/gstdisksrc.sgml:
2965         * docs/gst/tmpl/old/gstelementfactory.sgml:
2966         * docs/gst/tmpl/old/gstextratypes.sgml:
2967         * docs/gst/tmpl/old/gstfakesink.sgml:
2968         * docs/gst/tmpl/old/gstfakesrc.sgml:
2969         * docs/gst/tmpl/old/gstfdsink.sgml:
2970         * docs/gst/tmpl/old/gstfdsrc.sgml:
2971         * docs/gst/tmpl/old/gstfilesink.sgml:
2972         * docs/gst/tmpl/old/gstfilesrc.sgml:
2973         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2974         * docs/gst/tmpl/old/gstidentity.sgml:
2975         * docs/gst/tmpl/old/gstindexfactory.sgml:
2976         * docs/gst/tmpl/old/gstmarshal.sgml:
2977         * docs/gst/tmpl/old/gstmd5sink.sgml:
2978         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2979         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2980         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2981         * docs/gst/tmpl/old/gstpipefilter.sgml:
2982         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2983         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2984         * docs/gst/tmpl/old/gstshaper.sgml:
2985         * docs/gst/tmpl/old/gstspider.sgml:
2986         * docs/gst/tmpl/old/gstspideridentity.sgml:
2987         * docs/gst/tmpl/old/gststatistics.sgml:
2988         * docs/gst/tmpl/old/gsttee.sgml:
2989         * docs/gst/tmpl/old/gsttimecache.sgml:
2990         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2991         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2992         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2993         * docs/gst/tmpl/old/types.sgml:
2994           I didn't intend to add these or check them in.
2995
2996 2005-05-19  David Schleef  <ds@schleef.org>
2997
2998         * configure.ac: Use -no-common everywhere.  In a sane world, it
2999           would be the default in libtool, because without it, you can't
3000           build DLLs on Windows.
3001         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3002         * docs/gst/gstreamer-sections.txt:
3003         * docs/gst/tmpl/gstcpu.sgml:
3004         * docs/gst/tmpl/gstdata.sgml:
3005         * docs/gst/tmpl/gstthread.sgml:
3006
3007 2005-05-19  David Schleef  <ds@schleef.org>
3008
3009         * gst/gstminiobject.c: (gst_value_set_mini_object),
3010         (gst_value_take_mini_object), (gst_value_get_mini_object):
3011         * gst/gstminiobject.h: Add GValue set/get functions.
3012
3013 2005-05-19  Wim Taymans  <wim@fluendo.com>
3014
3015         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3016         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3017         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3018         * gst/gstbuffer.h:
3019         * gst/gstbus.c: (gst_bus_post):
3020         * gst/gstelement.c: (gst_element_get_random_pad):
3021         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3022         Make subbufer unref the parent in finalize.
3023         some more debugging info.
3024
3025
3026 2005-05-19  Wim Taymans  <wim@fluendo.com>
3027
3028         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3029         (gst_basesink_init), (gst_basesink_finalize),
3030         (gst_basesink_activate), (gst_basesink_change_state):
3031         Don't free preroll queue too early.
3032
3033 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3034
3035         * gst/Makefile.am:
3036         * gst/ROADMAP:
3037           Hi, I'm outdated. Please shoot me.
3038
3039 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3040
3041         * gst/gstpipeline.c: (gst_pipeline_send_event):
3042           Do not access variables after they have been deleted.
3043
3044 2005-05-19  Wim Taymans  <wim@fluendo.com>
3045
3046         * tools/gst-inspect.c: (print_plugin_features):
3047         A plugin feature does unfortunatly not use the
3048         object name yet...
3049
3050 2005-05-18  Wim Taymans  <wim@fluendo.com>
3051
3052         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3053         Port _span() functions to new subbuffers.
3054
3055 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3056
3057         * gst/gstbin.c: (gst_bin_add_func):
3058           Fix clock settery in bins when adding kids after the clock has
3059           been selected.
3060
3061 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3062
3063         * gst/elements/gstidentity.c: (gst_identity_class_init):
3064           Workaround until signals support GstMiniObject.
3065
3066 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3067
3068         * gst/gstbuffer.c:
3069         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3070
3071 2005-05-18  Wim Taymans  <wim@fluendo.com>
3072
3073         * gst/base/Makefile.am:
3074         * gst/base/gstadapter.c: (gst_adapter_base_init),
3075         (gst_adapter_class_init), (gst_adapter_init),
3076         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3077         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3078         (gst_adapter_flush), (gst_adapter_available),
3079         (gst_adapter_available_fast):
3080         * gst/base/gstadapter.h:
3081         Ported and added adapter to the base classes.
3082
3083 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3084
3085         * gst/gst.c:
3086         * gst/gstmessage.c:
3087           Make sure the class is reffed/unreffed once before threads can be
3088           used.  Fixes #304551.
3089
3090 2005-05-17  Wim Taymans  <wim@fluendo.com>
3091
3092         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3093         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3094         * gst/gstminiobject.c: (gst_mini_object_get_type),
3095         (gst_mini_object_free):
3096         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3097         (gst_pad_push), (gst_pad_push_event):
3098         * gst/gstqueue.c: (gst_queue_change_state):
3099         Don't queue buffers in basesink when we are flushing.
3100         Unref buffer when flushing in basesink.
3101         Flush queue when going to READY
3102         Unref buffer when _push() returns an error.
3103         Don't free MiniObject instance when refcount is incremented
3104         in _finalize() so that we can recover objects.
3105
3106 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * docs/manual/advanced-schedulers.xml:
3109         * docs/manual/appendix-checklist.xml:
3110         * docs/pwg/advanced-clock.xml:
3111         * docs/pwg/advanced-interfaces.xml:
3112         * docs/pwg/advanced-request.xml:
3113         * docs/pwg/advanced-types.xml:
3114         * docs/pwg/intro-preface.xml:
3115         * examples/plugins/example.c: (gst_example_get_type),
3116         (gst_example_class_init), (gst_example_chain),
3117         (gst_example_set_property), (gst_example_get_property),
3118         (gst_example_change_state), (plugin_init):
3119         * examples/plugins/example.h:
3120           small doc fixes
3121
3122 2005-05-17  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3125         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3126         * gst/gstqueue.c: (gst_queue_change_state):
3127         Clear queue when going to READY.
3128         Remove IN_SETCAPS flag too.
3129
3130 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3131
3132         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3133           Remove implicit cast from gboolean to GstElementStateReturn;
3134           make sure we still return failure in paused => ready case if
3135           the parent class fails to change state and our own stop 
3136           vfunc succeeds.
3137
3138 2005-05-17  Wim Taymans  <wim@fluendo.com>
3139
3140         * tools/gst-launch.c: (event_loop):
3141         Message was unreffed too soon.
3142
3143 2005-05-16  Andy Wingo  <wingo@pobox.com>
3144
3145         * gst/gstbin.c (sink_iterator_filter): Err... um...
3146
3147         * check/gst/gstbin.c (test_ghost_pads): New test for the
3148         ghosting-if-elements-not-in-same-bin behavior.
3149
3150 2005-05-16  David Schleef  <ds@schleef.org>
3151
3152         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3153         accessing refcount directly.
3154
3155 2005-05-15  David Schleef  <ds@schleef.org>
3156
3157         * check/Makefile.am: remove GstData checks
3158         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3159         * gst/Makefile.am: add miniobject, remove data
3160         * gst/gst.h: add miniobject, remove data
3161         * gst/gstdata.c: remove
3162         * gst/gstdata.h: remove
3163         * gst/gstdata_private.h: remove
3164         * gst/gsttypes.h: remove GstEvent and GstMessage
3165         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3166         * gst/gstmarshal.list: change BOXED -> OBJECT
3167
3168         Implement GstMiniObject.
3169         * gst/gstminiobject.c:
3170         * gst/gstminiobject.h:
3171
3172         Modify to be subclasses of GstMiniObject.
3173         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3174         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3175         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3176         (gst_subbuffer_get_type), (gst_subbuffer_init),
3177         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3178         (gst_buffer_span):
3179         * gst/gstbuffer.h:
3180         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3181         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3182         (_gst_event_copy), (gst_event_new):
3183         * gst/gstevent.h:
3184         * gst/gstmessage.c: (_gst_message_initialize),
3185         (gst_message_get_type), (gst_message_class_init),
3186         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3187         (gst_message_new), (gst_message_new_error),
3188         (gst_message_new_warning), (gst_message_new_tag),
3189         (gst_message_new_state_changed), (gst_message_new_application):
3190         * gst/gstmessage.h:
3191         * gst/gstprobe.c: (gst_probe_perform),
3192         (gst_probe_dispatcher_dispatch):
3193         * gst/gstprobe.h:
3194         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3195         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3196         (_gst_query_copy), (gst_query_new):
3197
3198         Update elements for GstData -> GstMiniObject changes
3199         * gst/gstquery.h:
3200         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3201         (gst_queue_chain), (gst_queue_loop):
3202         * gst/elements/gstbufferstore.c:
3203         (gst_buffer_store_add_buffer_func),
3204         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3205         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3206         (gst_fakesink_render):
3207         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3208         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3209         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3210         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3211         (gst_filesrc_create_read):
3212         * gst/elements/gstidentity.c: (gst_identity_class_init):
3213         * gst/elements/gsttypefindelement.c:
3214         (gst_type_find_element_src_event), (free_entry_buffers),
3215         (gst_type_find_element_handle_event):
3216         * libs/gst/dataprotocol/dataprotocol.c:
3217         (gst_dp_header_from_buffer):
3218         * libs/gst/dataprotocol/dataprotocol.h:
3219         * libs/gst/dataprotocol/dp-private.h:
3220
3221 2005-05-15  David Schleef  <ds@schleef.org>
3222
3223         * gst/elements/gstelements.c: Don't include headers that were
3224         just removed.
3225
3226 2005-05-15  David Schleef  <ds@schleef.org>
3227
3228         * gst/elements/Makefile.am: Remove some elements that don't
3229         need to be in the core (or even exist at all).
3230         * gst/elements/gstaggregator.c:
3231         * gst/elements/gstaggregator.h:
3232         * gst/elements/gstmd5sink.c:
3233         * gst/elements/gstmd5sink.h:
3234         * gst/elements/gstmultifilesrc.c:
3235         * gst/elements/gstmultifilesrc.h:
3236         * gst/elements/gstpipefilter.c:
3237         * gst/elements/gstpipefilter.h:
3238         * gst/elements/gstshaper.c:
3239         * gst/elements/gstshaper.h:
3240         * gst/elements/gststatistics.c:
3241         * gst/elements/gststatistics.h:
3242         * po/POTFILES.in: Remove above files.
3243
3244 2005-05-14  Andy Wingo  <wingo@pobox.com>
3245
3246         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3247         so as to get the refs right.
3248         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3249         unreffing objects that don't pass the filter.
3250
3251         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3252         gst_element_set_bus.
3253         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3254         normal cases, this will destroy the bus.
3255
3256         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3257         object.
3258
3259         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3260         has no sinks.
3261
3262 2005-05-13  Andy Wingo  <wingo@pobox.com>
3263
3264         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3265         gst_pad_link, call pad_link_maybe_ghosting,
3266         (pad_link_maybe_ghosting): Links pads, making sure that the
3267         elements being linked are in the same bin.
3268         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3269         Helpers for pad_link_maybe_ghosting.
3270
3271 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3272
3273         * configure.ac:
3274           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3275
3276 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3277
3278         * docs/design/part-element-source.txt:
3279           Mention GstPushSrc
3280
3281 2005-05-12  Wim Taymans  <wim@fluendo.com>
3282
3283         * gst/base/gstbasesink.c: (gst_basesink_init),
3284         (gst_basesink_activate):
3285         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3286         (gst_basesrc_is_seekable):
3287         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3288         (bin_element_is_sink), (gst_bin_change_state):
3289         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3290         * gst/gstelement.h:
3291         Identify sinks by their flag to avoid overly complicated
3292         checks (fow now).
3293         Do state changes even for elements not reachable from the
3294         sinks.
3295         BaseSink is a sink now :)
3296         Some more debugging info in the basesrc.
3297
3298
3299 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3300
3301         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3302           Implement _query on a bin, similar to _send_event.
3303
3304 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3305
3306         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3307           Discont event offset format should be GST_FORMAT_BYTES,
3308           not GST_FORMAT_TIME.
3309
3310 2005-05-12  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3313         Same fix as Ronald's but without the signal. 
3314
3315 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3316
3317         * gst/gstutils.c: (gst_element_query_position):
3318           No, an element is not a pad.
3319
3320 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3321
3322         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3323         (gst_bin_get_state):
3324           If a child is removed from a bin while we remove the child from
3325           the bin and while we're retrieving its state, signal this to the
3326           get_state function so we abort the wait (instead of waiting for
3327           a timeout) and can immediately re-iterate over all other elements.
3328
3329 2005-05-12  Wim Taymans  <wim@fluendo.com>
3330
3331         * gst/base/Makefile.am:
3332         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3333         (gst_basesrc_start):
3334         * gst/base/gstbasesrc.h:
3335         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3336         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3337         (gst_pushsrc_init), (gst_pushsrc_create):
3338         * gst/base/gstpushsrc.h:
3339         Added is_seekable to BaseSrc
3340         Added simple PushSrc.
3341
3342 2005-05-11  Wim Taymans  <wim@fluendo.com>
3343
3344         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3345         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3346         (gst_element_link_pads), (gst_element_query_position),
3347         (gst_element_query_convert), (intersect_caps_func),
3348         (gst_pad_query_position), (gst_pad_query_convert):
3349         Fix refcounting in utils function.
3350         No point in trying to activate a pad when it's added, it could
3351         be added from the state change function and then we deadlock, the
3352         element has to decide what to do.
3353
3354 2005-05-10  Andy Wingo  <wingo@pobox.com>
3355
3356         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3357         *all* the arguments.
3358
3359         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3360         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3361         lock (according to the docs -- if this is wrong change the docs).
3362
3363         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3364         flush messages in the NULL state.
3365
3366         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3367         message immediately and return.
3368         (gst_bus_set_flushing): New function. If a bus is flushing, it
3369         flushes out any queued messages and immediately unrefs new
3370         messages. This is so when an element goes to NULL, all of the
3371         unhandled messages coming from it can be freed, and their
3372         references to the element dropped. In other words: message source
3373         ref considered harmful :P
3374
3375         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3376         we're finished with it.
3377
3378         * gst/gstmessage.c (gst_message_new_state_changed): 
3379
3380 2005-05-10  Wim Taymans  <wim@fluendo.com>
3381
3382         * gst/gstvalue.c: (gst_value_compare_flags),
3383         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3384         (_gst_value_initialize):
3385         Added flags serialize/deserialize/compare code.
3386
3387 2005-05-09  Andy Wingo  <wingo@pobox.com>
3388
3389         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3390         Intersect the peer's caps with our caps.
3391
3392 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3393
3394         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3395         * gst/elements/gsttypefindelement.c: (find_peek):
3396           Handle negative offsets better. Fixes decodebin.
3397
3398 2005-05-09  Wim Taymans  <wim@fluendo.com>
3399
3400         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3401         (gst_base_transform_event):
3402         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3403         Implement accept_caps.
3404         Fix silly lock/unlock mismatch in base class.
3405
3406 2005-05-09  Wim Taymans  <wim@fluendo.com>
3407
3408         * docs/design/draft-push-pull.txt:
3409         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3410         * gst/elements/gstfilesink.c: (gst_filesink_init),
3411         (gst_filesink_query):
3412         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3413         (gst_type_find_handle_src_query), (find_element_get_length):
3414         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3415         * gst/gstelement.h:
3416         * gst/gstmessage.c:
3417         * gst/gstmessage.h:
3418         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3419         (gst_real_pad_get_caps_unlocked),
3420         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3421         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3422         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3423         (gst_real_pad_dispose), (gst_real_pad_finalize),
3424         (gst_pad_load_and_link), (gst_pad_save_thyself),
3425         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3426         (gst_pad_check_pull_range), (gst_pad_pull_range),
3427         (gst_pad_template_get_type), (gst_pad_template_class_init),
3428         (gst_pad_template_init), (gst_pad_template_dispose),
3429         (name_is_valid), (gst_static_pad_template_get),
3430         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3431         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3432         (gst_pad_get_element_private), (gst_pad_start_task),
3433         (gst_pad_pause_task), (gst_pad_stop_task),
3434         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3435         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3436         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3437         (gst_ghost_pad_new):
3438         * gst/gstpad.h:
3439         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3440         (gst_query_new_position), (gst_query_set_position),
3441         (gst_query_parse_position), (gst_query_new_convert),
3442         (gst_query_set_convert), (gst_query_parse_convert):
3443         * gst/gstquery.h:
3444         * gst/gstqueryutils.c:
3445         * gst/gstqueryutils.h:
3446         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3447         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3448         (gst_queue_handle_src_query):
3449         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3450         (gst_element_query_position), (gst_element_query_convert),
3451         (intersect_caps_func), (gst_pad_query_position),
3452         (gst_pad_query_convert):
3453         * gst/gstutils.h:
3454         * tools/gst-inspect.c: (print_pad_info):
3455         * tools/gst-xmlinspect.c: (print_element_info):
3456         Remove old query functions. Ported old code.
3457         Added position/convert helper functions to gstutils.
3458         Reordered gstpad.c code, grouping relevant things.
3459         Remove gst_message_new(), always need to speficy a specific
3460         message.
3461
3462
3463 2005-05-09  Andy Wingo  <wingo@pobox.com>
3464
3465         * gst/gstiterator.h: Add some includes.
3466
3467         * gst/gstqueryutils.h: Include more headers.
3468
3469         * gst/gstpad.h:
3470         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3471         some uses of gst_pad_query.
3472
3473         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3474         NULL out parameters.
3475         (gst_query_new_position): New proc, allocates a new position
3476         query.
3477
3478         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3479         gstqueryutils.c to the build.
3480
3481         * gst/gststructure.c (gst_structure_set_valist): Implement with
3482         the generic G_VALUE_COLLECT.
3483         
3484 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3485
3486         * gst/Makefile.am: (gst_headers):
3487         Added gstqueryutils.h to the list of headers to install, that was
3488         a 'nachty' move wingo :)
3489
3490 2005-05-06  Andy Wingo  <wingo@pobox.com>
3491
3492         * gst/gstquery.h
3493         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3494         GstData, init a memchunk.
3495         (standard_definitions): Add a few query types, deprecate a few.
3496         (gst_query_get_type): New proc.
3497         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3498         implementation.
3499         (gst_query_new_application, gst_query_get_structure): New public
3500         procs.
3501
3502         * docs/design/draft-query.txt: Removed LINKS from the query types,
3503         because all the rest can be dispatched to other pads -- seemed
3504         ugly to have a query that couldn't be dispatched. internal_links
3505         is fine as a pad method.
3506
3507         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3508         in gstpad.c, but maintain binary compatibility for the moment.
3509         Will fix before 0.9 is out.
3510
3511         * gst/gstqueryutils.c: 
3512         * gst/gstqueryutils.h: New files, implement 3 methods for each
3513         query type: parse_query, parse_response, and set. Probably need an
3514         allocator as well.
3515
3516         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3517
3518         * gst/elements/gstfilesink.c (gst_filesink_query2):
3519         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3520         query_types, and formats methods.
3521
3522         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3523         (gst_pad_set_query2_function): New functions.
3524         (gst_real_pad_init): Set query2_default as the default query2
3525         function. Basically just dispatches to internally linked pads.
3526
3527         Needs review!
3528         
3529         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3530         without using the atomic operations. Only one thread can possibly
3531         be accessing the data at this point. Changed so as to avoid
3532         gst_atomic operations.
3533
3534 2005-05-06  Wim Taymans  <wim@fluendo.com>
3535
3536         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3537         Also set caps if we use the fallback buffer alloc.
3538
3539 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3540
3541         * docs/gst/Makefile.am:
3542         * docs/gst/gstreamer-docs.sgml:
3543         * docs/gst/gstreamer-sections.txt:
3544         * docs/gst/tmpl/gstatomic.sgml:
3545         * docs/gst/tmpl/gstmemchunk.sgml:
3546         * testsuite/elements/struct_i386.h:
3547         * win32/GStreamer.vcproj:
3548         * win32/Makefile:
3549           Purge GstAtomic stuff from docs and win32 makefiles as well
3550
3551 2005-05-06  Wim Taymans  <wim@fluendo.com>
3552
3553         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3554         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3555         * gst/gstpad.c: (gst_pad_peer_get_caps):
3556         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3557         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3558         (gst_queue_src_activate), (gst_queue_change_state):
3559         * gst/gstqueue.h:
3560         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3561         (intersect_caps_func):
3562         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3563         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3564         Some fixes for the peer_get_caps() change.
3565
3566 2005-05-06  Wim Taymans  <wim@fluendo.com>
3567
3568         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3569         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3570         (gst_basesink_activate):
3571         Actually do something with error codes returned from the push
3572         functions.
3573
3574 2005-05-06  Wim Taymans  <wim@fluendo.com>
3575
3576         * docs/design/part-element-sink.txt:
3577         * docs/design/part-element-source.txt:
3578         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3579         (gst_basesink_event), (gst_basesink_activate):
3580         * gst/base/gstbasesink.h:
3581         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3582         (gst_basesrc_activate):
3583         * gst/base/gstbasesrc.h:
3584         * gst/gstelement.c: (gst_element_pads_activate):
3585         Some more documentation.
3586         Fixed scheduling decision in _pads_activate().
3587
3588 2005-05-05  Andy Wingo  <wingo@pobox.com>
3589
3590         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3591         the test suite.
3592
3593 2005-05-05  Wim Taymans  <wim@fluendo.com>
3594
3595         * gst/base/Makefile.am:
3596         * gst/base/gstbasesink.h:
3597         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3598         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3599         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3600         (gst_collectpads_class_init), (gst_collectpads_init),
3601         (gst_collectpads_finalize), (gst_collectpads_new),
3602         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3603         (find_pad), (gst_collectpads_remove_pad),
3604         (gst_collectpads_is_active), (gst_collectpads_collect),
3605         (gst_collectpads_collect_range), (gst_collectpads_start),
3606         (gst_collectpads_stop), (gst_collectpads_peek),
3607         (gst_collectpads_pop), (gst_collectpads_available),
3608         (gst_collectpads_read), (gst_collectpads_flush),
3609         (gst_collectpads_chain):
3610         * gst/base/gstcollectpads.h:
3611         * gst/elements/Makefile.am:
3612         * gst/elements/gstelements.c:
3613         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3614         (gst_fakesink_get_times), (gst_fakesink_event),
3615         (gst_fakesink_preroll), (gst_fakesink_render):
3616         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3617         (gst_filesink_init), (gst_filesink_set_location),
3618         (gst_filesink_open_file), (gst_filesink_close_file),
3619         (gst_filesink_pad_query), (gst_filesink_event),
3620         (gst_filesink_render), (gst_filesink_change_state):
3621         * gst/elements/gstfilesink.h:
3622         Added object to help in making collect pad based elements.
3623         Ported filesink.
3624         Make event function in sink baseclass return gboolean.
3625
3626 2005-05-05  Wim Taymans  <wim@fluendo.com>
3627
3628         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3629         (gst_bin_get_by_name):
3630         * gst/gstbuffer.h:
3631         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3632         (gst_clock_finalize):
3633         * gst/gstdata.c: (gst_data_replace):
3634         * gst/gstdata.h:
3635         * gst/gstelement.c: (gst_element_request_pad),
3636         (gst_element_pads_activate):
3637         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3638         (gst_object_unref):
3639         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3640         (gst_pad_set_checkgetrange_function),
3641         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3642         (gst_pad_check_pull_range), (gst_pad_pull_range),
3643         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3644         (gst_pad_pause_task), (gst_pad_stop_task):
3645         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3646         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3647         Fix name lookup in GstBin.
3648         Added _data_replace() function and _buffer_replace()
3649         Use finalize method to clean up clock.
3650         Fix refcounting on request pads.
3651         Fix pad schedule mode error.
3652         Some more object refcounting debug info,
3653
3654
3655 2005-05-04  Andy Wingo <wingo@pobox.com>
3656
3657         * check/Makefile.am:
3658         * docs/gst/tmpl/gstatomic.sgml:
3659         * docs/gst/tmpl/gstplugin.sgml:
3660         * gst/base/gstbasesink.c: (gst_basesink_activate):
3661         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3662         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3663         (gst_basesrc_query), (gst_basesrc_set_property),
3664         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3665         (gst_basesrc_activate):
3666         * gst/base/gstbasesrc.h:
3667         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3668         (gst_base_transform_src_activate):
3669         * gst/elements/gstelements.c:
3670         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3671         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3672         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3673         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3674         (gst_type_find_element_checkgetrange),
3675         (gst_type_find_element_activate):
3676         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3677         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3678         (gst_caps_load_thyself):
3679         * gst/gstelement.c: (gst_element_pads_activate),
3680         (gst_element_save_thyself), (gst_element_restore_thyself):
3681         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3682         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3683         * gst/gstpad.h:
3684         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3685         (gst_xml_parse_file), (gst_xml_parse_memory),
3686         (gst_xml_get_element), (gst_xml_make_element):
3687         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3688         (_file_index_id_save_xml), (gst_file_index_commit):
3689         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3690         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3691         (load_paths):
3692         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3693         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3694         * tools/gst-complete.c: (main):
3695         * tools/gst-compprep.c: (main):
3696         * tools/gst-inspect.c: (print_element_properties_info):
3697         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3698         * tools/gst-xmlinspect.c: (print_element_properties):
3699         GCC 4 fixen.
3700         
3701 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3702
3703         * gst/gstplugin.c: (gst_plugin_check_module),
3704         (gst_plugin_check_file), (gst_plugin_load_file):
3705             apply patch from #172526 to make register work on MacOSX
3706
3707 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3708
3709         * docs/gst/tmpl/gstconfig.sgml:
3710         * gst/gstconfig.h.in:
3711           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3712         * testsuite/debug/printf_extension.c: (main):
3713           Do not use GST_PTR_FORMAT on pointers to types with
3714           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3715         * testsuite/elements/property.h:
3716           use correct printf format
3717
3718 2005-05-02  Wim Taymans  <wim@fluendo.com>
3719
3720         * docs/design/draft-push-pull.txt:
3721         * docs/design/draft-query.txt:
3722         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3723         (gst_basesrc_start):
3724         Added draft for new query API.
3725         Added draft for better selecting scheduling methods.
3726         Make basesrc ignore length if the subclass does not support
3727         it.
3728
3729 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * gst/Makefile.am:
3732           possible fixes for automake-1.5 - _LIBADD is reserved
3733
3734 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3735
3736         * docs/faq/Makefile.am:
3737         * docs/manual/Makefile.am:
3738         * docs/manuals.mak:
3739         * docs/pwg/Makefile.am:
3740         * gst/Makefile.am:
3741           possible fixes for automake-1.5
3742
3743 2005-04-28  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3746         (gst_basesink_pad_getcaps), (gst_basesink_init),
3747         (gst_basesink_do_sync):
3748         * gst/gstclock.c: (gst_clock_entry_new):
3749         * gst/gstevent.c: (gst_event_discont_get_value):
3750         * gst/gstpipeline.c: (pipeline_bus_handler),
3751         (gst_pipeline_change_state):
3752         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3753         Better debugging of clocking info.
3754         Allow NULL values when getting discont values.
3755
3756 2005-04-27  Wim Taymans  <wim@fluendo.com>
3757
3758         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3759         * check/gst/gstpad.c: (gst_pad_suite):
3760         Increase timeout for checks.
3761
3762 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3763
3764         * check/Makefile.am:
3765           fix the broken rule for cleanup.  Apparently this rule is
3766           only needed on FC2, so maybe this warrants further autotool
3767           inspection.
3768
3769 2005-04-26  Wim Taymans  <wim@fluendo.com>
3770
3771         * gst/gsttrashstack.h:
3772         Ooohh. a nasty one! After having a failed pop() from the stack,
3773         it's possible that the stack is empty. In that case, don't
3774         follow the NULL pointer.
3775
3776 2005-04-25  Wim Taymans  <wim@fluendo.com>
3777
3778         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3779         (gst_pad_set_checkgetrange_function),
3780         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3781         (gst_pad_check_pull_range), (gst_pad_pull_range),
3782         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3783         (gst_pad_pause_task), (gst_pad_stop_task):
3784         * gst/gstplugin.c: (gst_plugin_load):
3785         * gst/gstplugin.h:
3786         Remove gst_library_load as it does more harm than good with
3787         the new g_module flags.
3788         Revert bogus caps template check in pad linking, pad caps
3789         are important when linking not the template, which is more
3790         general than the current caps.
3791
3792 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3793
3794         * gst/autoplug/.cvsignore:
3795         * gst/autoplug/Makefile.am:
3796         * gst/autoplug/gstsearchfuncs.c:
3797         * gst/autoplug/gstsearchfuncs.h:
3798         * gst/autoplug/gstspider.c:
3799         * gst/autoplug/gstspider.h:
3800         * gst/autoplug/gstspideridentity.c:
3801         * gst/autoplug/gstspideridentity.h:
3802         * gst/autoplug/spidertest.c:
3803           Die, spider, die.
3804
3805 2005-04-25  Wim Taymans  <wim@fluendo.com>
3806
3807         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3808         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3809         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3810         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3811         * gst/gstpad.h:
3812         Added stubs for unimplemented functions. 
3813
3814 2005-04-24  David Schleef  <ds@schleef.org>
3815
3816         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3817         please fix.
3818
3819 2005-04-24  David Schleef  <ds@schleef.org>
3820
3821         Convert everything from GstAtomicInt to g_atomic_int_*, and
3822         remove gstatomic.
3823         * gst/Makefile.am:
3824         * gst/gstatomic.c:
3825         * gst/gstatomic.h:
3826         * gst/gstatomic_impl.h:
3827         * gst/gstbuffer.c:
3828         * gst/gstcaps.c:
3829         * gst/gstcaps.h:
3830         * gst/gstclock.c:
3831         * gst/gstclock.h:
3832         * gst/gstdata.c:
3833         * gst/gstdata.h:
3834         * gst/gstdata_private.h:
3835         * gst/gstevent.c:
3836         * gst/gstinfo.c:
3837         * gst/gstinfo.h:
3838         * gst/gstmessage.c:
3839         * gst/gstobject.c:
3840         * gst/gstobject.h:
3841         * gst/gststructure.c:
3842         * gst/gststructure.h:
3843         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3844         * gst/gstutils.h:
3845
3846 2005-04-24  David Schleef  <ds@schleef.org>
3847
3848         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3849         make the regressions tests work.  Remove some code that is no
3850         longer true.
3851         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3852         Disable warning for pads without templates.
3853
3854 2005-04-24  David Schleef  <ds@schleef.org>
3855
3856         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3857         functions that handle filtered links.
3858         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3859         removed functions.
3860         * gst/gstutils.c: Fix/remove utility functions that handle
3861         filtered caps.
3862         * gst/gstutils.h:
3863         * gst/gstvalue.c: Add serialization/deserialization of caps
3864         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3865         requires fixing so that the filter caps notation creates
3866         a capsfilter element and sets the filter_caps property.  I
3867         think everyone probably wants to keep the shorthand notation.
3868         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3869         * docs/gst/tmpl/gstpad.sgml:
3870
3871         * gst/elements/gstelements.c: Register capsfilter element.
3872         * gst/Makefile.am: fix spacing
3873         * docs/random/ds/0.9-suggested-changes: random
3874
3875 2005-04-23  David Schleef  <ds@schleef.org>
3876
3877         * gst/elements/Makefile.am:
3878         * gst/elements/gstcapsfilter.c: New element that acts like an
3879         identity, but filters caps.  Will eventually replace filtered
3880         caps in pad linking.
3881         * gst/gstutils.c: (gst_element_create_all_pads): New function
3882         to create all the ALWAYS pads that are registered with an
3883         element class.  This functionality should eventually be
3884         merged in with GstElement initialization.
3885         * gst/gstutils.h:
3886         * testsuite/trigger/README: part of trigger test code that should
3887         have been checked in a long time ago.
3888
3889 2005-04-23  David Schleef  <ds@schleef.org>
3890
3891         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3892         needed with new versions of libtool (nobody will confirm this),
3893         and hard to carry around.
3894         * gst/autoplug/Makefile.am:
3895         * gst/base/Makefile.am:
3896         * gst/elements/Makefile.am:
3897         * gst/indexers/Makefile.am:
3898         * gst/schedulers/Makefile.am:
3899         * libs/gst/bytestream/Makefile.am:
3900         * libs/gst/control/Makefile.am:
3901         * libs/gst/dataprotocol/Makefile.am:
3902         * libs/gst/getbits/Makefile.am:
3903
3904 2005-04-21  Wim Taymans  <wim@fluendo.com>
3905
3906         * docs/design/draft-push-pull.txt:
3907         * docs/design/part-MT-refcounting.txt:
3908         * docs/design/part-TODO.txt:
3909         * docs/design/part-caps.txt:
3910         * docs/design/part-events.txt:
3911         * docs/design/part-gstbus.txt:
3912         * docs/design/part-gstpipeline.txt:
3913         * docs/design/part-messages.txt:
3914         * docs/design/part-push-pull.txt:
3915         * docs/design/part-query.txt:
3916         Some more docs.
3917
3918 2005-04-21  Wim Taymans  <wim@fluendo.com>
3919
3920         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3921         (gst_message_new), (gst_message_new_error),
3922         (gst_message_new_warning), (gst_message_new_tag),
3923         (gst_message_new_state_changed), (gst_message_new_application),
3924         (gst_message_get_structure):
3925         * gst/gstmessage.h:
3926         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3927         (gst_structure_copy_conditional):
3928         Use parent refcount in GstMessage to ensure GstStructure
3929         consistency.
3930         Cleaned up headers a bit.
3931         
3932
3933 2005-04-20  Wim Taymans  <wim@fluendo.com>
3934
3935         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3936         (gst_basesink_pad_getcaps), (gst_basesink_init),
3937         (gst_basesink_chain_unlocked):
3938         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3939         (gst_type_find_helper):
3940         * gst/elements/gsttypefindelement.c:
3941         (gst_type_find_element_have_type), (gst_type_find_element_init),
3942         (stop_typefinding), (gst_type_find_element_handle_event),
3943         (find_suggest), (gst_type_find_element_chain),
3944         (gst_type_find_element_checkgetrange),
3945         (gst_type_find_element_getrange), (do_typefind),
3946         (gst_type_find_element_activate):
3947         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3948         (gst_buffer_default_free), (gst_buffer_default_copy),
3949         (gst_buffer_set_caps):
3950         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3951         (gst_caps_replace):
3952         * gst/gstmessage.c: (gst_message_new),
3953         (gst_message_new_state_changed):
3954         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3955         (gst_pad_set_checkgetrange_function),
3956         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3957         (gst_pad_set_caps), (gst_pad_check_pull_range),
3958         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3959         * gst/gstpad.h:
3960         * gst/gsttypefind.c: (gst_type_find_register):
3961         Make gst_caps_replace() work like other _replace() functions.
3962         Use _caps_replace() where possible.
3963         Make sure _message_new() initialises its field.
3964         Add gst_static_pad_template_get_caps()
3965
3966
3967 2005-04-18  Andy Wingo  <wingo@pobox.com>
3968
3969         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3970         on the peer, not the pad. I think that was a typo. Pass an extra
3971         arg to see if random access is possible. Activate the pads as
3972         PULL_RANGE if possible.
3973
3974         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3975
3976         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3977         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3978         to PROP_....
3979
3980 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3981
3982         * docs/faq/using.xml:
3983           Add note on gstreamer-properties (#154996).
3984
3985 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3986
3987         * docs/random/bbb/optional-properties:
3988           Some analysis on optional properties.
3989
3990 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3991
3992         * docs/gst/tmpl/gstelementfactory.sgml:
3993         * gst/gstelement.h:
3994         * gst/gstelementfactory.c: (gst_element_factory_init),
3995         (gst_element_factory_cleanup), (gst_element_register),
3996         (__gst_element_factory_add_static_pad_template),
3997         (gst_element_factory_get_static_pad_templates),
3998         (gst_element_factory_can_src_caps),
3999         (gst_element_factory_can_sink_caps):
4000         * gst/registries/Makefile.am:
4001         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4002         (gst_xml_registry_class_init), (gst_xml_registry_init),
4003         (gst_xml_registry_new), (gst_xml_registry_set_property),
4004         (gst_xml_registry_get_property), (get_time), (make_dir),
4005         (gst_xml_registry_get_perms_func),
4006         (plugin_times_older_than_recurse), (plugin_times_older_than),
4007         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4008         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4009         (add_to_char_array), (read_string), (read_uint), (read_enum),
4010         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4011         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4012         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4013         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4014         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4015         (gst_xml_registry_rebuild):
4016         * gst/registries/gstlibxmlregistry.h:
4017         * tools/gst-compprep.c: (main):
4018         * tools/gst-inspect.c: (print_pad_templates_info):
4019         * tools/gst-xmlinspect.c: (print_element_info):
4020           Use libxml2 for registry parsing, use staticpadtemplates in
4021           elementfactories. Makes gst_init() +/- 10x faster.
4022
4023 2005-04-12  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/base/Makefile.am:
4026         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4027         (gst_basesink_pad_getcaps), (gst_basesink_init),
4028         (gst_basesink_event), (gst_basesink_change_state):
4029         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4030         (gst_basesrc_init), (gst_basesrc_query),
4031         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4032         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4033         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4034         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4035         (gst_basesrc_stop), (gst_basesrc_activate),
4036         (gst_basesrc_change_state):
4037         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4038         (helper_find_suggest), (gst_type_find_helper):
4039         * gst/base/gsttypefindhelper.h:
4040         * gst/elements/Makefile.am:
4041         * gst/elements/gstelements.c:
4042         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4043         (gst_fakesink_get_times), (gst_fakesink_event),
4044         (gst_fakesink_preroll), (gst_fakesink_render):
4045         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4046         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4047         (gst_fakesrc_get_property), (gst_fakesrc_create),
4048         (gst_fakesrc_start), (gst_fakesrc_stop):
4049         * gst/elements/gstfakesrc.h:
4050         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4051         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4052         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4053         (gst_filesrc_create_read), (gst_filesrc_create),
4054         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4055         (gst_filesrc_start):
4056         * gst/elements/gsttypefindelement.c:
4057         (gst_type_find_element_have_type), (gst_type_find_element_init),
4058         (start_typefinding), (stop_typefinding), (push_buffer_store),
4059         (gst_type_find_element_handle_event),
4060         (gst_type_find_element_chain),
4061         (gst_type_find_element_checkgetrange),
4062         (gst_type_find_element_getrange), (do_typefind),
4063         (gst_type_find_element_activate),
4064         (gst_type_find_element_change_state):
4065         * gst/elements/gsttypefindelement.h:
4066         * gst/gstpipeline.c: (pipeline_bus_handler):
4067         Added typefind helper.
4068         Small preroll fix in the base sink.
4069         Disable typefind code in basesrc.
4070         Crude port of typefindelement.
4071         Fakesrc cleanups.
4072
4073
4074 2005-04-11  Wim Taymans  <wim@fluendo.com>
4075
4076         * check/gst/gstbus.c: (gstbus_suite):
4077         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4078         * check/gstcheck.h:
4079           Fix up the timeout so that the test does not fail.
4080
4081 2005-04-06  Wim Taymans  <wim@fluendo.com>
4082
4083         * gst/base/README:
4084         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4085         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4086         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4087         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4088         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4089         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4090         (gst_basesrc_stop), (gst_basesrc_activate),
4091         (gst_basesrc_change_state), (basesrc_find_peek),
4092         (basesrc_find_suggest), (gst_basesrc_type_find):
4093         * gst/base/gstbasesrc.h:
4094         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4095         (gst_filesrc_class_init), (gst_filesrc_init),
4096         (gst_filesrc_finalize), (gst_filesrc_set_location),
4097         (gst_filesrc_set_property), (gst_filesrc_get_property),
4098         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4099         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4100         (gst_filesrc_create_read), (gst_filesrc_create),
4101         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4102         * gst/elements/gstfilesrc.h:
4103         * gst/gstelement.c: (gst_element_get_state_func),
4104         (gst_element_lost_state), (gst_element_pads_activate):
4105         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4106         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4107         (gst_pad_pull_range):
4108         * gst/gstpad.h:
4109         More work on the generic source base class, implement seeking,
4110         query.
4111         Make filesrc extend the base source class.
4112         Added gst_pad_set_checkgetrange_function to GstPad.
4113
4114 2005-04-06  Andy Wingo  <wingo@pobox.com>
4115
4116         * pkgconfig/gstreamer-base.pc.in:
4117         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4118
4119         * pkgconfig/Makefile.am:
4120         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4121
4122 2005-04-04  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/base/Makefile.am:
4125         * gst/base/README:
4126         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4127         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4128         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4129         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4130         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4131         (gst_basesrc_base_init), (gst_basesrc_class_init),
4132         (gst_basesrc_init), (gst_basesrc_get_formats),
4133         (gst_basesrc_get_query_types), (gst_basesrc_query),
4134         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4135         (gst_basesrc_set_property), (gst_basesrc_get_property),
4136         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4137         (gst_basesrc_loop), (gst_basesrc_activate),
4138         (gst_basesrc_change_state):
4139         * gst/base/gstbasesrc.h:
4140         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4141         (gst_fakesrc_class_init), (gst_fakesrc_init),
4142         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4143         (gst_fakesrc_get_property), (gst_fakesrc_create):
4144         * gst/elements/gstfakesrc.h:
4145         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4146         (gst_filesrc_open_file), (gst_filesrc_loop),
4147         (gst_filesrc_activate), (filesrc_find_peek),
4148         (gst_filesrc_type_find):
4149         Made base source class, make fakesrc extend it.
4150         Add comments to basesink class.
4151         Some filesrc cleanup.
4152
4153 2005-03-31  David Schleef  <ds@schleef.org>
4154
4155         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4156         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4157         expected to link against libgstreamer.
4158         * gst/base/Makefile.am: link against libgstreamer
4159         * gst/elements/Makefile.am: same
4160
4161 2005-03-31  Andy Wingo  <wingo@pobox.com>
4162
4163         * tests/instantiate/Makefile.am:
4164         * tests/instantiate/caps.c: Add test to test speed of caps copy
4165         and free.
4166
4167         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4168         GMemChunk to be fair.
4169
4170         * gst/gsttrashstack.h: Remove warning about using the fallback
4171         trash stack implementation, it's still faster than malloc.
4172
4173 2005-03-30  Andy Wingo  <wingo@pobox.com>
4174
4175         * tests/complexity.c: Add a copyright.
4176
4177 2005-03-31  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4180         (gst_base_transform_class_init), (gst_base_transform_init),
4181         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4182         (gst_base_transform_get_property),
4183         (gst_base_transform_sink_activate),
4184         (gst_base_transform_src_activate),
4185         (gst_base_transform_change_state):
4186         * gst/base/gstbasetransform.h:
4187         * gst/elements/gstidentity.c: (gst_identity_class_init),
4188         (gst_identity_event), (gst_identity_check_perfect),
4189         (gst_identity_transform), (gst_identity_start),
4190         (gst_identity_stop):
4191         Added start/stop methods to transform base class so subclasses 
4192         don't need to deal with state changes even.
4193
4194 2005-03-31  Wim Taymans  <wim@fluendo.com>
4195
4196         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4197         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4198         * gst/gstevent.h:
4199         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4200         (gst_pad_pull_range):
4201         Added rate to the discont event to prepare for variable speed
4202         and reverse playback.
4203
4204 2005-03-29  David Schleef  <ds@schleef.org>
4205
4206         * configure.ac:
4207         * testsuite/trigger/Makefile.am:
4208         * testsuite/trigger/trigger.c: A little example program to show
4209         how trigger-based elements can work.
4210
4211 2005-03-29  Wim Taymans  <wim@fluendo.com>
4212
4213         * gst/base/Makefile.am:
4214         * gst/base/README:
4215         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4216         (gst_basesink_base_init), (gst_basesink_class_init),
4217         (gst_basesink_pad_getcaps), (gst_basesink_init),
4218         (gst_basesink_activate), (gst_basesink_change_state):
4219         * gst/base/gstbasesink.h:
4220         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4221         (gst_base_transform_base_init), (gst_base_transform_finalize),
4222         (gst_base_transform_class_init), (gst_base_transform_init),
4223         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4224         (gst_base_transform_event), (gst_base_transform_getrange),
4225         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4226         (gst_base_transform_set_property),
4227         (gst_base_transform_get_property),
4228         (gst_base_transform_sink_activate),
4229         (gst_base_transform_src_activate),
4230         (gst_base_transform_change_state):
4231         * gst/base/gstbasetransform.h:
4232         * gst/elements/gstidentity.c: (gst_identity_finalize),
4233         (gst_identity_class_init), (gst_identity_init),
4234         (gst_identity_event), (gst_identity_check_perfect),
4235         (gst_identity_transform), (gst_identity_set_property),
4236         (gst_identity_get_property), (gst_identity_change_state):
4237         * gst/elements/gstidentity.h:
4238         * gst/gstelement.c: (gst_element_get_state_func),
4239         (gst_element_lost_state), (gst_element_pads_activate):
4240         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4241         (gst_pad_check_pull_range), (gst_pad_pull_range):
4242         * gst/gstpad.h:
4243         Simplify pad activation.
4244         Added function to check if pull_range can be performed.
4245         Error out when pulling inactive or flushing pads.
4246         Removed const from refcounted types as it does not make sense.
4247         Simplify pad templates in basesink
4248         Added base class for simple 1-to-1 transforms.
4249         Make identity subclass the base transform.
4250
4251 2005-03-29  Andy Wingo  <wingo@pobox.com>
4252
4253         * docs/libs/gstreamer-libs-overrides.txt: 
4254         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4255         really don't understand what's going on, but like whatever. I want
4256         green buildbot!
4257
4258         * docs/gst/Makefile.am:
4259         * docs/libs/Makefile.am: Dist the overrides files.
4260
4261         * check/Makefile.am (clean-local): Remove .libs directories.
4262
4263         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4264         elements to EXTRA_DIST, so po/ files are happy.
4265
4266         * po/POTFILES.in: Er, remove it here.
4267
4268         * po/POTFILES: Remove gstspider.c.
4269
4270         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4271
4272         * docs/libs/gstreamer-libs-docs.sgml: 
4273         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4274         bytestream.
4275
4276         * tests/complexity.c (main): Set the length of the preroll queue
4277         on the sinks to prevent a lockup.
4278
4279         * libs/gst/dataprotocol/Makefile.am: 
4280         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4281         the same as the one in check/gst-libs/gdp.c.
4282
4283         * po/, docs/gst/: Commit automatic changes to docs and po files.
4284
4285         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4286         the versioned libgstbase.
4287
4288         * check/Makefile.am: Depend on an unversioned gst-register, seems
4289         to make autoconf happier.
4290
4291         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4292
4293 2005-03-28  Wim Taymans  <wim@fluendo.com>
4294
4295         * configure.ac:
4296         * docs/design/part-gstelement.txt:
4297         * docs/design/part-negotiation.txt:
4298         * docs/design/part-preroll.txt:
4299         * docs/design/part-scheduling.txt:
4300         * docs/design/part-states.txt:
4301         * gst/Makefile.am:
4302         * gst/base/Makefile.am:
4303         * gst/base/README:
4304         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4305         (gst_basesink_base_init), (gst_basesink_class_init),
4306         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4307         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4308         (gst_basesink_set_pad_functions),
4309         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4310         (gst_basesink_set_property), (gst_basesink_get_property),
4311         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4312         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4313         (gst_basesink_preroll_queue_push),
4314         (gst_basesink_preroll_queue_empty),
4315         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4316         (gst_basesink_event), (gst_basesink_get_times),
4317         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4318         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4319         (gst_basesink_loop), (gst_basesink_activate),
4320         (gst_basesink_change_state):
4321         * gst/base/gstbasesink.h:
4322         * gst/elements/Makefile.am:
4323         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4324         (gst_fakesink_class_init), (gst_fakesink_init),
4325         (gst_fakesink_set_property), (gst_fakesink_get_property),
4326         (gst_fakesink_get_times), (gst_fakesink_event),
4327         (gst_fakesink_preroll), (gst_fakesink_render),
4328         (gst_fakesink_change_state):
4329         * gst/elements/gstfakesink.h:
4330         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4331         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4332         * gst/gstelement.c: (gst_element_add_pad),
4333         (gst_element_get_state_func), (gst_element_abort_state),
4334         (gst_element_commit_state), (gst_element_lost_state),
4335         (gst_element_set_state), (gst_element_pads_activate):
4336         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4337         * gst/gstpipeline.c: (gst_pipeline_send_event),
4338         (gst_pipeline_change_state):
4339         Added state change code.
4340         Added/updated docs.
4341         Added sink base class, make fakesink extend the base class.
4342         Small cleanups in GstPipeline.
4343
4344 2005-03-26  David Schleef  <ds@schleef.org>
4345
4346         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4347         is broken and should be implemented in a different library.
4348         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4349         * gst/gst.h: remove gstcpu.h
4350         * gst/gstcpu.c: remove
4351         * gst/gstcpu.h: remove
4352         * gst/Makefile.am.future: Remove this file.  It's ancient.
4353
4354 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4355
4356         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4357         (gst_bin_send_event):
4358           Add default event/set_manager handlers. The set_manager handler
4359           takes care that the manager is distributed over kids that were
4360           already in the bin before the manager was set. The event handler
4361           is a utility virtual function that sends the event over all sinks,
4362           so that gst_element_send_event (bin, event); has the expected
4363           behaviour.
4364         * gst/gstpad.c: (gst_pad_event_default):
4365           Re-install default event handling for discontinuities, so that
4366           seeking works without requiring hacks in applications or extra
4367           code in sinks.
4368         * gst/gstpipeline.c: (gst_pipeline_class_init),
4369         (gst_pipeline_send_event):
4370           Half hack, half utility: set a pipeline to PAUSED for seek events,
4371           since that is the only way we can guarantee a/v sync. Means that
4372           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4373           and it "just works".
4374
4375 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4376
4377         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4378           Lock/unlock mismatch.
4379
4380 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4381
4382         * docs/faq/gst-uninstalled:
4383           add gst-plugins-base
4384         * docs/gst/Makefile.am:
4385           don't error out until docs are fixed
4386         * docs/gst/gstreamer.types:
4387           remove thread
4388
4389 2005-03-22  Wim Taymans  <wim@fluendo.com>
4390
4391         * check/Makefile.am:
4392         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4393         * gst/gststructure.c: (gst_structure_set_valist),
4394         (gst_structure_copy_conditional):
4395         Activated more tests.
4396         Added message test.
4397         Added G_TYPE_POINTER to GstStructure.
4398         
4399
4400 2005-03-22  Wim Taymans  <wim@fluendo.com>
4401
4402         * docs/design/part-TODO.txt:
4403         * docs/design/part-events.txt:
4404         * docs/design/part-gstbin.txt:
4405         * docs/design/part-gstbus.txt:
4406         * docs/design/part-gstpipeline.txt:
4407         * docs/design/part-messages.txt:
4408         * gst/gstbus.c:
4409         * gst/gstmessage.c:
4410         Docs updates
4411
4412 2005-03-21  Wim Taymans  <wim@fluendo.com>
4413
4414         * gst/gstbus.c: (gst_bus_post):
4415         Fix copy-and-paste error.
4416
4417 2005-03-21  Wim Taymans  <wim@fluendo.com>
4418
4419         * check/Makefile.am:
4420         * gst/Makefile.am:
4421         * gst/elements/Makefile.am:
4422         * gst/elements/gstelements.c:
4423         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4424         (gst_fakesink_event), (gst_fakesink_chain):
4425         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4426         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4427         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4428         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4429         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4430         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4431         (gst_fakesrc_loop), (gst_fakesrc_activate),
4432         (gst_fakesrc_change_state):
4433         * gst/elements/gstfakesrc.h:
4434         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4435         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4436         (gst_filesrc_open_file), (gst_filesrc_loop),
4437         (gst_filesrc_activate), (gst_filesrc_change_state),
4438         (filesrc_find_peek), (filesrc_find_suggest),
4439         (gst_filesrc_type_find):
4440         * gst/elements/gstidentity.c: (gst_identity_finalize),
4441         (gst_identity_class_init), (gst_identity_init),
4442         (gst_identity_proxy_getcaps), (identity_queue_push),
4443         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4444         (gst_identity_getrange), (gst_identity_chain),
4445         (gst_identity_sink_loop), (gst_identity_src_loop),
4446         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4447         (gst_identity_set_property), (gst_identity_get_property),
4448         (gst_identity_change_state):
4449         * gst/elements/gstidentity.h:
4450         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4451         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4452         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4453         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4454         (gst_tee_sink_activate):
4455         * gst/elements/gsttee.h:
4456         * gst/gst.c: (gst_register_core_elements), (init_post):
4457         * gst/gst.h:
4458         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4459         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4460         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4461         (gst_bin_change_state):
4462         * gst/gstbin.h:
4463         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4464         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4465         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4466         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4467         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4468         (bus_watch_callback), (bus_watch_destroy),
4469         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4470         (poll_timeout), (gst_bus_poll):
4471         * gst/gstbus.h:
4472         * gst/gstcaps.h:
4473         * gst/gstdata.h:
4474         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4475         (gst_element_post_message), (gst_element_message_full),
4476         (gst_element_get_state_func), (gst_element_get_state),
4477         (gst_element_abort_state), (gst_element_commit_state),
4478         (gst_element_lost_state), (gst_element_set_state),
4479         (gst_element_pads_activate), (gst_element_change_state),
4480         (gst_element_dispose), (gst_element_set_manager_func),
4481         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4482         (gst_element_set_manager), (gst_element_get_manager),
4483         (gst_element_set_bus), (gst_element_get_bus),
4484         (gst_element_set_scheduler), (gst_element_get_scheduler):
4485         * gst/gstelement.h:
4486         * gst/gstevent.c: (gst_event_new_segment_seek),
4487         (gst_event_new_flush):
4488         * gst/gstevent.h:
4489         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4490         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4491         (gst_message_new_eos), (gst_message_new_error),
4492         (gst_message_new_warning), (gst_message_new_tag),
4493         (gst_message_new_state_changed), (gst_message_new_application),
4494         (gst_message_get_structure), (gst_message_parse_tag),
4495         (gst_message_parse_state_changed), (gst_message_parse_error),
4496         (gst_message_parse_warning):
4497         * gst/gstmessage.h:
4498         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4499         (gst_real_pad_set_property), (gst_pad_set_active),
4500         (gst_pad_is_active), (gst_pad_set_blocked_async),
4501         (gst_pad_set_blocked), (gst_pad_is_blocked),
4502         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4503         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4504         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4505         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4506         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4507         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4508         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4509         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4510         (gst_pad_set_caps), (gst_pad_configure_sink),
4511         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4512         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4513         (gst_real_pad_dispose), (gst_real_pad_finalize),
4514         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4515         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4516         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4517         * gst/gstpad.h:
4518         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4519         (pipeline_bus_handler), (gst_pipeline_change_state),
4520         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4521         * gst/gstpipeline.h:
4522         * gst/gstprobe.h:
4523         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4524         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4525         (gst_queue_link_src), (gst_queue_bufferalloc),
4526         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4527         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4528         (gst_queue_loop), (gst_queue_handle_src_event),
4529         (gst_queue_handle_src_query), (gst_queue_src_activate),
4530         (gst_queue_change_state):
4531         * gst/gstqueue.h:
4532         * gst/gstscheduler.c: (gst_scheduler_init),
4533         (gst_scheduler_dispose), (gst_scheduler_create_task),
4534         (gst_scheduler_factory_create):
4535         * gst/gstscheduler.h:
4536         * gst/gststructure.c: (gst_structure_get_type),
4537         (gst_structure_copy_conditional):
4538         * gst/gststructure.h:
4539         * gst/gsttaginterface.h:
4540         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4541         (gst_task_init), (gst_task_dispose), (gst_task_create),
4542         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4543         (gst_task_pause):
4544         * gst/gsttask.h:
4545         * gst/gstthread.c:
4546         * gst/gstthread.h:
4547         * gst/gsttypes.h:
4548         * gst/schedulers/Makefile.am:
4549         * gst/schedulers/cothreads_compat.h:
4550         * gst/schedulers/entryscheduler.c:
4551         * gst/schedulers/faircothreads.c:
4552         * gst/schedulers/faircothreads.h:
4553         * gst/schedulers/fairscheduler.c:
4554         * gst/schedulers/gstbasicscheduler.c:
4555         * gst/schedulers/gstoptimalscheduler.c:
4556         * gst/schedulers/gthread-cothreads.h:
4557         * gst/schedulers/threadscheduler.c:
4558         (gst_thread_scheduler_task_get_type),
4559         (gst_thread_scheduler_task_class_init),
4560         (gst_thread_scheduler_task_init),
4561         (gst_thread_scheduler_task_start),
4562         (gst_thread_scheduler_task_stop),
4563         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4564         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4565         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4566         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4567         (plugin_init):
4568         * libs/gst/Makefile.am:
4569         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4570         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4571         (gst_file_pad_parent_set):
4572         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4573         (gst_dp_event_from_packet):
4574         * tests/complexity.c: (main):
4575         * tests/mass_elements.c: (main):
4576         * testsuite/states/locked.c: (message_received), (main):
4577         * testsuite/states/parent.c: (main):
4578         * tools/gst-inspect.c: (print_element_flag_info),
4579         (print_implementation_info), (print_pad_info):
4580         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4581         (main):
4582         * tools/gst-md5sum.c: (event_loop), (main):
4583         * tools/gst-typefind.c: (main):
4584         * tools/gst-xmlinspect.c: (print_element_info):
4585         Next big merge.
4586         Added GstBus for mainloop integration.
4587         Added GstMessage for sending notifications on the bus.
4588         Added GstTask as an abstraction for pipeline entry points.
4589         Removed GstThread.
4590         Removed Schedulers.
4591         Simplified GstQueue for multithreaded core.
4592         Made _link threadsafe, removed old capsnego.
4593         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4594         Added pad blocking functions.
4595         Reworked scheduling functions in GstPad to prepare for
4596         scheduling updates soon.
4597         Moved events out of data stream.
4598         Simplified GstEvent types.
4599         Added return values to push/pull.
4600         Removed clocking from GstElement.
4601         Added prototypes for state change function for next merge.
4602         Removed iterate from bins and state change management.
4603         Fixed some elements, disabled others for now.
4604         Fixed -inspect and -launch.
4605         Added check for GstBus.
4606
4607 2005-03-10  Wim Taymans  <wim@fluendo.com>
4608
4609         * docs/design/part-MT-refcounting.txt:
4610         * docs/design/part-clocks.txt:
4611         * docs/design/part-gstelement.txt:
4612         * docs/design/part-gstobject.txt:
4613         * docs/design/part-standards.txt:
4614         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4615         (gst_bin_remove_func), (gst_bin_remove):
4616         * gst/gstbin.h:
4617         * gst/gstbuffer.c:
4618         * gst/gstcaps.h:
4619         * testsuite/clock/clock1.c: (main):
4620         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4621         (main):
4622         * testsuite/dlopen/loadgst.c: (do_test):
4623         * testsuite/refcounting/bin.c: (add_remove_test1),
4624         (add_remove_test2), (main):
4625         * testsuite/refcounting/element.c: (main):
4626         * testsuite/refcounting/element_pad.c: (main):
4627         * testsuite/refcounting/pad.c: (main):
4628         * tools/gst-launch.c: (sigint_handler_sighandler):
4629         * tools/gst-typefind.c: (main):
4630         Doc updates.
4631         Added doc about clock.
4632         removed gst_bin_iterate_recurse_up(), marked methods
4633         for removal.
4634         Fix more testsuites.
4635
4636 2005-03-09  Wim Taymans  <wim@fluendo.com>
4637
4638         * gst/gstpad.c: (gst_pad_get_direction),
4639         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4640         (gst_pad_collect_valist):
4641         * testsuite/bins/interface.c: (main):
4642         * testsuite/caps/audioscale.c: (test_caps):
4643         * testsuite/caps/caps.c: (test1), (test2), (test3):
4644         * testsuite/caps/deserialize.c: (main):
4645         * testsuite/caps/enumcaps.c: (main):
4646         * testsuite/caps/filtercaps.c: (main):
4647         * testsuite/caps/intersect2.c: (main):
4648         * testsuite/caps/random.c: (main):
4649         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4650         * testsuite/caps/sets.c: (check_caps):
4651         * testsuite/caps/simplify.c: (check_caps), (main):
4652         * testsuite/caps/subtract.c: (check_caps):
4653         Fix _pad_get_direction wrt ghostpads.
4654         Fix caps testsuite.
4655
4656 2005-03-09  Wim Taymans  <wim@fluendo.com>
4657
4658         * check/Makefile.am:
4659         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4660         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4661         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4663         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4664         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4665         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4666         (bin_element_is_sink), (gst_bin_iterate_sinks),
4667         (gst_bin_iterate_all_by_interface):
4668         * gst/gstbin.h:
4669         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4670         (gst_element_change_state), (gst_element_dispose),
4671         (gst_element_finalize), (gst_element_set_loop_function):
4672         * gst/gstelement.h:
4673         * gst/gstiterator.c: (find_custom_fold_func):
4674         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4675         (gst_pad_collectv), (gst_pad_collect_valist),
4676         (gst_pad_template_new):
4677         * gst/gstpipeline.c: (gst_pipeline_class_init),
4678         (gst_pipeline_dispose), (gst_pipeline_set_property),
4679         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4680         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4681         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4682         * gst/gstutils.h:
4683         * gst/schedulers/entryscheduler.c:
4684         * gst/schedulers/gstbasicscheduler.c:
4685         (gst_basic_scheduler_cothreaded_chain),
4686         (gst_basic_scheduler_chain_add_element):
4687         * testsuite/bins/interface.c: (main):
4688         Added GstBin test.
4689         Added GstSystemClock test.
4690         Implemented clock distribution code in GstBin.
4691         Implemented iterate sinks method for future use.
4692         Rearranged gstelement.h
4693         Fix GstIterator comparison bug.
4694         Moved some code to GstPipeline, mostly clocking related.
4695
4696 2005-03-09  Wim Taymans  <wim@fluendo.com>
4697
4698         * configure.ac:
4699         * gst/gst_private.h:
4700         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4701         (gst_bin_remove_func), (gst_bin_remove),
4702         (gst_bin_get_by_name_recurse_up):
4703         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4704         (gst_clock_id_compare_func), (gst_clock_id_wait),
4705         (gst_clock_id_wait_async), (gst_clock_init),
4706         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4707         * gst/gstelement.h:
4708         * gst/gstinfo.c: (_gst_debug_init):
4709         * gst/gstobject.h:
4710         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4711         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4712         * gst/gstpad.h:
4713         Bump version number, we're now 0.9.0
4714         Add future debugging category.
4715         Fix NULL _unref() in _get_by_name_recurse_up
4716         Rearrange gstpad.h.
4717         Update some docs.
4718
4719 2005-03-08  Wim Taymans  <wim@fluendo.com>
4720
4721         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4722         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4723         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4724         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4725         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4726         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4727         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4728         * gst/elements/gstidentity.c: (gst_identity_class_init):
4729         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4730         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4731         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4732         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4733         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4734         (gst_tee_link):
4735         * gst/gstelement.c: (gst_element_class_init),
4736         (gst_element_base_class_init), (gst_element_init),
4737         (gst_element_get_random_pad), (gst_element_wait_state_change),
4738         (gst_element_change_state), (gst_element_dispose),
4739         (gst_element_finalize), (gst_element_set_loop_function):
4740         * gst/gstelement.h:
4741         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4742         * gst/gstthread.c: (gst_thread_class_init),
4743         (gst_thread_release_children_locks), (gst_thread_change_state):
4744         * gst/schedulers/gstbasicscheduler.c:
4745         (gst_basic_scheduler_loopfunc_wrapper),
4746         (gst_basic_scheduler_chain_wrapper),
4747         (gst_basic_scheduler_src_wrapper),
4748         (gst_basic_scheduler_remove_element):
4749         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4750         Remove threadsafe properties. Fix elements because GObject
4751         complains when installing a property before declaring a
4752         set/get_property handler.
4753         Rearrange gstelement.h file, use STATE macros for state locks.
4754         Free mutexes in the finalize method instead of dispose.
4755
4756 2005-03-08  Wim Taymans  <wim@fluendo.com>
4757
4758         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4759         * gst/gstthread.c: (gst_thread_release_children_locks):
4760         Added parentage check.
4761         Fix build og GstThread again.
4762
4763 2005-03-08  Wim Taymans  <wim@fluendo.com>
4764
4765         * docs/design/part-MT-refcounting.txt:
4766         * docs/design/part-conventions.txt:
4767         * docs/design/part-gstobject.txt:
4768         * docs/design/part-relations.txt:
4769         * docs/design/part-standards.txt:
4770         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4771         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4772         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4773         (gst_bin_iterate_all_by_interface):
4774         * gst/gstbuffer.h:
4775         * gst/gstclock.h:
4776         * gst/gstelement.c: (gst_element_class_init),
4777         (gst_element_change_state), (gst_element_set_loop_function):
4778         * gst/gstelement.h:
4779         * gst/gstiterator.c:
4780         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4781         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4782         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4783         (gst_object_set_parent), (gst_object_unparent),
4784         (gst_object_check_uniqueness):
4785         * gst/gstobject.h:
4786         Docs updates, clean up some headers.
4787
4788 2005-03-07  Wim Taymans  <wim@fluendo.com>
4789
4790         * check/.cvsignore:
4791         * check/Makefile.am:
4792         * check/gst-libs/.cvsignore:
4793         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4794         * check/gst/.cvsignore:
4795         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4796         (START_TEST), (gstbus_suite), (main):
4797         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4798         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4799         (gst_data_suite), (main):
4800         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4801         (add_fold_func), (gstiterator_suite), (main):
4802         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4803         (thread_name_object), (thread_name_object_default),
4804         (gst_object_name_compare), (gst_object_suite), (main):
4805         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4806         (gst_pad_suite), (main):
4807         * check/gstcheck.c: (gst_check_log_message_func),
4808         (gst_check_log_critical_func), (gst_check_init):
4809         * check/gstcheck.h:
4810         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4811         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4812         Added checks.
4813
4814 2005-03-07  Wim Taymans  <wim@fluendo.com>
4815
4816         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4817         (gst_list_iterator_next), (gst_list_iterator_resync),
4818         (gst_list_iterator_free), (gst_iterator_new_list),
4819         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4820         (gst_iterator_free), (gst_iterator_push), (filter_next),
4821         (filter_resync), (filter_uninit), (filter_free),
4822         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4823         (gst_iterator_foreach), (find_custom_fold_func),
4824         (gst_iterator_find_custom):
4825         * gst/gstiterator.h:
4826         Added missing files.
4827
4828 2005-03-07  Wim Taymans  <wim@fluendo.com>
4829
4830         * Makefile.am:
4831         * configure.ac:
4832         * docs/design/part-MT-refcounting.txt:
4833         * docs/design/part-conventions.txt:
4834         * docs/design/part-gstobject.txt:
4835         * docs/design/part-relations.txt:
4836         * examples/mixer/mixer.c: (main):
4837         * examples/thread/thread.c: (eos), (main):
4838         * gst/Makefile.am:
4839         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4840         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4841         (gst_spider_plug_from_srcpad):
4842         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4843         (gst_spider_identity_change_state),
4844         (gst_spider_identity_sink_loop_type_finding):
4845         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4846         * gst/elements/gstidentity.c: (gst_identity_init):
4847         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4848         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4849         * gst/elements/gsttypefindelement.c: (free_entry):
4850         * gst/gst.c:
4851         * gst/gst.h:
4852         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4853         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4854         (gst_bin_set_index), (gst_bin_set_element_sched),
4855         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4856         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4857         (gst_bin_iterate_elements), (iterate_child_recurse),
4858         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4859         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4860         (compare_interface), (gst_bin_get_by_interface),
4861         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4862         * gst/gstbin.h:
4863         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4864         (gst_buffer_default_free), (gst_buffer_default_copy),
4865         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4866         (gst_buffer_create_sub):
4867         * gst/gstbuffer.h:
4868         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4869         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4870         (gst_caps_unref), (gst_static_caps_get),
4871         (gst_caps_remove_and_get_structure), (gst_caps_append),
4872         (gst_caps_append_structure), (gst_caps_remove_structure),
4873         (gst_caps_copy_nth), (gst_caps_set_simple),
4874         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4875         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4876         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4877         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4878         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4879         (gst_caps_structure_figure_out_union),
4880         (gst_caps_switch_structures), (gst_caps_do_simplify),
4881         (gst_caps_replace), (gst_caps_from_string),
4882         (gst_caps_copy_conditional):
4883         * gst/gstcaps.h:
4884         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4885         (_gst_clock_id_free), (gst_clock_id_unref),
4886         (gst_clock_id_compare_func), (gst_clock_id_wait),
4887         (gst_clock_id_wait_async), (gst_clock_class_init),
4888         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4889         (gst_clock_get_time), (gst_clock_set_time_adjust),
4890         (gst_clock_set_property), (gst_clock_get_property):
4891         * gst/gstclock.h:
4892         * gst/gstcompat.h:
4893         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4894         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4895         * gst/gstdata.h:
4896         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4897         (gst_element_requires_clock), (gst_element_provides_clock),
4898         (gst_element_set_clock), (gst_element_clock_wait),
4899         (gst_element_wait), (gst_element_set_time_delay),
4900         (gst_element_is_indexable), (gst_element_add_pad),
4901         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4902         (pad_compare_name), (gst_element_get_static_pad),
4903         (gst_element_request_pad), (gst_element_get_request_pad),
4904         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4905         (gst_element_class_get_pad_template_list),
4906         (gst_element_class_get_pad_template), (gst_element_error_func),
4907         (gst_element_get_random_pad), (gst_element_get_event_masks),
4908         (gst_element_send_event), (gst_element_seek),
4909         (gst_element_get_query_types), (gst_element_query),
4910         (gst_element_get_formats), (gst_element_convert),
4911         (gst_element_is_locked_state), (gst_element_set_locked_state),
4912         (gst_element_sync_state_with_parent), (gst_element_change_state),
4913         (gst_element_finalize), (gst_element_yield),
4914         (gst_element_interrupt), (gst_element_set_scheduler),
4915         (gst_element_get_scheduler), (gst_element_set_loop_function):
4916         * gst/gstelement.h:
4917         * gst/gstevent.h:
4918         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4919         (gst_format_get_by_nick), (gst_format_get_details),
4920         (gst_format_iterate_definitions):
4921         * gst/gstformat.h:
4922         * gst/gstindex.c: (gst_index_gtype_resolver):
4923         * gst/gstinfo.c:
4924         * gst/gstinfo.h:
4925         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4926         (gst_mem_chunk_free):
4927         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4928         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4929         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4930         (gst_object_dispatch_properties_changed),
4931         (gst_object_set_name_default), (gst_object_set_name),
4932         (gst_object_get_name), (gst_object_set_name_prefix),
4933         (gst_object_get_name_prefix), (gst_object_set_parent),
4934         (gst_object_get_parent), (gst_object_unparent),
4935         (gst_object_check_uniqueness), (gst_object_save_thyself),
4936         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4937         (gst_object_set_property), (gst_object_get_property),
4938         (gst_object_get_path_string):
4939         * gst/gstobject.h:
4940         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4941         (gst_real_pad_init), (gst_real_pad_get_property),
4942         (gst_pad_custom_new), (gst_pad_get_direction),
4943         (gst_pad_set_active), (gst_pad_is_active),
4944         (gst_pad_set_event_function), (gst_pad_is_linked),
4945         (gst_pad_link_free), (gst_pad_link_intersect),
4946         (gst_pad_link_fixate), (gst_pad_set_caps),
4947         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4948         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4949         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4950         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4951         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4952         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4953         (gst_pad_realize), (gst_pad_get_allowed_caps),
4954         (gst_real_pad_dispose), (gst_real_pad_finalize),
4955         (gst_pad_collectv), (gst_pad_collect_valist),
4956         (gst_pad_template_dispose), (gst_pad_template_new),
4957         (gst_pad_get_internal_links):
4958         * gst/gstpad.h:
4959         * gst/gstpipeline.c: (gst_pipeline_dispose),
4960         (gst_pipeline_change_state):
4961         * gst/gstpipeline.h:
4962         * gst/gstplugin.c:
4963         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4964         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4965         * gst/gstpluginfeature.h:
4966         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4967         * gst/gstquery.c: (_gst_query_type_initialize),
4968         (gst_query_type_register), (gst_query_type_get_by_nick),
4969         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4970         * gst/gstquery.h:
4971         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4972         * gst/gstscheduler.c: (gst_scheduler_add_element),
4973         (gst_scheduler_factory_create):
4974         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4975         (gst_structure_free), (gst_structure_set_name),
4976         (gst_structure_id_set_value), (gst_structure_set_value),
4977         (gst_structure_set_valist), (gst_structure_remove_field),
4978         (gst_structure_remove_fields),
4979         (gst_structure_remove_fields_valist),
4980         (gst_structure_remove_all_fields), (gst_structure_foreach),
4981         (gst_structure_map_in_place),
4982         (gst_caps_structure_fixate_field_nearest_int),
4983         (gst_caps_structure_fixate_field_nearest_double):
4984         * gst/gststructure.h:
4985         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4986         (gst_system_clock_init), (gst_system_clock_dispose),
4987         (gst_system_clock_async_thread),
4988         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4989         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4990         * gst/gstsystemclock.h:
4991         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4992         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4993         * gst/gsttaginterface.c:
4994         * gst/gstthread.c: (gst_thread_dispose),
4995         (gst_thread_release_children_locks), (gst_thread_change_state),
4996         (gst_thread_main_loop):
4997         * gst/gsttrashstack.h:
4998         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4999         * gst/gsttypes.h:
5000         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5001         (gst_element_request_pad), (gst_element_get_pad_from_template),
5002         (gst_element_request_compatible_pad),
5003         (gst_element_get_compatible_pad_filtered),
5004         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5005         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5006         (gst_element_link_many), (gst_element_link),
5007         (gst_element_link_pads), (gst_element_unlink_pads),
5008         (gst_element_unlink_many), (gst_element_unlink),
5009         (gst_pad_can_link_filtered), (gst_pad_can_link),
5010         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5011         (gst_object_default_error), (gst_bin_add_many),
5012         (gst_bin_remove_many), (gst_element_populate_std_props),
5013         (gst_element_class_install_std_props), (gst_buffer_merge),
5014         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5015         (link_fold_func), (gst_pad_proxy_setcaps):
5016         * gst/gstutils.h:
5017         * gst/gstvalue.c: (gst_value_deserialize_string):
5018         * gst/parse/grammar.y:
5019         * gst/schedulers/gstbasicscheduler.c:
5020         (gst_basic_scheduler_cothreaded_chain),
5021         (gst_basic_scheduler_chain_recursive_add),
5022         (gst_basic_scheduler_pad_link):
5023         * gst/schedulers/gstoptimalscheduler.c:
5024         (get_group_schedule_function),
5025         (gst_opt_scheduler_state_transition),
5026         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5027         * libs/gst/bytestream/bytestream.c:
5028         * libs/gst/dataprotocol/dataprotocol.c:
5029         (gst_dp_header_from_buffer):
5030         * po/nb.po:
5031         * po/ru.po:
5032         * tests/threadstate/threadstate2.c: (eos):
5033         * tools/gst-compprep.c: (main):
5034         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5035         (print_pad_info), (print_children_info):
5036         * tools/gst-launch.c: (idle_func), (main):
5037         * tools/gst-md5sum.c: (idle_func), (main):
5038         * tools/gst-xmlinspect.c: (print_element_info):
5039         First THREADED backport attempt, focusing on adding locks and
5040         making sure the API is threadsafe. Needs more work. More docs
5041         follow this week.
5042
5043 2005-02-24  Andy Wingo  <wingo@pobox.com>
5044
5045         * tests/bench-complexity.scm:
5046         * tests/complexity.gnuplot: New files, good for running complexity
5047         benchmarks.
5048
5049         * tests/Makefile.am:
5050         * tests/complexity.c: New test, sets up N elements, at each level
5051         teeing into M streams per element. Eeeenteresting.
5052
5053         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5054         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5055         running bench-mass_elements.scm.
5056
5057         * tests/bench-mass_elements.scm: New script, runs mass_elements
5058         for various numbers of identities, outputting the results to a
5059         file. Requires guile 1.6. Just for testing.
5060
5061 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * gst/schedulers/fairscheduler.c:
5064           compile with debug disabled
5065
5066 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5067
5068         * configure.ac:
5069           hunting season on 0.9 is now OPEN
5070
5071 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5072
5073         * docs/libs/tmpl/gstcontrol.sgml:
5074         * docs/libs/tmpl/gstdparam.sgml:
5075         * docs/libs/tmpl/gstdplinint.sgml:
5076         * docs/libs/tmpl/gstdpman.sgml:
5077         * docs/libs/tmpl/gstdpsmooth.sgml:
5078         * docs/libs/tmpl/gstunitconvert.sgml:
5079           more docs for the state of dparams
5080
5081 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5082
5083         * gst/gstelementfactory.c: (gst_element_factory_create):
5084         * gst/gstobject.c: (gst_object_init),
5085         (gst_object_set_name_default), (gst_object_set_name):
5086           name objects by default, not in gst_element_factory_create. Allows
5087           using elements created with g_object_new. (fixes #167283)
5088
5089 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5090
5091         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5092           make the time that debugging functions print relative to when
5093           gst_init was called
5094
5095 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5096
5097         * gst/gsttaginterface.c:
5098           Fix inline docs: tag setter vararg functions are NULL-terminated,
5099           GST_TAG_INVALID doesn't exist any more.
5100
5101 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5102
5103         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5104         Allocate the 1 byte more memory that was forgotten!!!!!
5105         fixes memory corruption on 64bit platforms
5106
5107 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5108
5109         * docs/pwg/building-pads.xml:
5110         * docs/pwg/intro-basics.xml:
5111           fixed a few typos, relabeled introductionary list of types
5112         * docs/random/ensonic/dparams.txt:
5113           more notes abut dparam changes
5114         * libs/gst/control/dparam.c: (gst_dparam_attach):
5115         * libs/gst/control/dparammanager.c:
5116         * libs/gst/control/dparammanager.h:
5117           - many comments and notes on dparam implementation
5118           - new dparams are were not initialized to the default value
5119             from param spec
5120
5121 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5122
5123         submitted by: Peter Astakhov
5124
5125         * po/LINGUAS:
5126         * po/ru.po:
5127           adding Russian translation
5128
5129 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5130
5131         * configure.ac:
5132         * docs/gst/Makefile.am:
5133         * docs/libs/Makefile.am:
5134           make sure popt is added to gtk-doc flags.  Fixes #147782.
5135
5136 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5137
5138         * docs/faq/using.xml:
5139           Fix typo in FAQ (artssink => artsdsink)
5140
5141 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5142
5143         * tools/gst-launch.1.in:
5144           Fix typo (#166699).
5145
5146 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5147
5148         * docs/faq/using.xml:
5149           Add -v argument to fakesrc/fakesink gst-launch line,
5150           so that the promised output will actually show up.
5151
5152 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5153
5154         * gst/gstthread.c: (gst_thread_change_state):
5155           Implement state-change error handling (#166073).
5156
5157 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5158
5159         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5160           Release interrupt after handling (#166250).
5161
5162 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5163
5164         * configure.ac:
5165           back to HEAD
5166
5167 === release 0.8.9 ===
5168
5169 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5170
5171         * NEWS:
5172         * RELEASE:
5173         * configure.ac:
5174           releasing 0.8.9, "Like Eating Glass"
5175
5176 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5177
5178         submitted by: Clytie Siddall
5179
5180         * po/vi.po: Added Vietnamese translation
5181
5182 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5183
5184         patch by: Tim Philipp-Müller
5185
5186         * configure.ac:
5187         * gst/gstpad.c:
5188           unref data when probe function returns FALSE.  Fixes #166362
5189
5190 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5191
5192         * gst/gst.c: (gst_init_get_popt_table):
5193           Fix typo (#166269).
5194
5195 2005-02-04  Andy Wingo  <wingo@pobox.com>
5196
5197         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5198         the debugging on whether the caps are compatible.
5199
5200 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5201
5202         * docs/manual/basics-elements.xml:
5203           Fix two typos.
5204
5205 2005-02-02  Wim Taymans  <wim@fluendo.com>
5206
5207         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5208         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5209         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5210         Remove some FIXMEs after analysing and commenting why they
5211         are not issues.
5212
5213 2005-02-02  Wim Taymans  <wim@fluendo.com>
5214
5215         * gst/schedulers/gstoptimalscheduler.c:
5216         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5217         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5218         (get_invalid_call), (chain_invalid_call),
5219         (get_group_schedule_function), (loop_group_schedule_function),
5220         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5221         (gst_opt_scheduler_state_transition),
5222         (gst_opt_scheduler_add_element),
5223         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5224         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5225         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5226         (gst_opt_scheduler_show):
5227         Added lock to protect scheduler data structures.
5228
5229 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5230
5231         * testsuite/threads/threadi.c: (cb_data):
5232           Fix buglet in test.
5233
5234 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5235
5236         * testsuite/threads/Makefile.am:
5237         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5238           On Wim's request, split the test in three separately-compiled
5239           tests that each test a very specific bug. Two of them still fail,
5240           will create bugs for those. threadi.c indicates why they fail.
5241
5242 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5243
5244         * gst/schedulers/gstoptimalscheduler.c:
5245         (get_group_schedule_function):
5246           Try to work with the threading mess that queue_link is.
5247
5248 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5249
5250         * gst/gstbin.c: (gst_bin_remove_func):
5251           Explicitely make an element release locks in a group when being
5252           remove from a bin.
5253         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5254           If there's no scheduler, always return immediately (similar to
5255           gst_element_interrupt).
5256
5257 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5258
5259         * gst/gstbin.c: (gst_bin_child_state_change_func):
5260           Remove a piece of code that could never be reached.
5261         * docs/gst/gstreamer-sections.txt:
5262         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5263         (gst_pad_call_get_function):
5264         * gst/gstpad.h:
5265         * testsuite/pad/Makefile.am:
5266           Fix #150546, enable tests.
5267
5268 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5269
5270         * docs/pwg/advanced-types.xml:
5271           Fix description for buffer-frames=0.
5272         * docs/gst/tmpl/gstbin.sgml:
5273         * gst/gstbin.c: (gst_bin_child_state_change_func),
5274         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5275         * gst/gstbin.h:
5276         * testsuite/threads/Makefile.am:
5277         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5278         (cb_state), (cb_play), (main):
5279           Fix non-recursive state changes to *really* change the state
5280           of the object, and not just call parent_class->state_change.
5281           Fix a lot of lockups caused by this. Fixes #132775. Add test
5282           for the problem. Also enable test to show #142588 (fixed).
5283         * gst/gstthread.c: (gst_thread_change_state),
5284         (gst_thread_child_state_change):
5285           Don't exit the thread if we go to NULL and are inside thread
5286           context. Instead, return control to the main thread context
5287           and exit from there.
5288         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5289           Don't unset virtual functions, since those may still be used.
5290           That's not necessarily correct, but suffices for now.
5291         * configure.ac:
5292         * testsuite/Makefile.am:
5293         * testsuite/pad/Makefile.am:
5294         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5295         (gst_test_sink_base_init), (gst_test_sink_chain),
5296         (gst_test_sink_init), (main):
5297         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5298         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5299         (main):
5300         * testsuite/pad/link.c: (gst_test_element_class_init),
5301         (gst_test_element_base_init), (gst_test_src_get),
5302         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5303         (gst_test_filter_loop), (gst_test_filter_init),
5304         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5305         (cb_error), (main):
5306           Add tests to show #150546. Pass, but should fail (currently
5307           disabled from the testsuite).
5308         * gst/gstscheduler.c: (gst_scheduler_dispose):
5309           Dereference child schedulers on dispose (#94464).
5310         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5311           Fix typo.
5312         * testsuite/threads/thread.c: (main):
5313           Add more debug.
5314
5315 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5316
5317         * gst/gstpad.c: (gst_pad_push):
5318           Oops, revert previous commit, broke testsuite...
5319
5320 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5321
5322         * gst/gstpad.c: (gst_pad_push):
5323           Add check that the pad on which the push is performed is not a
5324           get-based pad (#150546).
5325
5326 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5327
5328         * gst/elements/gsttypefindelement.c:
5329         (gst_type_find_element_handle_event):
5330           Fix buffer pushing if stream EOSes during typefinding.
5331
5332 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5333
5334         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5335
5336         * gst/gstvalue.c: (gst_string_wrap):
5337           Allow NULL-strings as argument (#165365).
5338
5339 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5340
5341         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5342
5343         * gst/schedulers/faircothreads.c:
5344         (gst_fair_scheduler_cothread_queue_show):
5345           Fix build without debug enabled.
5346
5347 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5348
5349         * docs/gst/gstreamer-sections.txt:
5350         * docs/libs/gstreamer-libs-docs.sgml:
5351         * docs/libs/gstreamer-libs-sections.txt:
5352         * docs/libs/tmpl/gstcontrol.sgml:
5353         * docs/libs/tmpl/gstdparam.sgml:
5354         * docs/libs/tmpl/gstdplinint.sgml:
5355         * docs/libs/tmpl/gstdpman.sgml:
5356         * docs/libs/tmpl/gstdpsmooth.sgml:
5357         * docs/libs/tmpl/gstputbits.sgml:
5358         * docs/libs/tmpl/gstunitconvert.sgml:
5359         * libs/gst/control/dparam.c:
5360         * libs/gst/control/dparam.h:
5361         * libs/gst/control/dparammanager.c:
5362         (gst_dpman_add_required_dparam_callback),
5363         (gst_dpman_add_required_dparam_direct),
5364         (gst_dpman_add_required_dparam_array),
5365         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5366         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5367         (gst_dpman_get_manager)
5368           restructured DParam docs
5369
5370 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5371
5372         * gst-element-check.m4:
5373           Only check for gst-inspect if we haven't already
5374           found it in previous element check runs
5375
5376 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5377
5378         * docs/gst/Makefile.am:
5379         * docs/libs/Makefile.am:
5380           fixed install rules to treat style.css as optional
5381
5382 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5383
5384         * docs/gst/Makefile.am:
5385         * docs/libs/Makefile.am:
5386           install style.css along with docs
5387         * docs/gst/tmpl/gstbin.sgml:
5388         * docs/gst/tmpl/gstclock.sgml:
5389         * docs/gst/tmpl/gstdata.sgml:
5390         * docs/gst/tmpl/gstelement.sgml:
5391         * gst/gstbin.h:
5392         * gst/gstelement.c: (gst_element_class_init):
5393         * gst/gstelement.h:
5394           fixing incomplete docs
5395
5396 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5399           Don't unref seek event twice when fflush() fails
5400           
5401 2005-01-22  David Schleef  <ds@schleef.org>
5402
5403         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5404
5405 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5406
5407         * docs/gst/Makefile.am:
5408         * docs/libs/Makefile.am:
5409           added params for deprecation guards
5410         * gst/gst.c:
5411         * gst/gst.h:
5412         * gst/gsterror.c: (_gst_resource_errors_init),
5413         (_gst_stream_errors_init):
5414         * gst/gsterror.h:
5415           documented some more enums
5416
5417 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5418         * gst/autoplug/gstspideridentity.c:
5419         Cosmetic fix - spider_find_peek should be static
5420         * gst/parse/parse.l:
5421         Applying fix for #164261
5422
5423 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5424
5425         * docs/gst/gstreamer-sections.txt:
5426         * docs/gst/tmpl/gstplugin.sgml:
5427         * docs/libs/gstreamer-libs-sections.txt:
5428         * docs/libs/tmpl/gstcontrol.sgml:
5429         * gst/gstbuffer.h:
5430         * gst/gsttag.h:
5431         * gst/gstvalue.c:
5432           added docs for the TAG defines
5433
5434 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5435
5436         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5437           Only unref entry if there is an entry.
5438
5439 2005-01-17  Wim Taymans  <wim@fluendo.com>
5440
5441         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5442         (remove_from_group), (schedule_group), (normalize_group),
5443         (gst_opt_scheduler_iterate):
5444         Also ref/unref decoupled elements before iterating the
5445         group since they are not added to the list of elements.
5446
5447 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5448
5449         * docs/manual/highlevel-components.xml:
5450           Add subtitle/streamselection as new features to playbin.
5451
5452 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5453
5454         * docs/manual/manual.xml:
5455           Re-enable dataaccess docs (oops).
5456
5457 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5458
5459         * docs/pwg/advanced-types.xml:
5460         * docs/random/mimetypes:
5461           Add documentation on libsndfile types (#163309), by Steve Baker
5462           <steve@stevebaker.org>.
5463         * gst/gstelement.c: (gst_element_release_request_pad):
5464           If an element has no explicit function, just remove the pad.
5465
5466 2005-01-17  Luca Ognibene  <luogni@tin.it>
5467
5468         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5469
5470         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5471           Fix memleak (#163801).
5472
5473 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5474
5475         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5476           I think this is actually more correct...
5477
5478 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5479
5480         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5481           Another workaround for memory access while destroyed in callback.
5482           Please, someone with refcount knowledge, have a look at this.
5483
5484 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * docs/faq/faq.xml:
5487         * docs/faq/legal.xml:
5488           move the legal Q&A here
5489
5490 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5491
5492         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5493         (gst_tee_request_new_pad):
5494           Fix negotiation.
5495
5496 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5497
5498         * docs/random/omega/caps2:
5499         * testsuite/caps/caps_strings:
5500           replace framerate aproximations by their real value
5501           (24000/1001, 30000/1001, 60000/1001)
5502           Partially fixes bug #164049
5503
5504 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * docs/gst/Makefile.am:
5507           don't fail on the stupid GstPoptOption
5508
5509 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * gst/gstpad.h:
5512         * gst/gstprobe.c:
5513           allow probes to work on ghost pads by realizing the pad
5514           probe debugging
5515
5516 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5517
5518         * docs/gst/gstreamer-sections.txt:
5519         * docs/gst/tmpl/gstpad.sgml:
5520         * gst/gstpad.c: (gst_pad_set_active_recursive):
5521         * gst/gstpad.h:
5522           Add gst_pad_set_active_recursive().
5523
5524 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * docs/random/release:
5527           updates
5528         * gst/gst_private.h:
5529         * gst/gstinfo.c:
5530         * gst/gstobject.c:
5531           move deep_notify logging to a new category
5532         * gst/gstprobe.c:
5533         * gst/gstprobe.h:
5534           add stuff so bindings can wrap probes
5535
5536 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5537
5538         * gst/gstplugin.c: (gst_plugin_load):
5539           Fix plugin loading if plugin/lib was already loaded. Fixes
5540           #163383
5541
5542 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5543
5544         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5545
5546         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5547           Protect plugin loading by a mutex so it's threadsafe. Fixes
5548           #163234.
5549
5550 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5551
5552         * gst/gstevent.c: (_gst_event_copy):
5553           Reference source object when copying events, since it'll be
5554           dereferenced on event dereferencing as well.
5555
5556 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5557
5558         * docs/gst/gstreamer-sections.txt:
5559         * docs/gst/tmpl/gstevent.sgml:
5560         * gst/gstevent.c: (gst_event_new_filler_stamped),
5561         (gst_event_filler_get_duration):
5562         * gst/gstevent.h:
5563           Add two new functions for filler events (which are used to
5564           synchronize streams if one of them is not having any data
5565           for a while) without interrupting the actual data-stream.
5566           Basically a no-op.
5567         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5568         (gst_queue_link_sink), (gst_queue_link_src),
5569         (gst_queue_change_state):
5570           Allow for renegotiation while filled. Required for stream
5571           switching while playing.
5572
5573 2005-01-08  Benjamin Otte  <otte@gnome.org>
5574
5575         * gst/gstelement.c: (gst_element_link_many):
5576           fix up g_return_if_fail's
5577         * po/LINGUAS:
5578         * po/de.po:
5579           add German translation, that was somehow not included
5580
5581 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5582
5583         * docs/random/mimetypes:
5584           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5585           do not add them to riff-lib as they are not common
5586
5587 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5588
5589         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5590           Check for existence of probe after performing the probe before
5591           re-accessing it to prevent segfaults caused by removal of the
5592           probe in the callback.
5593
5594 2005-01-05  David Schleef  <ds@schleef.org>
5595
5596         * testsuite/registry/Makefile.am:
5597         * testsuite/registry/gst-print-formats.c:
5598         (print_pad_templates_info), (print_element_list),
5599         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5600         (g_list_uniqify), (get_pad_templates_info),
5601         (get_element_mime_list), (print_mime_list), (main): A little
5602         program that looks through the registry to find elements of
5603         a given type.  Not particularly interesting as a test, except
5604         that there's no other test covering the same area.
5605
5606 2005-01-05  David Schleef  <ds@schleef.org>
5607
5608         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5609         (fault_handler_sigaction), (fault_spin),
5610         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5611         in signal.h-type signal handlers by not calling forbidden functions,
5612         including gst_element_set_state().
5613
5614 2005-01-05  David Schleef  <ds@schleef.org>
5615
5616         * gst/gstvalue.h: Mark _gst_reserved[] as private
5617
5618 2005-01-05  David Schleef  <ds@schleef.org>
5619
5620         * gst/gstvalue.c: Fix doc build problem.
5621
5622 2005-01-05  David Schleef  <ds@schleef.org>
5623
5624         * gst/gstvalue.c: Add some documentation
5625
5626 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5627
5628         * docs/README:
5629           another shell oneliner for empty return value docs
5630         * gst/gstcaps.c:
5631         * gst/gstvalue.c:
5632         * libs/gst/control/dparam.c:
5633           more doc fixes (parameters and return values)
5634
5635 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5636
5637         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5638
5639         * gst/gstregistry.h:
5640         * gst/registries/gstxmlregistry.c:
5641           Fix macro's for Mingw (fixes #162276).
5642
5643 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5644
5645         * docs/README:
5646           quick shell oneliner to find undocumented members
5647         * docs/gst/tmpl/gstplugin.sgml:
5648         * docs/gst/tmpl/gstscheduler.sgml:
5649         * docs/gst/tmpl/gstthread.sgml:
5650           more enumtypes cleanup
5651         * gst/gsterror.h:
5652           activated documentation comments, now someone needs to document
5653           the enums :(
5654
5655 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5656
5657         * docs/manual/manual.xml:
5658           Add dataaccess part (doh!).
5659
5660 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5661
5662         * docs/manual/advanced-autoplugging.xml:
5663           Fix typo (intiate -> initiate).
5664
5665 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5666
5667         * docs/random/bbb/streamselection:
5668           Add some notes on how to handle multi-subtitle/-audio streams.
5669
5670 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5671
5672         * docs/gst/gstreamer-docs.sgml:
5673         * docs/gst/gstreamer-sections.txt:
5674         * docs/gst/tmpl/gstenumtypes.sgml:
5675         * docs/gst/tmpl/gsterror.sgml:
5676         * docs/gst/tmpl/gstevent.sgml:
5677         * docs/gst/tmpl/gstpad.sgml:
5678         * docs/gst/tmpl/gstpadtemplate.sgml:
5679         * docs/gst/tmpl/gstthread.sgml:
5680           removed gstenumtypes section from docs and put all the enums into
5681           their sections
5682
5683 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5684
5685         * gst/gstplugin.c:
5686           document gst_library_load a bit more (riff special case + return
5687           value if already loaded)
5688         * testsuite/bytestream/filepadsink.c:
5689           plugin name is 'gstbytestream', not 'bytestream'
5690
5691 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5692
5693         * docs/random/bbb/subtitles:
5694           Add some first mind rumblings on proper subtitle support.
5695
5696 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5697
5698         * po/ca.po:
5699         * po/sv.po:
5700           updated translations
5701
5702 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5703
5704         * docs/manual/advanced-dataaccess.xml:
5705           Add section on how to use fakesrc/fakesink/identity in your
5706           application, plus section on how to embed plugins. Also mention
5707           probes.
5708         * docs/manual/appendix-checklist.xml:
5709         * docs/manual/appendix-debugging.xml:
5710         * docs/manual/appendix-gnome.xml:
5711         * docs/manual/appendix-integration.xml:
5712           Debug -> checklist, GNOME -> integration, add sections on Linux,
5713           KDE integration and add other things useful for application
5714           development.
5715         * docs/manual/manual.xml:
5716           Remove some fixmes, update some file pointers.
5717         * docs/pwg/appendix-checklist.xml:
5718           Fix typo.
5719         * docs/pwg/building-boiler.xml:
5720           Remove ugly header and add commented fixme.
5721         * docs/pwg/pwg.xml:
5722           Add fixme.
5723         * examples/manual/Makefile.am:
5724           Add example for added docs.
5725
5726 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5727
5728         * configure.ac:
5729           back to HEAD
5730
5731 === release 0.8.8 ===
5732
5733 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5734
5735         * NEWS:
5736         * RELEASE:
5737         * configure.ac:
5738           Releasing 0.8.8, "I'll Take Care Of You"
5739
5740 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * configure.ac:
5743           second prerelease
5744
5745 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5746
5747         patch by: Wim Taymans
5748
5749         * gst/gstbin.c:
5750           Fix for #159852 - make iterate emission threadsafe
5751
5752 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5753
5754         * docs/faq/cvs.xml:
5755           notes about new fdo account request
5756
5757 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5758
5759         * docs/gst/gstreamer-docs.sgml:
5760         * docs/gst/tmpl/gstenumtypes.sgml:
5761         * docs/gst/tmpl/gstplugin.sgml:
5762         * docs/libs/gstreamer-libs-docs.sgml:
5763           Added missing short docs. Added ids for navigation.
5764
5765 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5766
5767         * docs/manual/advanced-autoplugging.xml:
5768         * docs/manual/advanced-schedulers.xml:
5769         * docs/manual/advanced-threads.xml:
5770           Rewrites. Remove cothreads, go a bit into opt specifically,
5771           document threads and their gotchas, and do some technical stuff
5772           on autoplugging plus add some working examples. Fixes #157395.
5773         * examples/manual/Makefile.am:
5774           Add typefind/autoplugger example (one that actually works).
5775           Remove queue example since it's a duplicate of the thread one.
5776
5777 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5778
5779         * gst/gstvalue.c: (gst_value_deserialize_string):
5780           use deprecated g_value_set_string_take_ownership to keep compatible
5781           with glib 2.2
5782
5783 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5784
5785         * gst/gstvalue.c: (gst_value_deserialize_string):
5786           revert last patch, only dom a g_utf8_validate now before accepting
5787           the string - caps parsing strips " from strings so we can't rely on
5788           them
5789         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5790           disable a test that tested the above and comment it
5791
5792 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5793
5794         Patch reviewed by David Schleef  <ds@schleef.org>
5795
5796         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5797         bug #153882)
5798         * win32/gstenumtypes.h: same
5799
5800 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5801
5802         * gst/gstpad.c: (gst_pad_query):
5803           Do query on realized pad, similar to how convert/send_event handle
5804           this. Also makes sense, since this pad belongs to the function to
5805           which this query will be sent. Fixes #158163.
5806
5807 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5808
5809         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5810
5811 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5812
5813         * docs/faq/general.xml: fix pipeline to actually work
5814
5815 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5816
5817         * gst/gstvalue.c: (gst_value_deserialize_string):
5818           check that a simple string that gets deserialized does not contain
5819           invalid characters
5820         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5821           remove a test that tested a wring behaviour
5822
5823 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5824
5825         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5826
5827         * docs/manual/intro-motivation.xml:
5828           Fix typos.
5829
5830 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5831
5832         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5833
5834         * docs/gst/tmpl/gstprobe.sgml:
5835           Fix documentation of probe callback - it is supposed to return
5836           FALSE, not TRUE, to remove data from the stream (#159087).
5837
5838 2004-12-16  Daniel Gazard  <dany42@free.fr>
5839
5840         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5841
5842         * gst/gstelementfactory.c: (gst_element_factory_create):
5843           Fix compile failure if compiling without libxml2 support (#149936).
5844
5845 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5846
5847         * docs/manual/advanced-autoplugging.xml:
5848         * docs/manual/highlevel-components.xml:
5849           Move spider from autoplugging to components. Autoplugging is for
5850           internals, not for solutions. ;-).
5851
5852 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5853
5854         * docs/random/ds/0.9-suggested-changes:
5855           Make note on device/location/uri property names.
5856
5857 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5858
5859         * docs/manual/advanced-autoplugging.xml:
5860         * docs/manual/advanced-clocks.xml:
5861         * docs/manual/advanced-interfaces.xml:
5862         * docs/manual/advanced-metadata.xml:
5863         * docs/manual/advanced-position.xml:
5864         * docs/manual/advanced-schedulers.xml:
5865         * docs/manual/advanced-threads.xml:
5866         * docs/manual/appendix-gnome.xml:
5867         * docs/manual/appendix-programs.xml:
5868         * docs/manual/appendix-quotes.xml:
5869         * docs/manual/autoplugging.xml:
5870         * docs/manual/basics-bins.xml:
5871         * docs/manual/basics-data.xml:
5872         * docs/manual/basics-elements.xml:
5873         * docs/manual/basics-helloworld.xml:
5874         * docs/manual/basics-init.xml:
5875         * docs/manual/basics-pads.xml:
5876         * docs/manual/basics-plugins.xml:
5877         * docs/manual/bins-api.xml:
5878         * docs/manual/bins.xml:
5879         * docs/manual/buffers-api.xml:
5880         * docs/manual/buffers.xml:
5881         * docs/manual/clocks.xml:
5882         * docs/manual/components.xml:
5883         * docs/manual/cothreads.xml:
5884         * docs/manual/debugging.xml:
5885         * docs/manual/dparams-app.xml:
5886         * docs/manual/dynamic.xml:
5887         * docs/manual/elements-api.xml:
5888         * docs/manual/elements.xml:
5889         * docs/manual/factories.xml:
5890         * docs/manual/gnome.xml:
5891         * docs/manual/goals.xml:
5892         * docs/manual/helloworld.xml:
5893         * docs/manual/helloworld2.xml:
5894         * docs/manual/highlevel-components.xml:
5895         * docs/manual/highlevel-xml.xml:
5896         * docs/manual/init-api.xml:
5897         * docs/manual/intro-basics.xml:
5898         * docs/manual/intro-motivation.xml:
5899         * docs/manual/intro-preface.xml:
5900         * docs/manual/intro.xml:
5901         * docs/manual/links-api.xml:
5902         * docs/manual/links.xml:
5903         * docs/manual/manual.xml:
5904         * docs/manual/motivation.xml:
5905         * docs/manual/pads-api.xml:
5906         * docs/manual/pads.xml:
5907         * docs/manual/plugins-api.xml:
5908         * docs/manual/plugins.xml:
5909         * docs/manual/programs.xml:
5910         * docs/manual/queues.xml:
5911         * docs/manual/quotes.xml:
5912         * docs/manual/schedulers.xml:
5913         * docs/manual/states-api.xml:
5914         * docs/manual/states.xml:
5915         * docs/manual/threads.xml:
5916         * docs/manual/typedetection.xml:
5917         * docs/manual/win32.xml:
5918         * docs/manual/xml.xml:
5919           Try 2. This time, include a short preface as a "general
5920           introduction", also add code blocks around all code samples
5921           so they get compiled. We still need a way to tell readers
5922           the filename of the code sample. In some cases, don't show
5923           all code in the documentation, but do include it in the generated
5924           code. This allows for focussing on specific bits in the docs,
5925           while still having a full test application available.
5926         * examples/manual/Makefile.am:
5927           Fix up examples for new ADM. Add several of the new examples that
5928           were either added or were missing from the build system.
5929         * examples/manual/extract.pl:
5930           Allow nameless blocks.
5931
5932 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5933
5934         * docs/manual/elements-api.xml:
5935         * docs/manual/helloworld.xml:
5936         * examples/manual/extract.pl:
5937           fix last example.  Add example of adding code blocks that are not
5938           shown in docbook output.
5939
5940 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5941
5942         * docs/manual/dynamic.xml:
5943         * docs/manual/elements-api.xml:
5944         * docs/manual/gnome.xml:
5945         * docs/manual/helloworld2.xml:
5946         * docs/manual/init-api.xml:
5947         * docs/manual/queues.xml:
5948         * docs/manual/threads.xml:
5949         * docs/manual/xml.xml:
5950         * examples/manual/extract.pl:
5951           Make it possible to extract example code from separate blocks.
5952           Should make Ronald happy.
5953
5954 2004-12-15  Wim Taymans  <wim@fluendo.com>
5955
5956         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5957         (remove_from_group), (group_elements_set_visited),
5958         (normalize_group), (gst_opt_scheduler_iterate):
5959         Fix bug where a flag was not updated on a decoupled entry point 
5960         because we were just checking the group element list and decoupled
5961         elements are not in that list..
5962
5963 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5964
5965         * docs/manual/advanced-autoplugging.xml:
5966         * docs/manual/advanced-clocks.xml:
5967         * docs/manual/advanced-dparams.xml:
5968         * docs/manual/advanced-interfaces.xml:
5969         * docs/manual/advanced-metadata.xml:
5970         * docs/manual/advanced-position.xml:
5971         * docs/manual/advanced-schedulers.xml:
5972         * docs/manual/advanced-threads.xml:
5973         * docs/manual/appendix-debugging.xml:
5974         * docs/manual/appendix-gnome.xml:
5975         * docs/manual/appendix-programs.xml:
5976         * docs/manual/appendix-quotes.xml:
5977         * docs/manual/appendix-win32.xml:
5978         * docs/manual/autoplugging.xml:
5979         * docs/manual/basics-bins.xml:
5980         * docs/manual/basics-data.xml:
5981         * docs/manual/basics-elements.xml:
5982         * docs/manual/basics-helloworld.xml:
5983         * docs/manual/basics-init.xml:
5984         * docs/manual/basics-pads.xml:
5985         * docs/manual/basics-plugins.xml:
5986         * docs/manual/bins-api.xml:
5987         * docs/manual/bins.xml:
5988         * docs/manual/buffers-api.xml:
5989         * docs/manual/buffers.xml:
5990         * docs/manual/clocks.xml:
5991         * docs/manual/components.xml:
5992         * docs/manual/cothreads.xml:
5993         * docs/manual/debugging.xml:
5994         * docs/manual/dparams-app.xml:
5995         * docs/manual/dynamic.xml:
5996         * docs/manual/elements-api.xml:
5997         * docs/manual/elements.xml:
5998         * docs/manual/factories.xml:
5999         * docs/manual/gnome.xml:
6000         * docs/manual/goals.xml:
6001         * docs/manual/helloworld.xml:
6002         * docs/manual/helloworld2.xml:
6003         * docs/manual/highlevel-components.xml:
6004         * docs/manual/highlevel-xml.xml:
6005         * docs/manual/init-api.xml:
6006         * docs/manual/intro-motivation.xml:
6007         * docs/manual/intro-preface.xml:
6008         * docs/manual/intro.xml:
6009         * docs/manual/links-api.xml:
6010         * docs/manual/links.xml:
6011         * docs/manual/manual.xml:
6012         * docs/manual/motivation.xml:
6013         * docs/manual/pads-api.xml:
6014         * docs/manual/pads.xml:
6015         * docs/manual/plugins-api.xml:
6016         * docs/manual/plugins.xml:
6017         * docs/manual/programs.xml:
6018         * docs/manual/queues.xml:
6019         * docs/manual/quotes.xml:
6020         * docs/manual/schedulers.xml:
6021         * docs/manual/states-api.xml:
6022         * docs/manual/states.xml:
6023         * docs/manual/threads.xml:
6024         * docs/manual/typedetection.xml:
6025         * docs/manual/win32.xml:
6026         * docs/manual/xml.xml:
6027           First try at rewriting the ADM. Needs lotsamore work, but some
6028           parts might already be somewhat useful.
6029         * docs/pwg/advanced-interfaces.xml:
6030           Remove properties interface, it never actually existed (except for
6031           on my HD...).
6032
6033 2004-12-13  David Schleef  <ds@schleef.org>
6034
6035         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6036         be NULL (bug #160220).
6037
6038 2004-12-13  David Schleef  <ds@schleef.org>
6039
6040         * configure.ac: remove all mmx stuff, because it's not used.
6041         * docs/random/ds/0.9-suggested-changes: additional notes
6042         * include/Makefile.am: we don't use these anymore
6043         * include/mmx.h: remove
6044         * include/sse.h: remove
6045
6046 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6047
6048         * docs/random/mimetypes:
6049           Add FOURCC code for h264 codec (VSSH)
6050           Add alternate FOURCC codes for h263 related codecs
6051
6052 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6053
6054         * docs/manual/programs.xml:
6055           Added more gst-launch examples.
6056
6057 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * gst/gstqueue.c: (gst_queue_handle_src_query):
6060           Check for availability again.
6061
6062 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6063
6064         * gst/gstcaps.c: (gst_caps_compare_structures):
6065           Simple caps go first. This has the nice side-effect of fixing an
6066           obscure warning.
6067
6068 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6069
6070         * gst/gstversion.h.in:
6071           Protect header.
6072
6073 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6074
6075         * gst/schedulers/gstoptimalscheduler.c:
6076         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6077         (gst_opt_scheduler_get_wrapper):
6078           When we're recursing into a chain run, only run the directly
6079           related group, not all queued ones. This will fix a possible
6080           deadlock in chains with more than two groups.
6081
6082 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6083
6084         * autogen.sh:
6085           remove patch if autopoint fails
6086
6087 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6088
6089         * docs/gst/gstreamer-sections.txt:
6090           Document Thomas' addition, fix build, make Luis the sheriff happy.
6091
6092 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6093
6094         * gst/gstplugin.c:
6095         * gst/gstplugin.h:
6096           add accessor for version field
6097
6098 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6099
6100         submitted by: Luca Ferretti <elle.uca@infinito.it>
6101
6102         * po/LINGUAS:
6103         * po/it.po:
6104           New tranlation added: Italian
6105
6106 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6107
6108         * gst/gstpad.c: (gst_pad_is_negotiated),
6109         (gst_pad_get_negotiated_caps):
6110           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6111           it doesn't actually check the contents), so be sure to hand it
6112           a RealPad else we'll crash.
6113
6114 2004-12-03  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6117         (gst_queue_link), (gst_queue_handle_src_query):
6118         Reverted to 1.110 until this makes the testsuite and various
6119         apps work.
6120
6121 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6122
6123         * docs/upload.mak: fix included CVS conflict strings
6124
6125 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6126
6127         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6128
6129         * gst/gstelement.c: (gst_element_error_full):
6130           Use g_error_new_literal because error text may have
6131           percentage signs in it. Fixes #160019.
6132
6133 2004-12-01  Benjamin Otte  <otte@gnome.org>
6134
6135         * gst/elements/gstbufferstore.c:
6136         (gst_buffer_store_add_buffer_func):
6137           don't try to make subbuffers bigger than they can be. (fixes
6138           #159970)
6139
6140 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6141
6142         * docs/gst/gstreamer-sections.txt:
6143         * docs/gst/tmpl/gstvalue.sgml:
6144           Add new function to docs to fix build.
6145
6146 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6147
6148         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6149         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6150         (_gst_pad_default_fixate_foreach):
6151         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6152         * gst/gstvalue.h:
6153           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6154           in some cases (arrays), the fixedness depends on the content.
6155         * gst/gstqueue.c: (gst_queue_handle_src_query):
6156           Check for availability before doing something.
6157
6158 2004-11-29  Wim Taymans  <wim@fluendo.com>
6159
6160         * testsuite/threads/Makefile.am:
6161         * testsuite/threads/signals.c: (gst_test_get_type),
6162         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6163         (gst_test_set_property), (gst_test_get_property),
6164         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6165         (gst_test_do_prop), (run_thread), (main):
6166         Added a bunch of testcases that show threadsafety bugs in glib.
6167
6168 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6169
6170         * docs/manual/programs.xml:
6171           Added a first batch of gst-launch examples, as provided by Ronald
6172           and others from the devel-mlist
6173
6174 2004-11-28  Benjamin Otte  <otte@gnome.org>
6175
6176         * gst/gstelement.c: (gst_element_negotiate_pads):
6177           simplify
6178         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6179         (gst_value_serialize_string), (gst_value_deserialize_string):
6180           add unwrapping of previously wrapped strings. Fix bug in wrapping
6181           while at it.
6182         * testsuite/caps/value_serialize.c: (test1),
6183         (test_string_serialization), (test_string_deserialization), (main):
6184           add tests for string (de)serialization
6185
6186 2004-11-26  Wim Taymans  <wim@fluendo.com>
6187
6188         * testsuite/threads/159566.c: (object_deep_notify), (main):
6189         * testsuite/threads/Makefile.am:
6190         Added testsuite to show bug #159566
6191
6192 2004-11-25  Wim Taymans  <wim@fluendo.com>
6193
6194         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6195         (gst_thread_child_state_change), (gst_thread_main_loop):
6196         Ref the thread object in the GThread mainloop. Break out of the
6197         thread mainloop if it holds the last ref. This properly exits
6198         the threads when disposing the thread from its own context. It
6199         also avoids possible deadlocks in the dispose function.
6200
6201 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6202
6203         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6204         it is necessary to wait.
6205
6206 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6207
6208         * docs/pwg/building-boiler.xml:
6209           Make description somewhat clearer.
6210
6211 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6212
6213         * docs/upload.mak:
6214           Apparently docs changed location on FDO's server.
6215
6216 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6217
6218         * docs/pwg/appendix-checklist.xml:
6219           Add some random notes on things to check when writing an element.
6220           This list can be extended as people see fit.
6221
6222 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6223
6224         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6225         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6226         pad. The queue will now wait until it is empty and forward the new
6227         caps to the source.
6228         * gst/gstbin.c (gst_bin_set_element_sched)
6229         (gst_bin_unset_element_sched): Make sure that all elements and
6230         links are registered and unregistered with the scheduler exactly
6231         once. This elaborates on a fix by Benjamin Otte, but
6232         guarantees that decoupled elements are also registered.
6233
6234 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6235
6236         * docs/manual/quotes.xml:
6237           add a quote
6238         * configure.ac:
6239         * gst/gst.c:
6240         * gst/gstinfo.c:
6241           add LIBDIR and move init message higher up so it's at the start
6242
6243 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6244
6245         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6246         * gstreamer.spec.in: add fair
6247
6248 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6249
6250         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6251         * gst/elements/gstidentity.c: (gst_identity_class_init):
6252           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6253           <teuf@gnome.org> (#157263).
6254         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6255         (gst_type_find_handle_src_query):
6256           Subtract size of internally stored data from position queries.
6257
6258 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6259
6260         * gst/schedulers/fairscheduler.c:
6261         * gst/schedulers/faircothreads.c:
6262         * gst/schedulers/faircothreads.h:
6263         New cothread based scheduler: Fair scheduler.
6264         * gst/schedulers/gthread-cothreads.h: 
6265         Add the standard #if around the whole file.
6266         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6267         compilation of the functions defined in this file. This is
6268         necessary to be able to use this file as a normal header.
6269         * gst/schedulers/Makefile.am: Add compiling support for fair
6270         scheduler.
6271         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6272         scheduler cothreads layer from documentation generation.
6273
6274 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6275
6276         * gst/autoplug/gstspideridentity.c:
6277         (gst_spider_identity_sink_loop_type_finding):
6278           Don't crash if that function is not implemented.
6279
6280 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6281
6282         * docs/pwg/advanced-types.xml:
6283           Another typo.
6284
6285 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6286
6287         * docs/pwg/intro-preface.xml:
6288           Hm, ok, so the brackets weren't really useful...
6289         * docs/pwg/other-ntoone.xml:
6290           Fix embarassing typo.
6291
6292 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6293
6294         * docs/pwg/intro-preface.xml:
6295           Rewrite preface.
6296
6297 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6298
6299         * docs/pwg/advanced-scheduling.xml:
6300         * docs/pwg/advanced-tagging.xml:
6301         * docs/pwg/advanced-types.xml:
6302         * docs/pwg/building-boiler.xml:
6303         * docs/pwg/building-chainfn.xml:
6304         * docs/pwg/building-signals.xml:
6305         * docs/pwg/building-state.xml:
6306         * docs/pwg/building-testapp.xml:
6307         * docs/pwg/intro-basics.xml:
6308         * docs/pwg/other-manager.xml:
6309         * docs/pwg/other-source.xml:
6310           Typo fixes.
6311         * docs/pwg/other-manager.xml:
6312           Add some first content. No example code yet.
6313         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6314           Remove double newlines.
6315
6316 2004-11-04  Wim Taymans  <wim@fluendo.com>
6317
6318         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6319         (remove_from_group), (normalize_group), (group_migrate_connected),
6320         (gst_opt_scheduler_iterate):
6321         * testsuite/schedulers/.cvsignore:
6322         * testsuite/schedulers/Makefile.am:
6323         * testsuite/schedulers/queue_link.c: (main):
6324         Added testcase for scheduler segfault.
6325         Fix scheduler segfault when removing a decoupled
6326         entry point as the last element from a group.
6327
6328 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6329
6330         * gst/gstmarshal.list: add missing marshaller, fixes build
6331
6332 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6333
6334         * docs/random/signal: added notes about using BOXED for GstBuffer
6335         signal marshallers, not POINTER
6336
6337 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6338
6339         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6340         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6341         POINTER=>BOXED changes to marshal GstBuffers
6342
6343 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6344
6345         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6346         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6347
6348 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6349
6350         * docs/gst/gstreamer-sections.txt:
6351         * docs/gst/tmpl/gstcaps.sgml:
6352         * docs/gst/tmpl/gsterror.sgml:
6353         * docs/gst/tmpl/gstinfo.sgml:
6354         * docs/gst/tmpl/gstmacros.sgml:
6355         * docs/gst/tmpl/gstutils.sgml:
6356         * docs/random/ensonic/interfaces.txt:
6357         * gst/gstinfo.h:
6358           added some more docs, removed two obsolete defines
6359
6360 2004-11-02  Kjartan Maraas <as at gnome.org>
6361
6362         reviewed by: Wim Taymans, Ronald Bultje.
6363
6364         * gst/cothreads.c: (cothread_create):
6365         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6366         (gst_bin_child_state_change_func):
6367         * gst/gstbuffer.c: (gst_buffer_span):
6368         * gst/gstelement.c: (gst_element_get_index),
6369         (gst_element_get_event_masks), (gst_element_get_query_types),
6370         (gst_element_get_formats):
6371         * gst/gsterror.c: (_gst_core_errors_init),
6372         (_gst_library_errors_init), (_gst_resource_errors_init),
6373         (_gst_stream_errors_init):
6374         * gst/gstobject.c: (gst_object_default_deep_notify):
6375         * gst/gstpad.c: (gst_pad_get_event_masks),
6376         (gst_pad_get_internal_links_default):
6377         * gst/gstplugin.c: (gst_plugin_register_func),
6378         (gst_plugin_get_module):
6379         * gst/gststructure.c: (gst_structure_get_string),
6380         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6381         (gst_structure_to_abbr):
6382         * gst/gstutils.c: (gst_print_element_args):
6383         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6384         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6385         Aplied part of patch #157127: Cleanup of issues reported by 
6386         sparse.
6387         Also do not try to use cothreads when there is no cothread
6388         context yet.
6389
6390 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6391
6392         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6393         (gst_opt_scheduler_iterate):
6394         Applied patch #154061. Running a pipeline in which an element 
6395         calls GST_ELEMENT_ERROR in the chain function, the opt 
6396         scheduler doesn't unref the chain so it never gets freed.
6397
6398 2004-11-02  Wim Taymans  <wim@fluendo.com>
6399
6400         * gst/gststructure.c: (gst_structure_get_abbrs),
6401         (gst_structure_from_abbr), (gst_structure_to_abbr):
6402         Remove that ugly if-then thing in the code that converts
6403         between strings and types.
6404
6405 2004-11-02  Wim Taymans  <wim@fluendo.com>
6406
6407         * gst/gstscheduler.c: (gst_scheduler_add_element),
6408         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6409         Aplied clock distribution patch, this should fix bug
6410         #148787.
6411
6412 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6413
6414         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6415
6416         * po/LINGUAS:
6417         * po/nb.po:
6418           Added Norwegian Bokmaal translation
6419
6420 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6421
6422         * tools/gst-inspect.c: (print_signal_info):
6423           print signal arguments as pointers if they are
6424
6425 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6426
6427         * docs/pwg/building-boiler.xml:
6428           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6429
6430 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6431
6432         * gst/parse/parse.l:
6433         * testsuite/parse/parse1.c: (main):
6434         Since parse can do 'element name=a:b' make 'a:b.' work as
6435         well. 
6436         Added testcase to verify fix.
6437
6438 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6439
6440         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6441         Use the realpad when printing the direction.
6442         Add extra \n when printing extensions of typefind factories.
6443
6444 2004-10-13  David Schleef  <ds@schleef.org>
6445
6446         * examples/manual/Makefile.am: $< isn't portable in Makefile
6447         rules.
6448
6449 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6450
6451         * docs/gst/tmpl/gstobject.sgml:
6452         * docs/gst/tmpl/gstplugin.sgml:
6453         * docs/gst/tmpl/gstpluginfeature.sgml:
6454         * docs/gst/tmpl/gstregistry.sgml:
6455         * docs/gst/tmpl/gstversion.sgml:
6456         * gst/gstbin.c:
6457           more api documentation
6458         * gst/gstplugin.c: (gst_plugin_register_func),
6459         (gst_plugin_check_file), (gst_plugin_load_file):
6460           better error signaling and logging
6461
6462 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6463
6464         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6465           Subtract current queue contents from position queries.
6466
6467 2004-10-11  Johan Dahlin  <johan@gnome.org>
6468
6469         * gst/gsturi.c (gst_uri_get_location): unescape string
6470         (gst_uri_construct): escape string.
6471
6472 2004-10-11  Benjamin Otte  <otte@gnome.org>
6473
6474         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6475         (gst_pad_try_set_caps_nonfixed):
6476           allow renegotiation of unconnected pads (as inside spider). Simply
6477           return OK if unconnected - mimic try_set_caps there.
6478
6479 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6480
6481         * gst/gstbin.c: (gst_bin_sync_children_state):
6482           Add missing break.
6483
6484 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6485
6486         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6487         Set element to EOS before sending EOS event
6488
6489 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6490
6491         * gst/elements/gsttypefindelement.c:
6492         (gst_type_find_element_handle_event):
6493         Handle EOS events when doing the transition from
6494         typefind to data passing. This should fix the
6495         infinite loops in short files.
6496
6497 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6498
6499         * gst/gstthread.c: (gst_thread_change_state),
6500         (gst_thread_child_state_change):
6501         Make sure no iteration happens while performing
6502         the state change as it could mess up the internal
6503         consistency of the thread state.
6504
6505 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6506
6507         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6508         (gst_thread_change_state), (gst_thread_child_state_change):
6509         Do not try to grab the iterate lock in the state change method
6510         when we are in the same thread as the iterate or else we
6511         could deadlock. Some other cleanups.
6512
6513 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6514
6515         * configure.ac:
6516           bump nano to cvs
6517
6518 === release 0.8.7 ===
6519
6520 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6521
6522         * configure.ac:
6523         * NEWS:
6524         * RELEASE:
6525         * configure.ac:
6526           releasing 0.8.7, "A Cruise"
6527
6528 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6529
6530         * docs/random/mimetypes:
6531         Add an entry for Sony ATRAC3 audio format with mime-type
6532         used by rmdemux et riff-read
6533
6534 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6535
6536         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6537         Push the buffer store instead of clearing it in case that
6538         the stream is not seekable.
6539
6540 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6541
6542         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6543         (gst_thread_main_loop):
6544         Lock the iteration and the state change so that automatic
6545         negotiation and fixation does not happen at the same time
6546         as the in stream negotiation.
6547
6548 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6549
6550         * configure.ac:
6551           bump nano to cvs
6552
6553 === release 0.8.6 ===
6554
6555 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6556
6557         * configure.ac:
6558         * NEWS:
6559         * RELEASE:
6560         * configure.ac:
6561           releasing 0.8.6, "Narc"
6562
6563 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         * configure.ac:
6566           prerel bump
6567
6568 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         patch by: Steve Lhomme
6571
6572         * gst/elements/gstfakesrc.c:
6573         * gst/elements/gstidentity.c:
6574         * gst/gstthread.c:
6575           Fix for #153881
6576
6577 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6578
6579         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6580         Fix threadsafety of the crc checking function.
6581
6582 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6583
6584         patch by: Ronald Bultje
6585
6586         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6587         (gst_type_find_element_handle_event),
6588         (gst_type_find_element_chain):
6589         * gst/elements/gsttypefindelement.h:
6590          #153657.
6591          Filter out discont event from seekable sources when typefind
6592          asks them to seek.  Fixes typefind with demuxers for
6593          avi, asf and matroska.
6594
6595 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6596
6597         * docs/gst/gstreamer-sections.txt:
6598         * gst/gstcaps.c:
6599         * gst/gstcaps.h:
6600         * gst/gstpad.c:
6601           Revert preferred caps: (#147789)
6602
6603 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6604
6605         * win32/dirent.c:
6606           fix a memory leak
6607
6608 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6609
6610         * configure.ac:
6611           bump for prerelease
6612
6613 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6614
6615         * docs/Makefile.am:
6616         * docs/manual/elements-api.xml:
6617           restructure so that common stuff is shown first
6618         * docs/manual/init-api.xml:
6619           convert to examples
6620         * docs/manual/manual.xml:
6621         * docs/manuals.mak:
6622         * docs/url.entities:
6623           link to API on the website, possibly override later in build
6624         * examples/manual/.cvsignore:
6625           ignore more
6626         * examples/manual/Makefile.am:
6627           add more examples
6628         * examples/manual/extract.pl:
6629           error out on failure
6630
6631 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * docs/gst/tmpl/gstthread.sgml:
6634         * docs/manual/init-api.xml:
6635         * examples/manual/Makefile.am:
6636           convert two code bits to examples
6637
6638 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6639
6640         * gst/gstelement.c: (gst_element_change_state):
6641           Well, actually, I was about to remove this insane assert when
6642           I noticed Wim already did that. A warning is nice so we can
6643           fix actual ugs (using --g-fatal-warnings and backtraces), so
6644           I added that instead.
6645
6646 2004-09-06  Wim Taymans  <wim@fluendo.com>
6647
6648         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6649         (gst_element_threadsafe_properties_post_run),
6650         (gst_element_set_state), (gst_element_change_state):
6651         Added extra refcounting around various places. 
6652
6653 2004-09-06  Wim Taymans  <wim@fluendo.com>
6654
6655         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6656         Fix debug info.
6657
6658 2004-09-06  Wim Taymans  <wim@fluendo.com>
6659
6660         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6661         (remove_from_group):
6662         Some more debug info.
6663
6664 2004-09-03  Wim Taymans  <wim@fluendo.com>
6665
6666         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6667         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6668         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6669         (gst_fakesrc_get), (gst_fakesrc_change_state):
6670         * gst/elements/gstfakesrc.h:
6671         * gst/elements/gstidentity.c: (gst_identity_class_init),
6672         (gst_identity_init), (gst_identity_chain),
6673         (gst_identity_set_property), (gst_identity_get_property),
6674         (gst_identity_change_state):
6675         * gst/elements/gstidentity.h:
6676         Added datarate properties to limit the datarate.
6677
6678 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6679
6680         * gst/autoplug/gstspider.c: (plugin_init):
6681           don't set a rank. We don't want to autoplug by inserting spiders.
6682
6683 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6684
6685         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6686         (gst_spider_identity_plug):
6687           add a template for spider's sink
6688         * gst/gst.c: (gst_register_core_elements):
6689           queue's rank should be NULL, we don't want spider to add it.
6690
6691 2004-08-18  David Schleef  <ds@schleef.org>
6692
6693         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6694         * docs/libs/Makefile.am: same
6695         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6696         * docs/random/ds/0.9-planning: random additions
6697         * docs/random/ds/0.9-suggested-changes: same
6698         * gst/gstxml.h: remove vestigal GstXMLNs definition
6699
6700         Preferred caps: (#147789)
6701         * docs/gst/gstreamer-sections.txt: Add symbols
6702         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6703         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6704         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6705         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6706         (gst_caps_get_preferred), (gst_caps_set_preferred),
6707         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6708         (gst_caps_use_preferred): Handle caps preferences
6709         * gst/gstcaps.h: Add caps preferences
6710         * gst/gstpad.c: (gst_pad_link_get_preferred),
6711         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6712         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6713         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6714         negotiation.
6715
6716 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6717
6718         * gst/autoplug/gstspideridentity.c:
6719         (gst_spider_identity_request_new_pad):
6720         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6721         (gst_aggregator_init):
6722         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6723         (gst_fakesink_init):
6724         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6725         (gst_fakesrc_init):
6726         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6727         (gst_fdsink_init):
6728         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6729         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6730         (gst_filesink_init):
6731         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6732         (gst_filesrc_init):
6733         * gst/elements/gstidentity.c: (gst_identity_base_init),
6734         (gst_identity_init):
6735         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6736         (gst_multifilesrc_init):
6737         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6738         (gst_pipefilter_init):
6739         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6740         (gst_statistics_init):
6741         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6742         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6743           s/gst_pad_new/&_from_template/
6744           register pad templates in the base_init function
6745           add static pad template definitions
6746
6747 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6748
6749         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6750         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6751         * testsuite/refcounting/pad.c: (main):
6752         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6753           s/gst_pad_new/&_from_template/
6754           prepare deprecation of gst_pad_new
6755
6756 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         patch by: Luca Ognibene <skaboy81@virgilio.it>
6759
6760         * gst/gstcaps.c:
6761         * gst/gstelement.c:
6762         * gst/gstpad.c:
6763         * gst/gstxml.c:
6764           fix memleaks.  Fixes #150001
6765
6766 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6767
6768         * docs/random/ds/0.9-suggested-changes:
6769           add notes - mostly about pad templates
6770
6771 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6772
6773         * win32/GStreamer.vcproj:
6774           temporary locale files are .gmo not .mo
6775
6776 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         * configure.ac: bump nano to cvs
6779
6780 === release 0.8.5 ===
6781
6782 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * configure.ac:
6785           releasing 0.8.5, "Stuttgart"
6786         * NEWS:
6787         * RELEASE:
6788         * configure.ac:
6789         * docs/random/release:
6790           updates for release
6791
6792 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6793
6794         patch by: Wim Taymans (wim@fluendo.com)
6795
6796         * gst/gstbuffer.c:
6797         * gst/gstindex.h:
6798         * libs/gst/dataprotocol/dataprotocol.c:
6799           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6800
6801 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6802
6803         * Makefile.am:
6804         * win32/MANIFEST:
6805           add win32 dir to the build.  Fixes #149981.
6806
6807 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6808
6809         * configure.ac:
6810           bump libtool versioning
6811         * gst/gststructure.c:
6812           mark function as static
6813         * po/af.po:
6814         * po/az.po:
6815         * po/ca.po:
6816         * po/cs.po:
6817         * po/en_GB.po:
6818         * po/fr.po:
6819         * po/nl.po:
6820         * po/sq.po:
6821         * po/sr.po:
6822         * po/sv.po:
6823         * po/tr.po:
6824         * po/uk.po:
6825           translations update
6826         * win32/README.txt:
6827           trademark protection
6828
6829 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6830
6831         * configure.ac:
6832           fix GST_ORIGIN
6833           set GST_PACKAGE to source, and distinguish between release and other
6834         * tools/gst-inspect.c:
6835           print out plugin an element factory is part of so we see this info
6836
6837 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6838
6839         * docs/gst/gstreamer-sections.txt:
6840         * docs/gst/tmpl/gstbuffer.sgml:
6841         * docs/gst/tmpl/gstschedulerfactory.sgml:
6842           reorder docs a little, make GstBuffer's more sensible.
6843         * gst/gstbuffer.h:
6844           API: added GST_BUFFER_FLAG_DELTA_UNIT
6845         * gst/gstscheduler.c:
6846           comment API addition
6847
6848 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6849
6850         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6851           work with non-regular files that can be mmapped (like /dev/zero)
6852         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6853           get rid of typefinds that require a seek when we can't seek instead
6854           of trying them over and over again
6855         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6856           return non-zero failure value when the pipeline was interrupted or
6857           an error occurred
6858
6859 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6860
6861         * win32/config.h:
6862         * win32/GStreamer.vcproj:
6863           compile and install the locales
6864
6865 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6866
6867         * gst/gstvalue.c:
6868           fix a possible memory leak under Windows
6869
6870 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6871
6872         * win32/GStreamer.vcproj:
6873           fix a memory leak that occured under Windows
6874         * win32/gstreamer.def:
6875           add gst_scheduler_register
6876
6877 2004-08-11  Benjamin Otte  <otte@gnome.org>
6878
6879         * docs/gst/gstreamer-sections.txt:
6880         * gst/gstscheduler.c: (gst_scheduler_register):
6881         * gst/gstscheduler.h:
6882           API:
6883           add gst_scheduler_register shortcut similar to gst_element_register
6884         * gst/schedulers/entryscheduler.c: (plugin_init):
6885         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6886         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6887           use it
6888
6889 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6890
6891         * gst/gstvalue.h:
6892           fix a memory leak that occured under Windows
6893
6894 2004-08-10  Colin Walters  <walters@redhat.com>
6895
6896         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6897         Don't use O_EXCL to open temporary registry.  It will prevent
6898         registry creation if a temporary one already exists, which
6899         is unnecessary.
6900
6901 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6902
6903         * docs/gst/gstreamer-sections.txt:
6904         * docs/gst/tmpl/gstvalue.sgml:
6905           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6906
6907 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6908
6909         * win32/gstbytestream.vcproj:
6910         * win32/gstelements.vcproj:
6911         * win32/gstgetbits.vcproj:
6912         * win32/gst-inspect.vcproj:
6913         * win32/gst-launch.vcproj:
6914         * win32/gstoptimalscheduler.vcproj:
6915         * win32/GStreamer.vcproj:
6916         * win32/gst-register.vcproj:
6917         * win32/gstspider.vcproj:
6918           update the include and lib dirs to fit standard libraries as
6919           described in the Win32 manual
6920
6921 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6922
6923         * win32/config.h:
6924         * win32/gstversion.h:
6925           enable NLS again, push the version number for the coming 0.8.5 release
6926
6927 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6928
6929         * gst/gstvalue.h:
6930           export gst_type_XXX for windows DLLs
6931
6932 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6933
6934         * docs/faq/gst-uninstalled:
6935           fix PKG_CONFIG_PATH and PYTHONPATH
6936         * gst/schedulers/Makefile.am:
6937           cleanup
6938         * libs/gst/bytestream/bytestream.c:
6939           remove newline
6940         * po/LINGUAS:
6941         * po/sq.po:
6942           adding Albanian translation (Laurent Dhima)
6943         * po/cs.po:
6944           updated
6945
6946 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * po/ca.po:
6949         * po/sv.po:
6950           updated translations
6951
6952 2004-08-04  Benjamin Otte  <otte@gnome.org>
6953
6954         * tests/mass_elements.c: (main):
6955           allow specifying src and sink element explicitly, so I can test
6956           videotestsrc instead of fakesrc
6957
6958 2004-08-04  Benjamin Otte  <otte@gnome.org>
6959
6960         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6961         (gst_structure_id_empty_new), (gst_structure_empty_new),
6962         (gst_structure_copy):
6963           add gst_structure_id_empty_new_with_size to allow preallocating
6964           value array sizes. Use this in gst_structure_copy to get rid of
6965           reallocs.
6966           don't do quark=>string=>quark when copying structures
6967
6968 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6969
6970         * docs/manual/win32.xml:
6971         * win32/README.txt:
6972           update documentation with the clean version of dependencies
6973
6974 2004-08-03  Benjamin Otte  <otte@gnome.org>
6975
6976         * gst/schedulers/entryscheduler.c:
6977         (gst_entry_scheduler_remove_element):
6978           fix for GST_DISABLE_DEBUG
6979         * tools/gst-launch.c: (print_tag):
6980           fixes for G_DISABLE_ASSERT
6981
6982 2004-08-03  Benjamin Otte  <otte@gnome.org>
6983
6984         * gst/gst.c: (gst_register_core_elements):
6985           fix for G_DISABLE_ASSERT
6986         * gst/gstinfo.c: (__gst_in_valgrind):
6987           add for GST_DISABLE_DEBUG
6988
6989 2004-08-03  Benjamin Otte  <otte@gnome.org>
6990
6991         * gst/parse/parse.l:
6992           fix for G_DISABLE_ASSERT
6993
6994 2004-08-03  Wim Taymans  <wim@fluendo.com>
6995
6996         * gst/gstbin.c: (gst_bin_get_type),
6997         (gst_bin_child_state_change_func):
6998         * gst/gstthread.c: (gst_thread_change_state):
6999         Backported some debug logging from a reverted patch
7000         Don't try to destroy the thread twice. Added some more
7001         debugging in GstThread. Unlock and signal even if we
7002         are in the thread context.
7003
7004 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         * po/uk.po:
7007           updated translation
7008
7009 2004-07-30  David Schleef  <ds@schleef.org>
7010
7011         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7012
7013 2004-07-29  David Schleef  <ds@schleef.org>
7014
7015         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7016         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7017
7018 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7019
7020         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7021         (gst_bin_add_func), (gst_bin_remove_func),
7022         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7023         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7024         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7025         (gst_bin_sync_children_state):
7026         * gst/gstbin.h:
7027         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7028         (gst_thread_change_state):
7029         * testsuite/states/Makefile.am:
7030           revert state change patches as agreed so we can rework them
7031           gradually
7032
7033 2004-07-29  Benjamin Otte  <otte@gnome.org>
7034
7035         * libs/gst/control/Makefile.am:
7036           link to libgstreamer (fixes Debian bug 262019, see
7037           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7038
7039 2004-07-29  Wim Taymans  <wim@fluendo.com>
7040
7041         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7042         (check_from_fraction_convert), (transform_test), (main):
7043         Make the test less pedantic about float roundoff errors.
7044
7045 2004-07-29  Benjamin Otte  <otte@gnome.org>
7046
7047         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7048         (gst_filesrc_srcpad_event):
7049           make seek events to before start/after end of file not fail, but
7050           seek to start/end instead
7051         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7052           add more output
7053
7054 2004-07-29  Benjamin Otte  <otte@gnome.org>
7055
7056         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7057           check that caps are fixed
7058         * gst/gstpad.c: (gst_pad_template_new):
7059           don't try to simplify caps, costs too much time on gst_init
7060         * gst/gstplugin.c: (gst_plugin_add_feature):
7061           G_ERROR if features are added twice
7062         * gst/gsttypefind.c: (gst_type_find_register):
7063         * gst/gstelementfactory.c: (gst_element_register):
7064           don't add features twice
7065         * docs/random/ds/0.9-suggested-changes:
7066           add note about possible gst_init optimization
7067
7068 2004-07-28  David Schleef  <ds@schleef.org>
7069
7070         * testsuite/elements/Makefile.am:
7071         * testsuite/elements/struct_i386.h:
7072         * testsuite/elements/struct_size.c: (main):  A little test
7073         to keep distcheck from working if someone changes a structure
7074         size accidentally.
7075
7076 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7077
7078         * docs/libs/Makefile.am:
7079         * docs/libs/gstreamer-libs-docs.sgml:
7080         * docs/libs/gstreamer-libs-sections.txt:
7081         * docs/libs/tmpl/gstbytestream.sgml:
7082         * docs/libs/tmpl/gstcontrol.sgml:
7083         * docs/libs/tmpl/gstdataprotocol.sgml:
7084         * docs/libs/tmpl/gstgetbits.sgml:
7085         * libs/gst/bytestream/Makefile.am:
7086         * libs/gst/bytestream/bytestream.c:
7087         * libs/gst/bytestream/bytestream.h:
7088         * libs/gst/control/Makefile.am:
7089         * libs/gst/dataprotocol/Makefile.am:
7090         * libs/gst/getbits/Makefile.am:
7091         * libs/gst/getbits/getbits.h:
7092           various doc and style fixes, adding bytestream to libs docs.
7093
7094 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7095
7096         * docs/gst/gstreamer-docs.sgml:
7097         * docs/libs/Makefile.am:
7098         * docs/libs/gstreamer-libs-docs.sgml:
7099         * docs/libs/gstreamer-libs-sections.txt:
7100         * libs/gst/control/dparam.c:
7101           more doc fixes.  gst-libs docs now build the same way as gst.
7102
7103 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7104
7105         * configure.ac:
7106         * testsuite/Makefile.am:
7107         * testsuite/bins/Makefile.am:
7108         * testsuite/caps/Makefile.am:
7109         * testsuite/cleanup/Makefile.am:
7110         * testsuite/clock/Makefile.am:
7111         * testsuite/debug/Makefile.am:
7112         * testsuite/dlopen/Makefile.am:
7113         * testsuite/dynparams/Makefile.am:
7114         * testsuite/elements/.cvsignore:
7115         * testsuite/elements/Makefile.am:
7116         * testsuite/enumcaps/Makefile.am:
7117         * testsuite/enumcaps/enumcaps.c:
7118         * testsuite/ghostpads/Makefile.am:
7119         * testsuite/indexers/Makefile.am:
7120         * testsuite/negotiation/Makefile.am:
7121         * testsuite/parse/Makefile.am:
7122         * testsuite/plugin/Makefile.am:
7123         * testsuite/refcounting/Makefile.am:
7124         * testsuite/schedulers/.cvsignore:
7125         * testsuite/states/Makefile.am:
7126         * testsuite/tags/Makefile.am:
7127         * testsuite/threads/Makefile.am:
7128           fold enumcaps into caps dir
7129           clean up Makefile.am's for testsuite
7130
7131 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         * docs/gst/Makefile.am:
7134         * docs/libs/Makefile.am:
7135           clean up docs build.  Fixes needless rebuilding of template files.
7136
7137 2004-07-28  Wim Taymans  <wim@fluendo.com>
7138
7139         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7140         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7141         Make sure that a bin state change tries to keep the children
7142         in sync. 
7143         Added debug logging to the thread.
7144
7145 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7146
7147         * win32/GStreamer.vcproj:
7148         * win32/gstreamer.def:
7149           more exports for the plugins
7150
7151 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7152
7153         * win32/gstgetbits.vcproj:
7154         * win32/gstgetbits.def:
7155         * win32/msvc71.sln:
7156           add support for the getbits plugin
7157
7158 2004-07-27  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7161         (gst_value_transform_fraction_double), (_gst_value_initialize):
7162         * testsuite/caps/Makefile.am:
7163         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7164         (check_from_fraction_convert), (transform_test), (main):
7165         Added transform functions between double and fraction.
7166         Added testcase to verify transforms
7167
7168 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7169
7170         * win32/GStreamer.vcproj:
7171           rename GStreamer-0.8.lib to libgstreamer.lib
7172
7173 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7174
7175         * win32/gstelements.vcproj:
7176         * win32/gstoptimalscheduler.vcproj:
7177           fixes for the Release build
7178
7179 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7180
7181         * win32/config.h:
7182           update the version number
7183
7184 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7185
7186         * win32/GStreamer.vcproj:
7187           add gstinterface to the build
7188
7189 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7190
7191         * win32/gstreamer.def:
7192           add many definitions needed by plugins,
7193           GST_CAT_DEFAULT only available in the Debug build ?
7194
7195 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7196
7197         * gst/gstelement.c: (gst_element_set_eos_recursive):
7198           various whitespace fixes.
7199           doc fix, fixes #148497
7200
7201 2004-07-25  Benjamin Otte  <otte@gnome.org>
7202
7203         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7204           don't delay links on the sink elements, it causes unnegotiated
7205           links.
7206         * gst/elements/gsttypefindelement.c:
7207         (gst_type_find_element_base_init):
7208           add our padtemplates, we indeed do have some.
7209         * gst/elements/gsttypefindelement.c:
7210         (gst_type_find_element_handle_event),
7211         (gst_type_find_element_chain):
7212           don't push data when typefinding failed.
7213         * gst/gstpad.c: (gst_pad_link_fixate):
7214           check that no fixate function returns empty caps.
7215         * gst/gstpad.c: (gst_pad_push):
7216           check that the link is negotiated before data gets pushed.
7217         * tools/gst-register.c: (main):
7218           don't assert (fixes #148283)
7219
7220 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7221
7222         * docs/gst/gstreamer-sections.txt:
7223         * docs/gst/tmpl/gstconfig.sgml:
7224           add GST_PLUGIN_EXPORT definition
7225
7226 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7227
7228         * gst/gstplugin.h:
7229         * gst/gstconfig.h.in:
7230         * win32/gstconfig.h:
7231         * win32/gstelements.def:
7232         * win32/gstelements.vcproj:
7233         * win32/gstoptimalscheduler.def:
7234         * win32/gstoptimalscheduler.vcproj:
7235         * win32/gstspider.def:
7236         * win32/gstspider.vcproj:
7237           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7238
7239 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7240
7241         * docs/gst/gstreamer-sections.txt:
7242           remove GST_CAT_DEFAULT because the type has changed
7243
7244 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7245
7246         * win32/gstbytestream.vcproj:
7247         * win32/gstelements.vcproj:
7248         * win32/gst-inspect.vcproj:
7249         * win32/gst-launch.vcproj:
7250         * win32/gstoptimalscheduler.vcproj:
7251         * win32/GStreamer.vcproj:
7252         * win32/gst-register.vcproj:
7253         * win32/gstspider.vcproj:
7254         * win32/msvc71.sln:
7255           Copy the files where needed after building, The testsuite will be
7256           built separately
7257
7258 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7259
7260         * win32/config.h:
7261         * win32/README.txt:
7262         * docs/manual/win32.xml:
7263         Fixed the plugin and GStreamer location
7264
7265 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7266
7267         * win32/gstreamer.def:
7268         More exports for the plugins
7269
7270 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7271
7272         * gst/gstinfo.h:
7273         Marc was right, we need to export literally GST_CAT_DEFAULT
7274
7275 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7276
7277         * win32/config.h:
7278         NLS crashes in gettext, disabled until this is solved
7279
7280 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7281
7282         * win32/gst-inspect.vcproj:
7283         * win32/gst-launch.vcproj:
7284         Should use NLS when available
7285
7286 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7287
7288         * gst/registries/gstxmlregistry.c:
7289         removing the file doesn't seem to be a good idea on Linux
7290
7291 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7292
7293         * gst/registries/gstxmlregistry.c:
7294         Remove the registry before renaming the tempfile (needed for Windows)
7295
7296 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7297
7298         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7299         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7300         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7301         * gst/elements/gstmultifilesrc.h:
7302         Added newmedia property so it generates newmedia events between each
7303         file when property is set, as well as fixed eos handling
7304
7305 2004-07-22  David Schleef  <ds@schleef.org>
7306
7307         * gst/gststructure.c: (gst_structure_id_empty_new),
7308         (gst_structure_empty_new):  Set type field correctly.
7309         * gst/gststructure.h: Check type field correctly.
7310         * testsuite/caps/Makefile.am:
7311         * testsuite/caps/structure.c: (test1), (main): Add a very small
7312         test for structures.
7313
7314 2004-07-22  David Schleef  <ds@schleef.org>
7315
7316         * docs/random/ds/0.9-suggested-changes: more comments
7317         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7318
7319 2004-07-22  Benjamin Otte  <otte@gnome.org>
7320
7321         * gst/gstelementfactory.c: (gst_element_register):
7322           set the factory in the class struct, so gst_element_get_factory
7323           actually works
7324         * gst/parse/grammar.y:
7325           set element to playing when it gets unlocked as we can't rely on the
7326           bin state - all elements in the bin state might still be locked in
7327           NULL)
7328
7329 2004-07-22  Benjamin Otte  <otte@gnome.org>
7330
7331         * gst/gstelement.c: (gst_element_set_state_func):
7332           make this a static function
7333
7334 2004-07-22  Wim Taymans  <wim@fluendo.com>
7335
7336         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7337         (gst_opt_scheduler_pad_link):
7338         fix 147894-2 and the group_link problem.
7339
7340 2004-07-22  Wim Taymans  <wim@fluendo.com>
7341
7342         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7343         (handoff_identity), (main):
7344         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7345         (handoff_identity), (main):
7346         * testsuite/schedulers/Makefile.am:
7347         * testsuite/schedulers/group_link.c: (main):
7348         Show bug in scheduler when linking chain and loop based element 
7349         where the chain based element was not yet in a group.
7350
7351 2004-07-21  Benjamin Otte  <otte@gnome.org>
7352
7353         * gst/.cvsignore:
7354         * gst/autoplug/.cvsignore:
7355         * gst/elements/.cvsignore:
7356         * gst/indexers/.cvsignore:
7357         * libs/gst/bytestream/.cvsignore:
7358         * libs/gst/control/.cvsignore:
7359         * libs/gst/getbits/.cvsignore:
7360         * testsuite/states/.cvsignore:
7361         * testsuite/threads/.cvsignore:
7362           keep this up to date, since I seem to be the only one who cares
7363           about not missing files on commits (editor's note: no you don't,
7364           but feel free to change them at the time you add stuff instead
7365           of later on)
7366
7367 2004-07-21  Benjamin Otte  <otte@gnome.org>
7368
7369         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7370         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7371         (gst_bin_child_state_change_func), (set_kid_state_func),
7372         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7373           make state changes work correctly and reentrant (so removing
7374           elements from bins during state changes of bins doesn't cause
7375           segfaults or even wrong states)
7376           add debugging category and debugging output to print children states
7377         * gst/gstbin.c: (gst_bin_dispose): 
7378           add some assertion checks
7379         * gst/gstbin.h:
7380         * gst/gstbin.c: (gst_bin_sync_children_state):
7381           deprecate this function - it just does gst_bin_set_state (bin,
7382           GST_STATE (bin)) 
7383         * testsuite/threads/queue.c: (main):
7384           don't use gst_bin_sync_children_state anymore
7385         * testsuite/states/Makefile.am:
7386         * testsuite/states/bin.c:
7387           test that the state changes of bins work as expected
7388         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7389           some adjustments to change states correctly, too
7390         * gst/gstthread.c: (gst_thread_change_state):
7391           don't enable/disable "threadsafe" properties, they're unused and
7392           cause random segfaults
7393         * testsuite/threads/Makefile.am:
7394           the queue check randomly passes now, ignore it
7395
7396 2004-07-21  Benjamin Otte  <otte@gnome.org>
7397
7398         * gst/gstpad.c:
7399           check if data is NULL before outputting debug info. (fixes #145100)
7400
7401 2004-07-21  Benjamin Otte  <otte@gnome.org>
7402
7403         * gst/schedulers/entryscheduler.c:
7404         (gst_entry_scheduler_loop_wrapper),
7405         (gst_entry_scheduler_chain_wrapper),
7406         (gst_entry_scheduler_get_wrapper):
7407           reset the state when the cothread starts, so we don't get assertion
7408           failures on restarting of cothreads
7409
7410 2004-07-20  Benjamin Otte  <otte@gnome.org>
7411
7412         * gst/gstelement.c: (gst_element_link_pads_filtered):
7413           use correct sinkpad, if only sinkpad is specified, but not srcpad
7414           (fixes #147889)
7415         * gst/gstelement.c: (gst_element_set_state_func),
7416         (gst_element_change_state): ref/unref the element, signal handlers
7417         could get rid of the element otherwise
7418
7419 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7420
7421         * docs/random/ds/0.9-suggested-changes:
7422           Make note about renaming fixed-list to array.
7423         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7424         (_gst_value_initialize):
7425           Add array intersections.
7426         * testsuite/caps/intersect2.c: (main):
7427           Add test for array intersections.
7428
7429 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7430
7431         * configure.ac: back to cvs
7432
7433 === release 0.8.4 ===
7434
7435 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7436
7437         * configure.ac:
7438           releasing 0.8.4, "Paella"
7439           bump libtool versioning
7440
7441 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7442
7443         * po/LINGUAS:
7444         * po/ca.po:
7445           adding Catalan translation (Jordi Mallach)
7446
7447 2004-07-20  Wim Taymans  <wim@fluendo.com>
7448
7449         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7450         (handoff_identity), (main):
7451         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7452         (handoff_identity), (main):
7453         * testsuite/schedulers/Makefile.am:
7454         Added failing testcase for variant of #147894
7455
7456 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7457
7458         patch by: David Moore
7459
7460         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7461         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7462         (group_migrate_connected):
7463         * testsuite/schedulers/Makefile.am:
7464           fix for #142813 (Deadlock in optimal scheduler)
7465
7466 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7467
7468         patch by: Wim Taymans
7469
7470         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7471         (gst_opt_scheduler_schedule_run_queue),
7472         (gst_opt_scheduler_get_wrapper), (get_group),
7473         (group_migrate_connected):
7474         * testsuite/schedulers/Makefile.am:
7475           fix for #147819 (Add some checks in the opt scheduler)
7476
7477 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         patch by: Benjamin Otte
7480
7481         * gst/gstelementfactory.c: (__gst_element_details_set):
7482           fix for #147929: running gst-register in non-utf8 locale can cause
7483           invalid registry
7484
7485 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7486
7487         patch by: Wim Taymans
7488
7489         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7490         (group_has_element), (element_get_reachables_func),
7491         (group_migrate_connected):
7492           fix for #147894 (opt scheduler decoupled elements mismanagement)
7493         * testsuite/schedulers/Makefile.am:
7494           testsuite app now passes
7495
7496 2004-07-19  Wim Taymans  <wim@fluendo.com>
7497
7498         * testsuite/schedulers/147819.c: (handoff_identity1),
7499         (handoff_identity2), (main):
7500         * testsuite/schedulers/Makefile.am:
7501         Added testcase for bug 147819
7502
7503 2004-07-19  Wim Taymans  <wim@fluendo.com>
7504
7505         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7506         (handoff_identity), (main):
7507         * testsuite/schedulers/Makefile.am:
7508         Added testcase for bug 147894
7509
7510 2004-07-16  Wim Taymans  <wim@fluendo.com>
7511
7512         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7513         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7514         * testsuite/schedulers/Makefile.am:
7515         Added testsuite for bug 142183 in its two incarnations. Refcount
7516         is not increased for scheduled elements and threadsafe properties
7517         mutexes are not properly unlocked.
7518
7519 2004-07-16  Wim Taymans  <wim@fluendo.com>
7520
7521         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7522         (create_chain), (destroy_chain), (create_group), (destroy_group),
7523         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7524         (group_dec_link), (gst_opt_scheduler_pad_link),
7525         (group_inc_links_for_element), (group_migrate_connected):
7526         Call group_inc_link with the proper src->sink ordering -- 
7527         break this, and we break sort_chain. patch from wingo for bug
7528         147713.
7529         Partially revert patch 1.89. When adding a loop based element to 
7530         the scheduler, the links to other groups are automatically followed
7531         and incremented. This should not happen because the bin will call
7532         pad_link explicitly for those connection, resulting in them counted 
7533         twice. Results in assertion failure on pipeline cleanup.
7534
7535 2004-07-16  Wim Taymans  <wim@fluendo.com>
7536
7537         * testsuite/schedulers/143777-2.c: (main):
7538         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7539         (main):
7540         * testsuite/schedulers/Makefile.am:
7541         Added cleanup code to testcase 143777-2.
7542         Added testcase to show bug 147713, does not really show the
7543         deadlock as I can't figure out how to trigger it, but it does
7544         demonstrate bad ordering in the scheduler.
7545
7546 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7547
7548         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7549           change strndup to g_strndup.  Fixes #147707
7550
7551 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * po/af.po:
7554         * po/az.po:
7555         * po/cs.po:
7556         * po/en_GB.po:
7557         * po/fr.po:
7558         * po/nl.po:
7559         * po/sr.po:
7560         * po/sv.po:
7561         * po/tr.po:
7562         * po/uk.po:
7563           updated translations
7564
7565 2004-07-16  Benjamin Otte  <otte@gnome.org>
7566
7567         * gst/gstvalue.c: (gst_greatest_common_divisor):
7568           use ints and return ints, fractions only use ints, too, so this
7569           avoids accidently casting multiplications to unsigned
7570         (gst_value_lcopy_fraction): it's ints, not uint32
7571         (gst_value_set_fraction): disallow minint, multiplying and negation
7572           are broken with it
7573         (gst_value_fraction_multiply): fix to make large numbers work and get
7574         rid of the assumption that the multiplication of two ints fits an
7575         int64 - dunno if that's true for all systems
7576         * testsuite/caps/Makefile.am:
7577         * testsuite/caps/fraction-multiply-and-zero.c:
7578         (check_multiplication), (check_equal), (zero_test), (main):
7579           add tests for all the stuff above
7580         * testsuite/caps/value_compare.c: (test1):
7581           fix comment
7582         * tests/.cvsignore:
7583         * testsuite/caps/.cvsignore:
7584         * testsuite/debug/.cvsignore:
7585         * testsuite/dlopen/.cvsignore:
7586         * testsuite/states/.cvsignore:
7587           get up to date
7588
7589 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7590
7591         * docs/manual/bins-api.xml:
7592         * docs/manual/factories.xml:
7593         * docs/manual/helloworld.xml:
7594         * docs/manual/links-api.xml: 
7595           fixes for out of date info, incorrect info and grammar
7596
7597 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7598
7599         * docs/manual/pads.xml:
7600         * docs/manual/pads-api.xml: grammar fix
7601
7602 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7603
7604         * docs/manual/pads-api.xml: typo + grammar fix
7605
7606 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7607
7608         * docs/gst/gstreamer-sections.txt:
7609           add new symbols
7610         * docs/gst/tmpl/gstelement.sgml:
7611         * docs/gst/tmpl/gstpad.sgml:
7612         * docs/gst/tmpl/gsttypes.sgml:
7613         * docs/gst/tmpl/gstvalue.sgml:
7614           update docs
7615         * gst/gststructure.c: (gst_structure_set_valist),
7616         (gst_structure_from_abbr), (gst_structure_to_abbr):
7617         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7618         (gst_greatest_common_divisor), (gst_value_init_fraction),
7619         (gst_value_copy_fraction), (gst_value_collect_fraction),
7620         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7621         (gst_value_get_fraction_numerator),
7622         (gst_value_get_fraction_denominator),
7623         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7624         (gst_value_deserialize_fraction),
7625         (gst_value_transform_fraction_string),
7626         (gst_value_transform_string_fraction),
7627         (gst_value_compare_fraction), (_gst_value_initialize):
7628         * gst/gstvalue.h:
7629           adding GstFraction GValue type, get/set, and multiply
7630         * testsuite/caps/Makefile.am:
7631         * testsuite/caps/fraction.c: (test), (main):
7632         * testsuite/caps/string-conversions.c: (main):
7633         * testsuite/caps/value_compare.c: (test1), (main):
7634           add regression tests for GstFraction
7635
7636 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7637         
7638         * docs/manual/init-api.xml: Grammar fix
7639
7640 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7641
7642         * docs/manual/states.xml: Fix inconsistent information
7643
7644 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7645
7646         * gst/gstelement.c: (gst_element_set_state):
7647         * gst/gstpad.c: (gst_pad_try_set_caps):
7648         * gst/gststructure.c:
7649         * gst/gstthread.c: (gst_thread_child_state_change):
7650         * gst/gstvalue.c: (gst_value_compare_double):
7651         * gst/gstvalue.h:
7652         * testsuite/parse/parse1.c: (main):
7653           debugging additions and style cleanups
7654
7655 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7656
7657         * docs/manual/states.xml: Grammar fix
7658
7659 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7660
7661         * docs/manual/pads.xml: Grammar fix
7662
7663 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7664
7665         * docs/manual/elements.xml: Fixed image reference
7666
7667 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7668
7669         * docs/manual/goals.xml: Grammar fix
7670
7671 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7672
7673         * docs/manual/motivation.xml:
7674         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7675
7676 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7677
7678         * docs/manual/motivation.xml: Fix spelling
7679
7680 2004-07-15  Benjamin Otte  <otte@gnome.org>
7681
7682         * gst/gstelement.h: 
7683           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7684           strings.
7685         * gst/gstelement.c (gst_element_class_init):
7686           GError's are boxed, not objects
7687         * gst/gstmarshal.list:
7688           update list for the fixed error signal
7689
7690 2004-07-14  Andy Wingo  <wingo@pobox.com>
7691
7692         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7693         there all along, but the function wasn't. (guile-gstreamer's build
7694         system uses the address of the function -- I wasn't actually
7695         trying to use this.)
7696
7697 2004-07-14  Andy Wingo  <wingo@pobox.com>
7698
7699         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7700         as gst_pad_proxy_pad_link) just link to every other pad when they
7701         are called. In the case where the graph has cycles, this will mean
7702         that a call to try_set_caps will recurse. Allow this recursion
7703         and return OK, while we wait for the first try_set_caps to give a
7704         proper return value.
7705         (gst_pad_link_call_link_functions): Since this function is the
7706         only one to set the NEGOTIATING flag on a pad, if the flag is set
7707         it means that the link functions have indirectly recursed. If this
7708         happens, error out to avoid infinite recursion and an eventual
7709         SEGV.
7710         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7711         (gst_pad_proxy_getcaps): Intersect the result with the template
7712         caps to ensure that the return value is valid.
7713
7714 2004-07-14  Andy Wingo  <wingo@pobox.com>
7715
7716         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7717         one refcount, the calling function is the owner of the buffer.
7718
7719 2004-07-14  Wim Taymans  <wim@fluendo.com>
7720
7721         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7722         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7723         Fix stupid warning when an element is to be migrated but
7724         is already migrated.
7725
7726 2004-07-14  Wim Taymans  <wim@fluendo.com>
7727
7728         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7729         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7730         Make sure that a single non-loop-based element does not 
7731         end up in a group. This fixes the testsuite again.
7732
7733 2004-07-14  Wim Taymans  <wim@fluendo.com>
7734
7735         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7736         (add_to_group), (merge_groups), (schedule_group),
7737         (gst_opt_scheduler_get_wrapper), (group_elements),
7738         (group_dec_link), (gst_opt_scheduler_pad_link),
7739         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7740         (gst_opt_scheduler_iterate):
7741         move isolated groups to a new chain.
7742         Emit a warning instead of segfaulting in some error cases.
7743         Fix a bug where the link count between groups was not calculated 
7744         correctly. Fixes #144510.
7745
7746 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7747         * gst/elements/gstfilesrc.c:
7748           Binary files support under Windows now OK
7749       
7750 2004-07-13  Benjamin Otte  <otte@gnome.org>
7751
7752           compatibility fixes for Solaris 8/gcc 2.95
7753         * configure.ac:
7754           include libintl libs in LDFLAGS
7755         * gstvalue.c (gst_value_deserialize_buffer):
7756           cast isxdigit stuff to int to silence compiler warning
7757
7758 2004-07-12  Benjamin Otte  <otte@gnome.org>
7759
7760         * gst/gsttypes.h:
7761           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7762           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7763           just causes support madness
7764         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7765           make it work without this
7766         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7767         (gst_file_index_commit):
7768           glib IO channels don't want binary mode
7769         * testsuite/bytestream/filepadsink.c: (main):
7770         * testsuite/bytestream/test1.c: (read_param_file):
7771           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7772
7773 2004-07-12  Benjamin Otte  <otte@gnome.org>
7774
7775         * gst/gstelement.c: (gst_element_class_init),
7776         (gst_element_set_state), (gst_element_set_state_func):
7777           virutalize gst_element_set_state, use set_state member in class
7778           struct that was already added in 0.7 for this.
7779         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7780         (gst_bin_change_state):
7781           make gst_bin_foreach works similar to other foreach functions, plug
7782           memleaks in it. Make functions using it work with the new approach.
7783           Document gst_bin_foreach, so it can be exported if we want to
7784         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7785           use virtualized set_state to make set_state on bins set the state of
7786           all its children.
7787
7788 2004-07-12  Benjamin Otte  <otte@gnome.org>
7789
7790         * configure.ac:
7791           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7792           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7793         * gst/gstpad.c: (gst_pad_alloc_buffer):
7794           allow buffer_alloc functions to return NULL and allocate a normal
7795           buffer in that case
7796
7797 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7798         * gst/elements/gstfilesink.c:
7799         * gst/elements/gstfilesrc.c:
7800         * gst/indexers/gstfileindex.c:
7801         * gst/gsttypes.h:
7802         * testsuite/bytestream/filepadsink.c:
7803         * testsuite/bytestream/test1.c:
7804           Handle binary files under Windows
7805
7806 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7807         * docs/manual/win32.xml:
7808         * win32/config.h:
7809         * win32/gst-register.vcproj:
7810         * win32/gstreamer.def:
7811           Update to another gettext public build
7812
7813 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7814         * gst/gstplugin.c:
7815           Fix an impossible C syntax
7816         * win32/config.h:
7817           Disable i18n under Windows for the moment
7818         * win32/gst-register.vcproj:
7819           Use this configuration
7820
7821 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7822         * docs/manual/quotes.xml:
7823           Keep the quotes file alive
7824         * docs/random/ds/0.9-suggested-changes:
7825           Add the suggestion of including a 'rowstride' as part of video
7826           format caps
7827
7828 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7829
7830         * gst/gstelement.c: (gst_element_set_state),
7831         (gst_element_change_state):
7832           d'oh.  Set PENDING state correctly before forcing bin to change.
7833         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7834         (gst_structure_parse_fixed_list):
7835         * gst/schedulers/gstoptimalscheduler.c:
7836         (gst_opt_scheduler_state_transition):
7837         * testsuite/states/parent.c: (main):
7838           remove comment now that it's fixed.
7839
7840 2004-07-11  Benjamin Otte  <otte@gnome.org>
7841
7842         * gst/gstclock.h:
7843           GST_SECOND shouldn't cause a conversion to unsigned.
7844         * testsuite/clock/.cvsignore:
7845         * testsuite/clock/Makefile.am:
7846         * testsuite/clock/signedness.c: (main):
7847           make sure it never will again
7848
7849 2004-07-11  Andy Wingo  <wingo@pobox.com>
7850
7851         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7852         whose state is higher than the bin state, raise the bin state to
7853         ensure that bin state := highest child state.
7854         
7855 2004-07-11  Andy Wingo  <wingo@pobox.com>
7856
7857         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7858         procedure on the children of a bin. Assumes that the procedure can
7859         change the set of children.
7860         (set_kid_state_func): New static function.
7861         (gst_bin_change_state): Use gst_bin_foreach to call
7862         set_kid_state_func. Fixes a bug: if a child had a state-change
7863         handler that removes it from the bin, there would be a segfault.
7864         Hopefully it should also work in the case where the state-change
7865         handler on one child adds or removes other children. In any case,
7866         fixes should go to gst_bin_foreach.
7867
7868 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7869
7870         * gst/gstelement.c: (gst_element_set_state):
7871           compatibility fix for latest plugins release.  Change loop back
7872           to while {}
7873
7874 2004-07-09  Wim Taymans  <wim@fluendo.com>
7875
7876         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7877         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7878         (gst_thread_main_loop):
7879         Since remove is virtual in GstBin we must not assume the 
7880         elements GList to have anothing useful.
7881         Add some more logging to GstThread and be a bit more paranoid
7882         when resetting the scheduler.
7883         Set the state of the bin to NULL before removing the children.
7884
7885 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7886
7887         * testsuite/threads/Makefile.am:
7888         * testsuite/threads/threadg.c:
7889           added test to check if problem when removing all elements from a
7890           GstThread before setting GstThread state to NULL
7891
7892 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7893
7894         * docs/gst/tmpl/gstelement.sgml:
7895         * docs/gst/tmpl/gsttypes.sgml:
7896         * gst/gstbin.c: (gst_bin_change_state):
7897         * gst/gstelement.c: (gst_element_set_state),
7898         (gst_element_change_state):
7899           rework so that for bins we try to set the state on all children
7900           as well even if the bin is in the correct state already.
7901           change while to do so at least one iteration is done.
7902           For regular elements, we fall back to the previous behaviour for
7903           now since we first need a new plugins release.
7904         * testsuite/states/parent.c: (main):
7905           test for this case
7906           Fixes #123774
7907
7908 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7909
7910         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7911         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7912         (gst_queue_release_locks), (gst_queue_change_state),
7913         (gst_queue_set_property):
7914           add proper lock debugging.  Change dispose to finalize, since
7915           we're freeing mutexes and other stuff which should happen only once.
7916
7917 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7918
7919         * docs/gst/tmpl/gstelement.sgml:
7920         * docs/gst/tmpl/gstplugin.sgml:
7921         * docs/gst/tmpl/gsttypes.sgml:
7922         * docs/pwg/building-state.xml:
7923         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7924         * gst/gstelement.c: (gst_element_change_state):
7925         * gst/gstthread.c: (gst_thread_change_state):
7926           catch wrong state changes in element base class.
7927
7928 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7929
7930         * gst/gstinfo.h:
7931           clean up layout a little.
7932
7933 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7934
7935         * configure.ac:
7936         * testsuite/Makefile.am:
7937         * testsuite/states/Makefile.am:
7938         * testsuite/states/parent.c: (main):
7939           re-enable states testsuite dir.  Add test for state changes and
7940           parent behaviour
7941
7942 2004-07-09  Wim Taymans  <wim@fluendo.com>
7943
7944         * gst/schedulers/gstoptimalscheduler.c:
7945         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7946         (element_get_reachables_func), (element_get_reachables),
7947         (debug_element), (rechain_group), (group_migrate_connected),
7948         (gst_opt_scheduler_pad_unlink):
7949         Do not try to migrate decoupled elements to a new group since
7950         they are not added to groups.
7951
7952 2004-07-08  Benjamin Otte  <otte@gnome.org>
7953
7954         * gst/gstelement.c: (gst_element_error_func):
7955           make reentrant (= allow removing elements in error handler)
7956
7957 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7958
7959         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7960         (gst_pad_send_event), (gst_pad_call_chain_function):
7961           events sent to elements below PAUSED cannot be handled, so
7962           don't try to
7963
7964 2004-07-08  Wim Taymans  <wim@fluendo.com>
7965
7966         * gst/schedulers/gstoptimalscheduler.c:
7967         (chain_recursively_migrate_group), (create_group),
7968         (schedule_group), (gst_opt_scheduler_pad_link),
7969         (group_elements_set_visited), (element_get_reachables_func),
7970         (element_get_reachables), (group_can_reach_group), (debug_element),
7971         (rechain_group), (group_migrate_connected),
7972         (gst_opt_scheduler_pad_unlink):
7973         * testsuite/schedulers/Makefile.am:
7974         Implemented group splitting and rechaining.
7975         Fixes 143777 and 143777-2 in the testsuite.
7976
7977 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7978
7979         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7980           extra debugging
7981         * gst/gstevent.h:
7982         * gst/gstinfo.c: (gst_debug_log_default):
7983           print time nicely.  add thread pointer until someone figures out
7984           a completely portable way of getting at thread id's.
7985         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7986         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7987         (gst_pad_call_chain_function):
7988           extra debugging
7989         * gst/schedulers/gstoptimalscheduler.c:
7990         (get_group_schedule_function), (loop_group_schedule_function),
7991         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7992         (pad_clear_queued), (gst_opt_scheduler_iterate):
7993           rename BUFPEN and friends to DATAPEN since that's what they are.
7994
7995 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7996
7997         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7998         * gst/gstbuffer.h:
7999         * gst/gstpad.c:
8000           cleanups and debugging
8001
8002 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8003
8004         * configure.ac:
8005         * gst/gstvalue.c: (gst_value_compare_enum),
8006         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8007         (gst_value_can_compare), (gst_value_compare):
8008         * testsuite/Makefile.am:
8009         * testsuite/enumcaps/Makefile.am:
8010         * testsuite/enumcaps/enumcaps.c:
8011           Fix enum serialization, deserialization, comparison in caps, add
8012           a test to ensure that this continues working in the future.
8013
8014 2004-07-06  David Schleef  <ds@schleef.org>
8015
8016         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8017         Fix memleak.
8018
8019 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8022         * gst/gstplugin.h:
8023         * gst/registries/gstxmlregistry.c:
8024         (plugin_times_older_than_recurse), (plugin_times_older_than),
8025         (gst_xml_registry_parse_padtemplate):
8026           only rebuild registry when actual plugins have a newer time than
8027           the registry.  Fixes #145520
8028
8029 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8030
8031         * docs/manual/manual.xml:
8032         * docs/manual/win32.xml:
8033           add chapter on win32 building.  fixes #142422
8034
8035 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8036
8037         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8038
8039         * gst/autoplug/gstspider.c: (gst_spider_init),
8040         (gst_spider_dispose):
8041           fix spider memleaks.  fixes #137863
8042
8043 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8046
8047         * gst/schedulers/gstoptimalscheduler.c:
8048         (gst_opt_scheduler_pad_unlink):
8049           fix SIGBUS error, fixes #145338
8050
8051 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8052
8053         * gst/gstobject.c: (gst_object_replace):
8054         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8055         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8056           clean up clock lifecycle.  Fixes #109831
8057
8058 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8059
8060         * po/LINGUAS:
8061         * po/cs.po:
8062           added Czech translation (Miloslav Trmac)
8063
8064 2004-07-04  David Schleef  <ds@schleef.org>
8065
8066         * tools/Makefile.am:
8067         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8068
8069 2004-07-04  David Schleef  <ds@schleef.org>
8070
8071         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8072
8073 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8074
8075         * gst/gstbin.c: (gst_bin_restore_thyself):
8076           chain to parent restore so the bins get restored correctly
8077           in the editor
8078
8079 2004-07-03  David Schleef  <ds@schleef.org>
8080
8081         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8082         Actually do something in these functions, like before the big
8083         caps change.  (bug #145137)
8084
8085 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8086
8087         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8088         (gst_element_get_compatible_pad_filtered):
8089         * gst/gstthread.c: (gst_thread_main_loop):
8090           more debugging
8091
8092 2004-07-02  David Schleef  <ds@schleef.org>
8093
8094         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8095         * gst/gstobject.h:
8096         * gst/gstparse.h:
8097         * gst/gsttrace.h:
8098         * gst/gstxml.h:
8099
8100 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8101
8102         * gst/gstpad.c: (gst_pad_check_schedulers),
8103         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8104         (gst_pad_link_prepare):
8105           revert until testsuite is fixed
8106
8107 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8108
8109         * testsuite/Makefile.am:
8110         * testsuite/caps/filtercaps.c: (main):
8111         * testsuite/clock/clock1.c: (main):
8112         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8113           fix some more tests
8114
8115 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8118         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8119         * testsuite/cleanup/cleanup4.c: (main):
8120           fix testsuite
8121
8122 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8123
8124         * libs/gst/control/control.c:
8125         * libs/gst/control/dparam.c:
8126         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8127         * libs/gst/control/dparammanager.c:
8128         * libs/gst/control/dparammanager.h:
8129         * testsuite/dynparams/Makefile.am:
8130         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8131         (gst_dptest_change_state), (gst_dptest_chain), (main):
8132           fix testcase for dparams
8133           add debugging category
8134
8135 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8136
8137         * testsuite/Rules:
8138           change path
8139
8140 2004-07-02  Benjamin Otte  <otte@gnome.org>
8141
8142         * tests/.cvsignore:
8143         * tests/Makefile.am:
8144         * tests/mass_elements.c: (gst_get_current_time), (main):
8145           add simple benchmark to test various speeds of fakesrc ! identity !
8146           identity ! ... ! fakesink.
8147           Usage: mass_elements [num_identities] [num_buffers]
8148           If not specified they default to 1000.
8149
8150 2004-07-02  Benjamin Otte  <otte@gnome.org>
8151
8152         * gst/gstpad.c: (gst_pad_check_schedulers),
8153         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8154         (gst_pad_link_prepare):
8155           check that pads that get linked belong to the same manager. The old
8156           code allowed linking elements before putting them into bins, so it
8157           worked to link them and then put them in different threads, which
8158           lead to weird behaviour.
8159           Since this effectively disallows linking elements before putting
8160           them in a bin, some applications might not work after this and error
8161           out. If these applications are too critical, we might need to revert
8162           that patch. Please test this before the next release...
8163
8164 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8165
8166         * gst/gstpad.c: (gst_pad_get_caps):
8167           throw an error if the getcaps function does not return a subset of
8168           the template caps.
8169         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8170           make disconts without position info an error in debugging
8171         * tests/spidey_bench.c: (handoff), (main):
8172           don't count first try when averaging
8173
8174 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * gst/gstplugin.c: (gst_plugin_load_file):
8177           figure out problem with dynamic test
8178
8179 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * docs/gst/Makefile.am:
8182           fix docs build
8183
8184 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8185
8186         * po/POTFILES.in:
8187         * po/af.po:
8188         * po/az.po:
8189         * po/en_GB.po:
8190         * po/fr.po:
8191         * po/nl.po:
8192         * po/sr.po:
8193         * po/sv.po:
8194         * po/tr.po:
8195         * po/uk.po:
8196         * tools/gst-register.c: (plugin_added_func), (main):
8197           i18n-ize -register, fix plural
8198
8199 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8200
8201         * gst/elements/gstidentity.c: (gst_identity_class_init),
8202         (gst_identity_init), (gst_identity_chain),
8203         (gst_identity_set_property), (gst_identity_get_property):
8204         * gst/elements/gstidentity.h:
8205           check for perfect stream
8206
8207 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8208
8209         * gst/elements/gstidentity.c: (gst_identity_chain):
8210           print offset_end
8211
8212 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8213
8214         * docs/gst/Makefile.am:
8215         * docs/gst/gstreamer-docs.sgml:
8216           doc fixes
8217
8218 2004-06-24  David Schleef  <ds@schleef.org>
8219
8220         * autogen.sh:  Remove call to env, since the buildbot isn't
8221         broken anymore.
8222
8223 2004-06-24  Wim Taymans  <wim@fluendo.com>
8224
8225         * gst/elements/Makefile.am:
8226         * gst/elements/gstelements.c:
8227         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8228         (gst_multifdsink_class_init), (gst_multifdsink_init),
8229         (gst_multifdsink_add), (gst_multifdsink_remove),
8230         (gst_multifdsink_clear), (gst_multifdsink_chain),
8231         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8232         * gst/elements/gstmultifdsink.h:
8233         Added an element that writes to multiple filedescriptors at once.
8234
8235 2004-06-24  Benjamin Otte  <otte@gnome.org>
8236
8237         * gst/parse/grammar.y:
8238           don't try to link elements before they have been added to bins
8239
8240 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8241
8242         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8243         (gst_file_pad_get_length):
8244         * libs/gst/bytestream/filepad.h:
8245           add 2 new functions
8246
8247 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8248
8249         * docs/gst/gstreamer-sections.txt:
8250         remove from docs, the define that Benjamin removed from gstelement.h
8251
8252 2004-06-22  Benjamin Otte  <otte@gnome.org>
8253
8254         * gst/gstelement.h:
8255           remove define that referenced a nonexisting GstElement struct member
8256
8257 2004-06-20  Benjamin Otte  <otte@gnome.org>
8258
8259         * gst/gstdata.c: (gst_data_is_writable):
8260           whoops, return values were wrong, so writable data was marked as
8261           non-writable and vice versa. (fixes #143953, spotted by Francis
8262           Labonte)
8263           Shows how rarely we need to copy data ;)
8264
8265 2004-06-20  Benjamin Otte  <otte@gnome.org>
8266
8267         * testsuite/schedulers/.cvsignore:
8268         * testsuite/schedulers/Makefile.am:
8269         * testsuite/schedulers/143777-2.c: (main):
8270           add test for opt breakage in bug #143777
8271
8272 2004-06-20  Benjamin Otte  <otte@gnome.org>
8273
8274         * gst/gstpad.c: (gst_pad_call_chain_function):
8275           check for if we were unlinked while inside the chainfunction (fixes
8276           entrygthread having issues with #143777)
8277         * testsuite/schedulers/143777.c: (main):
8278         * testsuite/schedulers/Makefile.am:
8279           add a test for that fix
8280
8281 2004-06-20  Benjamin Otte  <otte@gnome.org>
8282
8283         * gst/gstvalue.c: (gst_value_set_int_range):
8284           test that start is smaller then end
8285         * libs/gst/bytestream/Makefile.am:
8286         * libs/gst/bytestream/filepad.c: 
8287         * libs/gst/bytestream/filepad.h:
8288           add GstFilePad - a pad that behaves like a FILE*
8289         * testsuite/bytestream/.cvsignore:
8290         * testsuite/bytestream/Makefile.am:
8291         * testsuite/bytestream/filepadsink.c: 
8292           test for the GstFilePad
8293
8294 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8295
8296         * gst/elements/gstidentity.c: (gst_identity_class_init),
8297         (gst_identity_init), (gst_identity_set_clock),
8298         (gst_identity_chain), (gst_identity_set_property),
8299         (gst_identity_get_property):
8300         * gst/elements/gstidentity.h:
8301         * gst/gstclock.c: (gst_clock_id_wait):
8302           add a "sync" property to sync to the clock
8303
8304 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8305
8306         * gst/gstelementfactory.c: (gst_element_factory_create):
8307           make the freakin "elementfactory bla has no type" message more
8308           useful. So we actually can do something when someone shows up
8309           complaining about it.
8310
8311 2004-06-15  Johan Dahlin  <johan@gnome.org>
8312
8313         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8314         found. This matches the old behavior better. Thanks to Thomas for
8315         pointing out.
8316
8317 2004-06-14  David Schleef  <ds@schleef.org>
8318
8319         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8320         -fomit-frame-pointer.  Appears to generate correct code in
8321         other cases as well.
8322
8323 2004-06-14  Johan Dahlin  <johan@gnome.org>
8324
8325         * tools/gst-inspect.c (main): Add two new command line options: -a
8326         to print all elements and -n to print the name on each line. Also
8327         fix some error reporting.
8328         (main): Simplify, remove -n and always print names if -a is specified
8329
8330 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8331
8332         * win32/gstconfig.h:
8333         * win32/GSTreamer.vcproj:
8334         * win32/Makefile:
8335         * gst/gstconfig.h.in:
8336         * gst/gst.h:
8337         * gst/gstbin.h:
8338         * gst/gstelement.h:
8339         * gst/gstevent.h:
8340         * gst/gstobject.h:
8341         * gst/gstpad.h:
8342         * docs/gst/gstreamer-sections.txt:
8343         * docs/gst/tmpl/gstconfig.sgml:
8344           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8345
8346 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8347         * docs/gst/gstreamer-sections.txt:
8348         * docs/gst/tmpl/gstconfig.sgml:
8349         Add the GSTREAMER_EXPORT macro to the docs
8350
8351 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8352
8353         * tools/gst-compprep.c: (handle_xmlerror), (main):
8354         Add a check for the version that introduced SetStructuredError to fix
8355         the build on FC1
8356
8357 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8358
8359         * win32/msvc71.sln:
8360         * win32/testsuite/:
8361           prepare to compile the testsuite with MSVC
8362
8363 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8364
8365         * docs/manual/win32.xml:
8366           attempt to transform the Win32 README into an XML doc
8367
8368 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8369
8370         * gst/gst.c:
8371         * gst/gstbin.*:
8372         * gst/config.h.in:
8373         * gst/gstelement.*:
8374         * gst/gstevent.h:
8375         * gst/gstobject.*:
8376         * gst/gstpad.h:
8377         * tools/gst-register.c:
8378         * win32/gstreamer.def:
8379           extern symbols are now exported for the Windows DLL
8380
8381 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8382
8383         * gst/gstinfo.h:
8384           fix a problem to enable/disable DEBUG under MSVC
8385
8386 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8387
8388         * win32/:
8389           enable more debug code in DEBUG build
8390
8391 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8392
8393         * win32/config.h:
8394         * gst/gst-i18n-app.h:
8395           enable NLS under Windows
8396
8397 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8398         * tools/gst-compprep.c: (handle_xmlerror), (main):
8399           Make an error that baffled me a bit clearer
8400
8401 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8402
8403         * gst/gstqueue.c:
8404           don't use g_queue_get_length () because it's 2.4, use ->length
8405
8406 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8407
8408         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8409
8410         * tools/gst-inspect.c: (print_signal_info):
8411           don't free random data twice. (fixes #144185)
8412
8413 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * gst/gstqueue.c:
8416         * gst/gstqueue.h:
8417           fix removing from the wrong queue on event timeout
8418           fix disposing of the event queue by casting correctly
8419           add mutexes for handling the event queue
8420           someone was sleeping when fixing queue last time around :)
8421
8422 2004-06-10  Johan Dahlin  <johan@gnome.org>
8423
8424         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8425         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8426
8427 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8428
8429         * docs/random/gdp:
8430         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8431         * libs/gst/dataprotocol/dataprotocol.c:
8432         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8433         (gst_dp_buffer_from_header):
8434         * libs/gst/dataprotocol/dataprotocol.h:
8435         * libs/gst/dataprotocol/dp-private.h:
8436           rev version to 0.1, add buffer flags and copy them
8437
8438 2004-06-09  Johan Dahlin  <johan@gnome.org>
8439
8440         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8441         the flags from the buffer we're copying.
8442
8443 2004-06-09  Wim Taymans  <wim@fluendo.com>
8444
8445         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8446         * gst/elements/gstidentity.c: (gst_identity_init),
8447         (gst_identity_chain):
8448         Print more buffer info in fakesink.
8449         Make identity output similar to fakesink.
8450
8451 2004-06-07  Daniel Gazard  <dany42@free.fr>
8452
8453         reviewed by Benjamin Otte  <otte@gnome.org>
8454
8455         * configure.ac:
8456           fix cross compiling not working. (fixes #143741)
8457
8458 2004-06-07  Benjamin Otte  <otte@gnome.org>
8459
8460         * gst/gstelement.c: (gst_element_set_time_delay):
8461           add failure check
8462         * gst/gstinfo.h:
8463           put brackets around macro arguments of GST_TIME_ARGS, add note to
8464           move it to correct header in 0.9
8465
8466 2004-06-07  Benjamin Otte  <otte@gnome.org>
8467
8468         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8469         (gst_file_index_load), (_file_index_id_save_entries),
8470         (gst_file_index_commit), (gst_file_index_add_association),
8471         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8472         (gst_file_index_plugin_init):
8473           make debugging use a default category
8474
8475 2004-06-06  David Moore  <dcm@acm.org>
8476
8477         reviewed by Benjamin Otte  <otte@gnome.org>
8478
8479         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8480         (gst_fdsrc_change_state):
8481           reset offset counter when going READY => PAUSED. (fixes #142903)
8482
8483 2004-06-06  ed@catmur.co.uk
8484
8485         reviewed by Benjamin Otte  <otte@gnome.org>
8486
8487         * gst/registries/gstxmlregistry.c:
8488         (gst_xml_registry_rebuild_recurse):
8489           don't rely on g_dir_open to figure out if a file is a directory, use
8490           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8491           directories. (fixes #142850)
8492
8493 2004-06-06  Benjamin Otte  <otte@gnome.org>
8494
8495         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8496           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8497         * libs/gst/bytestream/adapter.c:
8498         * libs/gst/bytestream/adapter.h:
8499           fix copyright in header and typo in debugging category name
8500
8501 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8502
8503         * configure.ac:
8504           bump nano to cvs
8505
8506 === release 0.8.3 ===
8507
8508 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8509
8510         * configure.ac:
8511           update libtool versioning
8512           do a new release
8513         * docs/gst/tmpl/gstelement.sgml:
8514         * docs/gst/tmpl/gsttypes.sgml:
8515         * gst/gstinfo.c: (_gst_debug_init):
8516           put back GST_CAT_DATAFLOW to fix API breakage
8517
8518 2004-06-04  David Schleef  <ds@schleef.org>
8519
8520         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8521
8522 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8523
8524         * configure.ac:
8525           bump nano to cvs
8526
8527 === release 0.8.2 ===
8528
8529 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8530
8531         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8532           check GST_DEBUG environment variable which is parsed the same way
8533           as --gst-debug=
8534
8535 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8536
8537         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8538                             gstmd5sink.c gstshaper.c gsttee.c
8539                             gsttypefindelement.c
8540         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8541
8542           - removing trailing commas at end of enums
8543             it is correct C99 code but C90 compilers would complain
8544             (AIX, Forte, ...)
8545             ('should' fix #143290, at least partially)
8546
8547 2004-05-27  Wim Taymans  <wim@fluendo.com>
8548
8549         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8550         (chain_group_set_enabled), (create_group), (add_to_group),
8551         (merge_groups), (setup_group_scheduler), (group_elements),
8552         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8553         Don't try to follow the pad connections with other groups
8554         when a loop based element is added to the scheduler because
8555         the bin will inform the scheduler about the pad links a little
8556         later.
8557
8558 2004-05-27  Wim Taymans  <wim@fluendo.com>
8559
8560         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8561         (remove_from_chain), (chain_group_set_enabled),
8562         (setup_group_scheduler), (group_element_set_enabled),
8563         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8564         (gst_opt_scheduler_show):
8565         Elements without a group can do a state change as well, just wait
8566         with the setup of the scheduling function when it is added to a
8567         chain.
8568
8569 2004-05-27  Wim Taymans  <wim@fluendo.com>
8570
8571         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8572         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8573         (merge_groups), (setup_group_scheduler),
8574         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8575         (gst_opt_scheduler_show):
8576         Fixes to maintain internal consistency of the scheduler data
8577         structures. 
8578          - adding an enabled group to a chain should increment the
8579            number of enabled elements in that chain.
8580          - removing an enabled group from a chain could disable the
8581            chain.
8582          - removing a disabled group from a chain could enable the
8583            chain.
8584          - add g_assert when internal inconsistency is detected.
8585          - adding an element to a group could increase the number of
8586            links this group has with other groups.
8587          - merging two groups also merges the chains.
8588          - also show group links in the _show method.
8589            
8590
8591 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8592
8593         * gst/gstcaps.c: (gst_caps_structure_simplify):
8594           don't print error messages when there is no error
8595         * gst/gstvalue.c: (gst_value_compare_int_range):
8596           compare the second value, too
8597         * testsuite/caps/Makefile.am:
8598         * testsuite/caps/random.c: (assert_on_error), (main):
8599           add tests to make sure the two things above are checked for
8600
8601 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8602
8603         * configure.ac:
8604         * libs/gst/dataprotocol/Makefile.am:
8605         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8606         * libs/gst/dataprotocol/dataprotocol.h:
8607           wrap header in GST_ENABLE_NEW.  make code use it
8608
8609 2004-05-23  Johan Dahlin  <johan@gnome.org>
8610
8611         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8612         so verbose and print GstElement signal names all the time.
8613
8614 2004-05-22  David Schleef  <ds@schleef.org>
8615
8616         * gst/registries/gstxmlregistry.c:
8617         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8618         (bug #142957)
8619
8620 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8621
8622         * configure.ac:
8623           scrub cflags for glib2 so gcc doesn't complain when glib is in
8624           /usr/local
8625
8626 2004-05-21  Johan Dahlin  <johan@gnome.org>
8627
8628         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8629         __GNUC__, patch from Brian Cameron, fixes bug #142804
8630
8631 2004-05-20  David Schleef  <ds@schleef.org>
8632
8633         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8634         comparison code.  (bug #142819)
8635
8636 2004-05-20  Wim Taymans  <wim@fluendo.com>
8637
8638         * gst/gstbuffer.c: (gst_buffer_default_copy):
8639         * gst/gstbuffer.h:
8640         Added Comment to a flag.
8641         copy relevant flags in _buffer_copy.
8642
8643 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         reviewed by: Wim Taymans <wim at fluendo dot com>
8646
8647         * gst/gstbuffer.h:
8648           add GST_BUFFER_IN_CAPS buffer flag
8649         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8650         (gst_structure_parse_any_list), (gst_structure_parse_list),
8651         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8652         * gst/gstvalue.c: (gst_value_serialize_any_list),
8653         (gst_value_transform_any_list_string),
8654         (gst_value_list_prepend_value), (gst_value_list_append_value),
8655         (gst_value_list_get_size), (gst_value_list_get_value),
8656         (gst_value_transform_list_string),
8657         (gst_value_transform_fixed_list_string),
8658         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8659         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8660         (_gst_value_initialize):
8661         * gst/gstvalue.h:
8662           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8663           < , > as a format.
8664         * testsuite/caps/string-conversions.c: (main):
8665           add regression tests for < >
8666
8667 2004-05-20  Johan Dahlin  <johan@gnome.org>
8668
8669         * docs/gst/Makefile.am (all-local): Re-add
8670
8671 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8672
8673         * docs/gst/Makefile.am:
8674         * docs/gst/gstreamer-docs.sgml:
8675         * docs/libs/Makefile.am:
8676         * docs/libs/gstreamer-libs-docs.sgml:
8677           fix distcheck issues
8678
8679 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8680
8681         * libs/gst/dataprotocol/Makefile.am:
8682           add to autotest
8683
8684 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * libs/gst/dataprotocol/Makefile.am:
8687         * libs/gst/dataprotocol/dataprotocol.c:
8688         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8689         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8690         * libs/gst/dataprotocol/dp-private.h:
8691           use GST macros to read/write fixed length ints
8692           add some more asserts
8693
8694 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8695
8696         * docs/libs/gstreamer-libs-docs.sgml:
8697         * docs/libs/gstreamer-libs-sections.txt:
8698           remove idct and putbits
8699         * configure.ac:
8700         * docs/libs/tmpl/gstdataprotocol.sgml:
8701         * libs/gst/Makefile.am:
8702         * libs/gst/dataprotocol/Makefile.am:
8703         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8704         (buffer_test), (caps_test), (event_test), (main):
8705         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8706         (gst_dp_dump_byte_array), (gst_dp_init),
8707         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8708         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8709         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8710         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8711         (gst_dp_validate_header), (gst_dp_validate_payload),
8712         (gst_dp_validate_packet), (plugin_init):
8713         * libs/gst/dataprotocol/dataprotocol.h:
8714         * libs/gst/dataprotocol/dp-private.h:
8715           add dataprotocol
8716
8717 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8718
8719         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8720           fix int variable deserialization and add a helper so we can actually
8721           debug this.
8722
8723 2004-05-18  David Schleef  <ds@schleef.org>
8724
8725         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8726           argv[0].  Calling yourself is probably not the best way to
8727           construct a test like this, btw.
8728
8729 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8730
8731         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8732           don't claim to be more intelligent than a scheduler when the
8733           scheduler claims the pipeline is stopped
8734         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8735         (safe_cothread_destroy),
8736         (gst_entry_scheduler_remove_all_cothreads),
8737         (gst_entry_scheduler_reset), (_remove_cothread),
8738         (gst_entry_scheduler_state_transition):
8739           hold off cothread destruction if we're not in main cothread
8740         * configure.ac:
8741         * testsuite/Makefile.am:
8742           add new test dir
8743         * testsuite/schedulers/.cvsignore:
8744         * testsuite/schedulers/Makefile.am:
8745           add tests
8746         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8747           check relinking and adding/removing elements from a running pipeline
8748         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8749           check unlinking in a running pipeline
8750         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8751           check unreffing a running pipeline
8752         * testsuite/schedulers/useless_iteration.c: (main):
8753           check iterating a pipeline that contains running threads works
8754
8755 2004-05-18  David Schleef  <ds@schleef.org>
8756
8757         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8758           is false.
8759
8760 2004-05-18  Wim Taymans  <wim@fluendo.com>
8761
8762         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8763         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8764         Fixed an error introduced with patch for 1.63. When setting
8765         a get based element as the entry point in a group, make sure
8766         to mark the group as GET based.
8767
8768 2004-05-18  Wim Taymans  <wim@fluendo.com>
8769
8770         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8771         (setup_group_scheduler), (loop_group_schedule_function),
8772         (gst_opt_scheduler_pad_link):
8773         Added some more debug info and fixed a bug where the group
8774         type was set to LOOP but it was in fact unknown.
8775
8776 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8777
8778         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8779           make resetting scheduler work twice in a row
8780
8781 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8782
8783         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8784         (CREATE_USERIALIZATION), (_gst_value_initialize),
8785         (gst_value_compare_float), (gst_value_serialize_float),
8786         (gst_value_deserialize_float), (gst_value_compare_enum),
8787         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8788           add serialization and comparison functions for long, int64, enum and
8789           float values
8790         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8791           use best serialization function in type hierarchy instead of only a
8792           matching one. This is required for enums to work.
8793         * gst/parse/grammar.y:
8794           use gst_caps_deserialize
8795         * testsuite/parse/Makefile.am:
8796           parse1 now works
8797         * testsuite/parse/parse1.c: (main):
8798           remove aggregator check, aggregator is broken, this test works now
8799           but fails because of bug #138012
8800         * testsuite/parse/parse2.c: (main):
8801           s/xvideosink/xvimagesink - this test looks a lot like we should
8802           disable it
8803
8804 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8805
8806         * gst/gstelement.c: (gst_element_class_init):
8807           whoops, store the signal id correctly
8808         * gst/schedulers/gstbasicscheduler.c:
8809         (gst_basic_scheduler_chain_wrapper):
8810           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8811           chain function isn't linked
8812
8813 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8814         * configure.ac:
8815         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8816         support until we decide where the flags should be used
8817         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8818         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8819         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8820         Output refused caps in the debug info
8821
8822 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8823
8824         * gst/elements/gstidentity.c: (gst_identity_chain):
8825           add duration debug
8826         * gst/gstinfo.c: (gst_debug_log_default):
8827           add timestamp
8828
8829 2004-05-13  Benjamin Otte  <otte@gnome.org>
8830
8831         * gst/gstpipeline.c: (gst_pipeline_dispose),
8832         (gst_pipeline_change_state):
8833           call gst_scheduler_reset on dispose (fixes #141416)
8834
8835 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8836
8837         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8838           compute mapsize correctly
8839         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8840           use correct datatypes when calling a varargs function
8841         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8842           push a DISCONT event as first thing
8843         * gst/gst_private.h:
8844         * gst/gstinfo.c: (_gst_debug_init):
8845           remove GST_DATAFLOW debugging category
8846         * gst/gstbin.c: (gst_bin_iterate):
8847           use GST_SCHEDULING category
8848         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8849         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8850         (gst_pad_call_get_function):
8851           add GST_DATAFLOW to easily track flow of buffers or events.
8852         * gst/gstqueue.c: (gst_queue_get_type),
8853         (gst_queue_handle_pending_events), (gst_queue_chain),
8854         (gst_queue_get), (gst_queue_handle_src_event):
8855           use own static debugging category GST_DATAFLOW for dataflow,
8856           use DEBUG category for showing which path events go, use LOG
8857           category for buffers.
8858
8859 2004-05-10  David Schleef  <ds@schleef.org>
8860
8861         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8862
8863 2004-05-10  David Schleef  <ds@schleef.org>
8864
8865         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8866         symbols, because otherwise we don't know what they are.  Thanks,
8867         the GStreamer team.
8868         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8869
8870 2004-05-10  David Schleef  <ds@schleef.org>
8871
8872         (from Steve Lhomme)
8873         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8874         are deleted.  Fix.
8875         * win32/Makefile.inspect:
8876         * win32/Makefile.launch:
8877         * win32/Makefile.register:
8878
8879 2004-05-10  David Schleef  <ds@schleef.org>
8880
8881         * gst/gstinfo.h: Add missing inline function.
8882         * gst/gsttrace.c: add include
8883         * gst/parse/grammar.y: remove unused code
8884         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8885         more portable.
8886         * tools/gst-register.c: wrap unistd.h
8887         
8888         More additions/fixes from Steve for the MSVC build.
8889         * win32/GStreamer.vcproj:
8890         * win32/Makefile:
8891         * win32/Makefile.inspect:
8892         * win32/Makefile.launch:
8893         * win32/Makefile.register:
8894         * win32/README.txt:
8895         * win32/gst-inspect.vcproj:
8896         * win32/gst-launch.vcproj:
8897         * win32/gst-register.vcproj:
8898         * win32/gstbytestream.def:
8899         * win32/gstbytestream.vcproj:
8900         * win32/gstconfig.h:
8901         * win32/gstelements.def:
8902         * win32/gstelements.vcproj:
8903         * win32/gstenumtypes.c:
8904         * win32/gstenumtypes.h:
8905         * win32/gstoptimalscheduler.def:
8906         * win32/gstoptimalscheduler.vcproj:
8907         * win32/gstreamer.def:
8908         * win32/gstspider.def:
8909         * win32/gstspider.vcproj:
8910         * win32/gstversion.h:
8911         * win32/msvc71.sln:
8912
8913 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8914
8915         * gst/gstelement.c: (gst_element_class_init),
8916         (gst_element_no_more_pads):
8917         * gst/gstelement.h:
8918           add gst_element_no_more_pads and the "no-more-pads" signal
8919
8920 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8921
8922         * gst/gstregistry.c: (gst_registry_add_plugin):
8923           refuse to add plugins when a plugin with same name is already
8924           registered. Fixes a bunch of "How to remove plugins?" issues.
8925           May lead to other problems though, let's test
8926
8927 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8928
8929         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8930         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8931         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8932
8933 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8934
8935         * tests/Makefile.am: fix am16 issue
8936
8937 2004-05-09  Benjamin Otte  <otte@gnome.org>
8938
8939         * libs/gst/bytestream/Makefile.am:
8940           we should indeed add .c files to makefiles or they won't be built
8941           (d'oh)
8942
8943 2004-05-08  Benjamin Otte  <otte@gnome.org>
8944
8945         * gst/gstpad.c: (gst_pad_proxy_fixate):
8946           really reduce the set of caps
8947
8948 2004-05-08  Benjamin Otte  <otte@gnome.org>
8949
8950         * tests/Makefile.am:
8951         * tests/spidey_bench.c: (handoff), (main):
8952           add benchmark to test how long spider needs to create a pipeline
8953
8954 2004-05-08  Benjamin Otte  <otte@gnome.org>
8955
8956         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8957           mark links as unengaged when unnegotiating instead of deactivating.
8958           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8959
8960 2004-05-08  Benjamin Otte  <otte@gnome.org>
8961
8962         * docs/manual/helloworld.xml:
8963           s/audiosink/osssink (patch by Patrick Guimond)
8964
8965 2004-05-07  David Schleef  <ds@schleef.org>
8966
8967         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8968         since it contains important stuff.
8969
8970 2004-05-07  David Schleef  <ds@schleef.org>
8971
8972         * testsuite/caps/caps.c: (test3), (main): A check for appending
8973         ANY caps.
8974
8975 2004-05-07  David Schleef  <ds@schleef.org>
8976
8977         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8978         which may contain commas.  Fixes detection of -Wa,-mregnames
8979
8980 2004-05-06  David Schleef  <ds@schleef.org>
8981
8982         Changes to handle compilers that don't have variadic macro
8983         support.  In particular, glib headers define some inlines
8984         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8985         builds.
8986         * gst/Makefile.am:
8987         * gst/cothreads.c:
8988         * gst/elements/gstfdsink.c:
8989         * gst/elements/gstfdsrc.c:
8990         * gst/elements/gstfilesink.c:
8991         * gst/elements/gstfilesrc.c:
8992         * gst/gst_private.h:
8993         * gst/gstatomic.c:
8994         * gst/gstcaps.c: (gst_caps_append):
8995         * gst/gstcpu.c: (gst_cpuid_i386):
8996         * gst/gstelement.c:
8997         * gst/gsterror.c:
8998         * gst/gstfilter.c:
8999         * gst/gstinfo.h:
9000         * gst/gstprobe.c:
9001         * gst/gstquery.c:
9002         * gst/gstregistry.c:
9003         * gst/gststructure.c:
9004         * gst/gsttaginterface.c:
9005         * gst/gsttrace.c: (gst_trace_new):
9006         * gst/gsttrashstack.c:
9007         * gst/gsturi.c:
9008         * gst/gstvalue.c:
9009         * gst/parse/grammar.y:
9010         * gst/parse/parse.l:
9011         * tools/gst-inspect.c: (main):
9012         * tools/gst-launch.c: (main):
9013         * tools/gst-xmlinspect.c: (PUT_STRING):
9014
9015 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9016
9017         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9018         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9019         * gst/elements/gstfilesrc.h:
9020           send NEW_MEDIA events correctly
9021         * gst/elements/gsttypefindelement.c: (start_typefinding),
9022         (gst_type_find_element_handle_event):
9023           restart typefinding when we get a NEW_MEDIA event
9024         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9025         (gst_bin_dispose):
9026           don't die when someone removes elements in callbacks
9027         * gst/gstelement.c: (gst_element_change_state):
9028           improve debugging
9029         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9030           we need a NEW_MEDIA event to engage a link
9031         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9032           don't g_print debugging stuff
9033         * testsuite/caps/simplify.c: (check_caps):
9034
9035 2004-05-04  Benjamin Otte  <otte@gnome.org>
9036
9037         * gst/parse/grammar.y:
9038           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9039
9040 2004-05-04  Benjamin Otte  <otte@gnome.org>
9041
9042         * testsuite/caps/renegotiate.c: (main):
9043           improve output in error case
9044
9045 2004-05-04  Benjamin Otte  <otte@gnome.org>
9046
9047         * gst/parse/grammar.y:
9048           fix assert to not trigger when there's no error argument
9049         * gst/parse/parse.l:
9050           fix definition of caps to allow more than two structures
9051         * testsuite/caps/Makefile.am:
9052         * testsuite/caps/renegotiate.c: (main):
9053           it's sinesrc and works in that case
9054
9055 2004-05-04  Wim Taymans  <wim@fluendo.com>
9056
9057         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9058         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9059         when removing an element from a group, we always need to
9060         decrement the link count that this group had with other 
9061         groups through the element.
9062         added an extra assert to catch inconsistencies when decrementing
9063         the link count.
9064
9065 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9066
9067         * configure.ac:
9068         * docs/gst/Makefile.am:
9069         * docs/gst/gstreamer-sections.txt:
9070         * docs/gst/tmpl/gstcompat.sgml:
9071         * examples/appreader/Makefile.am:
9072         * examples/cutter/Makefile.am:
9073         * examples/events/Makefile.am:
9074         * examples/helloworld/Makefile.am:
9075         * examples/helloworld2/Makefile.am:
9076         * examples/launch/Makefile.am:
9077         * examples/manual/Makefile.am:
9078         * examples/mixer/Makefile.am:
9079         * examples/pingpong/Makefile.am:
9080         * examples/plugins/Makefile.am:
9081         * examples/queue/Makefile.am:
9082         * examples/queue2/Makefile.am:
9083         * examples/queue3/Makefile.am:
9084         * examples/queue4/Makefile.am:
9085         * examples/retag/Makefile.am:
9086         * examples/thread/Makefile.am:
9087         * examples/typefind/Makefile.am:
9088         * examples/xml/Makefile.am:
9089         * gst/Makefile.am:
9090         * gst/autoplug/Makefile.am:
9091         * gst/elements/Makefile.am:
9092         * gst/gstcompat.h:
9093         * gst/indexers/Makefile.am:
9094         * gst/parse/Makefile.am:
9095         * gst/registries/Makefile.am:
9096         * gst/schedulers/Makefile.am:
9097         * libs/gst/bytestream/Makefile.am:
9098         * libs/gst/control/Makefile.am:
9099         * libs/gst/getbits/Makefile.am:
9100         * po/af.po:
9101         * po/az.po:
9102         * po/en_GB.po:
9103         * po/fr.po:
9104         * po/nl.po:
9105         * po/sr.po:
9106         * po/sv.po:
9107         * po/tr.po:
9108         * po/uk.po:
9109         * tests/Makefile.am:
9110         * tests/bufspeed/Makefile.am:
9111         * tests/instantiate/Makefile.am:
9112         * tests/memchunk/Makefile.am:
9113         * tests/muxing/Makefile.am:
9114         * tests/negotiation/Makefile.am:
9115         * tests/probes/Makefile.am:
9116         * tests/sched/Makefile.am:
9117         * tests/seeking/Makefile.am:
9118         * tests/threadstate/Makefile.am:
9119         * testsuite/caps/Makefile.am:
9120         * testsuite/cleanup/Makefile.am:
9121         * testsuite/dlopen/Makefile.am:
9122         * testsuite/dynparams/Makefile.am:
9123         * testsuite/plugin/Makefile.am:
9124         * testsuite/states/Makefile.am:
9125         * tools/Makefile.am:
9126           reorganize compile/link flags to be consistent
9127           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9128
9129 2004-05-04  David Schleef  <ds@schleef.org>
9130
9131         The "once more, with feeling" check-in.
9132         * testsuite/caps/Makefile.am: dist caps_strings
9133         * testsuite/caps/renegotiate.c: (main): This test triggers a
9134           segfault in the core.  Marking as failing.
9135
9136 2004-05-03  David Schleef  <ds@schleef.org>
9137
9138         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9139           by the build bots.
9140         * testsuite/caps/renegotiate.c: (main): Same.
9141
9142 2004-05-03  David Schleef  <ds@schleef.org>
9143
9144         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9145
9146 2004-05-03  David Schleef  <ds@schleef.org>
9147
9148         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9149           variable to find our source file.
9150
9151 2004-05-03  David Schleef  <ds@schleef.org>
9152
9153         * configure.ac:  Link plugins with libgstreamer and dependent
9154           libraries
9155         * testsuite/caps/Makefile.am:
9156         * testsuite/caps/caps_strings:
9157         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9158           through a file of caps strings and test each one
9159
9160 2004-05-04  Benjamin Otte  <otte@gnome.org>
9161
9162         * libs/gst/bytestream/Makefile.am:
9163         * libs/gst/bytestream/adapter.c: 
9164         * libs/gst/bytestream/adapter.h:
9165           add GstAdapter, similar to bytestream, but doesn't require ugly event
9166           handling or uglier loopbased elements
9167
9168 2004-05-03  David Schleef  <ds@schleef.org>
9169
9170         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9171         * testsuite/caps/erathostenes.c:
9172         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9173
9174 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * docs/pwg/pwg.xml:
9177           remove hardcoded stylesheet path (duh)
9178         * docs/random/release:
9179         * docs/gst/gstreamer-sections.txt:
9180         * gst/Makefile.am:
9181         * gst/gst.h:
9182         * gst/gst_private.h:
9183         * gst/gstcaps.c:
9184         * gst/gstevent.c:
9185         * gst/gstformat.c:
9186         * gst/gstinfo.c:
9187         * gst/gstinfo.h:
9188         * gst/gstinterface.c:
9189         * gst/gstmemchunk.c:
9190         * gst/gstprobe.c:
9191         * gst/gstquery.c:
9192         * gst/gstregistry.c:
9193         * gst/gstregistrypool.c:
9194         * gst/gststructure.c:
9195         * gst/gsttaginterface.c:
9196         * gst/gstthread.c:
9197         * gst/gsttrace.c:
9198         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9199         * gst/gsturi.c:
9200         * gst/gstvalue.c:
9201           deprecate gst_info; remove gstlog.h
9202    
9203
9204 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9205
9206         * Makefile.am:
9207         * po/en_GB.po:
9208         * po/sv.po:
9209         * po/uk.po:
9210           updated translations
9211
9212 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9213
9214         * gst/gstbin.c: (gst_bin_dispose):
9215           better debugging
9216
9217 2004-05-03  Johan Dahlin  <johan@gnome.org>
9218
9219         * gst/schedulers/gstoptimalscheduler.c
9220         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9221         really is a GstElement. Avoids critical when running gst-launch -v
9222         and a oggdemux/decoding pipeline.
9223
9224 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9225
9226         * docs/gst/tmpl/gstpipeline.sgml :
9227         * docs/manual/elements-api.xml :
9228                 doc fix by Patrick Guimond (Protector) from devel ML
9229                 reviewed by ronald
9230
9231 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9232
9233         * docs/gst/Makefile.am :
9234         * docs/libs/Makefile.am :
9235                 apply a patch from Arwed v. Merkatz so that gtk-doc
9236                 generated docs install (same for .devhelp file)
9237                 (fixes part 1 of #138836)
9238
9239 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9240
9241         * docs/faq/dependencies.xml: typo
9242         * docs/faq/getting.xml :
9243             - fix download URL for new gstreamer site
9244             - hide sf.net download page as latest version aren't there
9245             - fix apt URLs
9246             - fill "get via CVS" paragraph (link to dev page on the site)
9247         * docs/faq/general.xml:
9248             hide status tables as they no more exists
9249             change case on plugins license file to reflect reality
9250         * docs/faq/troubleshooting.xml:
9251             remove the wiki question/answer as there is no more wiki
9252
9253 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9254
9255         * gst/gsterror.h:
9256           include the headers needed for declarations used in this header
9257
9258 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9259
9260         * docs/random/uraeus/gstreamer_and_midi.txt :
9261           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9262           (fixes #132288)
9263
9264 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9265
9266         reviewed by Benjamin Otte  <otte@gnome.org>
9267
9268         * gst/schedulers/gthread-cothreads.h:
9269           free allocated data for main cothread, too when destroying context
9270           (fixes #141417)
9271
9272 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9273
9274         * docs/manual/goals.xml : remove duplicated paragraph at end 
9275         of doc page (fixes #141448)
9276
9277 2004-04-29  David Schleef  <ds@schleef.org>
9278
9279         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9280         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9281
9282 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9283
9284         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9285           fix property
9286         * gst/gstcaps.c:
9287           fix doc string
9288         * po/POTFILES.in:
9289           rename typefind source file
9290
9291 2004-04-28  David Schleef  <ds@schleef.org>
9292
9293         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9294         * win32/GStreamer.vcproj:
9295         * win32/Makefile:
9296         * win32/config.h:
9297         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9298         (_trewinddir), (_ttelldir), (_tseekdir):
9299         * win32/dirent.h:
9300         * win32/gst-inspect.vcproj:
9301         * win32/gst-launch.vcproj:
9302         * win32/gst-register.vcproj:
9303         * win32/gstbytestream.vcproj:
9304         * win32/gstelements.vcproj:
9305         * win32/gstoptimalscheduler.vcproj:
9306         * win32/gstspider.vcproj:
9307         * win32/gtchar.h:
9308         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9309         * win32/mman.h:
9310         * win32/mman.inl:
9311         * win32/msvc71.sln:
9312
9313 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9314
9315         * gst/gst.c: (init_post):
9316         * gst/gstinfo.c:
9317           remove useless _gst_progname stuff
9318         * tools/gst-inspect.c: (print_field), (print_caps):
9319           improve caps output
9320
9321 2004-04-28  David Schleef  <ds@schleef.org>
9322
9323         Disable parsing of a lot of files that aren't part of the
9324         exported API.  Move corresponding template files to old/,
9325         waiting for removal when they don't contain anything
9326         interesting.
9327         * docs/gst/Makefile.am:
9328         * docs/gst/gstreamer-sections.txt:
9329         * docs/gst/tmpl/cothreads.sgml:
9330         * docs/gst/tmpl/cothreads_compat.sgml:
9331         * docs/gst/tmpl/gettext.sgml:
9332         * docs/gst/tmpl/gobject2gtk.sgml:
9333         * docs/gst/tmpl/grammar.tab.sgml:
9334         * docs/gst/tmpl/gst-i18n-app.sgml:
9335         * docs/gst/tmpl/gst-i18n-lib.sgml:
9336         * docs/gst/tmpl/gst_private.sgml:
9337         * docs/gst/tmpl/gstaggregator.sgml:
9338         * docs/gst/tmpl/gstarch.sgml:
9339         * docs/gst/tmpl/gstatomic_impl.sgml:
9340         * docs/gst/tmpl/gstbufferstore.sgml:
9341         * docs/gst/tmpl/gstdata_private.sgml:
9342         * docs/gst/tmpl/gstdisksink.sgml:
9343         * docs/gst/tmpl/gstdisksrc.sgml:
9344         * docs/gst/tmpl/gstelementfactory.sgml:
9345         * docs/gst/tmpl/gstextratypes.sgml:
9346         * docs/gst/tmpl/gstfakesink.sgml:
9347         * docs/gst/tmpl/gstfakesrc.sgml:
9348         * docs/gst/tmpl/gstfdsink.sgml:
9349         * docs/gst/tmpl/gstfdsrc.sgml:
9350         * docs/gst/tmpl/gstfilesink.sgml:
9351         * docs/gst/tmpl/gstfilesrc.sgml:
9352         * docs/gst/tmpl/gsthttpsrc.sgml:
9353         * docs/gst/tmpl/gstidentity.sgml:
9354         * docs/gst/tmpl/gstindexfactory.sgml:
9355         * docs/gst/tmpl/gstmarshal.sgml:
9356         * docs/gst/tmpl/gstmd5sink.sgml:
9357         * docs/gst/tmpl/gstmultidisksrc.sgml:
9358         * docs/gst/tmpl/gstmultifilesrc.sgml:
9359         * docs/gst/tmpl/gstpadtemplate.sgml:
9360         * docs/gst/tmpl/gstpipefilter.sgml:
9361         * docs/gst/tmpl/gstschedulerfactory.sgml:
9362         * docs/gst/tmpl/gstsearchfuncs.sgml:
9363         * docs/gst/tmpl/gstshaper.sgml:
9364         * docs/gst/tmpl/gstspider.sgml:
9365         * docs/gst/tmpl/gstspideridentity.sgml:
9366         * docs/gst/tmpl/gststatistics.sgml:
9367         * docs/gst/tmpl/gsttee.sgml:
9368         * docs/gst/tmpl/gsttimecache.sgml:
9369         * docs/gst/tmpl/gsttypefind.sgml:
9370         * docs/gst/tmpl/gsttypefindfactory.sgml:
9371         * docs/gst/tmpl/gstxmlregistry.sgml:
9372         * docs/gst/tmpl/gthread-cothreads.sgml:
9373         * docs/gst/tmpl/old/cothreads.sgml:
9374         * docs/gst/tmpl/old/cothreads_compat.sgml:
9375         * docs/gst/tmpl/old/gettext.sgml:
9376         * docs/gst/tmpl/old/gobject2gtk.sgml:
9377         * docs/gst/tmpl/old/grammar.tab.sgml:
9378         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9379         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9380         * docs/gst/tmpl/old/gst_private.sgml:
9381         * docs/gst/tmpl/old/gstaggregator.sgml:
9382         * docs/gst/tmpl/old/gstarch.sgml:
9383         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9384         * docs/gst/tmpl/old/gstbufferstore.sgml:
9385         * docs/gst/tmpl/old/gstdata_private.sgml:
9386         * docs/gst/tmpl/old/gstdisksink.sgml:
9387         * docs/gst/tmpl/old/gstdisksrc.sgml:
9388         * docs/gst/tmpl/old/gstelementfactory.sgml:
9389         * docs/gst/tmpl/old/gstextratypes.sgml:
9390         * docs/gst/tmpl/old/gstfakesink.sgml:
9391         * docs/gst/tmpl/old/gstfakesrc.sgml:
9392         * docs/gst/tmpl/old/gstfdsink.sgml:
9393         * docs/gst/tmpl/old/gstfdsrc.sgml:
9394         * docs/gst/tmpl/old/gstfilesink.sgml:
9395         * docs/gst/tmpl/old/gstfilesrc.sgml:
9396         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9397         * docs/gst/tmpl/old/gstidentity.sgml:
9398         * docs/gst/tmpl/old/gstindexfactory.sgml:
9399         * docs/gst/tmpl/old/gstmarshal.sgml:
9400         * docs/gst/tmpl/old/gstmd5sink.sgml:
9401         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9402         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9403         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9404         * docs/gst/tmpl/old/gstpipefilter.sgml:
9405         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9406         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9407         * docs/gst/tmpl/old/gstshaper.sgml:
9408         * docs/gst/tmpl/old/gstspider.sgml:
9409         * docs/gst/tmpl/old/gstspideridentity.sgml:
9410         * docs/gst/tmpl/old/gststatistics.sgml:
9411         * docs/gst/tmpl/old/gsttee.sgml:
9412         * docs/gst/tmpl/old/gsttimecache.sgml:
9413         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9414         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9415         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9416         * docs/gst/tmpl/old/types.sgml:
9417         * docs/gst/tmpl/types.sgml:
9418
9419         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9420         gtkdoc-scan doesn't like files with the same name in different
9421         directories.
9422         * gst/elements/Makefile.am:
9423         * gst/elements/gstelements.c:
9424         * gst/elements/gsttypefind.c: 
9425         * gst/elements/gsttypefind.h:
9426         * gst/elements/gsttypefindelement.c:
9427         * gst/elements/gsttypefindelement.h:
9428
9429 2004-04-28  David Schleef  <ds@schleef.org>
9430
9431         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9432         patch (bug #141317):
9433         * gst/gst-i18n-lib.h: Allow disabling gettext.
9434         * gst/gstatomic_impl.h: disable warning when it's dumb.
9435         * gst/gstclock.c: fix include
9436         * gst/gstcompat.h: fix variadic macro
9437         * gst/gstinfo.c: fix include
9438         * gst/gstmacros.h: add defines for inlines on MSVC
9439         * gst/gstplugin.c: fix includes
9440         * gst/gstregistry.c: fix includes
9441         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9442         * gst/gstsystemclock.c: fix include
9443         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9444         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9445         * gst/registries/gstxmlregistry.c:
9446         (gst_xml_registry_parse_element_factory): fix use of non-portable
9447         functions
9448         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9449         * libs/gst/control/dparammanager.h: same
9450
9451 2004-04-28  David Schleef  <ds@schleef.org>
9452
9453         Move a bunch of unused files to old/ with names that are
9454         not case-insensitive-unique.  These files still contain some
9455         useful information that needs to be merged into gstbin.sgml,
9456         etc., so they shouldn't be deleted yet.
9457         * docs/gst/tmpl/GstBin.sgml:
9458         * docs/gst/tmpl/GstBuffer.sgml:
9459         * docs/gst/tmpl/GstCaps.sgml:
9460         * docs/gst/tmpl/GstClock.sgml:
9461         * docs/gst/tmpl/GstCompat.sgml:
9462         * docs/gst/tmpl/GstData.sgml:
9463         * docs/gst/tmpl/GstElement.sgml:
9464         * docs/gst/tmpl/GstEvent.sgml:
9465         * docs/gst/tmpl/GstIndex.sgml:
9466         * docs/gst/tmpl/GstStructure.sgml:
9467         * docs/gst/tmpl/GstTag.sgml:
9468         * docs/gst/tmpl/old/GstBin.sgml:
9469         * docs/gst/tmpl/old/GstBuffer.sgml:
9470         * docs/gst/tmpl/old/GstCaps.sgml:
9471         * docs/gst/tmpl/old/GstClock.sgml:
9472         * docs/gst/tmpl/old/GstCompat.sgml:
9473         * docs/gst/tmpl/old/GstData.sgml:
9474         * docs/gst/tmpl/old/GstElement.sgml:
9475         * docs/gst/tmpl/old/GstEvent.sgml:
9476         * docs/gst/tmpl/old/GstIndex.sgml:
9477         * docs/gst/tmpl/old/GstStructure.sgml:
9478         * docs/gst/tmpl/old/GstTag.sgml:
9479
9480 2004-04-28  David Schleef  <ds@schleef.org>
9481
9482         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9483         (gst_caps_append), (gst_caps_append_structure),
9484         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9485         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9486         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9487         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9488         (gst_caps_intersect), (gst_caps_normalize),
9489         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9490         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9491         * gst/gstcaps.h: use GST_IS_CAPS().
9492
9493 2004-04-26  David Schleef  <ds@schleef.org>
9494
9495         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9496         assembly.  gcc doesn't handle it correctly. (bug #141083)
9497         * gst/gsttrashstack.h: same
9498
9499 2004-04-25  Benjamin Otte  <otte@gnome.org>
9500
9501         * gst/gstelement.c: (gst_element_change_state):
9502           fix assertion to do an int comparison
9503
9504 2004-04-25  Benjamin Otte  <otte@gnome.org>
9505
9506         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9507           better debugging output on error
9508
9509 2004-04-25  Benjamin Otte  <otte@gnome.org>
9510
9511         * gst/gstcaps.c: (gst_caps_subtract):
9512           fix memleak
9513
9514 2004-04-23  Benjamin Otte  <otte@gnome.org>
9515
9516         * gst/gstvalue.c: (gst_value_compare_buffer),
9517         (_gst_value_initialize):
9518           add comparison function for buffers
9519
9520 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9521
9522         * docs/pwg/pwg.xml:
9523           Just found out that this so-called "ima-wav" format is really
9524           just "dvi adpcm" (according to the MS WAV documentation). So
9525           renaming it. We didn't use it yet anyway.
9526
9527 2004-04-23  Benjamin Otte  <otte@gnome.org>
9528
9529         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9530           call gst_caps_is_subset
9531
9532 2004-04-23  Benjamin Otte  <otte@gnome.org>
9533
9534         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9535         (gst_caps_is_subset):
9536           add documentation
9537
9538 2004-04-23  Benjamin Otte  <otte@gnome.org>
9539           
9540         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9541         (gst_caps_structure_subtract), (gst_caps_subtract),
9542         (gst_caps_structure_figure_out_union),
9543         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9544           fix simplifying and subtracting not working correctly with optional
9545           properties
9546           solve assorted problems that make it now simplify ebven more
9547         * docs/gst/tmpl/gstcaps.sgml:
9548         * gst/gstcaps.h:
9549           make gst_caps_do_simplify return a bool to indicate if it simplified
9550         * testsuite/caps/simplify.c: (main):
9551           add more checks. The tests is quite a bit useless right now because
9552           the core is heavily simplifying itself.
9553         * testsuite/caps/caps.h:
9554           fix caps to contain all optional properties
9555
9556 2004-04-22  Benjamin Otte  <otte@gnome.org>
9557
9558         * docs/gst/tmpl/gstcaps.sgml:
9559         * docs/gst/tmpl/gstfilesrc.sgml:
9560         * docs/gst/tmpl/gststructure.sgml:
9561         * docs/gst/tmpl/gstvalue.sgml:
9562           update for recent API changes
9563         * gst/gstcaps.c: (gst_caps_do_simplify):
9564           fix to stop trying with a freed structure
9565         * gst/gstpad.c: (gst_pad_link_fixate):
9566           simplify caps
9567         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9568           remove C++ comment
9569         * gst/gstpad.h:
9570           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9571         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9572         (gst_structure_to_string):
9573           keep the correct type when using lists of ranges
9574         * gst/gstvalue.c: (gst_value_list_prepend_value),
9575         (gst_value_list_append_value):
9576           copy the value before adding to the list (d'oh)
9577         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9578         (gst_value_subtract_int_range_int_range):
9579           handle overflows correctly
9580         * gst/gstvalue.c: (gst_value_subtract_from_list):
9581           fix memleak
9582         * testsuite/caps/caps.h:
9583           add a caps that caused segfaults
9584
9585 2004-04-22  Benjamin Otte  <otte@gnome.org>
9586
9587         * testsuite/refcounting/pad.c: (main):
9588           fix test
9589
9590 2004-04-22  Benjamin Otte  <otte@gnome.org>
9591
9592         * gst/gstcaps.c: (gst_caps_subtract):
9593           allow subtracting ANY and EMPTY from ANY caps
9594
9595 2004-04-22  Benjamin Otte  <otte@gnome.org>
9596
9597         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9598         (gst_caps_union):
9599           only simplify in functions that create new caps. Simplifying in
9600           gst_caps_append breaks tests.
9601
9602 2004-04-22  Benjamin Otte  <otte@gnome.org>
9603
9604         * gst/gstcaps.c: (gst_caps_structure_simplify):
9605           unset GValue after use
9606         * gst/gstcaps.c: (gst_caps_append), 
9607         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9608           use gst_caps_simplify (reduces registry size by 30%)
9609         * gst/gstpad.c: (gst_pad_template_new):
9610           don't allow NULL caps
9611
9612 2004-04-22  Benjamin Otte  <otte@gnome.org>
9613
9614         * docs/gst/gstreamer-sections.txt:
9615           add gst_caps_do_simplify
9616         * gst/gstcaps.c:
9617           add documentation for gst_caps_do_simplify
9618         * gst/gstvalue.h:
9619           fix typo in gst_value_register_subtract_func declaration for gst-doc
9620
9621 2004-04-22  Benjamin Otte  <otte@gnome.org>
9622
9623         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9624           fix bug when converting from empty string.
9625         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9626         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9627           use gst_caps_new_empty to allocate a new caps. Only that function
9628           allocates memory for caps now.
9629         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9630         (gst_caps_remove_structure):
9631           add ability to remove one structure (but not to header yet)
9632         * gst/gstcaps.c: (gst_caps_compare_structures),
9633         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9634         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9635         * gst/gstcaps.h:
9636           add gst_caps_do_simplify that tries to simplify a caps in place.
9637           Deprecate old gst_caps_simplify function.
9638         * testsuite/caps/caps.h:
9639           add caps.h containing a common set of caps to test against.
9640         * testsuite/caps/sets.c: (check_caps), (main):
9641           use it.
9642         * testsuite/caps/.cvsignore:
9643         * testsuite/caps/Makefile.am:
9644         * testsuite/caps/simplify.c: (check_caps), (main):
9645           add test to check correctness and efficency of caps simplification.
9646
9647 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9648
9649         reviewed by Benjamin Otte  <otte@gnome.org>
9650
9651         * gst/gstparse.c: (_gst_parse_escape):
9652           Free the GString used in _gst_parse_escape()
9653
9654 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9655
9656         * gst/gstpad.c: (gst_pad_link_negotiate):
9657           refuse to link if the link is not possible
9658         * configure.ac:
9659         * testsuite/Makefile.am:
9660         * testsuite/negotiation/.cvsignore:
9661         * testsuite/negotiation/Makefile.am:
9662         * testsuite/negotiation/pad_link.c: (main):
9663           add test that checks the above behaviour
9664
9665 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * docs/gst/gstreamer-sections.txt:
9668           add newly added API
9669
9670 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9671
9672         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9673         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9674         (gst_filesrc_open_file), (gst_filesrc_close_file),
9675         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9676         * gst/elements/gstfilesrc.h:
9677           add support for non-regular files (#140734)
9678
9679 2004-04-21  Benjamin Otte  <otte@gnome.org>
9680
9681         * gst/gstpad.c: (gst_pad_link_fixate):
9682           add sophisticated error checking code to see if fixation functions
9683           did their fixation right
9684
9685 2004-04-21  Benjamin Otte  <otte@gnome.org>
9686
9687         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9688           check for ANY caps before appending/unioning
9689         * gst/gstcaps.c: (gst_caps_is_subset),
9690         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9691         (gst_caps_structure_subtract), (gst_caps_subtract):
9692         * gst/gstcaps.h:
9693           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9694           the API. deprecate gst_caps_is_equal_fixed
9695         * gst/gstpad.c: (gst_pad_try_set_caps):
9696         * gst/gstqueue.c: (gst_queue_link):
9697           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9698         * gst/gststructure.c: (gst_structure_get_name_id):
9699         * gst/gststructure.h:
9700           add function gst_structure_get_name_id
9701         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9702         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9703         (gst_value_subtract_int_range_int_range),
9704         (gst_value_subtract_double_double_range),
9705         (gst_value_subtract_double_range_double),
9706         (gst_value_subtract_double_range_double_range),
9707         (gst_value_subtract_from_list), (gst_value_subtract_list),
9708         (gst_value_can_intersect), (gst_value_subtract),
9709         (gst_value_can_subtract), (gst_value_register_subtract_func),
9710         (_gst_value_initialize):
9711         * gst/gstvalue.h:
9712           add support for subtracting values from each other. Note that
9713           subtracting means subtracting as in set theory. Required for caps
9714           stuff above.
9715         * testsuite/caps/.cvsignore:
9716         * testsuite/caps/Makefile.am:
9717         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9718         * testsuite/caps/sets.c: (check_caps), (main):
9719         * testsuite/caps/subtract.c: (check_caps), (main):
9720           add tests for subtraction and equality code.
9721
9722 2004-04-20  David Schleef  <ds@schleef.org>
9723
9724         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9725         * gst/indexers/Makefile.am:
9726         * gst/schedulers/Makefile.am:
9727         * libs/gst/bytestream/Makefile.am:
9728         * libs/gst/control/Makefile.am:
9729         * libs/gst/getbits/Makefile.am:
9730
9731 2004-04-20  David Schleef  <ds@schleef.org>
9732
9733         * common/as-libtool.mak: Fine-tune DLL building.
9734         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9735         (like gst-plugins)
9736         * examples/plugins/Makefile.am: remove plugindir
9737         * gst/autoplug/Makefile.am: DLL building fixes
9738         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9739         Windows.
9740         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9741         * gst/indexers/Makefile.am: DLL building fixes
9742         * gst/schedulers/Makefile.am: DLL building fixes.
9743         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9744         * libs/gst/control/Makefile.am: same
9745         * libs/gst/getbits/Makefile.am: same
9746         * testsuite/Makefile.am: New dlopen directory
9747         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9748         when dlopened.
9749         * testsuite/dlopen/dlopen_gst.c: (main): same
9750         * testsuite/dlopen/loadgst.c: (do_test): same
9751
9752 2004-04-20  David Schleef  <ds@schleef.org>
9753
9754         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9755         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9756
9757 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9758
9759         * gst/gstelement.c: (gst_element_wait),
9760         (gst_element_set_time_delay), (gst_element_change_state):
9761           Use GST_TIME_*
9762
9763 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9764
9765         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9766         (gst_spider_identity_plug):
9767           improve debugging messages
9768         * gst/gstbin.c: (gst_bin_remove_func):
9769           make sure the state_change function is only called with simple state
9770           transitions
9771
9772 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9773
9774         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9775         (gst_fakesink_set_property), (gst_fakesink_chain):
9776         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9777         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9778         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9779         * gst/elements/gstidentity.c: (gst_identity_chain),
9780         (gst_identity_set_property):
9781         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9782         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9783           add warnings to _set_property for unknown arguments
9784           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9785
9786 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9787
9788         * Makefile.am:
9789         * docs/manuals.mak:
9790           add .po file download snippet
9791           fix a bug in the doc makefile
9792
9793 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9794
9795         * Makefile.am:
9796         * po/LINGUAS:
9797         * po/en_GB.po:
9798           Added en_GB translation (Gareth Owen)
9799
9800 2004-04-20  Johan Dahlin  <johan@gnome.org>
9801
9802         * gst/gstpad.c (_invent_event): Clean up
9803
9804 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9805
9806         * testsuite/caps/filtercaps.c: (main):
9807           fix test to test things correctly (caps are complicated)
9808
9809 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9810
9811         * testsuite/caps/Makefile.am:
9812         * testsuite/caps/filtercaps.c: (main):
9813           add test (that doesn't work right now, but should)
9814
9815 2004-04-19  David Schleef  <ds@schleef.org>
9816
9817         * configure.ac: Add test for allowing unaligned access.  Add define
9818         to put in gstconfig.h.
9819         * docs/gst/gstreamer-sections.txt: New symbols
9820         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9821         * docs/gst/tmpl/gstfilesrc.sgml:
9822         * docs/gst/tmpl/gstparse.sgml:
9823         * docs/gst/tmpl/gsttypes.sgml:
9824         * docs/gst/tmpl/gstutils.sgml:
9825         * docs/gst/tmpl/gstvalue.sgml:
9826         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9827         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9828         on most !i386/!powerpc architectures.  From Daniel Gazard
9829         <daniel.gazard@free.fr>.  (bug #140156)
9830         * po/af.po: Check in changes made by gettext.
9831         * po/az.po:
9832         * po/fr.po:
9833         * po/nl.po:
9834         * po/sr.po:
9835         * po/sv.po:
9836
9837 2004-04-20  Benjamin Otte  <otte@gnome.org>
9838
9839         * gst/schedulers/entryscheduler.c: 
9840         (gst_entry_scheduler_yield):
9841           refuse to yield when decoupled elements insist on doing that.
9842           At least it's better than crashing
9843
9844 2004-04-19  David Schleef  <ds@schleef.org>
9845
9846         * docs/libs/Makefile.am: Change sinclude to include
9847         * docs/gst/Makefile.am: same
9848         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9849
9850 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9851
9852         * po/LINGUAS:
9853         * po/uk.po:
9854           Added Ukrainian translation (Maxim V. Dziumanenko)
9855
9856 2004-04-19  Johan Dahlin  <johan@gnome.org>
9857
9858         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9859         checking here, do it before calling the function.
9860         Clean up, use for loops instead of while loops while iterating
9861         over lists.
9862
9863         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9864         in debug message.
9865         (gst_spider_create_and_plug): Improve debug message.
9866         General: Replace while loops which iterates over GLists with for
9867         loops. Which are much cleaner, improves readability, especially
9868         for gst_spider_identity_plug
9869
9870         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9871         fixes bug 140477
9872
9873 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9874
9875         * po/LINGUAS:
9876         * po/tr.po:
9877           Added Turkish translation (Baris Cicek)
9878
9879 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9880
9881         * docs/faq/troubleshooting.xml:
9882           Mention gst-register in the FAQ (fixes 139045).
9883
9884 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * docs/gst/gstreamer-sections.txt:
9887
9888 2004-04-17  Benjamin Otte  <otte@gnome.org>
9889
9890         * gst/gstelement.c: (gst_element_dispose):
9891           simplify
9892         * gst/gstpad.c: (gst_pad_call_chain_function):
9893           don't create loads of events due to bad macro usage
9894
9895 2004-04-16  David Schleef  <ds@schleef.org>
9896
9897         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9898         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9899         * gst/gstvalue.c: (gst_value_serialize_buffer),
9900         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9901         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9902         to indicate types that are fixed wrt caps or not.  Switching to
9903         this function fixes (bug #140298).
9904         * gst/gstvalue.h:
9905
9906 2004-04-16  David Schleef  <ds@schleef.org>
9907
9908         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9909         for GST_UNALIGNED_ACESS, since we essentially know which archs
9910         are ok.
9911
9912 2004-04-17  Benjamin Otte  <otte@gnome.org>
9913
9914         * docs/gst/Makefile.am:
9915           ignore gst/parse directory when building docs (fixes #140205)
9916
9917 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9918
9919         * testsuite/refcounting/mem.c: (vmsize):
9920           do error checking
9921
9922 2004-04-16  Johan Dahlin  <johan@gnome.org>
9923
9924         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9925         and gst_pad_call_get_function.
9926
9927 2004-04-15  David Schleef  <ds@schleef.org>
9928
9929         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9930         checks if we can access unaligned memory.
9931         * configure.ac: Use it.
9932
9933 2004-04-16  Benjamin Otte  <otte@gnome.org>
9934
9935         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9936         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9937         * gst/elements/gstfilesrc.h:
9938           s/seek_happened/need_discont/ and require discont before sending any
9939           data
9940
9941 2004-04-15  David Schleef  <ds@schleef.org>
9942
9943         * gst/gstvalue.c: (gst_value_serialize_buffer),
9944         (gst_value_deserialize_buffer), (_gst_value_initialize):
9945         Register these types as fundamental types. (bug #140015)
9946
9947 2004-04-16  Benjamin Otte  <otte@gnome.org>
9948
9949         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9950         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9951         (gst_pad_pull):
9952           implement enforcing discont events before buffers are passed. This
9953           allows state changes of only some elements and later correctly going
9954           on where they left off (or in short: you can now set audio sinks to
9955           NULL to release the device when the pipeline is paused)
9956         * gst/gstpad.c: (gst_pad_call_chain_function),
9957         (gst_pad_call_get_function):
9958         * gst/gstpad.h:
9959           add gst_pad_call_chain_function and gst_pad_call_get_function for
9960           scheduler interaction. They are required because of the changes
9961           above.
9962         * gst/schedulers/entryscheduler.c: (get_buffer),
9963         (gst_entry_scheduler_chain_wrapper),
9964         (gst_entry_scheduler_get_wrapper),
9965         (gst_entry_scheduler_state_transition),
9966         (gst_entry_scheduler_pad_link):
9967         * gst/schedulers/gstbasicscheduler.c:
9968         (gst_basic_scheduler_chain_wrapper),
9969         (gst_basic_scheduler_src_wrapper),
9970         (gst_basic_scheduler_chainhandler_proxy),
9971         (gst_basic_scheduler_gethandler_proxy),
9972         (gst_basic_scheduler_cothreaded_chain),
9973         (gst_basic_scheduler_chain_elements):
9974         * gst/schedulers/gstoptimalscheduler.c:
9975         (get_group_schedule_function), (pad_clear_queued),
9976         (gst_opt_scheduler_pad_link):
9977           use the new functions instead of calling get/chain-functions
9978           directly.
9979
9980 2004-04-15  David Schleef  <ds@schleef.org>
9981
9982         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9983         * docs/gst/tmpl/gstinfo.sgml: same
9984         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9985         gtk-doc put here.
9986         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9987         * examples/queue/queue.c: (main):  We iterate pipelines, not
9988         bins.  (bug #139996)
9989
9990 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9991
9992         * docs/pwg/advanced-types.xml:
9993           Add MS RLE support. Also document Qt RLE although I have no sample
9994           files for that yet. And document an extra property for ADPCM.
9995
9996 2004-04-15  David Schleef  <ds@schleef.org>
9997
9998         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9999         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10000         Windows.
10001
10002 2004-04-15  David Schleef  <ds@schleef.org>
10003
10004         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10005         symbol names to not conflict with new gstinfo.h symbols.
10006         * gst/gstinfo.h: Add inline functions for all those crazy
10007         compilers that don't know how to handle variadic macros (MSVC).
10008
10009 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * configure.ac: bump nano to 1
10012
10013 === release 0.8.1 ===
10014
10015 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10016
10017         * NEWS:
10018         * RELEASE:
10019         * configure.ac:
10020           releasing 0.8.1, "Snow Brigade"
10021
10022 2004-04-14  David Schleef  <ds@schleef.org>
10023
10024         * testsuite/Makefile.am: define tests_ignore
10025         * testsuite/Rules: Added new tests_ignore, which get compiled,
10026         but not run (generally because they're inconsistent or have
10027         heisenbugs).  Now we can ensure all the .c files compile in
10028         testsuite/.
10029         * testsuite/bins/Makefile.am: define tests_ignore
10030         * testsuite/bytestream/Makefile.am:
10031         * testsuite/caps/Makefile.am:
10032         * testsuite/clock/Makefile.am:
10033         * testsuite/debug/Makefile.am:
10034         * testsuite/debug/global.c: (gst_debug_log_one),
10035         (gst_debug_log_two): Fix compilation problem.
10036         * testsuite/dynparams/Makefile.am:
10037         * testsuite/elements/Makefile.am:
10038         * testsuite/ghostpads/Makefile.am:
10039         * testsuite/indexers/Makefile.am:
10040         * testsuite/parse/Makefile.am:
10041         * testsuite/plugin/Makefile.am:
10042         * testsuite/refcounting/Makefile.am:
10043         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10044         results, because it's not calculated correctly.
10045         * testsuite/refcounting/pad.c: (main): same
10046         * testsuite/states/Makefile.am:
10047         * testsuite/tags/Makefile.am:
10048         * testsuite/threads/Makefile.am:
10049
10050 2004-04-14  David Schleef  <ds@schleef.org>
10051
10052         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10053         generating bad code around the cpu detection asm code.
10054
10055 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * tools/gst-inspect.c: (print_element_info):
10058           print numeric version of rank as well, since we added some - 1
10059           rank values to elements
10060
10061 2004-04-13  David Schleef  <ds@schleef.org>
10062
10063         * configure.ac:  Disable various code when compiling for MinGW.
10064         * gst/elements/Makefile.am:
10065         * gst/elements/gstelements.c:
10066         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10067         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10068         * gst/registries/gstxmlregistry.c: (make_dir):
10069
10070 2004-04-13  David Schleef  <ds@schleef.org>
10071
10072         * gst/Makefile.am:
10073         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10074         assembly.
10075         * gst/gstcpuid_i386.s: remove
10076
10077 2004-04-13  David Schleef  <ds@schleef.org>
10078
10079         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10080         seems to think it needs to be done.
10081         * docs/gst/tmpl/gstfakesink.sgml:
10082         * docs/gst/tmpl/gstfakesrc.sgml:
10083         * docs/gst/tmpl/gstfdsink.sgml:
10084         * docs/gst/tmpl/gstfdsrc.sgml:
10085         * docs/gst/tmpl/gstfilesink.sgml:
10086         * docs/gst/tmpl/gstfilesrc.sgml:
10087         * docs/gst/tmpl/gstidentity.sgml:
10088         * docs/gst/tmpl/gstmd5sink.sgml:
10089         * docs/gst/tmpl/gstmultifilesrc.sgml:
10090         * docs/gst/tmpl/gstpipefilter.sgml:
10091         * docs/gst/tmpl/gstshaper.sgml:
10092         * docs/gst/tmpl/gstspider.sgml:
10093         * docs/gst/tmpl/gstspideridentity.sgml:
10094         * docs/gst/tmpl/gststatistics.sgml:
10095         * docs/gst/tmpl/gsttee.sgml:
10096         * docs/gst/tmpl/gsttypefind.sgml:
10097         * docs/gst/tmpl/gstutils.sgml:
10098
10099 2004-04-13  David Schleef  <ds@schleef.org>
10100
10101         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10102         and to build DLLs on Windows.
10103         * gst/Makefile.am:
10104         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10105         (gst_filesrc_open_file):
10106         * gst/schedulers/Makefile.am:
10107
10108 2004-04-13  David Schleef  <ds@schleef.org>
10109
10110         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10111         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10112         fixating lists.
10113
10114 2004-04-12  David Schleef  <ds@schleef.org>
10115
10116         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10117         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10118         to using it.
10119         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10120         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10121         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10122         * gst/gststructure.c: (gst_structure_set_valist),
10123         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10124         support for buffers.
10125         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10126         intended to be const.
10127         * gst/gsttag.h: same
10128         * gst/gstvalue.c: (gst_value_serialize_buffer),
10129         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10130         to (de)serialize buffers.
10131         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10132         * testsuite/caps/string-conversions.c: (main):
10133         * testsuite/caps/value_serialize.c: add new test
10134
10135 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10136
10137         * docs/pwg/advanced-types.xml:
10138           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10139
10140 2004-04-11  Benjamin Otte  <otte@gnome.org>
10141
10142         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10143           rename categories to basic_*
10144         * gst/schedulers/gstbasicscheduler.c: 
10145         (gst_basic_scheduler_chain_wrapper),
10146         (gst_basic_scheduler_chainhandler_proxy),
10147         (gst_basic_scheduler_gethandler_proxy),
10148         (gst_basic_scheduler_eventhandler_proxy):
10149           debugging category fixes - put common stuff in log category
10150         * gst/schedulers/gstbasicscheduler.c: 
10151         (gst_basic_scheduler_chain_elements):
10152           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10153           active and linking two active chains
10154
10155 2004-04-10  Benjamin Otte  <otte@gnome.org>
10156
10157         * docs/pwg/intro-preface.xml:
10158           fix dead links and remove reference to Wiki
10159
10160 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10161
10162         * gst/schedulers/gstbasicscheduler.c:
10163           make sure we can switch back to the main function if we're still in
10164           the main function (supposed to fix #139617)
10165         * gst/schedulers/gthread-cothreads.h:
10166           don't throw an error when switching to the same cothread
10167
10168 2004-04-09  Benjamin Otte  <otte@gnome.org>
10169
10170         * gst/gstbin.c: (gst_bin_get_type):
10171         * gst/gstclock.c: (gst_clock_get_type):
10172         * gst/gstindex.c: (gst_index_get_type):
10173         * gst/gstobject.c: (gst_object_get_type),
10174         (gst_signal_object_get_type):
10175         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10176         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10177         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10178         * gst/gstqueue.c: (gst_queue_get_type):
10179         * gst/gstregistry.c: (gst_registry_get_type):
10180         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10181         * gst/gstthread.c: (gst_thread_get_type):
10182           don't use memchunks for these objects, use malloc instead
10183
10184 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10185
10186         * docs/gst/.cvsignore:
10187         * docs/gst/Makefile.am:
10188         * docs/gst/gstreamer-sections.txt:
10189         * docs/gst/tmpl/gstaggregator.sgml:
10190         * docs/gst/tmpl/gstbuffer.sgml:
10191         * docs/gst/tmpl/gstclock.sgml:
10192         * docs/gst/tmpl/gstelement.sgml:
10193         * docs/gst/tmpl/gstfakesink.sgml:
10194         * docs/gst/tmpl/gstfakesrc.sgml:
10195         * docs/gst/tmpl/gstfdsink.sgml:
10196         * docs/gst/tmpl/gstfdsrc.sgml:
10197         * docs/gst/tmpl/gstfilesink.sgml:
10198         * docs/gst/tmpl/gstfilesrc.sgml:
10199         * docs/gst/tmpl/gstidentity.sgml:
10200         * docs/gst/tmpl/gstindex.sgml:
10201         * docs/gst/tmpl/gstinfo.sgml:
10202         * docs/gst/tmpl/gstmd5sink.sgml:
10203         * docs/gst/tmpl/gstmultifilesrc.sgml:
10204         * docs/gst/tmpl/gstpad.sgml:
10205         * docs/gst/tmpl/gstpipefilter.sgml:
10206         * docs/gst/tmpl/gstpipeline.sgml:
10207         * docs/gst/tmpl/gstpluginfeature.sgml:
10208         * docs/gst/tmpl/gstqueue.sgml:
10209         * docs/gst/tmpl/gstregistry.sgml:
10210         * docs/gst/tmpl/gstscheduler.sgml:
10211         * docs/gst/tmpl/gstshaper.sgml:
10212         * docs/gst/tmpl/gstspider.sgml:
10213         * docs/gst/tmpl/gstspideridentity.sgml:
10214         * docs/gst/tmpl/gststatistics.sgml:
10215         * docs/gst/tmpl/gstsystemclock.sgml:
10216         * docs/gst/tmpl/gsttee.sgml:
10217         * docs/gst/tmpl/gstthread.sgml:
10218         * docs/gst/tmpl/gsttypefind.sgml:
10219         * docs/gst/tmpl/gstutils.sgml:
10220           further doc build fixes
10221
10222 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10223
10224         * docs/gst/Makefile.am:
10225           make docs exit on scanning problems
10226           fix nonsrcdir build issues
10227         * docs/gst/gstreamer-sections.txt:
10228           adding stuff from -unused
10229         * gst/gstqueue.h:
10230           create GstQueueSize
10231         * gst/schedulers/cothreads_compat.h:
10232           fix cothread warnings
10233
10234 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10235
10236         * docs/gst/gstreamer-sections.txt:
10237           remove defines deprecated by Benjamin
10238
10239 2004-04-07  Benjamin Otte  <otte@gnome.org>
10240
10241         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10242           when the buffer is complete, don't check if other buffers are needed
10243         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10244           check that the offset is >0 so we don't try to read before the
10245           beginning of the file
10246         * gst/gstpad.c: (gst_pad_set_pad_template):
10247           sink the template, so we don't end up with 130k pad templates
10248
10249 2004-04-06  Benjamin Otte  <otte@gnome.org>
10250
10251         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10252           don't ref the element, adding already reffed it. And we didn't unref
10253           it later anyway... (huge memleak when you used many spider elements)
10254         * gst/gstelement.c: (gst_element_base_class_finalize):
10255         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10256         (gst_element_register):
10257         * gst/gsturi.c: (gst_element_make_from_uri):
10258           use gst_object_(un)ref instead of g_object(un)ref
10259
10260 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10261
10262         * gst/gstbuffer.h:
10263           remove macro that wouldn't work anymore because struct member has
10264           been removed.
10265         * gst/schedulers/entryscheduler.c: (schedule_forward):
10266           fix segfault for unconnected pads
10267         
10268 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10269
10270         reviewed by David Schleef <ds@schleef.org>
10271
10272         * gst/gstinfo.h:
10273           *_FORMAT modifiers should require putting a % in front of them for
10274           consistency reasons.
10275
10276 2004-04-05  Colin Walters  <walters@redhat.com>
10277
10278         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10279         space.
10280
10281 2004-04-05  Benjamin Otte  <otte@gnome.org>
10282
10283         * configure.ac:
10284         * gst/Makefile.am:
10285         * gst/gst_private.h:
10286         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10287           add support for detecting if GStreamer runs inside valgrind.
10288           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10289           print a big message in valgrind that GStreamer has detected it's
10290           running inside and might now use different code.
10291         * gst/gstmemchunk.c: (populate), (free_area),
10292         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10293         (gst_mem_chunk_free):
10294           flag memchunks for valgrind, so it can detect leaking of chunks.
10295           This allows detecting leaks of GstBuffer and GstEvent correctly
10296           inside valgrind.
10297
10298 2004-04-05  David Schleef  <ds@schleef.org>
10299
10300         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10301           jensgr@gmx.net (Jens Granseuer)
10302
10303 2004-04-05  David Schleef  <ds@schleef.org>
10304
10305         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10306         (gst_buffer_default_free), (gst_buffer_default_copy),
10307         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10308         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10309         structures in one place.
10310
10311 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10314           (GST_TIME_FORMAT, GST_TIME_ARGS)
10315
10316 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         * testsuite/elements/Makefile.am:
10319           disable test until it stops breaking make distcheck
10320
10321 2004-04-05  Johan Dahlin  <johan@gnome.org>
10322
10323         * po/sv.po: Updated translation
10324
10325 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10326
10327         * gst/gstplugin.c: (gst_plugin_load_file):
10328           fix segfault for when original plugin was loaded statically
10329
10330 2004-04-05  Benjamin Otte  <otte@gnome.org>
10331
10332         * testsuite/debug/category.c: (main):
10333         * testsuite/debug/commandline.c: (main):
10334         * testsuite/debug/output.c: (main):
10335           fix tests to work again with debugging enabled
10336
10337 2004-04-05  Benjamin Otte  <otte@gnome.org>
10338
10339         * gst/schedulers/gstbasicscheduler.c:
10340         (gst_basic_scheduler_pad_link):
10341           fix to work with recent scheduling changes
10342
10343 2004-04-05  Benjamin Otte  <otte@gnome.org>
10344
10345         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10346         prepareChangeLog doesn't work when cvs indents):
10347           don't throw an error when no element can be scheduled, there's too
10348           many weird reasons why it doesn't work. Return STOPPED instead.
10349           decoupled elemts' schedulability doesn't depend on bufpens.
10350
10351 2004-04-04  Benjamin Otte  <otte@gnome.org>
10352
10353         * gst/schedulers/gstbasicscheduler.c:
10354         (gst_basic_scheduler_pad_select):
10355           fix uninitialized variable warnings
10356
10357 2004-04-04  Benjamin Otte  <otte@gnome.org>
10358
10359         * gst/gstpad.c: (gst_pad_collect_valist):
10360           fix uninitialized variable warning
10361         * gst/schedulers/entryscheduler.c: (schedule_forward):
10362           fix shadowed variable
10363
10364 2004-04-04  Benjamin Otte  <otte@gnome.org>
10365
10366         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10367         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10368         (gst_pad_select):
10369         * gst/gstpad.h:
10370         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10371         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10372         * gst/gstscheduler.h:
10373           implement gst_pad_collect as replacement for gst_pad_select.
10374           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10375           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10376           new pad_select, lock and unlock calls.
10377         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10378         * gst/cothreads.h:
10379         * gst/schedulers/cothreads_compat.h:
10380         * gst/schedulers/gthread-cothreads.h:
10381           remove unused cothread_lock and cothread_unlock calls
10382         * gst/schedulers/entryscheduler.c:
10383         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10384         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10385         (gst_entry_scheduler_pad_select):
10386           update to new API
10387         * gst/schedulers/gstbasicscheduler.c:
10388         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10389         (gst_basic_scheduler_pad_select):
10390           remove useless lock and unlock calls, update pad_select to new API
10391           (untested)
10392         * gst/schedulers/gstoptimalscheduler.c:
10393         (gst_opt_scheduler_class_init):
10394           remove useless select, lock and unlock function calls
10395         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10396           use gst_pad_collect instead of gst_pad_select
10397
10398 2004-04-04  Benjamin Otte  <otte@gnome.org>
10399
10400         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10401         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10402         (schedule_next_element), (print_entry):
10403           add can_schedule_pad to handle element states.
10404           add schedule_forward to select the correct entry to schedule next
10405
10406 2004-04-03  Benjamin Otte  <otte@gnome.org>
10407
10408         * gst/schedulers/entryscheduler.c: 
10409           remove unused variable, fix error inside Rb, fix compile warning in
10410           unreachable code
10411
10412 2004-04-03  Benjamin Otte  <otte@gnome.org>
10413
10414         * gst/schedulers/entryscheduler.c:
10415           completely revamp the inner workings, so it's a lot easier to
10416           understand and extend
10417
10418 2004-04-03  Andy Wingo  <wingo@pobox.com>
10419
10420         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10421         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10422         This allows better introspection of pipeline topology.
10423         (add_to_chain): Don't do trickery to put loop elements first;
10424         rather, queue a chain sort by marking the chain as dirty.
10425         (remove_from_chain): Mark the chain dirty.
10426         (sort_chain): New function. Sorts the group list so that terminal
10427         sinks are first. This means elements on the sink side will be
10428         preferentially sscheduled before elements on the src side of the
10429         pipeline.
10430         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10431         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10432         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10433         (group_inc_link): Change argument and variable names to match the
10434         new link structure member names (src and sink).
10435         (group_dec_link): Add some description
10436
10437 2004-04-03  Benjamin Otte  <otte@gnome.org>
10438
10439         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10440         * gst/gstinfo.h:
10441         * testsuite/debug/category.c: (main):
10442         * testsuite/debug/commandline.c: (main):
10443         * testsuite/debug/output.c: (main):
10444         * testsuite/debug/printf_extension.c: (main):
10445           fix to successfully build and test with --disable-gst-debug
10446           configure switch (fixes #138705)
10447
10448 2004-04-03  Benjamin Otte  <otte@gnome.org>
10449
10450         * docs/pwg/building-boiler.xml:
10451           add cvs login line and s/anonymous/anoncvs/
10452
10453 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10454
10455         reviewed by Benjamin Otte  <otte@gnome.org>
10456
10457         * gst/gststructure.c: (gst_structure_free):
10458           memleak fix: free fields array (partial fix for #134839)
10459
10460 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10461
10462         * docs/random/ds/0.9-suggested-changes:
10463           Add a note to change handoff use in fakesrc to be usable in
10464           a more generic way (fakesrc should be renamed to appsrc or so).
10465         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10466           Change signal type to scope, so we can fill the buffer in the
10467           handoff handler (that's the whole use of this signal...).
10468
10469 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10470
10471         * docs/pwg/other-ntoone.xml:
10472           Document muxers and n-to-1 elements.
10473
10474 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10475
10476         * gst/registries/gstxmlregistry.c
10477         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10478         determine if a file is a G_MODULE. The old one discards paths
10479         containing "so" somewhere in the middle. My home directory is
10480         called "soto". Go figure...
10481
10482 2004-03-31  David Schleef  <ds@schleef.org>
10483
10484         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10485         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10486         * gst/gstbuffer.h:
10487
10488 2004-03-31  David Schleef  <ds@schleef.org>
10489
10490         * gst/gstvalue.c: (gst_value_union_int_int_range),
10491         (gst_value_union_int_range_int_range), (gst_value_can_union),
10492         (gst_value_union), (_gst_value_initialize):  Add some union
10493         implementations.  We didn't have any previously.
10494         * testsuite/caps/Makefile.am:
10495         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10496         (gst_audioscale_getcaps), (test_caps), (main): A little test
10497         that is the same as the caps manipulation in audioscale.
10498
10499 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10500
10501         * docs/faq/general.xml:
10502           add entry about "does gst support format X?"
10503
10504 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10505
10506         * gst/gstthread.c:
10507           fix docs
10508         * gst/gstutils.h:
10509           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10510
10511 2004-03-30  Benjamin Otte  <otte@gnome.org>
10512
10513         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10514           set the offset of the buffer to the requested offset
10515         * gst/elements/gsttypefind.c: (stop_typefinding):
10516           revert patch 1.18 (which I unfortunately don't know the reason for).
10517           This is needed to allow downstream elements to seek. Otherwise
10518           typefind might overwrite a previous seek by downstream elements.
10519           This lead to errors with id3tag and typefind on some mp3s.
10520         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10521         (gst_entry_scheduler_iterate):
10522           be more verbose when debugging
10523
10524 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10527           make sure we don't get NULL strings
10528
10529 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10530
10531         * gst/gstcaps.c:
10532         * gst/gstelement.c:
10533         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10534         * gst/gstindex.c: (gst_index_resolver_get_type),
10535         (gst_index_get_type), (gst_index_factory_get_type):
10536         * gst/gstinfo.c:
10537         * gst/gstpad.c:
10538         * gst/gstplugin.c:
10539         * gst/gsturi.c: (gst_uri_handler_get_type):
10540         * gst/gstvalue.c:
10541           first batch of documentation fixes
10542
10543 2004-03-29  David Schleef  <ds@schleef.org>
10544
10545         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10546         * docs/gst/gstreamer-docs.sgml:  More hacking
10547         * docs/gst/gstreamer-sections.txt:
10548         * docs/gst/tmpl/cothreads_compat.sgml:
10549         * docs/gst/tmpl/gstcaps.sgml:
10550         * docs/gst/tmpl/gstclock.sgml:
10551         * docs/gst/tmpl/gstelement.sgml:
10552         * docs/gst/tmpl/gstevent.sgml:
10553         * docs/gst/tmpl/gstpad.sgml:
10554         * docs/gst/tmpl/gstutils.sgml:
10555         * docs/gst/tmpl/gstxml.sgml:
10556         * docs/gst/tmpl/gthread-cothreads.sgml:
10557         * docs/random/ds/0.9-suggested-changes:
10558         * gst/elements/gstfakesink.h: doc fixes
10559         * gst/elements/gstfakesrc.h: doc fixes
10560         * gst/gstcaps.c: doc fixes
10561         * gst/gstcaps.h: doc fixes
10562         * gst/gstelement.c: doc fixes
10563         * gst/gstelement.h: doc fixes
10564         * gst/gstindex.c: doc fixes
10565         * gst/gstinfo.c: doc fixes
10566         * gst/gstpad.c: doc fixes
10567         * gst/gstpad.h: doc fixes
10568         * gst/gstplugin.c: doc fixes
10569         * gst/gsttypefind.h: doc fixes
10570         * gst/gsturi.c: doc fixes
10571         * gst/gstvalue.c: doc fixes
10572
10573 2004-03-29  Colin Walters  <walters@redhat.com>
10574
10575         * gst/registries/gstxmlregistry.c (get_time)
10576         (plugin_times_older_than_recurse):
10577         Use the result of stat to determine whether a path is a file,
10578         so we don't attempt to opendir() files.
10579
10580 2004-03-29  Benjamin Otte  <otte@gnome.org>
10581
10582         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10583           print caps in debugging output when setting caps failed
10584         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10585         (schedule_next_element), (get_buffer), (run_chainhandler),
10586         (element_may_start), (gst_entry_scheduler_chain_handler),
10587         (gst_entry_scheduler_get_handler),
10588         (gst_entry_scheduler_state_transition),
10589         (gst_entry_scheduler_pad_link):
10590           make this scheduler a testcase for mandatory
10591           discont-before-first-buffer which is needed if we want to allow apps
10592           to release the sound device.
10593           add SCHED_ASSERT macro to print scheduler state before an assertion
10594           triggers.
10595
10596 2004-03-29  Benjamin Otte  <otte@gnome.org>
10597
10598         * COPYING:
10599           replace by LGPL (former COPYING.LIB). The core is completely
10600           licensed LGPL.
10601         * COPYING.LIB:
10602           remove
10603
10604 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * po/af.po:
10607         * po/sv.po:
10608           updated Afrikaans and Swedish
10609
10610 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10611
10612         * po/LINGUAS:
10613         * po/az.po:
10614           adding Azerbaijani (Mətin Əmirov)
10615
10616 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10617
10618         * gst/gstelement.h: 
10619         * gst/gstelement.c (gst_element_set_time_delay): New function for
10620         setting element time taking into account a hardware buffering
10621         delay.
10622         (gst_element_set_time): Now just an invocation of
10623         gst_element_set_time_delay.
10624         * gst/gstclock.h: 
10625         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10626         allowing to set event times in the future.
10627         (gst_clock_get_event_time): Now just an invocation of
10628         gst_clock_get_event_time_delay.
10629
10630 2004-03-28  Benjamin Otte  <otte@gnome.org>
10631
10632         * gst/gstbin.c: (gst_bin_set_element_sched),
10633         (gst_bin_unset_element_sched):
10634           don't add decoupled elements to schedulers - otherwise it's
10635           impossible to control if a link to a decoupled element was already
10636           removed from a scheduler or not.
10637         * gst/schedulers/cothreads_compat.h:
10638         * gst/schedulers/gthread-cothreads.h:
10639           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10640           is no "unused" warning.
10641         * gst/schedulers/Makefile.am:
10642         * gst/schedulers/entryscheduler.c:
10643           add new scheduler, based on ideas from talking to David and Martin.
10644           It's supposed to be small and correct. Currently it's also slow (but
10645           it's not noticable)
10646         * examples/retag/retag.c: (main):
10647         * testsuite/bytestream/test1.c: (main):
10648           fix missing NULLs at end of variadic functions
10649         * testsuite/elements/.cvsignore:
10650           update
10651
10652 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10653
10654         * gst/gstevent.h:
10655         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10656
10657 2004-03-25  David Schleef  <ds@schleef.org>
10658
10659         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10660         * docs/gst/tmpl/gstaggregator.sgml:
10661         * docs/gst/tmpl/gstautoplugfactory.sgml:
10662         * docs/gst/tmpl/gstbin.sgml:
10663         * docs/gst/tmpl/gstbuffer.sgml:
10664         * docs/gst/tmpl/gstbufferstore.sgml:
10665         * docs/gst/tmpl/gstfakesink.sgml:
10666         * docs/gst/tmpl/gstfakesrc.sgml:
10667         * docs/gst/tmpl/gstmd5sink.sgml:
10668         * docs/gst/tmpl/gstreamer-unused.sgml:
10669         * docs/gst/tmpl/gstsearchfuncs.sgml:
10670         * docs/gst/tmpl/gstshaper.sgml:
10671         * docs/gst/tmpl/gstspider.sgml:
10672         * docs/gst/tmpl/gsttee.sgml:
10673         * docs/gst/tmpl/gstutils.sgml:
10674         * docs/gst/tmpl/gstvalue.sgml:
10675         * docs/gst/tmpl/gstxml.sgml:
10676         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10677         and we don't support it.
10678         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10679         (gst_use_threads), (gst_has_threads): same
10680         * gst/gstthreaddummy.c: same
10681         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10682         * gst/autoplug/gstspider.h: same
10683         * gst/elements/gstaggregator.h: Remove bogus function from header
10684         * gst/elements/gstfakesink.h: same
10685         * gst/elements/gstfakesrc.h: same
10686         * gst/elements/gstmd5sink.h: same
10687         * gst/elements/gstshaper.h: same
10688         * gst/elements/gsttee.h: same
10689         * gst/gstbin.c: doc fixes
10690         * gst/gstbin.h: Remove unused definition.
10691         * gst/gstbuffer.c: doc fixes
10692         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10693         * gst/gstfilter.c: doc fixes
10694         * gst/gsttag.c: doc fixes
10695         * gst/gstvalue.c: doc fixes
10696
10697 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10698
10699         * docs/pwg/advanced-types.xml:
10700           Document typefinding.
10701         * docs/pwg/other-oneton.xml:
10702           Document one-to-n elements, demuxers and parsers.
10703
10704 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10705
10706         reviewed by: David Schleef  <ds@schleef.org>
10707
10708         * configure.ac: Check bison version (bug #127838)
10709
10710 2004-03-25  David Schleef  <ds@schleef.org>
10711
10712         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10713         * docs/gst/gstreamer-sections.txt:
10714         * docs/gst/tmpl/gstautoplug.sgml:
10715         * docs/gst/tmpl/gststaticautoplug.sgml:
10716         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10717         * docs/gst/tmpl/gstutils.sgml:
10718         * docs/gst/tmpl/gstxml.sgml:
10719
10720 2004-03-24  David Schleef  <ds@schleef.org>
10721
10722         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10723         manual being such complete crap, that I decided to do major
10724         hacking of it.  This checkin replaces any fine tuning that
10725         may have been done previously, with the benefit of actually
10726         being complete for much of the API that was changed since
10727         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10728         * docs/gst/gstreamer-sections.txt:
10729         * docs/gst/tmpl/GstBin.sgml:
10730         * docs/gst/tmpl/GstBuffer.sgml:
10731         * docs/gst/tmpl/GstCaps.sgml:
10732         * docs/gst/tmpl/GstClock.sgml:
10733         * docs/gst/tmpl/GstCompat.sgml:
10734         * docs/gst/tmpl/GstData.sgml:
10735         * docs/gst/tmpl/GstElement.sgml:
10736         * docs/gst/tmpl/GstEvent.sgml:
10737         * docs/gst/tmpl/GstIndex.sgml:
10738         * docs/gst/tmpl/GstStructure.sgml:
10739         * docs/gst/tmpl/GstTag.sgml:
10740         * docs/gst/tmpl/cothreads.sgml:
10741         * docs/gst/tmpl/cothreads_compat.sgml:
10742         * docs/gst/tmpl/gettext.sgml:
10743         * docs/gst/tmpl/grammar.tab.sgml:
10744         * docs/gst/tmpl/gst-i18n-app.sgml:
10745         * docs/gst/tmpl/gst-i18n-lib.sgml:
10746         * docs/gst/tmpl/gst.sgml:
10747         * docs/gst/tmpl/gst_private.sgml:
10748         * docs/gst/tmpl/gstaggregator.sgml:
10749         * docs/gst/tmpl/gstarch.sgml:
10750         * docs/gst/tmpl/gstatomic.sgml:
10751         * docs/gst/tmpl/gstatomic_impl.sgml:
10752         * docs/gst/tmpl/gstbin.sgml:
10753         * docs/gst/tmpl/gstbuffer.sgml:
10754         * docs/gst/tmpl/gstbufferstore.sgml:
10755         * docs/gst/tmpl/gstcaps.sgml:
10756         * docs/gst/tmpl/gstclock.sgml:
10757         * docs/gst/tmpl/gstcompat.sgml:
10758         * docs/gst/tmpl/gstconfig.sgml:
10759         * docs/gst/tmpl/gstcpu.sgml:
10760         * docs/gst/tmpl/gstdata.sgml:
10761         * docs/gst/tmpl/gstdata_private.sgml:
10762         * docs/gst/tmpl/gstelement.sgml:
10763         * docs/gst/tmpl/gstenumtypes.sgml:
10764         * docs/gst/tmpl/gsterror.sgml:
10765         * docs/gst/tmpl/gstevent.sgml:
10766         * docs/gst/tmpl/gstfakesink.sgml:
10767         * docs/gst/tmpl/gstfakesrc.sgml:
10768         * docs/gst/tmpl/gstfilesink.sgml:
10769         * docs/gst/tmpl/gstfilter.sgml:
10770         * docs/gst/tmpl/gstindex.sgml:
10771         * docs/gst/tmpl/gstinfo.sgml:
10772         * docs/gst/tmpl/gstinterface.sgml:
10773         * docs/gst/tmpl/gstlog.sgml:
10774         * docs/gst/tmpl/gstmacros.sgml:
10775         * docs/gst/tmpl/gstmarshal.sgml:
10776         * docs/gst/tmpl/gstmd5sink.sgml:
10777         * docs/gst/tmpl/gstmultifilesrc.sgml:
10778         * docs/gst/tmpl/gstobject.sgml:
10779         * docs/gst/tmpl/gstpad.sgml:
10780         * docs/gst/tmpl/gstparse.sgml:
10781         * docs/gst/tmpl/gstpipeline.sgml:
10782         * docs/gst/tmpl/gstplugin.sgml:
10783         * docs/gst/tmpl/gstpluginfeature.sgml:
10784         * docs/gst/tmpl/gstqueue.sgml:
10785         * docs/gst/tmpl/gstreamer-unused.sgml:
10786         * docs/gst/tmpl/gstregistry.sgml:
10787         * docs/gst/tmpl/gstregistrypool.sgml:
10788         * docs/gst/tmpl/gstscheduler.sgml:
10789         * docs/gst/tmpl/gstsearchfuncs.sgml:
10790         * docs/gst/tmpl/gstshaper.sgml:
10791         * docs/gst/tmpl/gstspider.sgml:
10792         * docs/gst/tmpl/gstspideridentity.sgml:
10793         * docs/gst/tmpl/gststructure.sgml:
10794         * docs/gst/tmpl/gstsystemclock.sgml:
10795         * docs/gst/tmpl/gsttag.sgml:
10796         * docs/gst/tmpl/gsttaginterface.sgml:
10797         * docs/gst/tmpl/gsttee.sgml:
10798         * docs/gst/tmpl/gstthread.sgml:
10799         * docs/gst/tmpl/gsttrace.sgml:
10800         * docs/gst/tmpl/gsttrashstack.sgml:
10801         * docs/gst/tmpl/gsttypefind.sgml:
10802         * docs/gst/tmpl/gsttypes.sgml:
10803         * docs/gst/tmpl/gsturi.sgml:
10804         * docs/gst/tmpl/gsturitype.sgml:
10805         * docs/gst/tmpl/gstutils.sgml:
10806         * docs/gst/tmpl/gstvalue.sgml:
10807         * docs/gst/tmpl/gstversion.sgml:
10808         * docs/gst/tmpl/gstxml.sgml:
10809         * docs/gst/tmpl/gstxmlregistry.sgml:
10810         * docs/gst/tmpl/gthread-cothreads.sgml:
10811         * docs/gst/tmpl/types.sgml:
10812
10813 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10814
10815         * docs/pwg/other-sink.xml:
10816         * docs/pwg/other-source.xml:
10817           Documentation on how to write source and sink elements. Other
10818           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10819           manager, autoplugger) are all still pending.
10820
10821 2004-03-25  Benjamin Otte  <otte@gnome.org>
10822
10823         * testsuite/elements/Makefile.am:
10824         * testsuite/elements/gst-compprep-check:
10825           add check to make sure gst-compprep works
10826         * testsuite/elements/gst-inspect-check.in:
10827           improve initialization output
10828         * testsuite/Makefile.am:
10829         * testsuite/gst-inspect-check:
10830           remove old file
10831
10832 2004-03-24  David Schleef  <ds@schleef.org>
10833
10834         * testsuite/elements/Makefile.am:
10835         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10836         to the testsuite.
10837
10838 2004-03-24  Benjamin Otte  <otte@gnome.org>
10839
10840         * libs/gst/control/dparam.c: (gst_dparam_attach),
10841         (gst_dparam_detach):
10842         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10843           fix lvalue casts for real
10844
10845 2004-03-24  Benjamin Otte  <otte@gnome.org>
10846
10847         * gst/schedulers/gstbasicscheduler.c:
10848         (gst_basic_scheduler_src_wrapper):
10849         * gst/schedulers/gstoptimalscheduler.c:
10850         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10851         (pad_clear_queued), (gst_opt_scheduler_add_element),
10852         (gst_opt_scheduler_remove_element):
10853           fix GStreamer to not have issues with lvalue casts anymore (fixes
10854           #136841)
10855
10856 2004-03-24  Benjamin Otte  <otte@gnome.org>
10857
10858         * gst/gstelement.c:
10859           add documentation about a gobject quirk where the object hasn't the
10860           correct class pointer set on initialization
10861         * gst/schedulers/gstbasicscheduler.c:
10862         (gst_basic_scheduler_src_wrapper):
10863           make sure to not run into an infinite loop
10864
10865 2004-03-22  Benjamin Otte  <otte@gnome.org>
10866
10867         * gst/gstutils.c: (gst_util_dump_mem):
10868         * gst/gstutils.h:
10869           first argument of gst_util_dump_mem should be const
10870
10871 2004-03-22  Johan Dahlin  <johan@gnome.org>
10872
10873         * gst/gstvalue.h: Clean up a little bit.
10874
10875 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10876
10877         reviewed by Benjamin Otte  <otte@gnome.org>
10878
10879         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10880         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10881         (gst_aggregator_class_init), (gst_aggregator_init):
10882         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10883         (gst_filesrc_dispose), (gst_filesrc_set_location):
10884         * gst/elements/gstidentity.c: (gst_identity_finalize),
10885         (gst_identity_class_init), (gst_identity_chain):
10886         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10887         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10888         (gst_statistics_class_init):
10889         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10890         (gst_tee_get_property):
10891           clean up used memory in this elements correctly on teardown (closes
10892           #137279)
10893
10894 2004-03-20  Colin Walters  <walters@redhat.com>
10895
10896         * gst/registries/gstxmlregistry.c:
10897         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10898         registry saving atomic.
10899
10900 2004-03-20  Colin Walters  <walters@redhat.com>
10901
10902         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10903         Just use
10904         access() instead of actually creating and deleting files.
10905
10906 2004-03-18  David Schleef  <ds@schleef.org>
10907
10908         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10909         (bug #137625)
10910
10911 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * po/sv.po: updated translation (Christian Rose)
10914
10915 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10918         (gst_filesink_get_query_types), (_do_init),
10919         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10920           return FALSE silently
10921         * po/af.po: updated translation (Petri Jooste)
10922
10923 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * Makefile.am:
10926         * configure.ac:
10927           dist common properly
10928         * po/af.po:
10929         * po/fr.po:
10930         * po/nl.po:
10931         * po/sr.po:
10932         * po/sv.po:
10933           refreshing translations
10934
10935 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * po/LINGUAS:
10938         * po/sv.po:
10939         * po/af.po:
10940           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10941
10942 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10943
10944         * Makefile.am: use common/release.mak
10945
10946 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10947
10948         * docs/faq/gst-uninstalled:
10949           adding gst-monkeysaudio to the list of possible plugin dirs
10950
10951 2004-03-16  David Schleef  <ds@schleef.org>
10952
10953         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10954         (gst_init_check_with_popt_table):  Fix some gettext strings to
10955         make them easier to translate.  Required making the strings
10956         non-const.
10957
10958 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10959
10960         * configure.ac: bump nano to 1
10961
10962 === release 0.8.0 ===
10963
10964 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10965
10966         * configure.ac: release 0.8.0, "Executive Slacks"
10967
10968 2004-03-16  Johan Dahlin  <johan@gnome.org>
10969
10970         * gst/schedulers/gstoptimalscheduler.c
10971         (gst_opt_scheduler_pad_unlink): Remove double ;,
10972         spotted by Scott Wheeler
10973
10974 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10975
10976         * configure.ac: bump libtool version
10977
10978 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10979
10980         * gst/gstcaps.h:
10981         * gst/gststructure.h:
10982           add reserved padding
10983
10984 2004-03-15  Benjamin Otte  <otte@gnome.org>
10985
10986         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10987           set the first parameter for select call correctly.
10988           (fixes #137230)
10989
10990 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10991
10992         * *.c,*.h: don't mix tabs and spaces
10993
10994 2004-03-15  Johan Dahlin  <johan@gnome.org>
10995
10996         * gst/schedulers/gstoptimalscheduler.c
10997         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10998         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10999
11000         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11001         
11002 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * testsuite/Rules:
11005           fix gst-register rules
11006
11007 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * testsuite/Rules:
11010           use versioned gst-register
11011
11012 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * docs/libs/gstreamer-libs-sections.txt:
11015           remove </SUBSECTION>
11016         * gst/gstplugin.c:
11017         * gst/gstregistry.c: (gst_registry_add_plugin):
11018         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11019         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11020           add debugging and fix some comment blocks
11021
11022 2004-03-15  Johan Dahlin  <johan@gnome.org>
11023
11024         * *.h: Revert indent changes.
11025         
11026 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11027
11028         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11029           g_error_free the g_error
11030         * tools/gst-feedback-m.m:
11031           check for other versions of gstreamer
11032         * tools/gst-indent:
11033           use sh, not bash
11034
11035 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11036
11037         * tools/gst-register.c: do not spill paths when registries are not
11038           writable, until we fix the "user running gst-register" case.
11039
11040 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11041
11042         * *.c, *.h: commit of gst-indent run on core
11043
11044 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * tools/gst-indent:
11047         * tools/Makefile.am:
11048           add our indentation style as a script
11049
11050 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * po/sr.po:
11053         * po/LINGUAS:
11054           added Serbian translation
11055
11056 2004-03-13  Benjamin Otte  <otte@gnome.org>
11057
11058         * gst/gstelement.c:
11059           add documentation note about gst_element_found_tags_for_pad not
11060           being usable in getfunctions. (see #137042)
11061
11062 2004-03-12  David Schleef  <ds@schleef.org>
11063
11064         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11065         change API right now!  Readd gst_caps_is_simple() macro.
11066         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11067         uninitialized variable.  I'd bet this caused crashes.
11068         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11069
11070 2004-03-12  Johan Dahlin  <johan@gnome.org>
11071
11072         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11073         * gst/gstcaps.h: Clean up
11074
11075         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11076         _gst_caps_initalize()
11077
11078         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11079         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11080
11081         * gst/gststructure.c (gst_structure_get_type): Ditto
11082
11083         * gst/gststructure.h: Ditto
11084         
11085 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11086
11087         * gst/gstqueue.c: (gst_queue_init):
11088           Reset default max. values in queues. Reason is simply to avoid
11089           braindead use. If you want wider values, use the properties. The
11090           default is supposed to always work. Wider values would make this
11091           beast a memory hog by default (250 full-PAL RGB32 video frames?
11092           That's 440 MB! No thank you).
11093
11094 2004-03-10  David Schleef  <ds@schleef.org>
11095
11096         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11097         were found.  (bug #136793)
11098
11099 2004-03-10  Johan Dahlin  <johan@gnome.org>
11100
11101         * gst/schedulers/gstoptimalscheduler.c
11102         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11103         links to elements within the same group, so we can finally remove
11104         that annoying warning. Refactor the code a little bit
11105         (group_dec_links_for_element): Split out
11106
11107 2004-03-09  David Schleef  <ds@schleef.org>
11108
11109         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11110         (bug #134863)
11111
11112 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11113
11114         * configure.ac: first bug fix due to major/minor bump
11115
11116 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11117
11118         * configure.ac: bump nano to 1
11119
11120 === release 0.7.6 ===
11121
11122 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11123
11124         * NEWS:
11125         * RELEASE:
11126         * configure.ac:
11127           releasing 0.7.6, "Almost"
11128         * po/fr.po:
11129         * po/nl.po:
11130         * tools/Makefile.am:
11131         * tools/gst-feedback-m.m:
11132           unversioned source
11133
11134 2004-03-09  Johan Dahlin  <johan@gnome.org>
11135
11136         Reviewed by: Thomas Vander Stichele
11137
11138         * gst/gstelement.c (gst_element_class_init): register second
11139         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11140         language bindings can (de)marshall correctly.
11141
11142         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11143
11144         * gst/gsterror.c (gst_g_error_get_type): New function
11145
11146         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11147         with VOID:OBJECT,OBJECT,STRING 
11148
11149 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11150
11151         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11152         Free a leaked g_timer on early returns.
11153
11154 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11155
11156         * docs/pwg/advanced-types.xml:
11157           Add cinepak description.
11158
11159 2004-03-07  David Schleef  <ds@schleef.org>
11160
11161         * docs/random/mimetypes:  Added cinepak description
11162
11163 2004-03-07  Andy Wingo  <wingo@pobox.com>
11164
11165         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11166
11167         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11168         there are no links to other groups when a group is destroyed.
11169         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11170         removed from a group, make sure the link count to elements linked
11171         to other pads is appropriately decremented. This really fixes
11172         #135672.
11173
11174         The 1.60->1.61 patch has been reapplied in light of this fix.
11175
11176         * gst/gstelement.c (gst_element_dispose): Really protect against
11177         multiple invocations this time.
11178
11179 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11180
11181         * docs/gst/gstreamer-sections.txt:
11182         * docs/gst/tmpl/gsttag.sgml:
11183           remove some deprecated functions, document some existing ones
11184         * gst/gsttag.c: (gst_tag_get_flag):
11185         * gst/gsttag.h:
11186           add accessor function
11187
11188 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11189
11190         * docs/gst/gstreamer-sections.txt:
11191         * docs/gst/tmpl/gsttag.sgml:
11192         * docs/gst/tmpl/gstxml.sgml:
11193         * gst/gsttag.c: (gst_tag_get_flag):
11194         * gst/gsttag.h:
11195
11196 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11197
11198         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11199         leak
11200
11201 2004-03-05  David Schleef  <ds@schleef.org>
11202
11203         * REQUIREMENTS: Add bison and flex.
11204         * configure.ac: Fix comment about bison.
11205         * docs/random/ds/0.9-suggested-changes: yer ma
11206         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11207
11208 2004-03-05  Benjamin Otte  <otte@gnome.org>
11209
11210         * gst/gstelement.c: (gst_element_error_full):
11211           revert recent recursive state changing commit - messing with other
11212           elements' states is evil and should be done by apps only.
11213
11214 2004-03-05  Benjamin Otte  <otte@gnome.org>
11215
11216         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11217           check for empty intersection instead of NULL caps
11218         (gst_element_get_compatible_pad_filtered):
11219           remove old workaround that is only a bug nowadays
11220
11221 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11222
11223         * gst/gstelement.c: (gst_element_error_full):
11224           make elements try to recursively change state to PAUSED on all
11225           parents after an error to suppress ensuing warnings
11226         * gst/parse/grammar.y:
11227           make it check if it was able to sync the state, and throw an error
11228           if not, so stuff like
11229           oggdemux ! vorbisdec ! osssink gets caught
11230
11231 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11232
11233         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11234           it contains lib64; use AS_AC_EXPAND to handle it properly
11235
11236 2004-03-05  David Schleef  <ds@schleef.org>
11237
11238         * gst/gstcpuid_i386.s:  Remove unused code
11239         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11240         (gst_getbits_newbuf): Remove MMX code
11241         * libs/gst/getbits/getbits.h: Remove MMX code
11242
11243 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11244
11245         * debian/.cvsignore:
11246         * debian/README.Debian:
11247         * debian/changelog:
11248         * debian/control:
11249         * debian/control.in:
11250         * debian/copyright:
11251         * debian/gstreamer-core-libs-dev.files:
11252         * debian/gstreamer-core-libs.files:
11253         * debian/gstreamer-core.files:
11254         * debian/gstreamer-core.postinst:
11255         * debian/gstreamer-core.postrm:
11256         * debian/gstreamer-doc.files:
11257         * debian/gstreamer-doc.links:
11258         * debian/gstreamer-doc.lintian:
11259         * debian/gstreamer-runtime.files:
11260         * debian/gstreamer-runtime.manpages:
11261         * debian/gstreamer-runtime.postinst:
11262         * debian/gstreamer-runtime.postrm:
11263         * debian/gstreamer-tools.files:
11264         * debian/gstreamer-tools.manpages:
11265         * debian/libgstreamer-dev.files:
11266         * debian/libgstreamer0.4.1.files:
11267         * debian/libgstreamerVERSION.files:
11268         * debian/rules:
11269         Debian package info not maintained here.
11270
11271 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11272
11273         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11274         * gst/gstbin.c: (gst_bin_class_init):
11275         * gst/gstelement.c: (gst_element_class_init):
11276         * gst/gstindex.c: (gst_index_class_init):
11277         * gst/gstobject.c: (gst_object_class_init),
11278         (gst_signal_object_class_init):
11279         * gst/gstpad.c: (gst_pad_template_class_init):
11280         * gst/gstregistry.c: (gst_registry_class_init):
11281         * gst/gsturi.c: (gst_uri_handler_base_init):
11282         * gst/gstxml.c: (gst_xml_class_init):
11283         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11284         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11285           make all signal names use dashes instead of underscore
11286
11287 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11288
11289         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11290
11291 2004-03-03  Benjamin Otte  <otte@gnome.org>
11292
11293         * gst/schedulers/gstoptimalscheduler.c:
11294           revert last commit by Andy Wingo. It causes segfaults on unreffing
11295           in Rhythmbox. (see bug #135672)
11296
11297 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11298
11299         * po/fr.po: fix typo
11300
11301 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11302
11303         * tools/gst-inspect.c: (main): 
11304         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11305
11306 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11307
11308         * configure.ac:
11309           get GLIB_ONLY and POPT flags for the nonversioned binaries
11310         * tools/Makefile.am:
11311           use them
11312
11313 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11314
11315         * gst/gst.c: (init_post):
11316           change so that GST_REGISTRY now is where the global registry gets
11317           saved, since that is where plugins now get attached to first, and
11318           spilled over to the user registry.  Note that in the case of using
11319           GST_REGISTRY env var, we don't want to affect any real registries
11320           beyond the one given by this var, and thus we don't set a user
11321           registry to spill to.  So make sure GST_REGISTRY is writable.
11322
11323 2004-03-01  David Schleef  <ds@schleef.org>
11324
11325         * AUTHORS:  Added some names.  Add yourself if you're missing.
11326
11327 2004-03-01  David Schleef  <ds@schleef.org>
11328
11329         * MAINTAINERS: Add
11330
11331 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11332
11333         * configure.ac:
11334           remove whitespace
11335         * docs/gst/tmpl/gstbuffer.sgml:
11336         * docs/gst/tmpl/gstdata.sgml:
11337         * docs/gst/tmpl/gstreamer-unused.sgml:
11338         * docs/gst/tmpl/gstxml.sgml:
11339           doc update
11340         * docs/manuals.mak:
11341           add a FIXME
11342         * docs/pwg/intro-preface.xml:
11343         * docs/pwg/pwg.xml:
11344           remove GNOME
11345         * gst/gst.c: (init_post):
11346           try GST_PLUGIN_PATH paths for the _global_registry first
11347         * gst/gstelement.h:
11348           add the error message as well, otherwise (null) debug info doesn't
11349           make much sense
11350         * tools/gst-register.c: (main):
11351           spill paths to next registry if this registry is not writable
11352         * po/fr.po:
11353         * po/nl.po:
11354           translation updates
11355
11356 2004-03-01  Johan Dahlin  <johan@gnome.org>
11357
11358         * gst/gstbuffer.c (_gst_buffer_initialize): 
11359         * gst/gstdata.c (gst_data_get_type): 
11360         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11361         instead of ref, since some applications that uses GBoxed
11362         routines depends on a function that actually returns a copy.
11363
11364 2004-02-27  Benjamin Otte  <otte@gnome.org>
11365
11366         * gst/gstbuffer.h:
11367           remove gst_buffer_free, use gst_data_unref
11368         * gst/gstdata.c: (gst_data_get_type):
11369           use refcounting in GstData GBoxed registration
11370         * gst/gstdata.h:
11371           remove gst_data_free, use gst_data_unref
11372
11373 2004-02-27  Johan Dahlin  <johan@gnome.org>
11374
11375         * gst/gstdata.c (gst_data_get_type): New function, register
11376         GstData as a GBoxed type.
11377
11378         * gst/gstdata.h (GST_TYPE_DATA): New macro
11379
11380 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         * Makefile.am:
11383         * gstreamer.spec.in:
11384           put back RELEASE
11385         * gst/Makefile.am:
11386           clean up non-disting of built files
11387         * testsuite/debug/commandline.c:
11388           test fix for option rename
11389
11390 2004-02-26  David Schleef  <ds@schleef.org>
11391
11392         * configure.ac:  We don't really need glib-2.3.  Also remove
11393         some unneeded checks for library functions.
11394         * gst/Makefile.am:  Instead, we need to not dist files created
11395         by glib-genmarshal.
11396
11397 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11398
11399         * configure.ac:
11400           bump glib required version to 2.3.0 for g_value_takes_boxed
11401
11402  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11403
11404         * common/m4/gst-docs.m4
11405         change flavour text from enable to disable as enable is our default
11406         closes bug Bug 135304
11407
11408 === release 0.7.5 ===
11409  
11410  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11411  
11412         * NEWS:
11413           instate NEWS file
11414         * Makefile.am:
11415         * gstreamer.spec.in:
11416         * RELEASE:
11417           put back release
11418         * configure.ac:
11419         * docs/random/release:
11420           more updates
11421
11422 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11423
11424         * gst/gsttag.c: (_gst_tag_initialize):
11425         * po/fr.po:
11426         * po/nl.po:
11427           remove hyphen from codec tags
11428
11429 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11430
11431         * gst/parse/Makefile.am:
11432           fix dependency so that a make from a clean build works the first
11433           time
11434
11435 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11436
11437         * docs/random/release:
11438           update release strategy
11439         * po/fr.po:
11440           auto-update po file
11441         * po/nl.po:
11442           update dutch translation
11443
11444 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11445
11446         * docs/manual/debugging.xml:
11447         fix manual for new debugging system
11448
11449 2004-02-25  Andy Wingo  <wingo@pobox.com>
11450
11451         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11452         gst_pad_link_prepare. Please email the list with specific reasons
11453         for reverting.
11454
11455 2004-02-24  Andy Wingo  <wingo@pobox.com>
11456
11457         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11458         invocations.
11459
11460         * gst/schedulers/gstoptimalscheduler.c:
11461         I added a mess of prototypes at the top of the file by way of
11462         documentation. Some of the operations on chains and groups were
11463         re-organized.
11464
11465         (create_group): Added a type argument so if the group is enabled,
11466         the setup_group_scheduler knows what to do.
11467         (group_elements): Added a type argument here, too, to be passed on
11468         to create_group.
11469         (group_element_set_enabled): If an unlinked PLAYING element is
11470         added to a bin, we have to create a new group to hold the element,
11471         and this function will be called before the group is added to the
11472         chain. Thus we have a valid case for group->chain==NULL. Instead
11473         of calling chain_group_set_enabled, just set the flag on the group
11474         (the chain's status will be set when the group is added to it).
11475         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11476         Setup the group scheduler when the group is enabled, not
11477         specifically when an element goes PAUSED->PLAYING. This means
11478         PLAYING elements can be added, linked, and scheduled into a
11479         PLAYING pipeline, as was intended.
11480         (add_to_group): Don't ref the group twice. I don't know when this
11481         double-ref got in here. Removing it has the potential to cause
11482         segfaults if other parts of the scheduler are buggy. If you find
11483         that the scheduler is segfaulting for you, put in an extra ref
11484         here and see if that hacks over the underlying issue. Of course,
11485         then find out what code is unreffing a group it doesn't own...
11486         (create_group): Make the extra refcount floating, and remove it
11487         after adding the element. This means that...
11488         (unref_group): Destroy when the refcount reaches 0, not 1, like
11489         every other refcounted object in the known universe.
11490         (remove_from_group): When a group becomes empty, set it to be not
11491         active, and remove it from its chain. Don't unref it again,
11492         there's no floating reference any more.
11493         (destroy_group): We have to remove the group from the chain in
11494         remove_from_group (rather than here) to break refcounting cycles
11495         (the chain always has a ref on the group). So assert that
11496         group->chain==NULL.
11497         (ref_group_by_count): Removed, it was commented out anyway.
11498         (merge_chains): Use the remove_from_chain and add_to_chain
11499         primitives to do the reparenting, instead of rolling our own
11500         implementation.
11501         (add_to_chain): The first non-disabled group in the chain's group
11502         list will be the entry point for the chain. Because buffers can
11503         accumulate in loop elements' peer bufpens, we preferentially
11504         schedule loop groups before get groups to avoid unnecessary
11505         execution of get-based groups when the bufpens are already full.
11506         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11507         (get_group_schedule_function): Ditto.
11508         (loop_group_schedule_function): Ditto.
11509         (gst_opt_scheduler_loop_wrapper): Ditto.
11510         (gst_opt_scheduler_iterate): Ditto.
11511
11512         I understand the opt scheduler now, yippee!
11513
11514         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11515         (gst_pad_get_name, gst_pad_set_chain_function) 
11516         (gst_pad_set_get_function, gst_pad_set_event_function) 
11517         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11518         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11519         (gst_pad_set_query_function, gst_pad_get_query_types) 
11520         (gst_pad_get_query_types_default) 
11521         (gst_pad_set_internal_link_function) 
11522         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11523         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11524         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11525         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11526         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11527         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11528         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11529         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11530         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11531         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11532         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11533         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11534         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11535         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11536         argument checks, and some doc fixes.
11537
11538         (gst_pad_custom_new_from_template): Um, does anyone
11539         use these functions? Actually make a custom pad instead of a
11540         normal one.
11541         (gst_pad_try_set_caps): Transpose some checks.
11542         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11543         the pad is in negotiation.
11544         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11545         
11546         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11547
11548         * gst/gstelement.h: 
11549         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11550         on the list.
11551
11552 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11553
11554         * gst/gstbin.c: (gst_bin_add):
11555           add error for not being able to add elements
11556
11557 2004-02-22  Julien MOUTTE <julien@moutte.net>
11558
11559         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11560         audio-codec and video-codec.
11561
11562 2004-02-22  Benjamin Otte  <otte@gnome.org>
11563
11564         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11565
11566         * autogen.sh:
11567           replace test -e with test -x for mkinstalldirs to be more portable.
11568           (fixes #134816)
11569
11570 2004-02-22  Benjamin Otte  <otte@gnome.org>
11571
11572         * gst/gstpad.c:
11573           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11574           too noisy
11575         * gst/gsttag.c: (_gst_tag_initialize):
11576         * gst/gsttag.h:
11577           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11578         * libs/gst/control/dparam.c: (gst_dparam_attach):
11579         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11580           check that types for attached dparams match
11581
11582 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11585         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11586         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11587           fix errors
11588
11589 2004-02-20  Andy Wingo  <wingo@pobox.com>
11590
11591         * gst/gstbin.c:
11592         * gst/gstbuffer.c:
11593         * gst/gstplugin.c:
11594         * gst/registries/gstxmlregistry.c: 
11595         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11596
11597         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11598         (gst_element_add_pad): DEBUG->INFO, some fixes.
11599         (gst_element_get_compatible_pad_template): Just see if the
11600         templates' caps intersect, not if one is a strict subset of the
11601         other. This conforms more to what gst_pad_link_intersect() does.
11602         (gst_element_class_add_pad_template): Don't memcpy the pad
11603         template, just ref it.
11604         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11605
11606         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11607         (gst_pad_link_filtered): Debug changes.
11608         (gst_pad_link_prepare): New function, consolidated from
11609         can_link_filtered and link_filtered.
11610
11611         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11612         look more like that of the functions in gstelement.c
11613
11614         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11615         object, and return the empty string if object is NULL.
11616
11617         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11618         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11619         LOG, not DEBUG. We still get flex info on debug.
11620
11621         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11622         debug string more verbose.
11623         (plugin_times_older_than): DEBUG->LOG.
11624
11625 2004-02-20  Julien MOUTTE <julien@moutte.net>
11626
11627         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11628         will emit found_tag for each stream they demux with the codec.
11629
11630 2004-02-20  Benjamin Otte  <otte@gnome.org>
11631
11632         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11633           copy navigation event correctly. Check freeing tag lists. 
11634         * gst/gstthread.c: (gst_thread_change_state):
11635           don't abort() on state changing mess - it might happen because of
11636           bugs.
11637         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11638           use boxed functions
11639         * gst/gstvalue.h:
11640           fix GST_VALUE_HOLDS_CAPS
11641
11642 2004-02-19  David Schleef  <ds@schleef.org>
11643
11644         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11645         and use it for GST_FUNCTION.  (bug #134750)
11646
11647 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * po/fr.po:
11650         * po/nl.po:
11651           updating translations
11652
11653 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11654
11655         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11656
11657 2004-02-18  kost@imn.htwk-leipzig.de
11658
11659         reviewed by: David Schleef  <ds@schleef.org>
11660
11661         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11662         for libgstcontrol.
11663
11664 2004-02-18  David Schleef  <ds@schleef.org>
11665
11666         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11667         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11668         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11669         * tools/gst-inspect.c: (print_element_info): Support dumping of
11670         double dparam information.
11671
11672 2004-02-17  David Schleef  <ds@schleef.org>
11673
11674         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11675         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11676         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11677         Use GST_TYPE_CAPS in signal prototype.
11678         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11679         Convert GST_TYPE_CAPS to boxed.
11680         * gst/gstelement.c: (gst_element_class_init):
11681         Use GST_TYPE_TAG_LIST in signal prototype.
11682         * gst/gstindex.c: (gst_index_class_init):
11683         * gst/gstindex.h:
11684         Add GST_TYPE_INDEX_ENTRY type.
11685         * gst/gstmarshal.list:
11686         Add necessary marshal types.
11687         * gst/gstpad.c: (gst_real_pad_class_init),
11688         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11689         (gst_pad_recover_caps_error):
11690         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11691         * gst/gststructure.c: (_gst_structure_initialize),
11692         (gst_structure_copy), (_gst_structure_copy_conditional):
11693         * gst/gststructure.h:
11694         Convert GST_TYPE_STRUCTURE to boxed.
11695         * gst/gsttag.c: (gst_tag_list_get_type):
11696         * gst/gsttag.h:
11697         Add GST_TYPE_TAG_LIST type.
11698
11699 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11700
11701         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11702         to what we agreed with david.
11703         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11704
11705 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11706
11707         * po/nl.po: update translation
11708
11709 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11710
11711         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11712           throw an error if spider is trying to play a mime type there is
11713           no decoder for
11714         * po/POTFILES.in:
11715           add gst/autoplug/gstspider.c for translation
11716
11717 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11718
11719         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11720         silently when the pad is negotiating.
11721
11722 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11723
11724         * docs/faq/Makefile.am:
11725           add script to run gstreamer uninstalled 
11726         * docs/faq/faq.xml:
11727         * docs/faq/developing.xml:
11728         * docs/faq/gst-uninstalled:
11729           extract script to run gstreamer uninstalled
11730         * docs/manuals.mak:
11731           add EXTRA_SOURCES variable for Makefile.am's to set to
11732           use additional SOURCE files for the doc build
11733
11734 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11735
11736         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11737
11738 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11739
11740         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11741         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11742         an error was thrown by osssink. Basically a state change failure for
11743         an element in a different scheduling group was considered as
11744         successful, which means that caps nego was going on and weird stuff
11745         happened. Like I wrote in the comment there, if someone wants to
11746         revert that please drop me a mail explaining why because I really see
11747         no point in keeping that broken behaviour there.
11748         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11749         be empty, we then return NULL which will trigger a nice error when 
11750         pulling from the pad.
11751
11752 2004-02-13  David Schleef  <ds@schleef.org>
11753
11754         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11755         (gst_dparam_get_property), (gst_dparam_set_property),
11756         (gst_dparam_do_update_default):
11757         * libs/gst/control/dparam.h:
11758         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11759         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11760         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11761         (gst_dpsmooth_do_update_double):
11762         * libs/gst/control/dparam_smooth.h:
11763         * libs/gst/control/dparammanager.c:
11764         (gst_dpman_inline_direct_update):
11765         Add support for double dparams.
11766
11767 2004-02-13  David Schleef  <ds@schleef.org>
11768
11769         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11770         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11771
11772 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11773
11774         reviewed by: David Schleef  <ds@schleef.org>
11775
11776         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11777         (gst_fdsrc_init), (gst_fdsrc_set_property),
11778         (gst_fdsrc_get_property), (gst_fdsrc_get):
11779         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11780         and sends an EOS event if file descriptor reading times out.
11781
11782 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * configure.ac:
11785           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11786
11787 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11788
11789         * configure.ac: pass required libxml version as argument
11790         (bug reported by Christophe Fergeau)
11791
11792 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11793   
11794         * docs/gst/gstreamer-docs.sgml:
11795         * docs/gst/tmpl/gstxml.sgml:
11796         * docs/libs/gstreamer-libs-docs.sgml:
11797           version API docs
11798
11799 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11800
11801         * gst/gstinfo.c:
11802         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11803         (gst_registry_pool_feature_filter):
11804         * gst/gstthread.c: (gst_thread_class_init):
11805         * gst/gstvalue.c:
11806           add includes exposed by building without libxml
11807         * gst/indexers/Makefile.am:
11808           do not build fileindex when LOADSAVE disabled; we should have
11809           a better libxml check later since fileindex depends on xml, not
11810           LOADSAVE or REGISTRY
11811         * libs/gst/control/Makefile.am:
11812           link with m
11813         * tools/Makefile.am:
11814           fix wrong source code for gst-xmlinspect
11815
11816 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11817
11818         * configure.ac:
11819           fix gcov help output
11820           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11821         * docs/random/release:
11822           some updated releasing notes
11823         * gstreamer.spec.in:
11824           more updates
11825
11826 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * docs/faq/faq.xml:
11829         * docs/manual/manual.xml:
11830         * docs/pwg/pwg.xml:
11831         * docs/pwg/titlepage.xml:
11832           put version in documentation
11833
11834 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11835
11836         * tools/Makefile.am: fix man page installation
11837
11838 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11839
11840         * configure.ac:
11841           don't check for libxml when load/save and registry disabled (#105844)
11842         * gstreamer.spec.in:
11843           sync with fedora candidate spec
11844
11845 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11846
11847         * po/fr.po:
11848         * po/nl.po:
11849           replace multidisksrc with multifilesrc
11850
11851 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11852
11853         * po/POTFILES.in:
11854           update to multidisksrc => multifilesrc file renaming (#134145)
11855
11856 2004-02-11  David Schleef  <ds@schleef.org>
11857
11858         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11859         * docs/gst/tmpl/gstpadtemplate.sgml: same
11860         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11861         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11862         fixing dance.
11863         * gst/gstutils.c: Remove disabled code that uses GstProps.
11864         * gst/registries/gstxmlregistry.h: same
11865         * docs/random/ds/0.9-suggested-changes: random notes
11866
11867 2004-02-11  kost@imn.htwk-leipzig.de
11868
11869         reviewed by: David Schleef  <ds@schleef.org>
11870
11871         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11872         initialisation of clock (bug #134128)
11873
11874 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11875
11876         * configure.ac:
11877         * gst/elements/Makefile.am:
11878         * gst/elements/gstelements.c:
11879         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11880         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11881         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11882         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11883         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11884         * gst/elements/gstmultifilesrc.h:
11885           rename multidisksrc to multifilesrc (part of #122200)
11886
11887 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11888
11889         * docs/manuals.mak:
11890           fix automake complaints
11891         * gst-element-check.m4:
11892           fix unquotedness
11893
11894 2004-02-11  David Schleef  <ds@schleef.org>
11895
11896         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11897         * gst/gstatomic_impl.h: Disable sparc implementation.
11898
11899 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11900
11901         * gst-element-check.m4:
11902           fix underquoted macros as reported by automake 1.8.x (#133800)
11903         * configure.ac:
11904           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11905           by autopoint (fixes #132996)
11906
11907 2004-02-10  Andy Wingo  <wingo@pobox.com>
11908
11909         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11910         way to do inheritance.
11911         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11912         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11913         Routine docs.
11914         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11915         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11916         doc.
11917         (gst_pad_unlink, gst_pad_is_linked): Docs.
11918         (gst_pad_renegotiate): A brief description of capsnego.
11919         (gst_pad_try_set_caps): Document.
11920         (gst_pad_try_set_caps_nonfixed): Document.
11921         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11922         (gst_pad_set_parent): Deprecated (although not out of the API).
11923         (gst_pad_get_parent): Deprecated, although many plugins use this.
11924         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11925         are private and will go away in 0.9.
11926         (gst_pad_perform_negotiate): Doc.
11927         (gst_pad_link_unnegotiate): I think this is meant to be static.
11928         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11929         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11930         (gst_pad_get_peer): Doc updates.
11931         (gst_pad_caps_change_notify): Doc.
11932         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11933         (gst_ghost_pad_new): Doc fixes.
11934
11935         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11936         (gst_object_check_uniqueness): 
11937
11938         * gst/gstelement.c (gst_element_add_pad) 
11939         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11940         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11941         (gst_element_get_static_pad, gst_element_get_pad_list) 
11942         (gst_element_class_get_pad_template_list) 
11943         (gst_element_class_get_pad_template): Work on the docs.
11944         (gst_element_get_pad_template_list): Uses the class method.
11945         (gst_element_get_compatible_pad_template): Docs, and consolidate
11946         some test conditions. 
11947         (gst_element_get_pad_from_template): New static function.
11948         (gst_element_request_compatible_pad): Docs, and work with
11949         non-request compatible templates. 
11950         (gst_element_get_compatible_pad_filtered): Docs and remove
11951         redundant checks.
11952         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11953         (gst_element_link_filtered, gst_element_link_many) 
11954         (gst_element_link, gst_element_link_pads) 
11955         (gst_element_unlink_many): Docs.
11956
11957 2004-02-05  Andy Wingo  <wingo@pobox.com>
11958
11959         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11960         s/pointer/boxed/.
11961
11962         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11963
11964         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11965         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11966         with the type=GST_TYPE_CAPS. This allows language bindings to know
11967         what kind of data they're dealing with.
11968
11969         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11970         to NULL when g_value_init is called. GstCaps, which rolls its own
11971         type implementation, now does the same instead of allocating empty
11972         caps.
11973         (_gst_caps_initialize, _gst_caps_collect_value,
11974         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11975         table methods. This allows G_VALUE_COLLECT to work.
11976
11977 2004-02-05  Andy Wingo  <wingo@pobox.com>
11978
11979         * configure.ac:
11980         * testsuite/Makefile.am (SUBDIRS): 
11981         * testsuite/ghostpads/Makefile.am: 
11982         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11983
11984         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11985         These two routines are the only ones that set
11986         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11987         pad template. They should be made static, depending on ABI needs.
11988         (gst_real_pad_dispose): Handle the case of ghost pads without a
11989         parent. Assert after dealing with ghost pads that the ghost pad
11990         list is empty.
11991         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11992         set after creation.
11993         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11994         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11995         functions. set_property will call add_ghost_pad/remove_ghost_pad
11996         as appropriate.
11997         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11998
11999         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12000         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12001         (gst_element_remove_pad): Handle ghost pads as well.
12002         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12003         depending on API-stability needs).
12004
12005 2004-02-05  Andy Wingo  <wingo@pobox.com>
12006
12007         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12008         of course they're const
12009
12010 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * tools/Makefile.am:
12013         * tools/gst-feedback:
12014         * tools/gst-feedback-0.7:
12015           make gst-feedback versioned too for consistency
12016
12017 2004-02-11  David Schleef  <ds@schleef.org>
12018
12019         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12020         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12021
12022 2004-02-10  Julien MOUTTE <julien@moutte.net>
12023
12024         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12025         the structure does not contain a valid tag list. Adding a safety check
12026         to remove a noisy warning in that case.
12027
12028 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12029
12030         * gst/gst.c: fix name to be in line with others
12031
12032 2004-02-09  Julien MOUTTE <julien@moutte.net>
12033
12034         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12035         not shout that loud when len is 0. Just return 0 silently.
12036
12037 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12038
12039         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12040         because data_unref has one and I prefer the debug to be symetric.
12041         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12042         were refed when added to the queue and unrefed only once when the queue
12043         was flushed. Now the flush handler unref the buffers two times : first
12044         unref for the ref added when pushing in the queue's tail and second
12045         unref to destroy the flushed buffer.
12046
12047 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12048
12049         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12050
12051 2004-02-06  David Schleef  <ds@schleef.org>
12052
12053         * docs/random/ds/0.9-suggested-changes: Random ramblings
12054         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12055         to int before printing.
12056         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12057         * gst/parse/parse.l: same.  See bug #129600
12058
12059 2004-02-06  David Schleef  <ds@schleef.org>
12060
12061         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12062         (gst_index_add_entry), (gst_index_add_associationv),
12063         (gst_index_add_association): Add gst_index_add_associationv()
12064         and clean up gst_index_add_association(). #127133
12065
12066 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12067
12068         * autogen.sh: check out common with right tag if CVS/Tag exists
12069
12070 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * testsuite/ghostpads/ghostpads.c: (main):
12073           fix testsuite from segfaulting
12074
12075 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * Makefile.am: add release target
12078         * configure.ac: bump nano to 1
12079         * docs/random/release:
12080
12081 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12082
12083         * gst/gstcaps.h:
12084         * gst/gstelement.c: (gst_element_base_class_init),
12085         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12086         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12087         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12088         (gst_real_pad_dispose):
12089         * gst/gststructure.c: (gst_structure_free),
12090         (gst_structure_from_string):
12091           put reverted patch back in
12092         * gst/gstelement.c: (gst_element_remove_pad):
12093           free explicit caps if they're set
12094         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12095           copy the structure when fixating
12096
12097 2004-02-05  David Schleef  <ds@schleef.org>
12098
12099         * gst/gstmarshal.list:
12100         * gst/gstpad.c: (gst_real_pad_class_init),
12101         (_gst_real_pad_fixate_accumulator):
12102         Revert POINTER->BOXED change in signal marshaller.
12103
12104 === release 0.7.4 ===
12105                                                                                 
12106 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12107                                                                                 
12108         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12109         * configure.ac: changed for release
12110
12111 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12112
12113         * gstreamer.spec.in:
12114           bump required version of gtk-doc
12115
12116 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12117
12118         * gst/gstcaps.h:
12119         * gst/gstelement.c: (gst_element_base_class_init),
12120         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12121         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12122         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12123         (gst_real_pad_dispose):
12124         * gst/gststructure.c: (gst_structure_free),
12125         (gst_structure_from_string):
12126           revert patch that breaks applications, reapply after release
12127           to get this fixed properly
12128
12129 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12130
12131         * gst/gsttag.c: (_gst_tag_initialize):
12132         * gst/gsttag.h:
12133           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12134
12135 2004-02-04  David Schleef  <ds@schleef.org>
12136
12137         Fix some memleaks:
12138         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12139         (gst_spider_plug_from_srcpad):
12140         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12141
12142 2004-02-04  David Schleef  <ds@schleef.org>
12143
12144         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12145         a GstRealPad before accessing its structure members.
12146
12147 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12148
12149         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12150         (gst_clock_get_speed):
12151         * gst/gstclock.h:
12152           reset padding, remove unused fields
12153
12154 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12155
12156         * gst/autoplug/gstspideridentity.c:
12157         (gst_spider_identity_sink_loop_type_finding):
12158           use get_allowed_caps, not get_caps (fixes #132519)
12159         * gst/elements/gsttypefind.c: (stop_typefinding):
12160           use correct order when sending buffers and seeking
12161
12162 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12163
12164         * configure.ac:
12165         * gst/gstelement.h:
12166         * gst/gstpad.h:
12167         * gst/gstqueue.h:
12168           upgrade libtool CURRENT, reset padding
12169
12170 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12171
12172         * configure.ac:
12173           bump to prerelease
12174           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12175
12176 2004-02-04  David Schleef  <ds@schleef.org>
12177
12178         * docs/random/ds/0.9-suggested-changes: random notes
12179         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12180         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12181         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12182         expansion.
12183         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12184         (gst_filesink_get_query_types): same
12185         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12186         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12187         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12188         to use new GST_PTR_FORMAT.
12189         * gst/gstelement.h: deprecate function factory macros
12190         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12191         These are our last variadic macros that can't be replaced with
12192         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12193         attempting to deprecate gst_element_clock_wait().
12194         * gst/gstevent.h: same
12195         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12196         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12197         * gst/gstpad.h: deprecate function factory macros similar to above.
12198
12199 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12200
12201         * configure.ac:
12202         * tools/Makefile.am:
12203         * tools/gst-run.c: (popt_callback), (hash_print_key),
12204         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12205         (get_candidates), (main):
12206           add new source file to generate non-versioned wrapper binaries
12207           for our tools.
12208
12209 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12210
12211         * gst/gstevent.c: (_gst_event_free):
12212           actually break; inside the switch statement
12213         * gst/parse/grammar.y:
12214           fix memleak where GValues weren't unset
12215
12216 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12217
12218         * gst/gststructure.c: (gst_structure_from_string):
12219           fix huge memleak
12220         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12221         (new_entry), (gst_type_find_element_chain):
12222         * gst/gstelement.c: (gst_element_base_class_init),
12223         (gst_element_class_set_details):
12224         * gst/gstpad.c: (gst_pad_can_link_filtered):
12225           fix smaller memleaks
12226         * gst/gstpad.c: (gst_real_pad_dispose):
12227           check that explicit caps are gone
12228         * gst/gststructure.c: (gst_structure_free):
12229           actually free the structure
12230         * gst/gstelement.c: (gst_element_clear_pad_caps):
12231           unset explicit caps
12232
12233 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12234
12235         * tools/Makefile.am:
12236           use AM_CFLAGS since all the CFLAGS are the same
12237           use AM_LDFAGS
12238
12239 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12240
12241         * docs/manual/gnome.xml:
12242           expand example a little
12243         * gst/gst.c: (gst_init_with_popt_table),
12244         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12245           make sure popt option displays are done with right textdomain
12246           use GstPoptOption type
12247         * gst/gst.h:
12248           create GstPoptOption type
12249
12250 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12251
12252         * gst/gsterror.c: (_gst_stream_errors_init):
12253         * gst/gsterror.h:
12254           adding error type for no codec
12255         * po/POTFILES.in:
12256           add gst-inspect
12257         * po/nl.po:
12258           update dutch translation
12259         * tools/gst-inspect.c: (print_element_list), (main):
12260           do proper internationalization
12261         * tools/gst-launch.c: (idle_func):
12262           remove commented out function call
12263
12264 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12265
12266         * docs/README:
12267           add some error fixing notes
12268         * docs/gst/gstreamer-sections.txt:
12269           remove double entries
12270         * docs/gst/tmpl/gstbin.sgml:
12271         * docs/gst/tmpl/gstclock.sgml:
12272           remove override
12273         * docs/gst/tmpl/gstelement.sgml:
12274         * docs/gst/tmpl/gstindex.sgml:
12275         * docs/gst/tmpl/gstobject.sgml:
12276         * docs/gst/tmpl/gstpadtemplate.sgml:
12277         * docs/gst/tmpl/gstreamer-unused.sgml:
12278         * docs/gst/tmpl/gsttag.sgml:
12279         * docs/gst/tmpl/gstthread.sgml:
12280         * docs/gst/tmpl/gstxml.sgml:
12281         * gst/gsttag.h:
12282           sync header prototypes with c decls
12283         * gst/gsttaginterface.c:
12284           fix doc headers
12285
12286 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12287
12288         * gst/parse/Makefile.am:
12289         * gst/gstobject.h:
12290           get rid of gstmarshal.h dependency. It's not needed.
12291         * gst/gst.h:
12292         * gst/elements/gstfakesink.c:
12293         * gst/elements/gstfakesrc.c:
12294         * gst/elements/gstidentity.c:
12295         * gst/gstbin.c:
12296         * gst/gstelement.c:
12297         * gst/gstindex.c:
12298         * gst/gstobject.c:
12299         * gst/gstpad.c:
12300         * gst/gstthread.c:
12301         * gst/gstxml.c:
12302         * libs/gst/control/dparam.c:
12303         * libs/gst/control/dparammanager.c:
12304           include gstmarshal.h.
12305         Fixes #132045
12306
12307 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12308
12309         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12310         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12311         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12312         * gst/elements/gstfilesrc.h:
12313           don't ref the filesrc when creating mmaped buffers. Don't keep a
12314           list of not-yet-destroyed buffers.
12315         * gst/gstbuffer.h:
12316           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12317
12318 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12319
12320         * gst/gst.c: (init_pre):
12321           remove textdomain
12322
12323 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12324
12325         * docs/pwg/advanced-events.xml:
12326         * docs/pwg/advanced-scheduling.xml:
12327         * docs/pwg/intro-basics.xml:
12328         * docs/pwg/other-manager.xml:
12329         * docs/pwg/other-nton.xml:
12330         * docs/pwg/other-ntoone.xml:
12331         * docs/pwg/other-oneton.xml:
12332         * docs/pwg/pwg.xml:
12333           All sort of documentation... Forgot what. Point is that I want this
12334           in before I leave. The 'other-*' will be the last section and will
12335           explain issues specific to these type of elements.
12336
12337 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12338
12339         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12340         (gst_filesrc_get_read):
12341           set all the values on buffers that we can
12342
12343 2004-02-02  David Schleef  <ds@schleef.org>
12344
12345         Change usage of isblah() to g_ascii_isblah() to be more locale
12346         independent.  (#133076)
12347         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12348         * gst/gstutils.c:
12349         * gst/parse/parse.l:
12350
12351 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12352
12353         reviewed by: David Schleef  <ds@schleef.org>
12354
12355         Fix memory leaks:
12356         * gst/gstcaps.c: (gst_caps_to_string):
12357         * gst/registries/gstxmlregistry.c:
12358         (gst_xml_registry_add_path_list_func),
12359         (gst_xml_registry_parse_padtemplate):
12360
12361 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12362
12363         * gst/gstelement.c: (gst_element_default_error):
12364           suffix error messages with period
12365
12366 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12367
12368         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12369         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12370         * gst/gsterror.c: (gst_error_get_message):
12371           Suffix with dots
12372         * po/fr.po:
12373         * po/nl.po:
12374           Update translation files
12375
12376 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12377
12378         * gst/autoplug/gstspideridentity.c:
12379         (gst_spider_identity_sink_loop_type_finding):
12380         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12381         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12382         (gst_filesink_close_file), (gst_filesink_handle_event),
12383         (gst_filesink_chain):
12384         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12385         (gst_filesrc_get_read), (gst_filesrc_open_file):
12386         * gst/elements/gstidentity.c: (gst_identity_chain):
12387         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12388         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12389         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12390         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12391         * gst/gsterror.c: (_gst_core_errors_init),
12392         (_gst_library_errors_init), (_gst_resource_errors_init),
12393         (_gst_stream_errors_init), (gst_error_get_message):
12394         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12395         (gst_pad_recover_caps_error), (gst_pad_pull):
12396         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12397         * gst/schedulers/gstbasicscheduler.c:
12398         (gst_basic_scheduler_chainhandler_proxy),
12399         (gst_basic_scheduler_gethandler_proxy),
12400         (gst_basic_scheduler_cothreaded_chain):
12401           Suffix error messages with period.
12402           Use (NULL) instead of NULL
12403
12404 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12405
12406         * docs/gst/tmpl/gstelement.sgml:
12407         * docs/gst/tmpl/gstxml.sgml:
12408         * gst/gstelement.c: (gst_element_error_full):
12409           add element path to error
12410
12411 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12412
12413         * docs/random/mimetypes:
12414           update raw int/float info
12415         * gst/gsttag.c: (_gst_tag_initialize):
12416         * gst/gsttag.h:
12417           add GST_TAG_ENCODER
12418
12419 2004-01-30  David Schleef  <ds@schleef.org>
12420
12421         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12422           missing (#132991)
12423
12424 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12425
12426         reviewed by Benjamin Otte 
12427           parts of the patch submitted in bug #113913
12428
12429         * configure.ac:
12430           use AC_C_INLINE. Use = instead of == with test
12431         * examples/plugins/example.c:
12432         * gst/autoplug/gstspideridentity.c:
12433         * gst/elements/gstfdsrc.c:
12434         * gst/elements/gstfilesrc.c:
12435         * gst/elements/gstidentity.c:
12436         * gst/elements/gstmultidisksrc.c:
12437         * gst/elements/gststatistics.c:
12438         * gst/gstelement.c:
12439         * gst/gstobject.c:
12440         * gst/gstpad.c:
12441         * gst/gstpipeline.c:
12442         * gst/gstthread.c:
12443           don't end enums with a comma
12444         * gst/gstindex.c: (gst_index_compare_func):
12445           do explicit casting to gint
12446         * gst/gsttrace.c: (gst_trace_text_flush):
12447           #define strsize as a macro
12448
12449 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12450
12451         * docs/README:
12452         * docs/gst/gstreamer-docs.sgml:
12453         * docs/gst/gstreamer-sections.txt:
12454         * docs/gst/tmpl/gstelement.sgml:
12455         * docs/gst/tmpl/gsterror.sgml:
12456         * docs/gst/tmpl/gstinterface.sgml:
12457         * docs/gst/tmpl/gstreamer-unused.sgml:
12458         * docs/gst/tmpl/gststructure.sgml:
12459         * docs/gst/tmpl/gsttag.sgml:
12460         * docs/gst/tmpl/gsttaginterface.sgml:
12461         * docs/gst/tmpl/gstvalue.sgml:
12462         make sure all API ends up in the built docs
12463         * gst/gstinterface.c:
12464         * gst/gststructure.c: (gst_structure_id_set_value),
12465         (gst_structure_set_value), (gst_structure_id_get_value):
12466         * gst/gststructure.h:
12467         * gst/gstvalue.h:
12468         sync .h with .c declarations
12469
12470 2004-01-30  Julien Moutte  <julien@moutte.net>
12471
12472         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12473         Ronald will fix riffread.
12474
12475 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12476
12477         * docs/pwg/advanced-interfaces.xml:
12478           Added tuner interface docs.
12479
12480 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12481
12482         * docs/random/mimetypes:
12483           correct Theora information
12484         * gst/gstelement.h:
12485           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12486
12487 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12488
12489         * gst/gstelement.c: (gst_element_error_full):
12490         * gst/gstelement.h:
12491           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12492
12493 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12494
12495         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12496         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12497         again and even before DISCONT.
12498         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12499         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12500         bytestream so that it's not stopping to fill the bytestream if events
12501         different than EOS or DISCONT are received. Instead it process them so
12502         that they go downstream.
12503
12504 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12505
12506         * docs/gst/tmpl/gstelement.sgml:
12507         * docs/gst/tmpl/gstreamer-unused.sgml:
12508         * docs/gst/tmpl/gstxml.sgml:
12509         * gst/autoplug/gstspideridentity.c:
12510         (gst_spider_identity_sink_loop_type_finding):
12511         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12512         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12513         (gst_filesink_close_file), (gst_filesink_handle_event),
12514         (gst_filesink_chain):
12515         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12516         (gst_filesrc_get_read), (gst_filesrc_open_file):
12517         * gst/elements/gstidentity.c: (gst_identity_chain):
12518         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12519         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12520         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12521         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12522         * gst/gstelement.h:
12523         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12524         (gst_pad_recover_caps_error), (gst_pad_pull):
12525         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12526         * gst/schedulers/gstbasicscheduler.c:
12527         (gst_basic_scheduler_chainhandler_proxy),
12528         (gst_basic_scheduler_gethandler_proxy),
12529         (gst_basic_scheduler_cothreaded_chain):
12530           gst_element_error -> GST_ELEMENT_ERROR
12531
12532 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * docs/Makefile.am:
12535         * docs/gst/tmpl/gstelement.sgml:
12536         * docs/gst/tmpl/gstxml.sgml:
12537         * docs/manuals.mak:
12538         * docs/pwg/advanced-request.xml:
12539         * docs/pwg/advanced-scheduling.xml:
12540         * docs/pwg/advanced-tagging.xml:
12541           fix non-validating docbook using CDATA
12542           make sure make check-local gets run first to check if it validates
12543
12544 2004-01-29  Julien MOUTTE <julien@moutte.net>
12545
12546         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12547         handling (up and downstream).
12548         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12549         my_filter thing.
12550
12551 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12552
12553         * docs/pwg/advanced-tagging.xml:
12554           Add docs about tag writing.
12555
12556 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12557
12558         * docs/pwg/advanced-tagging.xml:
12559           Add a part about tag reading and application signalling... Tag
12560           writing still needs to be documented.
12561         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12562           We can set file locations in READY, too.
12563
12564 2004-01-29  Julien MOUTTE <julien@moutte.net>
12565
12566         * docs/random/ds/element-checklist: Adding some notes about src
12567         events.
12568
12569 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12570
12571         * docs/random/mimetypes:
12572           Update docs to point to correct elements for various mimetypes, and
12573           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12574           <stephane.loeuillet@tiscali.fr>.
12575
12576 2004-01-28  David Schleef  <ds@schleef.org>
12577
12578         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12579
12580 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12581
12582         * docs/random/mimetypes:
12583           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12584           undefined"
12585         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12586           make it only work in NULL.
12587         * gst/gstcaps.c:
12588           don't posion NULL caps
12589         * gst/gstelement.c: (gst_element_set_time):
12590           add debugging statement
12591         * gst/gstelement.c: (gst_element_emit_found_tag),
12592         (gst_element_found_tag_func), (gst_element_found_tags):
12593         * gst/gstelement.h:
12594           These functions take const taglists
12595         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12596           fix memleak
12597         * gst/gstpad.c: (gst_pad_event_default):
12598           make more effort on handling discont and clocks, g_warn if everything
12599           fails
12600         * gst/gststructure.c: (gst_structure_remove_fields),
12601         (gst_structure_remove_fields_valist):
12602         * gst/gststructure.h:
12603           add gst_structure_remove_fields(_valist)
12604         * gst/gsttag.c:
12605           fix doc glitch
12606
12607 2004-01-28  David Schleef  <ds@schleef.org>
12608
12609         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12610         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12611         Fix memory leakage of gst_caps_to_string().
12612
12613         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12614         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12615         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12616         (gst_spider_identity_sink_loop_type_finding):
12617         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12618         (find_suggest):
12619         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12620         (gst_pad_set_explicit_caps):
12621         * gst/parse/grammar.y:
12622
12623 2004-01-28  David Schleef  <ds@schleef.org>
12624
12625         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12626         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12627         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12628         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12629         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12630         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12631         (gst_debug_log_default), (_gst_info_printf_extension),
12632         (_gst_info_printf_extension_arginfo):  Add printf extension.
12633         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12634         * gst/gststructure.c: (gst_structure_to_string),
12635         (_gst_structure_parse_value): Use gst_value_deserialize() and
12636         remove old code.
12637         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12638         (gst_value_deserialize_boolean), (gst_strtoi),
12639         (gst_value_deserialize_int), (gst_value_deserialize_double),
12640         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12641         a bunch of deserialize functions and gst_value_deserialize.
12642         * gst/gstvalue.h: er, _de_serialize, not unserialize
12643         * testsuite/caps/string-conversions.c: (main): We don't currently
12644         handle (float) in caps, so convert these to (double).
12645         * testsuite/debug/Makefile.am: Add new test for the printf extension
12646         * testsuite/debug/printf_extension.c: (main): same
12647
12648 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12649
12650         * docs/random/company/time:
12651           Add some docs about clocking and time
12652
12653 2004-01-28  Julien MOUTTE <julien@moutte.net>
12654
12655         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12656
12657 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12658
12659         * docs/pwg/advanced-clock.xml:
12660         * docs/pwg/advanced-dparams.xml:
12661         * docs/pwg/advanced-events.xml:
12662         * docs/pwg/advanced-interfaces.xml:
12663         * docs/pwg/advanced-midi.xml:
12664         * docs/pwg/advanced-request.xml:
12665         * docs/pwg/advanced-scheduling.xml:
12666         * docs/pwg/advanced-tagging.xml:
12667         * docs/pwg/advanced-types.xml:
12668         * docs/pwg/appendix-checklist.xml:
12669         * docs/pwg/building-boiler.xml:
12670         * docs/pwg/building-chainfn.xml:
12671         * docs/pwg/building-filterfactory.xml:
12672         * docs/pwg/building-pads.xml:
12673         * docs/pwg/building-props.xml:
12674         * docs/pwg/building-signals.xml:
12675         * docs/pwg/building-state.xml:
12676         * docs/pwg/building-testapp.xml:
12677         * docs/pwg/intro-basics.xml:
12678         * docs/pwg/intro-preface.xml:
12679         * docs/pwg/other-autoplugger.xml:
12680         * docs/pwg/other-sink.xml:
12681         * docs/pwg/other-source.xml:
12682         * docs/pwg/titlepage.xml:
12683           fix up id's
12684
12685 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12686
12687         * docs/95NonPath:
12688         * docs/HACKING:
12689         * docs/README:
12690         * docs/building-the-docs-on-debian:
12691           collect relevant bits of doc info
12692
12693 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12694
12695         * docs/pwg/advanced_tagging.xml:
12696           Half-assed commit so Thomas can re-arrange document IDs here to be
12697           consistent, too.
12698
12699 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12700
12701         * docs/manual/autoplugging.xml:
12702         * docs/manual/bins-api.xml:
12703         * docs/manual/bins.xml:
12704         * docs/manual/buffers-api.xml:
12705         * docs/manual/buffers.xml:
12706         * docs/manual/clocks.xml:
12707         * docs/manual/components.xml:
12708         * docs/manual/cothreads.xml:
12709         * docs/manual/debugging.xml:
12710         * docs/manual/dparams-app.xml:
12711         * docs/manual/dynamic.xml:
12712         * docs/manual/elements-api.xml:
12713         * docs/manual/elements.xml:
12714         * docs/manual/factories.xml:
12715         * docs/manual/gnome.xml:
12716         * docs/manual/goals.xml:
12717         * docs/manual/helloworld.xml:
12718         * docs/manual/helloworld2.xml:
12719         * docs/manual/init-api.xml:
12720         * docs/manual/intro.xml:
12721         * docs/manual/links-api.xml:
12722         * docs/manual/links.xml:
12723         * docs/manual/manual.xml:
12724         * docs/manual/motivation.xml:
12725         * docs/manual/pads-api.xml:
12726         * docs/manual/pads.xml:
12727         * docs/manual/plugins-api.xml:
12728         * docs/manual/plugins.xml:
12729         * docs/manual/programs.xml:
12730         * docs/manual/queues.xml:
12731         * docs/manual/quotes.xml:
12732         * docs/manual/schedulers.xml:
12733         * docs/manual/states-api.xml:
12734         * docs/manual/states.xml:
12735         * docs/manual/threads.xml:
12736         * docs/manual/typedetection.xml:
12737         * docs/manual/xml.xml:
12738           use chapter, part, section or misc as id starts for all bits
12739
12740 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12741
12742         * docs/gst/gstreamer-sections.txt:
12743           Fix up TITLE of the sections
12744
12745 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12746
12747         * docs/pwg/advanced_interfaces.xml:
12748           Add documentation on propertyprobing.
12749         * docs/pwg/advanced_events.xml:
12750         * docs/pwg/advanced_tagging.xml:
12751         * docs/pwg/building_boiler.xml:
12752         * docs/pwg/building_filterfactory.xml:
12753         * docs/pwg/pwg.xml:
12754           Move filterfactory and tagging into their own chapter, add a chapter
12755           on events. all these are empty placeholders that will be filled in
12756           some day.
12757
12758 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12759
12760         * docs/pwg/advanced_interfaces.xml:
12761           Docs for mixer interface. Also a check for website uploading.
12762
12763 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12764
12765         * docs/HACKING:
12766         * docs/Makefile.am:
12767         * docs/faq/Makefile.am:
12768         * docs/gst/Makefile.am:
12769         * docs/gst/tmpl/gstelement.sgml:
12770         * docs/gst/tmpl/gstplugin.sgml:
12771         * docs/gst/tmpl/gstreamer-unused.sgml:
12772         * docs/libs/Makefile.am:
12773         * docs/manual/Makefile.am:
12774         * docs/manuals.mak:
12775         * docs/pwg/Makefile.am:
12776         * docs/upload.mak:
12777           Separate out upload target and make it similar for
12778           both docbook and gtk-doc docs
12779
12780 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12781
12782         * docs/manuals.mak:
12783           Fix upload target to work with freedesktop
12784
12785 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12786
12787         * docs/pwg/advanced_types.xml:
12788           Add notes on creating your own types.
12789         * docs/pwg/building_boiler.xml:
12790         * docs/pwg/building_pads.xml:
12791         * docs/pwg/building_state.xml:
12792           Add some stuff about how to retrieve values from structures, how
12793           that relates to types and change layout slightly again to be almost
12794           perfect.
12795
12796 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12797
12798         * docs/pwg/advanced_dparams.xml:
12799         * docs/pwg/advanced_scheduling.xml:
12800           Change index layout slightly.
12801
12802 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12803
12804         * docs/pwg/advanced_clock.xml:
12805         * docs/pwg/advanced_interfaces.xml:
12806         * docs/pwg/advanced_midi.xml:
12807           General placeholders for now.
12808         * docs/pwg/advanced_request.xml:
12809           Explanation about sometimes and request pads.
12810         * docs/pwg/advanced_scheduling.xml:
12811           Concept of bytestream, loopfunctions and schedulers.
12812         * docs/pwg/building_boiler.xml:
12813           Add something about plugin-init.
12814
12815 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * docs/pwg/building_pads.xml:
12818           Fix broken docbook
12819
12820 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12821
12822         * docs/pwg/advanced_interfaces.xml:
12823         * docs/pwg/pwg.xml:
12824           Add as a placeholder for future filling-in.
12825         * docs/pwg/basics_autoplugging.xml:
12826         * docs/pwg/basics_buffers.xml:
12827         * docs/pwg/basics_elements.xml:
12828         * docs/pwg/basics_events.xml:
12829         * docs/pwg/basics_plugins.xml:
12830         * docs/pwg/basics_types.xml:
12831           Remove, because unused (this is all in intro_basics.xml).
12832         * docs/pwg/building_signals.xml:
12833           Short intro to signals + reference to GObject docs - we really
12834           shouldn't go into these sort of things to deply because we don't
12835           use them that extensively anyway.
12836         * docs/pwg/building_state.xml:
12837           Explanation of states. Benjamin, please check.
12838         * docs/pwg/building_testapp.xml:
12839           Put everything in one page - putting only a few lines of content
12840           per page doesn't really make sense.
12841
12842           Time to get into the advanced topics. ;).
12843
12844 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12845
12846         * docs/pwg/advanced_types.xml:
12847           Finish documenting the current state of mimetypes.
12848         * docs/pwg/building_boiler.xml:
12849         * docs/pwg/building_chainfn.xml:
12850         * docs/pwg/building_pads.xml:
12851         * docs/pwg/building_props.xml:
12852         * docs/pwg/building_testapp.xml:
12853           Start documenting the "how to build a simple audio filter" part
12854           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12855           states and (maybe?) a short introduction to capsnego in the chapter
12856           on pads (building_pads.xml). Capsnego should probably be explained
12857           fully in advanced_capsnego.xml or so.
12858
12859 2004-01-26  David Schleef  <ds@schleef.org>
12860
12861         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12862         * gst/gstpad.h: Add new function to allow element to (somewhat)
12863         specify non-fixed caps on a pad.
12864         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12865         that I added a few weeks ago.
12866
12867 2004-01-26  David Schleef  <ds@schleef.org>
12868
12869         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12870           making try_set_caps() work with non-fixed caps.
12871
12872 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12873
12874         * docs/pwg/advanced_types.xml:
12875         * docs/pwg/intro_basics.xml:
12876         * docs/pwg/intro_preface.xml:
12877         * docs/pwg/pwg.xml:
12878         * docs/pwg/titlepage.xml:
12879           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12880           in here (docs/random/mimetypes), and will from there on work on both
12881           updating outdated parts and adding missing parts.
12882           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12883
12884 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12885
12886         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12887           policy is set
12888
12889 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12890
12891         * gst/gstelement.h:
12892           remove gst_element_factory_get_version. It doesn't exist anymore.
12893         * gst/gstplugin.c:
12894         * gst/gstplugin.h:
12895           remove gst_plugin_set_name and change gst_plugin_get_longname to
12896           gst_plugin_get_description to match code.
12897         * gst/gsterror.h:
12898           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12899         * gst/gstpad.c: (gst_pad_try_set_caps):
12900           make it work with nonfixed caps.
12901           Note that even in the nonfixed case the link function of the pad
12902           that tries to set caps isn't called.
12903
12904 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12905
12906         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12907           fix bug where buffer was not assembled correctly
12908         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12909           silence by default
12910         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12911           only seek if there's no more buffers that could work without seeking
12912
12913 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12914
12915         * gst/gsttag.c: (_gst_tag_initialize):
12916         * gst/gsttag.h:
12917           Add application tag (for encoding/muxing app).
12918
12919 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * autogen.sh:
12922           make autopoint force, and libtoolize not copy
12923         * common/m4/as-docbook.m4:
12924           added docbook xml catalog setup check
12925         * common/m4/gst-doc.m4:
12926           use docbook check
12927
12928 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12929
12930         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12931         * gst/gsttag.h:
12932           add GstTagFlag
12933
12934 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12935
12936         * docs/gst/gstreamer-sections.txt:
12937         * docs/gst/tmpl/gst.sgml:
12938         * docs/gst/tmpl/gstbuffer.sgml:
12939         * docs/gst/tmpl/gstclock.sgml:
12940         * docs/gst/tmpl/gstelement.sgml:
12941         * docs/gst/tmpl/gstreamer-unused.sgml:
12942         * docs/gst/tmpl/gstxml.sgml:
12943           sync latest API changes to docs
12944
12945 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12946
12947         * gst/gstpluginfeature.c:
12948           fix doc snippet
12949         * tools/gst-inspect.c: (print_element_list):
12950           fix output of typefind
12951           add GPL header
12952         * tools/gst-launch.c:
12953           add GPL header
12954
12955 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12956
12957         * gst/elements/Makefile.am:
12958         * gst/elements/gstelements.c:
12959         * gst/elements/gsttypefindelement.c:
12960         * gst/elements/gsttypefindelement.h:
12961         * po/POTFILES.in:
12962         * po/fr.po:
12963         * po/nl.po:
12964           renamed gsttypefindelement to gsttypefind, conserving CVS history
12965
12966 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12967
12968         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12969         * gst/gsttag.h:
12970           add some tags used in ogg as well
12971           fix _ in replaygain tags
12972
12973 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12974
12975         * gst/gsterror.h:
12976           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12977
12978 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12979
12980         * gst/gstelement.c: (gst_element_error_full):
12981         * gst/gstelement.h:
12982           change _extended to _full
12983
12984 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12985
12986         reviewed by: <delete if not using a buddy>
12987
12988         * docs/gst/tmpl/gst.sgml:
12989         * docs/gst/tmpl/gstbuffer.sgml:
12990         * docs/gst/tmpl/gstclock.sgml:
12991         * docs/gst/tmpl/gstelement.sgml:
12992         * docs/gst/tmpl/gstreamer-unused.sgml:
12993         * docs/gst/tmpl/gstxml.sgml:
12994         * gst/gstelement.c: (gst_element_error_full):
12995         * gst/gstelement.h:
12996
12997 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12998
12999         * gst/gstelement.h: fix _gst_element_error_printf prototype
13000
13001 2004-01-20  David Schleef  <ds@schleef.org>
13002
13003         * gst/gststructure.c: (gst_structure_to_string):
13004         Convert function to use gst_value_serialize().
13005         * gst/gstvalue.c: (gst_value_serialize_list),
13006         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13007         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13008         (gst_value_serialize_int), (gst_value_serialize_double),
13009         (gst_string_wrap), (gst_value_serialize_string),
13010         (gst_value_serialize), (gst_value_deserialize):
13011         * gst/gstvalue.h:
13012         Add implementations for serialize.
13013
13014 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13015
13016         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13017         we want to keep that one in the future or change xvidenc.c to use 
13018         another error.
13019
13020 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13021
13022         * gst/gstelement.c: (_gst_element_error_printf):
13023         * gst/gstelement.h:
13024           privatise function
13025
13026 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13027
13028         * docs/random/error:
13029           doc explaining error system
13030         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13031           cleanup
13032
13033 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13034
13035         * gst/gst-i18n-app.h:
13036         * gst/gst-i18n-lib.h:
13037           remove inclusion of config.h
13038         * po/POTFILES.in:
13039         * po/nl.po:
13040           add gst/gstelement.c
13041
13042 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13043
13044         * po/nl.po: updated Dutch translation
13045
13046 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13047
13048         * gst/gsterror.c: (_gst_core_errors_init),
13049         (_gst_library_errors_init), (_gst_resource_errors_init),
13050         (_gst_stream_errors_init):
13051         remove ending punctuation dots
13052
13053 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13054
13055         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13056         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13057         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13058         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13059         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13060         use GST_ERROR_SYSTEM
13061
13062 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13063
13064         * gst/gstelement.c: (gst_element_error_printf),
13065         (gst_element_error_extended):
13066         * gst/gstelement.h:
13067           add a helper printf function so we can have NULL values passed.
13068
13069 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13070
13071         * gst/gstelement.h:
13072           add G_STMT macros to gst_element_error, which isn't strictly
13073           necessary but people tell me to anyway.
13074
13075 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13076
13077         * gst/Makefile.am:
13078         * gst/autoplug/gstspideridentity.c:
13079         (gst_spider_identity_sink_loop_type_finding):
13080         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13081         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13082         (gst_filesink_close_file), (gst_filesink_handle_event),
13083         (gst_filesink_chain):
13084         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13085         (gst_filesrc_map_region), (gst_filesrc_get_read),
13086         (gst_filesrc_open_file):
13087         * gst/elements/gstidentity.c: (gst_identity_chain):
13088         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13089         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13090         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13091         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13092         * gst/gst.h:
13093         * gst/gst_private.h:
13094         * gst/gstelement.c: (gst_element_class_init),
13095         (gst_element_default_error), (gst_element_error_func),
13096         (gst_element_error_extended):
13097         * gst/gstelement.h:
13098         * gst/gsterror.c: (_gst_core_errors_init),
13099         (_gst_library_errors_init), (_gst_resource_errors_init),
13100         (_gst_stream_errors_init), (gst_error_get_message):
13101         * gst/gsterror.h:
13102         * gst/gstinfo.c: (_gst_debug_init):
13103         * gst/gstmarshal.list:
13104         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13105         (gst_pad_recover_caps_error), (gst_pad_pull):
13106         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13107         * gst/schedulers/gstbasicscheduler.c:
13108         (gst_basic_scheduler_chainhandler_proxy),
13109         (gst_basic_scheduler_gethandler_proxy),
13110         (gst_basic_scheduler_cothreaded_chain):
13111         * po/POTFILES.in:
13112         * po/fr.po:
13113         * po/nl.po:
13114           change error signal
13115           add error categories
13116
13117 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13118
13119         * gst/gsttag.c: (_gst_tag_initialize):
13120         * gst/gsttag.h:
13121         Add replaygain tag
13122
13123 2004-01-18  Colin Walters  <walters@verbum.org>
13124
13125         * examples/retag/retag.c: Call gst_init before processing
13126         program args.  Add g_assert to _link_many call.
13127
13128 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13129
13130         * gst/gstpad.c: (gst_pad_alloc_buffer):
13131           Return a newly allocated buffer when the pad has no peer.
13132
13133 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13134
13135         * gst/gstclock.c: (gst_clock_get_time):
13136           make it compile with gcc 2.95 again.
13137           Patch by Scott Wheeler
13138
13139 2004-01-15  David Schleef  <ds@schleef.org>
13140
13141         * gst/gstcaps.h:
13142         Added gst_caps_is_simple() macro.
13143         * testsuite/caps/caps.c: (test1):
13144         * testsuite/caps/intersect2.c: (main):
13145         * testsuite/caps/intersection.c: (main):
13146         Fixes to make 'make check' work again after removing
13147         gst_caps_is_chained().
13148
13149 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13150
13151         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13152         and additions to the MIDI document.
13153
13154 2004-01-15  David Schleef  <ds@schleef.org>
13155
13156         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13157         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13158         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13159
13160 2004-01-15  David Schleef  <ds@schleef.org>
13161
13162         * gst/gstqueue.c:
13163         * gst/gstqueue.h:
13164         Fix the spelling of "treshold" and make min_threshold actually
13165         affect the queue.
13166
13167 2004-01-15  David Schleef  <ds@schleef.org>
13168
13169         * gst/gstcaps.c:
13170         Add lots of documentation.
13171         * gst/gstcaps.h:
13172         Deprecate a few functions.
13173         * gst/gstpad.c:
13174         Removed use of deprecated functions.
13175
13176 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13177
13178         * gst/gstpad.c: (gst_pad_is_linked):
13179         * gst/gstpad.h:
13180           implement gst_pad_is_linked
13181         * gst/gstelement.h:
13182           reserve space for initiate_state_change
13183
13184 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13185
13186         * gst/autoplug/gstspideridentity.c:
13187         (gst_spider_identity_sink_loop_type_finding):
13188           break infinite loop by just returning instead of looping
13189         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13190           set event time difference correctly. Set it to 1 second instead
13191           of 100ms to be more tolerant
13192         * gst/gstelement.c: (gst_element_set_time):
13193           add debugging output
13194
13195 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13196
13197         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13198           query if buffers are inside the pool, ignore events
13199
13200 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13201
13202         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13203         (gst_clock_set_speed), (gst_clock_set_active),
13204         (gst_clock_is_active), (gst_clock_reset),
13205         (gst_clock_handle_discont):
13206         * gst/gstclock.h:
13207           deprecate old interface and disable functions that aren't in use
13208           anymore.
13209         * gst/gstelement.h:
13210         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13211         (gst_element_set_time), (gst_element_adjust_time):
13212           add concept of "element time" and functions to get/set this time.
13213         * gst/gstelement.c: (gst_element_change_state):
13214           update element time correctly.
13215         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13216           This is a debug message, not a g_critical.
13217         * gst/gstpad.c: (gst_pad_event_default):
13218           handle discontinuous events right with element time.
13219         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13220           update to clocking fixes.
13221           set clocks on elements in READY=>PAUSED. The old behaviour caused
13222           a wrong element time on the first element that started playing.
13223         * gst/schedulers/gstbasicscheduler.c:
13224         (gst_basic_scheduler_class_init):
13225         * gst/schedulers/gstoptimalscheduler.c:
13226         (gst_opt_scheduler_class_init):
13227           remove code that just implements the default behaviour.
13228         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13229           update to use new clocking functions
13230         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13231         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13232           update to test new element time.
13233         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13234           use _get_allowed_caps instead of _get_caps. This catches filtered
13235           caps correctly.
13236         * testsuite/debug/commandline.c:
13237           update for new GST_DEBUG syntax.
13238         * testsuite/threads/Makefile.am:
13239           disable a test that only works sometimes.
13240
13241 2004-01-13  Julien MOUTTE <julien@moutte.net>
13242
13243         * po/LINGUAS: Adding fr.
13244         * po/fr.po: Adding french translation.
13245
13246 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13247
13248         * gst/parse/grammar.y:
13249         * po/POTFILES.in:
13250         * po/nl.po:
13251         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13252           translate parsing error messages
13253
13254 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13255
13256         * po/POTFILES.in: adding gst-launch
13257         * po/nl.po: updated translation, all 99 strings translated
13258         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13259         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13260           fix strings for translation
13261
13262 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13263
13264         * gst/gst.c:
13265           - capitalize beginnings of popt options
13266           - fix strings for translation
13267           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13268
13269 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13270
13271         * po/README: add some notes on how to update translations
13272
13273 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13274
13275         * ABOUT-NLS: removed, is autogenerated from autopoint
13276         * autogen.sh: add autopoint stuff
13277         * configure.ac: fix up gettext stuff
13278         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13279         * gst/elements/gsttypefindelement.c: add header include
13280         * gst/gettext.h: add header, copy from system-installed header
13281         * gst/gst-i18n-app.h: to be included by each app having translations
13282         * gst/gst-i18n-lib.h: to be included by each lib having translations
13283         * gst/gst.c: (init_pre): fix up gettext calls
13284         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13285         * po/LINGUAS: the new way to specify translations present
13286         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13287         * po/Makevars: the variables filled in for GStreamer
13288         * po/POTFILES.in: added new files with translations
13289         * po/de.po: has new strings
13290         * po/nl.po: readded, has new strings
13291
13292 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13293
13294         * gst/gsttag.c: fix some strings marked for translation
13295
13296 2004-01-13  Iain <iain@prettypeople.org>
13297
13298         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13299         group when we add an element to it, cos we unref it when we remove one
13300
13301 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13302
13303         * testsuite/debug/commandline.c: (debug_not_reached):
13304         * testsuite/debug/output.c: (check_message):
13305           fix testsuite
13306
13307 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13308
13309         * examples/cutter/.cvsignore:
13310         * examples/helloworld/.cvsignore:
13311         * examples/launch/.cvsignore:
13312         * examples/manual/.cvsignore:
13313         * examples/mixer/.cvsignore:
13314         * examples/pingpong/.cvsignore:
13315         * examples/plugins/.cvsignore:
13316         * examples/queue/.cvsignore:
13317         * examples/queue2/.cvsignore:
13318         * examples/queue3/.cvsignore:
13319         * examples/queue4/.cvsignore:
13320         * examples/retag/.cvsignore:
13321         * examples/thread/.cvsignore:
13322         * examples/typefind/.cvsignore:
13323         * examples/xml/.cvsignore:
13324         * gst/.cvsignore:
13325         * gst/autoplug/.cvsignore:
13326         * gst/elements/.cvsignore:
13327         * gst/indexers/.cvsignore:
13328         * gst/parse/.cvsignore:
13329         * gst/registries/.cvsignore:
13330         * gst/schedulers/.cvsignore:
13331         * libs/gst/bytestream/.cvsignore:
13332         * libs/gst/control/.cvsignore:
13333         * libs/gst/getbits/.cvsignore:
13334         * tests/.cvsignore:
13335         * tests/bufspeed/.cvsignore:
13336         * tests/instantiate/.cvsignore:
13337         * tests/memchunk/.cvsignore:
13338         * tests/muxing/.cvsignore:
13339         * tests/sched/.cvsignore:
13340         * tests/seeking/.cvsignore:
13341         * tests/threadstate/.cvsignore:
13342         * testsuite/.cvsignore:
13343         * testsuite/caps/.cvsignore:
13344         * testsuite/cleanup/.cvsignore:
13345         * testsuite/dynparams/.cvsignore:
13346         * testsuite/plugin/.cvsignore:
13347         * tools/.cvsignore:
13348           update - this is huge, because it includes *.bb, *.bbg and *.da files
13349           which are generated for gcov.
13350
13351 2004-01-11  David Schleef  <ds@schleef.org>
13352
13353         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13354         a function to parse integers in ways that strto[u]l() does not.
13355
13356 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13357
13358         * tools/gst-inspect.c: (print_caps):
13359           improve output of caps a bit
13360
13361 2004-01-11  David Schleef  <ds@schleef.org>
13362
13363         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13364         inherit correct flags (READONLY and DONTKEEP).
13365
13366 2004-01-11  David Schleef  <ds@schleef.org>
13367
13368         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13369         (gst_filesrc_map_region):
13370         * gst/gstbuffer.c: (_gst_buffer_initialize),
13371         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13372         (gst_buffer_new), (gst_buffer_create_sub),
13373         (gst_buffer_is_span_fast), (gst_buffer_span):
13374         * gst/gstbuffer.h:
13375         Change GstBuffer private structure element names. (all files)
13376         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13377         (gst_queue_link):
13378         * gst/gstqueue.h:
13379         Implement getcaps/pad_link functions that handle the case where
13380         there are data in the queue.
13381
13382 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13383
13384         * gst/elements/gstbufferstore.c:
13385           initialize debugging structure correctly
13386         * gst/elements/gsttee.c: (gst_tee_set_property):
13387           g_object_notify when property was changed
13388         * gst/elements/gsttypefindelement.c:
13389         (gst_type_find_element_change_state):
13390           clear caps correctly
13391
13392 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13393
13394         * gst/gstqueue.c: (gst_queue_init):
13395           Use better defaults for when a queue should block. This
13396           gets rid of jerky playback for quite a few files.
13397           It takes more memory.
13398
13399 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13400
13401         (gst_xml_registry_parse_padtemplate):
13402           make critical message slightly more useful
13403
13404 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13405
13406         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13407         (gst_debug_message_get), (gst_debug_log_default):
13408         * gst/gstinfo.h:
13409           Change gst_debug_log(_valist) to take a const format string.
13410           Change prototype of log function and functions using those to 
13411           take a GstDebugMessage instead of a string that requires using
13412           gst_debug_message_get.
13413
13414 2004-01-08  David Schleef  <ds@schleef.org>
13415
13416         * Makefile.am:
13417         * configure.ac:
13418         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13419         and -ftest-coverage, which allows gcov to show information about
13420         testsuite coverage.
13421
13422 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13423
13424         * gst/gstutils.h:
13425           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13426           GST_PARENT_CALL_WITH_DEFAULT
13427         * gst/elements/gstaggregator.c: 
13428         * gst/elements/gstbufferstore.c: 
13429         * gst/elements/gstfakesink.c: 
13430         * gst/elements/gstfakesrc.c: 
13431         * gst/elements/gstfdsink.c: 
13432         * gst/elements/gstfdsrc.c: 
13433         * gst/elements/gstfilesink.c: 
13434         * gst/elements/gstfilesrc.c: 
13435         * gst/elements/gstidentity.c: 
13436         * gst/elements/gstmd5sink.c: 
13437         * gst/elements/gstmultidisksrc.c:
13438         * gst/elements/gstpipefilter.c: 
13439         * gst/elements/gstshaper.c:
13440         * gst/elements/gststatistics.c:
13441         * gst/elements/gsttee.c:
13442         * gst/elements/gsttypefindelement.c:
13443           use them.
13444
13445 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13446
13447         * docs/gst/gstreamer-docs.sgml: remove props
13448         * docs/gst/gstreamer-sections.txt: remove props
13449         * docs/gst/tmpl/gst.sgml:
13450         * docs/gst/tmpl/gstbin.sgml:
13451         * docs/gst/tmpl/gstbuffer.sgml:
13452         * docs/gst/tmpl/gstcaps.sgml:
13453         * docs/gst/tmpl/gstclock.sgml:
13454         * docs/gst/tmpl/gstelement.sgml:
13455         * docs/gst/tmpl/gstindex.sgml:
13456         * docs/gst/tmpl/gstobject.sgml:
13457         * docs/gst/tmpl/gstpad.sgml:
13458         * docs/gst/tmpl/gstpadtemplate.sgml:
13459         * docs/gst/tmpl/gstreamer-unused.sgml:
13460         * docs/gst/tmpl/gstthread.sgml:
13461         * docs/gst/tmpl/gstxml.sgml:
13462           sync with code reorganization
13463
13464 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13465
13466         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13467         Make the 'Could not find compatible pad' message more informative.
13468
13469 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13470                                                                                 
13471         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13472           Fix for if we pass NULL as property to location.
13473         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13474         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13475           Fix for instantiate-test (see below).
13476         * gst/gststructure.c: (_gst_structure_parse_value):
13477           Fix compile error on gcc-2.96.
13478         * configure.ac:
13479         * tests/Makefile.am:
13480         * tests/instantiate/Makefile.am:
13481         * tests/instantiate/create.c: (create_all_elements), (main):
13482           Add a test that instantiates all elements. This makes it easy to
13483           track dead code for old API/design (like setting event functions
13484           on sink pads and so on).
13485
13486 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13487
13488         * gst/gstcaps.c: (gst_caps_append_structure):
13489           Move the poisoning to allow a NULL structure
13490         * gst/gstevent.c: (_gst_event_free):
13491           When freeing a navigation event, free the structure
13492           also
13493
13494 2004-01-04  David Schleef  <ds@schleef.org>
13495
13496         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13497         Remove usage of gst_pad_proxy_fixate.
13498         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13499         (gst_caps_split_one), (gst_caps_replace):
13500         Add poisoning code.
13501         * gst/gstmarshal.list:
13502         Add pointer__pointer for fixate signal
13503         * gst/gstpad.c: (gst_real_pad_class_init),
13504         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13505         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13506         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13507         Add poisoning code. Add fixate signal on RealPad. Change
13508         set_explicit_caps() to take const GstCaps, like try_set_caps().
13509         * gst/gstpad.h:
13510         * testsuite/caps/Makefile.am:
13511         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13512
13513 2004-01-03  David Schleef  <ds@schleef.org>
13514
13515         * gst/elements/gsttypefindelement.c:
13516         (gst_type_find_element_have_type), (gst_type_find_element_init):
13517         Use gst_pad_use_explicit_caps for src pad.
13518         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13519         before using it.
13520
13521 2004-01-03  David Schleef  <ds@schleef.org>
13522
13523         * gst/gstelement.c: (gst_element_link_pads_filtered),
13524         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13525         that linking was successful.
13526         * gst/gstpad.c: (gst_pad_link_free),
13527         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13528         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13529         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13530         GstPadLinkReturn correctly between functions, and don't fail
13531         when DELAYED is used (DELAYED is very important).  Better
13532         cleanup on unlinking and unnegotiation.  Should fix some spider
13533         bugs.
13534
13535 2004-01-02  David Schleef  <ds@schleef.org>
13536
13537         * gst/gstelement.c: (gst_element_class_init),
13538         (gst_element_base_class_init): ->padtemplates should be cleared
13539         in base_init, since we need to have a fresh list for every
13540         class.  (Alternately, we chould copy the list and share the
13541         actual pad templates (not the list), but that would require
13542         changing every plugin to move pad template registration from
13543         base_init to class_init.)
13544
13545 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13546
13547         * gst/gstelement.c: (gst_element_class_add_pad_template):
13548           Refuse registering a pad template if another pad template
13549           with the same name already exists (#114715).
13550
13551 2004-01-02  David Schleef  <ds@schleef.org>
13552
13553         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13554         (gst_caps_is_equal_fixed): Add new function.
13555         * gst/gstcaps.h: ditto.
13556         * gst/gstpad.c: (gst_real_pad_class_init),
13557         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13558         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13559         check new caps against existing caps -- if they're the same, return
13560         OK without renegotiating.  caps-nego-failed signal fixed so that
13561         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13562         to save an extra caps copy.  Don't complete negotiation if a pad
13563         link function returns DELAYED.
13564
13565 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13566
13567         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13568           Fix wrong g_return_if_fail
13569
13570 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13571
13572         * gst/gstbin.c: (gst_bin_class_init):
13573         Change the marshalling of element_added/element_removed
13574         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13575         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13576
13577 2004-01-01  David Schleef  <ds@schleef.org>
13578
13579         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13580         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13581         (gst_pad_use_explicit_caps):
13582         * gst/gstpad.h:
13583         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13584         to use an internal getcaps and link fuction so that negotiation
13585         always results in the explicitly set caps.
13586         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13587         are particularly useful for decoders.
13588
13589 2003-12-31  David Schleef  <ds@schleef.org>
13590
13591         * gst/elements/gstidentity.c: (gst_identity_class_init),
13592         (gst_identity_init), (gst_identity_chain),
13593         (gst_identity_set_property), (gst_identity_get_property):
13594         * gst/elements/gstidentity.h:
13595         * gst/gstqueue.c: (gst_queue_init):
13596           Negotiation fixes.
13597
13598 2003-12-31  David Schleef  <ds@schleef.org>
13599
13600         * gst/gstcaps.c: (gst_caps_intersect),
13601         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13602           Implement gst_caps_normalize().
13603         * testsuite/caps/normalisation.c: (main):
13604           Add an additional test
13605
13606 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13607
13608         * gst/gstqueue.c: (gst_queue_init):
13609           use gst_pad_proxy_getcaps()
13610
13611 2003-12-31  David Schleef  <ds@schleef.org>
13612
13613         * gst/elements/gstshaper.c: (gst_shaper_link):
13614         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13615         * gst/gstqueue.c: (gst_queue_link):
13616           Negotiation fixes.
13617
13618 2003-12-31  David Schleef  <ds@schleef.org>
13619
13620         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13621         * gst/gstpad.h: Add functions that are useful as default pad
13622         link and fixate functions for elements.
13623
13624 2003-12-30  David Schleef  <ds@schleef.org>
13625
13626         * gst/gstpad.c: (gst_pad_link_try):
13627           Fix segfault when attempting to return to old caps
13628
13629 2003-12-29  David Schleef  <ds@schleef.org>
13630
13631         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13632         (gst_caps_structure_simplify), (gst_caps_simplify):
13633         * gst/gstcaps.h:
13634           Add simplify function
13635         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13636         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13637         * gst/gstpad.h:
13638           Copy over srcnotify, sinknotify when calling old pad_link
13639           functions.  Add new is_negotiated() function.
13640         * gst/gststructure.c: (gst_structure_copy):
13641           Fix an incredibly stupid bug that should have been noticed
13642           weeks ago.  _copy() returned the argument, not the new copy.
13643
13644 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13645
13646         * gst/gstcaps.c: (gst_caps_append):
13647           add sanity checks
13648         * gst/gstcaps.h: (gst_caps_debug):
13649           remove, it doesn't exist anymore.
13650         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13651         (gst_element_threadsafe_properties_post_run):
13652           make debugging messages not clutter up THREAD debug category
13653         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13654         (gst_element_change_state):
13655           update to new caps API
13656         * gst/gstinterface.c: (gst_implements_interface_cast):
13657           don't put vital code in g_return_if_fail
13658         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13659         (gst_pad_link_filtered):
13660           add pst_pad_try_link and use it.
13661         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13662           implement correctly, deprecate first one.
13663         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13664           add and implement.
13665         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13666           implement.
13667         (gst_pad_get_negotiated_caps):
13668           add and implement. Make GST_PAD_CAPS call this function.
13669         (gst_pad_get_caps):
13670           remove unneeded check..
13671         (gst_pad_recover_caps_error):
13672           disable, always return FALSE.
13673         (gst_real_pad_dispose):
13674           don't free caps and appfilter anymore, they're unused.
13675         * gst/gstpad.h:
13676           Reflect changes mentioned above.
13677         * gst/gstsystemclock.c: (gst_system_clock_wait):
13678           Make 'clock is way behind' a debugging message.
13679         * gst/gstthread.c: (gst_thread_change_state):
13680           Fix debugging message
13681
13682 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13683
13684         * gst/gstinfo.h:
13685           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13686         * docs/gst/tmpl/gstreamer-unused.sgml:
13687           removed all traces of cvs conflicts
13688
13689 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13690
13691         * configure.ac:
13692         * gst/schedulers/cothreads_compat.h:
13693         * libs/Makefile.am:
13694           remove last instances of wingo cothread usage
13695
13696 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13697
13698         * gst/gstplugin.c:
13699         * gst/gstversion.h.in:
13700         * gst/parse/grammar.y:
13701           change comment block from /** to /* when not gtk-doc comments
13702
13703 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13704
13705         * gst/gst.c: whitespace and doc style fixes
13706
13707 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13708
13709         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13710
13711 2003-12-24  Colin Walters  <walters@verbum.org>
13712
13713         * gst/elements/gsttypefindelement.c:
13714           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13715           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13716           Don't double-free caps.
13717
13718 2003-12-23  David Schleef  <ds@schleef.org>
13719
13720         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13721           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13722           Many little fixes and additions of debug statements to
13723           get rhythmbox working.
13724
13725 2003-12-23  Colin Walters  <walters@verbum.org>
13726
13727         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13728         Use GST_PAD_LINK_SUCCESSFUL.
13729
13730 2003-12-23  David Schleef  <ds@schleef.org>
13731
13732         * gst/elements/gstaggregator.c:
13733         * gst/elements/gsttee.c:
13734           Use gst_pad_proxy_getcaps().
13735         * gst/gstpad.c:
13736         * gst/gstpad.h:
13737           Add gst_pad_proxy_getcaps(), which filter elements can use
13738           as a generic getcaps implementation.
13739           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13740           was advertised.
13741
13742 2003-12-23  David Schleef  <ds@schleef.org>
13743
13744         * gst/gstpad.c:
13745           Rearrange/rewrite much of the pad negotiation code, since it
13746           resembled pasta.  This actually changes the way some
13747           negotiation works, since the previous code was inconsistent
13748           depending on how it was invoked.  Add (internal) structure
13749           GstPadLink, which is used to hold some information (more in
13750           the future) about the link between two pads.  Fixes a number
13751           of bugs, including random lossage of filter caps when the
13752           initial negotiation is delayed.  A few functions are still
13753           unimplemented.
13754         * gst/gstpad.h:
13755           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13756           these when testing GstPadLinkReturn values instead of comparing
13757           directly.
13758
13759 2003-12-23  David Schleef  <ds@schleef.org>
13760
13761         * gst/gstvalue.c: 
13762         * gst/gstvalue.h:
13763           Rearrange lots of code.  Change registration of compare function
13764           into registration of compare/serialize/deserialize functions.
13765           Doesn't include implementation of gst_value_[de]serialize(),
13766           but that should be easy.
13767
13768 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13769
13770         * docs/gst/gstreamer-sections.txt:
13771         * docs/gst/tmpl/gstprops.sgml: removed
13772         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13773           David removed props and caps code, so let's remove their docs as well.
13774           Removed all no longer existing symbols from gstreamer-sections.txt
13775           
13776 2003-12-22  Colin Walters  <walters@verbum.org>
13777
13778         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13779           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13780           of tags directly.
13781
13782 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13783
13784         * gst/elements/gstelements.c:
13785           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13786         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13787           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13788           gst_caps (peer).
13789
13790 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13791
13792         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13793         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13794         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13795         (gst_spider_identity_sink_loop_type_finding):
13796         * gst/autoplug/gstspideridentity.h:
13797           Fix autoplugging in spider element, so it works with new caps.
13798           This was mainly caused by identifying empty caps incorrectly.
13799
13800 2003-12-22  David Schleef  <ds@schleef.org>
13801
13802         * gststructure.c, gstvalue.c, gstvalue.h: Add
13803           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13804           using g_value_copy()
13805
13806 2003-12-21  David Schleef  <ds@schleef.org>
13807
13808         * many, many files: Merge CAPS branch.  This includes:
13809           - implemention of GstValue and several GstValue types
13810           - implemention of GstStructure
13811           - entire rewrite of GstCaps
13812           - removal of GstProps
13813           - many changes to GstPad to compensate for new caps paradigm
13814           - removal of GstBufferpool
13815         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13816         gstvalue.h, gst/gstcaps[2]*.[ch]:
13817           - rename gstcaps2.[ch] to gstcaps.[ch]
13818
13819 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13820
13821         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13822         (gst_queue_chain), (gst_queue_handle_src_event):
13823           implement timeout for sending events. Workaround for if the
13824           pipeline on this queue is not passing any data.
13825
13826 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13827                                                                                 
13828         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13829         * moved CVS to freedesktop.org