gst/base/gsttypefindhelper.c: The memory returned by gst_type_find_peek() needs to...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4         (gst_type_find_helper):
5           The memory returned by gst_type_find_peek() needs to
6           stay valid until the end of a typefind function, and
7           typefind functions may keep results from different 
8           offsets around, so we can't just unref the buffer from
9           the previous _peek(), but have to save all buffers 
10           returned by _peek() until typefinding is done and only
11           free them then.
12
13 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14
15         * docs/gst/gstreamer-sections.txt:
16         * gst/gstutils.h:
17           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18
19 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20
21         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
22           Fix a pretty good memleak.
23
24 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25
26         * gst/gstiterator.h:
27           Fix wrong include and 'make distcheck'.
28
29 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30
31         * gst/gstbin.c: (bin_bus_handler):
32           Use gst_element_post_message() instead.
33
34 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
35
36         * gst/base/gstadapter.h:
37         * gst/base/gstbasesink.h:
38         * gst/base/gstbasesrc.h:
39         * gst/base/gstbasetransform.h:
40         * gst/base/gstcollectpads.h:
41         * gst/base/gstpushsrc.h:
42         * gst/gstiterator.h:
43           Add padding to our base elements' class and instance structs and
44           to GstIterator (you will need to rebuild all plugins and apps!)
45
46 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
47
48         * gst/gstbin.c: (bin_bus_handler):
49           Make default message forwarding from child->bus to bin->bus
50           threadsafe and make it not emit warnings if the parent has no bus.
51
52 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
53
54         * gst/gstelement.c: (activate_pads):
55           On paused->ready, set pad->caps to NULL, as is the documented
56           behaviour in this state change. Fixes playback of series of
57           media files when visualization is enabled in Totem.
58
59 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
60
61         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
62           Allow NULL as filter-caps (which means "any").
63
64 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
65
66         * docs/libs/gstreamer-libs-sections.txt:
67         * libs/gst/controller/gst-controller.c:
68         * libs/gst/controller/gst-controller.h:
69         * libs/gst/controller/gst-helper.c:
70           adding more entries to the docs and fix small doc-bugs
71
72 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
73
74         * docs/gst/gstreamer-docs.sgml:
75         * docs/gst/gstreamer-sections.txt:
76         * docs/gst/gstreamer.types:
77         * docs/gst/tmpl/gstbasesink.sgml:
78         * docs/gst/tmpl/gstbasesrc.sgml:
79         * docs/gst/tmpl/gstbasetransform.sgml:
80         * docs/gst/tmpl/gstfakesrc.sgml:
81         * gst/base/gstcollectpads.c:
82         * gst/base/gstcollectpads.h:
83         * libs/gst/controller/gst-controller.c:
84         * libs/gst/controller/gst-controller.h:
85         * libs/gst/controller/gst-helper.c:
86         * libs/gst/controller/gst-interpolation.c:
87         * libs/gst/controller/lib.c:
88           added long/short desc for controller docs
89           added collectpads base class docs
90           added correct includes to base-class docs
91
92 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
93
94         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
95         (gst_test_mono_source_set_property),
96         (gst_test_mono_source_class_init), (GST_START_TEST),
97         (gst_controller_suite):
98         * docs/gst/gstreamer-docs.sgml:
99         * docs/gst/gstreamer-sections.txt:
100         * docs/gst/gstreamer.types:
101         * docs/libs/gstreamer-libs-docs.sgml:
102         * docs/libs/gstreamer-libs-sections.txt:
103         * gst/base/gstadapter.c:
104         * libs/gst/controller/gst-controller.c:
105         (gst_controlled_property_new), (gst_controlled_property_free),
106         (gst_controller_new_valist),
107         (gst_controller_remove_properties_valist),
108         (gst_controller_sink_values), (_gst_controller_finalize):
109         * libs/gst/controller/gst-controller.h:
110         * libs/gst/controller/gst-helper.c:
111         (gst_object_control_properties), (gst_object_uncontrol_properties),
112         (gst_object_get_controller), (gst_object_set_controller),
113         (gst_object_sink_values), (gst_object_get_value_arrays),
114         (gst_object_get_value_array):
115           more tests (and fixes) for the controller
116           more docs for the controller
117           integrated companies docs for the adapter 
118
119 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
120
121         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
122         (GST_START_TEST), (fakesrc_suite):
123           add tests for sizetype
124
125 2005-08-04  Andy Wingo  <wingo@pobox.com>
126
127         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
128         fixes buffer_alloc proxying among other things.
129
130         * gst/base/gstbasetransform.c:
131         * gst/base/gstbasetransform.h:
132         Revert patch to gstbasetransform from 7-28 removing
133         delay_configure.
134
135         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
136         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
137         Semantics changed, should return not the size of the output buffer
138         but the byte size of a buffer with a given caps.
139
140         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
141         debug object.
142         (gst_base_transform_configure_caps): Don't set out_size here: (in,
143         out) are not the pad caps until setcaps finishes.
144         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
145         not-in-place case as well. Deal with changing from in-place to
146         not-in-place within calling pad_alloc_buffer. Still a bit
147         concerned about the overhead here...
148
149 2005-08-03  Andy Wingo  <wingo@pobox.com>
150
151         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
152         fixating is an error.
153
154 2005-08-04  Edward Hervey  <edward@fluendo.com>
155
156         * gst/base/gstadapter.h: 
157         Added gst_adapter_get_type() to the header
158
159 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
160
161         * check/Makefile.am:
162         * check/gst-libs/controller.c:
163         * libs/gst/controller/gst-controller.c:
164         (gst_controller_new_valist):
165           added check test suite for the controller
166         * gst/base/gstpushsrc.c:
167           fixed a doc typo
168
169 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
170
171         * docs/gst/Makefile.am:
172         * docs/gst/gstreamer-docs.sgml:
173         * docs/gst/gstreamer-sections.txt:
174         * docs/gst/gstreamer.types:
175         * docs/gst/tmpl/gstfakesrc.sgml:
176         * gst/base/README:
177         * gst/base/gstbasesink.c:
178         * gst/base/gstbasesink.h:
179         * gst/base/gstbasesrc.c:
180         * gst/base/gstbasesrc.h:
181         * gst/base/gstbasetransform.c:
182         * gst/base/gstpushsrc.c:
183         * gst/base/gstpushsrc.h:
184           add short/long description docs to base classes
185           add pushsrc to the docs
186           remove consolidated doc fragments
187
188 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
189
190         * configure.ac:
191         * docs/libs/Makefile.am:
192         * docs/libs/gstreamer-libs-docs.sgml:
193         * docs/libs/gstreamer-libs-sections.txt:
194         * docs/libs/gstreamer-libs.types:
195         * examples/Makefile.am:
196         * examples/controller/.cvsignore:
197         * examples/controller/Makefile.am:
198         * examples/controller/audio-example.c: (main):
199         * libs/gst/Makefile.am:
200         * libs/gst/controller/.cvsignore:
201         * libs/gst/controller/Makefile.am:
202         * libs/gst/controller/gst-controller.c:
203         (on_object_controlled_property_changed), (gst_timed_value_compare),
204         (gst_timed_value_find),
205         (gst_controlled_property_set_interpolation_mode),
206         (gst_controlled_property_new), (gst_controlled_property_free),
207         (gst_controller_find_controlled_property),
208         (gst_controller_new_valist), (gst_controller_new),
209         (gst_controller_remove_properties_valist),
210         (gst_controller_remove_properties), (gst_controller_set),
211         (gst_controller_set_from_list), (gst_controller_unset),
212         (gst_controller_get), (gst_controller_get_all),
213         (gst_controller_sink_values), (gst_controller_get_value_arrays),
214         (gst_controller_get_value_array),
215         (gst_controller_set_interpolation_mode),
216         (_gst_controller_finalize), (_gst_controller_init),
217         (_gst_controller_class_init), (gst_controller_get_type):
218         * libs/gst/controller/gst-controller.h:
219         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
220         (g_object_uncontrol_properties), (g_object_get_controller),
221         (g_object_set_controller), (g_object_sink_values),
222         (g_object_get_value_arrays), (g_object_get_value_array):
223         * libs/gst/controller/gst-interpolation.c:
224         (gst_controlled_property_find_timed_value_node),
225         (interpolate_none_get), (interpolate_trigger_get),
226         (interpolate_trigger_get_value_array):
227         * libs/gst/controller/lib.c: (gst_controller_init):
228         * pkgconfig/Makefile.am:
229         * pkgconfig/gstreamer-control-uninstalled.pc.in:
230         * pkgconfig/gstreamer-control.pc.in:
231         * testsuite/Makefile.am:
232         * testsuite/controller/.cvsignore:
233         * testsuite/controller/Makefile.am:
234         * testsuite/controller/interpolator.c: (main):
235           added controller code
236           removed dparam pc files
237
238 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
239         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
240         (gst_collectpads_stop):
241           Broadcast the condition when shutting down, to make sure we wake all
242           threads up. Shut down pads on finalize, for safety.
243
244 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
245         * gst/base/gstbasetransform.c: (gst_base_transform_init),
246         (gst_base_transform_handle_buffer),
247         (gst_base_transform_change_state):
248           Handle PAUSED->READY->PAUSED transition after negotiation
249           occurred already.
250         * gst/gstmessage.c: (gst_message_init):
251           Extra piece of debug for new messages.
252
253 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
254
255         * configure.ac:
256         * docs/gst/tmpl/gstbasesrc.sgml:
257         * docs/gst/tmpl/gstelement.sgml:
258         * docs/gst/tmpl/gstevent.sgml:
259         * docs/gst/tmpl/gstfakesrc.sgml:
260         * docs/gst/tmpl/gstformat.sgml:
261         * docs/gst/tmpl/gstghostpad.sgml:
262         * docs/gst/tmpl/gstpad.sgml:
263         * docs/gst/tmpl/gstquery.sgml:
264         * docs/gst/tmpl/gststructure.sgml:
265         * docs/gst/tmpl/gsttaglist.sgml:
266         * docs/gst/tmpl/gstvalue.sgml:
267         * docs/libs/gstreamer-libs-docs.sgml:
268         * docs/libs/gstreamer-libs-sections.txt:
269         * docs/libs/gstreamer-libs.types:
270         * libs/gst/Makefile.am:
271         * libs/gst/control/.cvsignore:
272         * libs/gst/control/Makefile.am:
273         * libs/gst/control/control.c:
274         * libs/gst/control/control.h:
275         * libs/gst/control/dparam.c:
276         * libs/gst/control/dparam.h:
277         * libs/gst/control/dparam_smooth.c:
278         * libs/gst/control/dparam_smooth.h:
279         * libs/gst/control/dparamcommon.h:
280         * libs/gst/control/dparammanager.c:
281         * libs/gst/control/dparammanager.h:
282         * libs/gst/control/dplinearinterp.c:
283         * libs/gst/control/dplinearinterp.h:
284         * libs/gst/control/unitconvert.c:
285         * libs/gst/control/unitconvert.h:
286         * testsuite/Makefile.am:
287         * testsuite/dynparams/.cvsignore:
288         * testsuite/dynparams/Makefile.am:
289         * testsuite/dynparams/dparamstest.c:
290         * tools/Makefile.am:
291         * tools/gst-inspect.c: (print_element_info), (main):
292         * tools/gst-xmlinspect.c: (print_element_info), (main):
293           deactivate and remove dparams (libgstcontrol)
294
295 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
296
297         * gst/elements/gsttypefindelement.c:
298         (gst_type_find_element_have_type), (gst_type_find_element_init),
299         (stop_typefinding), (gst_type_find_element_handle_event),
300         (gst_type_find_element_chain), (gst_type_find_element_getrange):
301         * gst/elements/gsttypefindelement.h:
302           Set caps on all outgoing buffers, not just the first one.
303
304 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
305
306         * gst/elements/gsttypefindelement.c:
307         (gst_type_find_element_have_type),
308         (gst_type_find_element_check_set_buffer_caps),
309         (gst_type_find_element_init), (stop_typefinding),
310         (gst_type_find_element_handle_event),
311         (gst_type_find_element_chain), (gst_type_find_element_getrange):
312         * gst/elements/gsttypefindelement.h:
313           Set caps on first outgoing buffer when we've found the type.
314
315 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
316
317         * docs/gst/gstreamer-docs.sgml:
318         * docs/gst/gstreamer-sections.txt:
319         * docs/gst/tmpl/gstscheduler.sgml:
320         * docs/gst/tmpl/gstschedulerfactory.sgml:
321           Remove some old cruft from docs.
322
323 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
324
325         * gst/gstpad.h:
326           Fix inline docs for GstPadLinkReturn.
327           
328         * gst/gststructure.c: (gst_structure_has_name):
329         * gst/gststructure.h:
330         * docs/gst/gstreamer-sections.txt:
331           New API: gst_structure_has_name().
332
333 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
334
335         * configure.ac:
336           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
337           and _LARGEFILE_SOURCE in config.h as required. Do not 
338           export those flags in our .pc files any longer (#142209).
339
340           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
341
342         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
343         (gst_file_sink_do_seek), (gst_file_sink_event),
344         (gst_file_sink_get_current_offset), (gst_file_sink_render):
345           Redo seek/tell calls with large file support in mind; add some
346           debugging messages; add log message that tells us when large
347           file support is unavailable or not enabled for some reason.
348
349         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
350           Add log message that tells us when large file support 
351           is unavailable or not enabled for some reason.
352
353 2005-07-29  Wim Taymans  <wim@fluendo.com>
354
355         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
356         Added test for removing an element with ghostpad from a bin.
357         Fixed test as current implementation does the right thing.
358
359         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
360         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
361         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
362         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
363         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
364         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
365         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
366         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
367         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
368         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
369         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
370         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
371         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
372         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
373         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
374         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
375         * gst/gstghostpad.h:
376         Clean up ghostpads, remove properties for internal stuff.
377         Make threadsafe.
378         Fix refcounting.
379         Prepare for switching targets, not all use cases work yet.
380
381 2005-07-29  Wim Taymans  <wim@fluendo.com>
382
383         * docs/design/part-gstghostpad.txt:
384         Small update.
385
386         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
387         (gst_bin_remove_func):
388         Unlinking pads while holding the bin LOCK is not a good
389         idea.
390
391         * gst/gstpad.c: (gst_pad_class_init),
392         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
393         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
394         No prob setting template after creating the pad.
395
396 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
397
398         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
399         (gst_bus_peek), (gst_bus_source_dispatch),
400         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
401         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
402           gst_bus_poll may be called from other threads. Handle
403           this nicely by not making poll_data disappear off the
404           stack once gst_bus_poll returns.
405           gst_bus_peek now increments the refcount on the returned
406           message.
407
408 2005-07-29  Wim Taymans  <wim@fluendo.com>
409
410         * docs/design/part-gstghostpad.txt:
411         Overview of current GhostPad datastructures and use
412         cases for changing the target.
413
414 2005-07-28  Wim Taymans  <wim@fluendo.com>
415
416         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
417         Added checks for hierarchy consistency whan adding linked
418         elements to bins.
419
420         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
421         Added check to test element scheduling without bin/pipeline.
422
423         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
424         First add elements to bin, then link.
425         
426         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
427         (gst_bin_remove_func):
428         Unlink pads from elements added/removed from bin to maintain
429         hierarchy consistency.
430
431 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
432
433         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
434         (gst_base_transform_handle_buffer):
435         * gst/base/gstbasetransform.h:
436           Remove broken delay_configure (fixes renegotiation of software
437           scaling pipelines); remove some leftover printf()s.
438
439 2005-07-28  Wim Taymans  <wim@fluendo.com>
440
441         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
442         Added some more tests for wrong hierarchy
443
444         * docs/design/part-overview.txt:
445         Some updates.
446
447         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
448         Cleanups.
449
450         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
451         (gst_element_dispose):
452         Some more cleanups.
453
454         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
455         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
456         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
457         (gst_pad_set_caps), (gst_pad_send_event):
458         Check for correct hierarchy when linking pads. Moving to
459         strict requirement for ghostpads when linking elements in
460         different bins.
461
462         * gst/gstpad.h:
463         Clean ups. Added WRONG_HIERARCHY return value.
464
465 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
466
467         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
468           Better debug if no transform is possible.
469
470 2005-07-27  Wim Taymans  <wim@fluendo.com>
471
472         * docs/random/wtay/network-transp:
473         Some old doc I had.
474
475 2005-07-27  Wim Taymans  <wim@fluendo.com>
476
477         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
478         (gst_dp_event_from_packet):
479         Fix serialization of seek events.
480
481 2005-07-27  Wim Taymans  <wim@fluendo.com>
482
483         * check/gst-libs/gdp.c: (GST_START_TEST):
484         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
485         Fix compilation and fix event serialization.
486
487 2005-07-27  Wim Taymans  <wim@fluendo.com>
488
489         * CHANGES-0.9:
490         * docs/design/part-TODO.txt:
491         * docs/design/part-events.txt:
492         Some docs updates
493
494         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
495         (gst_base_sink_event), (gst_base_sink_do_sync),
496         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
497         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
498         (gst_base_src_do_seek), (gst_base_src_event_handler),
499         (gst_base_src_loop):
500         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
501         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
502         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
503         (gst_base_transform_event), (gst_base_transform_handle_buffer),
504         (gst_base_transform_set_passthrough),
505         (gst_base_transform_is_passthrough):
506         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
507         * gst/elements/gstfilesink.c: (gst_file_sink_event):
508         Event updates.
509
510         * gst/gstbuffer.h:
511         Use faster casts.
512
513         * gst/gstelement.c: (gst_element_seek):
514         * gst/gstelement.h:
515         Update gst_element_seek.
516
517         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
518         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
519         (gst_event_new_flush_start), (gst_event_new_flush_stop),
520         (gst_event_new_eos), (gst_event_new_newsegment),
521         (gst_event_parse_newsegment), (gst_event_new_tag),
522         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
523         (gst_event_parse_qos), (gst_event_new_seek),
524         (gst_event_parse_seek), (gst_event_new_navigation):
525         * gst/gstevent.h:
526         Make GstEvent use GstStructure. Add parsing code, make sure the
527         API is sufficiently generic.
528         Mark possible directions of events and serialization.
529
530         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
531         (_gst_message_copy), (gst_message_new_segment_start),
532         (gst_message_new_segment_done), (gst_message_new_custom),
533         (gst_message_parse_segment_start),
534         (gst_message_parse_segment_done):
535         Small cleanups.
536
537         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
538         (gst_pad_set_caps), (gst_pad_send_event):
539         Update for new events. 
540         Catch events sent in wrong directions.
541
542         * gst/gstqueue.c: (gst_queue_link_src),
543         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
544         (gst_queue_handle_src_query):
545         Event updates.
546
547         * gst/gsttag.c:
548         * gst/gsttag.h:
549         Remove event code from this file.
550
551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
552         (gst_dp_event_from_packet):
553         Event updates.
554
555 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
556
557         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
558         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
559         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
560           Make debugging actually useful.
561
562 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
563
564         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
565         (gst_pad_fixate_caps):
566           Implement default fixation once again, so that gst_pad_fixate()
567           actually does anything at all. This probably needs to be some
568           sort of a last resort, and use profile-based fixation first, but
569           since that doesn't exist yet, this is the best we have. Fixes
570           visualization in Totem.
571
572 2005-07-22  Wim Taymans  <wim@fluendo.com>
573
574         * docs/design/part-events.txt:
575         Small update.
576
577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
578         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
579         (gst_base_sink_activate_pull):
580         Some more comments.
581
582         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
583         (gst_fake_src_create):
584         Fix handoff marshall.
585
586         * gst/elements/gstidentity.c: (gst_identity_class_init),
587         (gst_identity_transform_ip):
588         We're a real inplace element.
589
590         * gst/gstbus.c: (gst_bus_post):
591         Added some comments.
592
593         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
594         * tests/muxing/case1.c: (main):
595         * tests/sched/dynamic-pipeline.c: (main):
596         * tests/sched/interrupt1.c: (main):
597         * tests/sched/interrupt2.c: (main):
598         * tests/sched/interrupt3.c: (main):
599         * tests/sched/runxml.c: (main):
600         * tests/sched/sched-stress.c: (main):
601         * tests/seeking/seeking1.c: (event_received), (main):
602         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
603         (main):
604         * tests/threadstate/threadstate3.c: (main):
605         * tests/threadstate/threadstate4.c: (main):
606         * tests/threadstate/threadstate5.c: (main):
607         Fix the tests.
608
609 2005-07-21  Wim Taymans  <wim@fluendo.com>
610
611         * docs/design/part-seeking.txt:
612         Some small additions.
613
614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
615         (gst_base_sink_get_times), (gst_base_sink_do_sync),
616         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
617         * gst/base/gstbasesink.h:
618         discont values are gint64, handle the math correctly.
619
620         * gst/base/gstbasesrc.c: (gst_base_src_loop):
621         Make the basesrc report error if the source pad is not linked.
622
623         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
624         (gst_queue_loop), (gst_queue_handle_src_query),
625         (gst_queue_src_activate_push):
626         Make queue collect data even if the srcpad is not linked.
627         Start pushing out data as soon as it is linked.
628
629         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
630         * gst/gstutils.h:
631         Added gst_flow_get_name() to ease error reporting.
632
633 2005-07-20  Wim Taymans  <wim@fluendo.com>
634
635         * gst/gstmessage.c: (gst_message_new_segment_start),
636         (gst_message_new_segment_done), (gst_message_parse_segment_start),
637         (gst_message_parse_segment_done):
638         * gst/gstmessage.h:
639         Added a bunch of messages for advanced seeking.
640
641         * gst/parse/grammar.y:
642         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
643         (gst_dpman_state_changed):
644         Fix some new-pad -> pad-added signals
645
646 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
647
648         * docs/manual/appendix-porting.xml:
649         * docs/pwg/appendix-porting.xml:
650           Document new-pad/state-change signal renames and the FixedList
651           type rename.
652
653 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
654
655         * docs/manual/advanced-autoplugging.xml:
656         * docs/manual/basics-helloworld.xml:
657         * docs/manual/basics-pads.xml:
658         * docs/random/ds/0.9-suggested-changes:
659         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
660         * gst/gstelement.h:
661         * gst/gstevent.h:
662         * gst/gstformat.h:
663         * gst/gstquery.h:
664         * gst/gststructure.c: (gst_structure_value_get_generic_type),
665         (gst_structure_parse_array), (gst_structure_parse_value):
666         * gst/gstvalue.c: (gst_type_is_fixed),
667         (gst_value_list_prepend_value), (gst_value_list_append_value),
668         (gst_value_list_get_size), (gst_value_list_get_value),
669         (gst_value_transform_array_string), (gst_value_serialize_array),
670         (gst_value_deserialize_array), (gst_value_intersect_array),
671         (gst_value_is_fixed), (_gst_value_initialize):
672         * gst/gstvalue.h:
673           GstElement::new-pad -> pad-added, GstElement::state-change ->
674           state-changed, GstValueFixedList -> GstValueArray, add format and
675           flags as their own arguments in gst_element_seek() (should improve
676           "bindeability"), remove function generators since they don't work
677           under a whole bunch of compilers (they were deprecated already
678           anyway).
679
680 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
681
682         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
683         (_gst_debug_register_funcptr):
684         * gst/gstinfo.h:
685           Fix illegal cast on some platforms (#309253).
686
687 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
688
689         * gst/gstmessage.c: (gst_message_new_custom):
690         * gst/gstmessage.h:
691           Add _new_custom, make _new_application a macro to _new_custom.
692
693 2005-07-20  Wim Taymans  <wim@fluendo.com>
694
695         * gst/base/gstbasesrc.c: (gst_base_src_init),
696         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
697         * gst/base/gstbasesrc.h:
698         Add a gboolean to decide when to push out a discont.
699
700         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
701         (gst_queue_loop), (gst_queue_handle_src_query),
702         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
703         (gst_queue_set_property), (gst_queue_get_property):
704         Some cleanups.
705
706         * tests/threadstate/threadstate1.c: (main):
707         Make a thread test compile and run... very silly..
708
709
710 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
711
712         * docs/manual/appendix-porting.xml:
713           Mention removal of libgstgconf-0.9.la and existence of gconf
714           elements.
715
716 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
717
718         * docs/pwg/advanced-clock.xml:
719         * docs/pwg/appendix-porting.xml:
720         * docs/pwg/intro-preface.xml:
721         * docs/pwg/other-base.xml:
722         * docs/pwg/other-manager.xml:
723         * docs/pwg/other-nton.xml:
724         * docs/pwg/other-ntoone.xml:
725         * docs/pwg/other-oneton.xml:
726         * docs/pwg/pwg.xml:
727           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
728           demuxer), remove n-to-n (was never written), fix some code examples
729           and links and update the porting section to include all this.
730
731 2005-07-19  Wim Taymans  <wim@fluendo.com>
732
733         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
734         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
735         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
736         (gst_queue_src_activate_push), (gst_queue_change_state),
737         (gst_queue_get_property):
738         * gst/gstqueue.h:
739         Propagate GstFlowReturn more intelligently upstream and output
740         an ERROR/EOS when streaming stopped due to fatal error.
741
742 2005-07-19  Wim Taymans  <wim@fluendo.com>
743
744         * tools/gst-launch.c: (check_intr), (event_loop), (main):
745         Don't block forever for the state change to complete, the
746         pipeline already did with a sensible timeout.
747
748 2005-07-19  Wim Taymans  <wim@fluendo.com>
749
750         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
751         Make sure we never call the create function is we
752         got deactivated.
753
754 2005-07-19  Andy Wingo  <wingo@pobox.com>
755
756         * gst/parse/parse.l: Attempt to solve bug #172815.
757
758 2005-07-19  Wim Taymans  <wim@fluendo.com>
759
760         * docs/design/part-clocks.txt:
761         * docs/design/part-events.txt:
762         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
763         Small docs updates.
764         Only update the seeking values when we are not
765         busy streaming.
766
767 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
768
769         * gst/base/gstbasesrc.c: (gst_base_src_loop):
770           Oops, ignore the result of gst_pad_push_event here.
771
772 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
773
774         * gst/base/gstbasesrc.c: (gst_base_src_loop),
775         (gst_base_src_activate_push):
776           Send discont event from the loop function, as pads
777           aren't activated yet in the activate_push handler.
778
779         * gst/gstbin.c: (bin_bus_handler):
780           Don't leak element name.
781
782 2005-07-18  Andy Wingo  <wingo@pobox.com>
783
784         * configure.ac: Use AS_LIBTOOL_TAGS.
785
786 2005-07-18  Wim Taymans  <wim@fluendo.com>
787
788         * docs/gst/gstreamer.types:
789         Remove deleted types.
790
791 2005-07-18  Wim Taymans  <wim@fluendo.com>
792
793         * check/elements/gstfakesrc.c: (GST_START_TEST):
794         * configure.ac:
795         * gst/Makefile.am:
796         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
797         (init_popt_callback):
798         * gst/gst.h:
799         * gst/gst_private.h:
800         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
801         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
802         * gst/gstbin.h:
803         * gst/gstbus.h:
804         * gst/gstconfig.h.in:
805         * gst/gstelement.c: (gst_element_class_init),
806         (gst_element_set_base_time), (gst_element_get_base_time),
807         (iterator_fold_with_resync), (gst_element_change_state),
808         (gst_element_dispose), (gst_element_get_bus):
809         * gst/gstelement.h:
810         * gst/gstelementfactory.h:
811         * gst/gsterror.c: (_gst_core_errors_init):
812         * gst/gsterror.h:
813         * gst/gstevent.h:
814         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
815         * gst/gstindex.c:
816         * gst/gstinfo.c: (_gst_debug_init):
817         * gst/gstmessage.c: (_gst_message_copy):
818         * gst/gstmessage.h:
819         * gst/gstminiobject.h:
820         * gst/gstobject.c:
821         * gst/gstobject.h:
822         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
823         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
824         * gst/gstpad.h:
825         * gst/gstparse.h:
826         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
827         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
828         (gst_pipeline_get_last_stream_time):
829         * gst/gstpipeline.h:
830         * gst/gstpluginfeature.h:
831         * gst/gstquery.h:
832         * gst/gstscheduler.c:
833         * gst/gstscheduler.h:
834         * gst/gststructure.h:
835         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
836         (gst_task_finalize), (gst_task_func), (gst_task_create),
837         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
838         (gst_task_stop), (gst_task_pause):
839         * gst/gsttask.h:
840         * gst/gsttypefind.h:
841         * gst/gsttypes.h:
842         * gst/registries/gstlibxmlregistry.c: (load_feature),
843         (gst_xml_registry_load), (gst_xml_registry_save_feature):
844         * gst/registries/gstxmlregistry.c:
845         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
846         * gst/schedulers/threadscheduler.c:
847         * libs/gst/control/dparammanager.h:
848         * tools/gst-inspect.c: (print_element_list),
849         (print_plugin_features), (print_element_features):
850         * tools/gst-xmlinspect.c: (print_element_list),
851         (print_plugin_info), (main):
852         Removed plugable schedulers.
853         Removed Scheduler/Manager from elements.
854         Removed gsttypes.h, rearranged includes.
855         Removed dependency pad<->element, element<>pipeline, and
856         various others,  fix includes.
857         implement gst_pad_get_parent() with gst_object_get_parent()
858         Make GstTask sefcontained.
859         Fix _get_state() on GstBin, it did not return ASYNC with a 0
860         timeout.
861         Fix endless loop in iterator_fold_with_resync.
862
863
864 2005-07-18  Wim Taymans  <wim@fluendo.com>
865
866         * gst/Makefile.am:
867         * gst/gstarch.h:
868         Remove old file.
869
870 2005-07-18  Wim Taymans  <wim@fluendo.com>
871
872         * gst/Makefile.am:
873         No more cothreads.h
874
875 2005-07-18  Wim Taymans  <wim@fluendo.com>
876
877         * gst/cothreads.c:
878         * gst/cothreads.h:
879         Let's remove these.
880
881 2005-07-18  Wim Taymans  <wim@fluendo.com>
882
883         * docs/design/part-dynamic.txt:
884         * docs/design/part-events.txt:
885         * docs/design/part-seeking.txt:
886         Some more docs in the works.
887
888         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
889         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
890         (gst_base_transform_setcaps), (gst_base_transform_get_size),
891         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
892         (gst_base_transform_handle_buffer),
893         (gst_base_transform_sink_activate_push),
894         (gst_base_transform_src_activate_pull),
895         (gst_base_transform_set_passthrough),
896         (gst_base_transform_is_passthrough):
897         Refcounting fixes.
898
899         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
900         Cleanups.
901
902         * gst/gstevent.c: (gst_event_finalize):
903         Set SRC to NULL.
904
905         * gst/gstutils.c: (gst_element_unlink),
906         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
907         (gst_pad_proxy_setcaps):
908         * gst/gstutils.h:
909         Add _get_parent_element() to get a pads parent as an element.
910
911 2005-07-18  Wim Taymans  <wim@fluendo.com>
912
913         * check/gst/gstbin.c: (GST_START_TEST):
914         Remove bogus test.
915
916 2005-07-18  Wim Taymans  <wim@fluendo.com>
917
918         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
919         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
920         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
921         (gst_base_sink_event), (gst_base_sink_do_sync),
922         (gst_base_sink_chain), (gst_base_sink_loop),
923         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
924         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
925         Refcounting fixes.
926         Fix logic for returning ASYNC when not prerolled.
927
928 2005-07-18  Wim Taymans  <wim@fluendo.com>
929
930         * gst/gstqueue.c: (gst_queue_handle_sink_event):
931         Fix nasty refcount bug.
932
933 2005-07-16 Philippe Khalaf <burger@speedy.org>
934         * gst/elements/gstfdsrc.c:
935         * gst/elements/gstfdsrc.h:
936         * gst/elements/gstelements.c:
937         * gst/elements/Makefile.am:
938         Ported fdsrc to 0.9.
939
940 2005-07-16  Wim Taymans  <wim@fluendo.com>
941
942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
943         (gst_base_sink_do_sync):
944         Fix compile error.
945
946 2005-07-16  Wim Taymans  <wim@fluendo.com>
947
948         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
949         (gst_base_sink_event), (gst_base_sink_get_times),
950         (gst_base_sink_do_sync), (gst_base_sink_change_state):
951         * gst/base/gstbasesink.h:
952         Store and use discont values when syncing buffers as described
953         in design docs.
954         
955         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
956         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
957         (gst_base_src_activate_push):
958         Push discont event when starting.
959
960         * gst/elements/gstidentity.c: (gst_identity_transform):
961         Small cleanups.
962
963         * gst/gstbin.c: (gst_bin_change_state):
964         Small cleanups in base_time  distribution.
965
966         * gst/gstelement.c: (gst_element_set_base_time),
967         (gst_element_get_base_time), (gst_element_change_state):
968         * gst/gstelement.h:
969         Added methods for the base_time of the element.
970         Some MT fixes.
971
972         * gst/gstpipeline.c: (gst_pipeline_send_event),
973         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
974         (gst_pipeline_get_last_stream_time):
975         * gst/gstpipeline.h:
976         MT fixes.
977         Handle seeking as described in design doc, remove stream_time
978         hack.
979         Cleanups clock and stream_time selection code. Added accessors
980         for the stream_time.
981         
982
983 2005-07-16  Andy Wingo  <wingo@pobox.com>
984
985         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
986         (#305291).
987
988 2005-07-16  Wim Taymans  <wim@fluendo.com>
989
990         * check/gst/gstbin.c: (GST_START_TEST):
991         Make elements silent as the deep_notify refs the
992         parent, which might make the test fail.
993
994         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
995         Don't hold the lock for too long.
996
997 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
998
999         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1000           Don't unref the caps we passed to gst_caps_make_writable() after
1001           passing them. gst_caps_make_writable() will do that for us.
1002
1003 2005-07-15  Andy Wingo  <wingo@pobox.com>
1004
1005         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1006         (#157311).
1007
1008         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1009         own marshalling function for the handoff signal. Properly type the
1010         buffer as a buffer. Fixes some warnings. Should do a more general
1011         solution.
1012         (gst_identity_class_init): Plug into the right marshaller.
1013
1014 2005-07-15  Wim Taymans  <wim@fluendo.com>
1015
1016         * docs/design/part-TODO.txt:
1017         * docs/design/part-clocks.txt:
1018         * docs/design/part-element-sink.txt:
1019         * docs/design/part-events.txt:
1020         * docs/design/part-gstpipeline.txt:
1021         Updated docs, mostly DISCONT related.
1022
1023 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * docs/pwg/building-pads.xml:
1026           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1027
1028 2005-07-15  Andy Wingo  <wingo@pobox.com>
1029
1030         * tools/gst-typefind.c: Update, add copyright block.
1031
1032         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1033         Normalize and truncate caps before fixation.
1034
1035         * gst/gstcaps.h:
1036         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1037         discards all but the first structure from its argument.
1038
1039 2005-07-15  Wim Taymans  <wim@fluendo.com>
1040
1041         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1042         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1043         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1044         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1045         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1046         (gst_base_transform_chain), (gst_base_transform_change_state),
1047         (gst_base_transform_set_passthrough),
1048         (gst_base_transform_is_passthrough):
1049         * gst/base/gstbasetransform.h:
1050         Make passthrough work using the bufferpools.
1051         Changed API a bit, subclasses have to write into a buffer
1052         provided by the base class.
1053         More debug info in nego functions.
1054         
1055         * gst/elements/gstidentity.c: (gst_identity_init),
1056         (gst_identity_transform):
1057         Port to new base class.
1058
1059 2005-07-15  Wim Taymans  <wim@fluendo.com>
1060
1061         * gst/gstmessage.c: (gst_message_new_state_changed):
1062         * tools/gst-launch.c: (event_loop), (main):
1063         Totally dump messages in -launch with the -m option.
1064         Fix message name for State messages,
1065
1066 2005-07-14  Wim Taymans  <wim@fluendo.com>
1067
1068         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1069         Post error messages on errors.
1070
1071 2005-07-14  Wim Taymans  <wim@fluendo.com>
1072
1073         * gst/gstcaps.c: (gst_caps_do_simplify):
1074         Remove debug info.
1075
1076         * gst/gsterror.h:
1077         Define error for stream stopped.
1078
1079         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1080         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1081         Do proper return values.
1082
1083         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1084         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1085         (gst_pad_get_range):
1086         Better return values.
1087
1088         * gst/gstpad.h:
1089         Reorganise return values, add macro to check for fatal errors.
1090
1091         * gst/gstqueue.c: (gst_queue_chain):
1092         Return proper GstFlowReturn values,
1093
1094 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * docs/gst/gstreamer-sections.txt:
1097         * docs/gst/gstreamer.types:
1098         * docs/gst/tmpl/gst.sgml:
1099         * docs/gst/tmpl/gstbasesink.sgml:
1100         * docs/gst/tmpl/gstbasesrc.sgml:
1101         * docs/gst/tmpl/gstbasetransform.sgml:
1102         * docs/gst/tmpl/gstbin.sgml:
1103         * docs/gst/tmpl/gstbuffer.sgml:
1104         * docs/gst/tmpl/gstcaps.sgml:
1105         * docs/gst/tmpl/gstclock.sgml:
1106         * docs/gst/tmpl/gstcompat.sgml:
1107         * docs/gst/tmpl/gstconfig.sgml:
1108         * docs/gst/tmpl/gstelement.sgml:
1109         * docs/gst/tmpl/gstelementdetails.sgml:
1110         * docs/gst/tmpl/gstelementfactory.sgml:
1111         * docs/gst/tmpl/gstenumtypes.sgml:
1112         * docs/gst/tmpl/gsterror.sgml:
1113         * docs/gst/tmpl/gstevent.sgml:
1114         * docs/gst/tmpl/gstfakesink.sgml:
1115         * docs/gst/tmpl/gstfakesrc.sgml:
1116         * docs/gst/tmpl/gstfilesink.sgml:
1117         * docs/gst/tmpl/gstfilesrc.sgml:
1118         * docs/gst/tmpl/gstfilter.sgml:
1119         * docs/gst/tmpl/gstformat.sgml:
1120         * docs/gst/tmpl/gstghostpad.sgml:
1121         * docs/gst/tmpl/gstimplementsinterface.sgml:
1122         * docs/gst/tmpl/gstindex.sgml:
1123         * docs/gst/tmpl/gstindexfactory.sgml:
1124         * docs/gst/tmpl/gstinfo.sgml:
1125         * docs/gst/tmpl/gstiterator.sgml:
1126         * docs/gst/tmpl/gstmacros.sgml:
1127         * docs/gst/tmpl/gstmemchunk.sgml:
1128         * docs/gst/tmpl/gstminiobject.sgml:
1129         * docs/gst/tmpl/gstobject.sgml:
1130         * docs/gst/tmpl/gstpad.sgml:
1131         * docs/gst/tmpl/gstpadtemplate.sgml:
1132         * docs/gst/tmpl/gstparse.sgml:
1133         * docs/gst/tmpl/gstpipeline.sgml:
1134         * docs/gst/tmpl/gstplugin.sgml:
1135         * docs/gst/tmpl/gstpluginfeature.sgml:
1136         * docs/gst/tmpl/gstquery.sgml:
1137         * docs/gst/tmpl/gstqueue.sgml:
1138         * docs/gst/tmpl/gstregistry.sgml:
1139         * docs/gst/tmpl/gstregistrypool.sgml:
1140         * docs/gst/tmpl/gstscheduler.sgml:
1141         * docs/gst/tmpl/gstschedulerfactory.sgml:
1142         * docs/gst/tmpl/gststructure.sgml:
1143         * docs/gst/tmpl/gstsystemclock.sgml:
1144         * docs/gst/tmpl/gsttaglist.sgml:
1145         * docs/gst/tmpl/gsttagsetter.sgml:
1146         * docs/gst/tmpl/gsttrace.sgml:
1147         * docs/gst/tmpl/gsttrashstack.sgml:
1148         * docs/gst/tmpl/gsttypefind.sgml:
1149         * docs/gst/tmpl/gsttypefindfactory.sgml:
1150         * docs/gst/tmpl/gsttypes.sgml:
1151         * docs/gst/tmpl/gsturihandler.sgml:
1152         * docs/gst/tmpl/gsturitype.sgml:
1153         * docs/gst/tmpl/gstutils.sgml:
1154         * docs/gst/tmpl/gstvalue.sgml:
1155         * docs/gst/tmpl/gstversion.sgml:
1156         * docs/gst/tmpl/gstxml.sgml:
1157         * docs/libs/tmpl/gstcontrol.sgml:
1158         * docs/libs/tmpl/gstdataprotocol.sgml:
1159         * docs/libs/tmpl/gstdparam.sgml:
1160         * docs/libs/tmpl/gstdplinint.sgml:
1161         * docs/libs/tmpl/gstdpman.sgml:
1162         * docs/libs/tmpl/gstdpsmooth.sgml:
1163         * docs/libs/tmpl/gstgetbits.sgml:
1164         * docs/libs/tmpl/gstunitconvert.sgml:
1165         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1166         (gst_push_src_base_init), (gst_push_src_class_init),
1167         (gst_push_src_init), (gst_push_src_create):
1168         * gst/base/gstpushsrc.h:
1169         * gst/elements/gstelements.c:
1170         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1171         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1172         (gst_fake_sink_init), (gst_fake_sink_set_property),
1173         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1174         (gst_fake_sink_event), (gst_fake_sink_preroll),
1175         (gst_fake_sink_render), (gst_fake_sink_change_state):
1176         * gst/elements/gstfakesink.h:
1177         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1178         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1179         (gst_fake_src_base_init), (gst_fake_src_class_init),
1180         (gst_fake_src_init), (gst_fake_src_event_handler),
1181         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1182         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1183         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1184         (gst_fake_src_create_buffer), (gst_fake_src_create),
1185         (gst_fake_src_start), (gst_fake_src_stop):
1186         * gst/elements/gstfakesrc.h:
1187         * gst/elements/gstfilesink.c: (_do_init),
1188         (gst_file_sink_base_init), (gst_file_sink_class_init),
1189         (gst_file_sink_init), (gst_file_sink_dispose),
1190         (gst_file_sink_set_location), (gst_file_sink_set_property),
1191         (gst_file_sink_get_property), (gst_file_sink_open_file),
1192         (gst_file_sink_close_file), (gst_file_sink_query),
1193         (gst_file_sink_event), (gst_file_sink_render),
1194         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1195         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1196         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1197         * gst/elements/gstfilesink.h:
1198         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1199         (gst_file_src_class_init), (gst_file_src_init),
1200         (gst_file_src_finalize), (gst_file_src_set_location),
1201         (gst_file_src_set_property), (gst_file_src_get_property),
1202         (gst_file_src_map_region), (gst_file_src_map_small_region),
1203         (gst_file_src_create_mmap), (gst_file_src_create_read),
1204         (gst_file_src_create), (gst_file_src_is_seekable),
1205         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1206         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1207         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1208         (gst_file_src_uri_handler_init):
1209         * gst/elements/gstfilesrc.h:
1210           more autistic cleanliness in functions/names/defines
1211
1212 2005-07-13  Andy Wingo  <wingo@pobox.com>
1213
1214         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1215         source couldn't negotiate.
1216
1217         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1218         connections again.
1219
1220         * gst/gstutils.h:
1221         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1222         function. I am channeling Hades. Put your boots on suckers!!!
1223
1224 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1225
1226         * testsuite/caps/Makefile.am:
1227         * testsuite/caps/value_compare.c:
1228         * testsuite/caps/value_intersect.c:
1229         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1230           move two testsuite apps over to the check dir
1231
1232 2005-07-12  Wim Taymans  <wim@fluendo.com>
1233
1234         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1235         Added more debug info in the negotiate process.
1236
1237         * gst/gstmessage.h:
1238         Prepare for segment playback.
1239
1240         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1241         Better debugging.
1242
1243         * gst/gstutils.c:
1244         Some more docs.
1245
1246         * tools/gst-launch.c: (main):
1247         NULL pipeline on errors.
1248
1249 2005-07-12  Andy Wingo  <wingo@pobox.com>
1250
1251         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1252         not it comes from a malloc region. Make sure our copy gets freed.
1253
1254 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1255
1256         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1257         * check/gst/gstmessage.c: (GST_START_TEST):
1258         * check/gst/gststructure.c: (GST_START_TEST),
1259         (gst_structure_suite), (main):
1260           more testing
1261         * gst/gstelement.c: (gst_element_message_full):
1262           clean up GError and debug string now that they get copied
1263         * gst/gstmessage.c: (gst_message_new_error),
1264         (gst_message_new_warning), (gst_message_parse_error),
1265         (gst_message_parse_warning):
1266           use GST_TYPE_G_ERROR for structure_new, and take copies of
1267           arguments, so that we don't mess up refcounting
1268
1269 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1270
1271         * check/Makefile.am:
1272           add per-test valgrind targets
1273         * check/gst-libs/gdp.c: (GST_START_TEST),
1274         (gst_data_protocol_suite), (main):
1275           clean up
1276
1277 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1278
1279         * check/Makefile.am:
1280           instate more valgrindable tests
1281         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1282         (GST_START_TEST), (fakesrc_suite):
1283         * check/gst/gstpad.c: (GST_START_TEST):
1284         * check/gst/gststructure.c: (GST_START_TEST):
1285           fix test leaks
1286         * docs/gst/tmpl/gstminiobject.sgml:
1287         * gst/gstpad.c: (gst_pad_finalize):
1288           fix the static mutex leak
1289
1290 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1291
1292         * check/Makefile.am:
1293           add two more tests for valgrinding
1294         * check/gst/gstvalue.c: (GST_START_TEST):
1295           test refcount of deserialized buffer, found a leak
1296         * docs/gst/gstreamer-docs.sgml:
1297         * docs/gst/gstreamer-sections.txt:
1298         * docs/gst/gstreamer.types:
1299         * docs/gst/tmpl/gstminiobject.sgml:
1300           add miniobject to docs
1301         * gst/gstminiobject.c:
1302           add some docs
1303         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1304         (gst_string_unwrap):
1305           fix a hard-to-find invalid write for one of the tests
1306           fix a leak for deserialized buffers
1307
1308 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1309
1310         * docs/pwg/advanced-events.xml:
1311         * docs/pwg/advanced-request.xml:
1312         * docs/pwg/advanced-scheduling.xml:
1313         * docs/pwg/appendix-porting.xml:
1314         * docs/pwg/building-boiler.xml:
1315         * docs/pwg/intro-preface.xml:
1316         * docs/pwg/other-ntoone.xml:
1317           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1318           of example code and explanation for pad activation, loop() and
1319           getrange() functions and a bit more. Remove old comments pointing
1320           to loop-functions.
1321         * examples/pwg/Makefile.am:
1322           Add loop/getrange examples.
1323
1324 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1325
1326         * configure.ac:
1327           check for valgrind binary + some fixes
1328         * check/gst.supp:
1329           valgrind suppressions for the tests
1330         * check/Makefile.am:
1331           add a valgrind: target that valgrinds the unit tests
1332         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1333         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1334         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1335         * check/gst/gstghostpad.c:
1336           added some cleanup
1337         * check/gst/gstdata.c:
1338           removed
1339         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1340         (thread_unref), (gst_mini_object_suite), (main):
1341           added
1342         * gst/gst.c: (gst_deinit):
1343         * gst/gst.h:
1344           add a method to clean up.
1345         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1346         (gst_system_clock_obtain):
1347           allow for disposing the system clock.
1348         * tools/gst-launch.c: (main):
1349           deinit
1350
1351 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1352
1353         * docs/gst/tmpl/gstbasesrc.sgml:
1354         * docs/gst/tmpl/gstfakesrc.sgml:
1355         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1356         (gst_base_src_init), (gst_base_src_set_property),
1357         (gst_base_src_get_property), (gst_base_src_get_range),
1358         (gst_base_src_start):
1359         * gst/base/gstbasesrc.h:
1360           add num-buffers property
1361         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1362         (gst_fakesrc_init), (gst_fakesrc_set_property),
1363         (gst_fakesrc_get_property), (gst_fakesrc_create),
1364         (gst_fakesrc_start):
1365           remove num-buffers property
1366
1367 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1368
1369         * docs/gst/gstreamer-sections.txt:
1370         * docs/gst/tmpl/gstbasesink.sgml:
1371         * docs/gst/tmpl/gstbasesrc.sgml:
1372         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1373         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1374         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1375         (gst_base_sink_set_property), (gst_base_sink_get_property),
1376         (gst_base_sink_handle_object), (gst_base_sink_event),
1377         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1378         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1379         (gst_base_sink_loop), (gst_base_sink_deactivate),
1380         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1381         (gst_base_sink_change_state):
1382         * gst/base/gstbasesink.h:
1383         * gst/base/gstbasesrc.h:
1384         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1385         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1386         (gst_filesink_init):
1387           more macro splitting
1388
1389 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1390
1391         * gst/gstelement.c: (gst_element_get_bus):
1392           add debug
1393         * tools/gst-launch.c: (check_intr), (event_loop):
1394           fix bus leaks
1395
1396 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1397
1398         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1399           fix a caps leak
1400
1401 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1402
1403         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1404         (gst_base_src_finalize):
1405           add finalize method and clean up properly
1406         * gst/gstpipeline.c: (gst_pipeline_dispose):
1407           add debug
1408
1409 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1410
1411         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1412         (gst_bin_suite):
1413           add more things to check
1414         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1415         * gst/gstelement.c:
1416           more debug
1417
1418 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1419
1420         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1421         (GST_START_TEST), (fakesrc_suite):
1422         * check/gst-libs/gdp.c: (GST_START_TEST):
1423         * check/gst/gst.c: (GST_START_TEST):
1424         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1425         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1426         * check/gst/gstbus.c: (GST_START_TEST):
1427         * check/gst/gstcaps.c: (GST_START_TEST):
1428         * check/gst/gstdata.c: (GST_START_TEST):
1429         * check/gst/gstelement.c: (GST_START_TEST):
1430         * check/gst/gstghostpad.c: (GST_START_TEST):
1431         * check/gst/gstiterator.c: (GST_START_TEST):
1432         * check/gst/gstmessage.c: (GST_START_TEST):
1433         * check/gst/gstobject.c: (GST_START_TEST):
1434         * check/gst/gstpad.c: (GST_START_TEST):
1435         * check/gst/gststructure.c: (GST_START_TEST):
1436         * check/gst/gstsystemclock.c: (GST_START_TEST),
1437         (gst_systemclock_suite):
1438         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1439         * check/gst/gstvalue.c: (GST_START_TEST):
1440         * check/pipelines/cleanup.c: (GST_START_TEST):
1441         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1442         * check/states/sinks.c: (GST_START_TEST):
1443         * check/gstcheck.c: (gst_check_init):
1444         * check/gstcheck.h:
1445           add debugging category
1446           use GST_START_TEST now, so we add a debug line
1447
1448 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1449
1450         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1451           add test for state change message on a bin
1452         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1453           add another test
1454         * gst/gstbin.c: (gst_bin_init):
1455         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1456         * gst/gstelement.c: (gst_element_post_message),
1457         (gst_element_set_state):
1458         * gst/gstelementfactory.c: (gst_element_factory_create):
1459         * gst/gstmessage.c: (gst_message_new):
1460         * gst/gstscheduler.c:
1461           various debugging additions and cleanups
1462
1463 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1464
1465         * check/Makefile.am:
1466         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1467         (main):
1468           adding tests for elements
1469         * gst/gstelement.c: (gst_element_dispose):
1470
1471 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1472
1473         * gst/registries/gstlibxmlregistry.c: (load_feature):
1474           plug more leaks.  A simple gst_init() now is leakfree, yay.
1475
1476 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1479         (gst_xml_registry_load):
1480           plug another memleak
1481
1482 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1483
1484         * configure.ac:
1485           use GST_SET_ERROR_CFLAGS
1486         * docs/faq/cvs.xml:
1487           change to ERROR_CFLAGS
1488
1489 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1490
1491         * configure.ac:
1492           make GST_ERROR_CFLAGS overridable and re-enable Werror
1493         * docs/faq/cvs.xml:
1494           add a note about error CFLAGS
1495         * docs/gst/tmpl/gstfakesrc.sgml:
1496         * gst/elements/gstfakesrc.c:
1497           comment out some unused code
1498         * gst/gst.c: (split_and_iterate):
1499         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1500         (load_feature):
1501           plug some memleaks
1502
1503 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1504
1505         * common/Makefile.am:
1506         * common/gtk-doc.mak:
1507         * docs/gst/Makefile.am:
1508           factor out gtk-doc.mak
1509
1510 2005-07-07  Wim Taymans  <wim@fluendo.com>
1511
1512         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1513         (gst_thread_scheduler_dispose):
1514         Unlock the STREAM_LOCK completely.
1515
1516 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1517
1518         * check/Makefile.am:
1519         * check/elements/.cvsignore:
1520         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1521         (START_TEST), (fakesrc_suite), (main):
1522         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1523         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1524         (gst_fakesrc_create), (gst_fakesrc_start):
1525         * gst/elements/gstfakesrc.h:
1526           adding a first element test
1527
1528 2005-07-07  Andy Wingo  <wingo@pobox.com>
1529
1530         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1531         debug message.
1532
1533 2005-07-07  Wim Taymans  <wim@fluendo.com>
1534
1535         * gst/gstquery.c:
1536         * gst/gstquery.h:
1537         Remove old types
1538
1539 2005-07-07  Wim Taymans  <wim@fluendo.com>
1540
1541         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1542         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1543         Allow subclasses to implement their own negotiation.
1544
1545 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1546
1547         * docs/design/part-gstbin.txt:
1548         * docs/design/part-gstpipeline.txt:
1549           Update design notes to reflect the movement of
1550           responsibility for bus handling from GstPipeline to
1551           GstBin
1552
1553 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1554
1555         * configure.ac:
1556           Remove unnecessary queue2/3/4 examples.
1557
1558 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1559
1560         * examples/Makefile.am:
1561         * examples/helloworld/helloworld.c: (event_loop), (main):
1562         * examples/queue/queue.c: (event_loop), (main):
1563         * examples/queue2/queue2.c: (main):
1564           Update a couple of the examples to work again.
1565
1566         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1567         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1568          Spelling corrections and extra debug.
1569         
1570         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1571         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1572         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1573         * gst/gstbin.h:
1574         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1575         (gst_pipeline_change_state):
1576         * gst/gstpipeline.h:
1577           Move the bus handler for children to the GstBin, and create a
1578           separate bus for receiving messages from children to the one the
1579           bus sends 'upwards' on.
1580
1581 2005-07-06  Wim Taymans  <wim@fluendo.com>
1582
1583         * gst/base/README:
1584         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1585         (gst_base_sink_handle_object), (gst_base_sink_loop),
1586         (gst_base_sink_change_state):
1587         * gst/base/gstbasesink.h:
1588         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1589         (gst_base_src_init), (gst_base_src_setcaps),
1590         (gst_base_src_getcaps), (gst_base_src_loop),
1591         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1592         (gst_base_src_start), (gst_base_src_change_state):
1593         * gst/base/gstbasesrc.h:
1594         Make basesrc negotiate.
1595         Handle the case where preroll fails in basesink.
1596         Update README.
1597
1598 2005-07-06  Wim Taymans  <wim@fluendo.com>
1599
1600         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1601         Implement the fixate function.
1602         Clean up acceptcaps.
1603
1604 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1605
1606         * docs/pwg/building-filterfactory.xml:
1607         * docs/pwg/pwg.xml:
1608           Remove never-written filter-factory chapter; I'll add the various
1609           base classes to part 4 ("other element types") later on.
1610
1611 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1612
1613         * docs/pwg/advanced-negotiation.xml:
1614         * docs/pwg/building-boiler.xml:
1615         * docs/pwg/building-pads.xml:
1616         * docs/pwg/pwg.xml:
1617         * examples/pwg/Makefile.am:
1618           Add a chapter on caps negotiation, simplify the original code
1619           samples a bit w.r.t. caps negotiation, add link to the advanced
1620           section. Add a bunch of examples showing different use cases of
1621           different types of caps negotiation. Upstream renegotiation isn't
1622           fully documented yet since nobody knows how that works.
1623
1624 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1625
1626         * check/gst/gstpad.c:
1627         * check/gstcheck.c:
1628         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1629           if pad has no parent, return NULL as list of internal links
1630
1631 2005-07-05  Andy Wingo  <wingo@pobox.com>
1632
1633         * gst/elements/gstfilesrc.c:
1634         * gst/elements/gstfakesrc.c: 
1635         * gst/base/gstpushsrc.c:
1636         * gst/base/gstbasesrc.h: 
1637         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1638         
1639 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1640
1641         * Makefile.am:
1642           better report generation target (lcov needs a patch)
1643
1644 2005-07-05  Andy Wingo  <wingo@pobox.com>
1645
1646         * gst/elements, testsuite: Null if we got it...
1647
1648 2005-07-05  Wim Taymans  <wim@fluendo.com>
1649
1650         * configure.ac:
1651         * libs/gst/dataprotocol/Makefile.am:
1652         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1653         * libs/gst/dataprotocol/dataprotocol.h:
1654         * pkgconfig/Makefile.am:
1655         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1656         * pkgconfig/gstreamer-dataprotocol.pc.in:
1657         Ported dataprotol to 0.9. 
1658         Added pkgconfig files.
1659
1660 2005-07-05  Andy Wingo  <wingo@pobox.com>
1661
1662         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1663         Default to returning TRUE for the case when tranform_caps returns
1664         a fixed caps, like for identity or volume.
1665
1666         * check/gst/gstbus.c (pound_bus_with_messages): 
1667         * check/gst/gstmessage.c (START_TEST): 
1668         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1669         message API change.
1670
1671         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1672         logic weaks here: always run transform_caps, trying passthrough
1673         operation only if the original caps intersects with the transform.
1674
1675         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1676         source and sink caps.
1677
1678         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1679         Intersect the peer caps with the pad template before going into
1680         transform_caps.
1681         (gst_base_transform_transform_caps): More debugging.
1682
1683         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1684         src argument.
1685
1686 2005-07-04  Edward Hervey  <edward@fluendo.com>
1687
1688         * gst/gstutils.c:
1689         * gst/gstutils.h:
1690         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1691         in bindings.
1692
1693 2005-07-04  Andy Wingo  <wingo@pobox.com>
1694
1695         * check/gst/gstpad.c: Only set explicit caps on pads.
1696
1697 2005-07-01  Andy Wingo  <wingo@pobox.com>
1698
1699         * tests/network-clock.scm: Commentary update.
1700
1701         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1702         Didn't really make sense, not implementable with basetransform,
1703         etc.
1704         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1705         attempt at implementing the sync property, needs an unlock method.
1706
1707         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1708         New func, by default returns the same caps (the identity
1709         transformation).
1710         (gst_base_transform_getcaps): Uses transform_caps to return
1711         something sensible.
1712         (gst_base_transform_setcaps): Complicated logic to get caps on
1713         both pads, even if they are different, and to call set_caps once
1714         for every time both pads get their caps set.
1715         (gst_base_transform_handle_buffer): Give the ref to the transform
1716         function. Allows in-place modification of the buffer.
1717
1718         * gst/base/gstbasetransform.h (transform_caps): New class method.
1719         Given caps on one side, what can I do on the other.
1720         (set_caps): Take two caps, one for each side of the element.
1721
1722         * gst/gstpad.h:
1723         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1724         caps in place. This is safe because we can check the mutability of
1725         the caps, and a good idea because fixate functions are just called
1726         as a matter of last resort. (Not actually implemented.)
1727         (gst_pad_set_caps): If the caps we're setting is actually the same
1728         as the existing pad caps, just update the pointer without calling
1729         setcaps. Assert that caps is either NULL or fixed, as per the
1730         docs.
1731
1732         * gst/gstghostpad.c: Update for fixate changes.
1733
1734 2005-07-02  Andy Wingo  <wingo@pobox.com>
1735
1736         * gst/gstcaps.c:
1737         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1738         two refcounts makes it immutable, which is enough. Doc more.
1739
1740 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1741
1742         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1743           Put the mini_object into GValue as a mini_object,
1744           not a gpointer, since that's how we declared
1745           the signal.
1746
1747 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1748
1749         * examples/pwg/Makefile.am:
1750           Fix buildbot again.
1751
1752 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1753
1754         * docs/pwg/building-testapp.xml:
1755           Add extra check.
1756         * examples/pwg/Makefile.am:
1757           Fix buildbot.
1758
1759 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1760
1761         * configure.ac:
1762         * examples/Makefile.am:
1763         * examples/pwg/Makefile.am:
1764         * examples/pwg/extract.pl:
1765           Enable building the PWG examples.
1766         * docs/pwg/advanced-interfaces.xml:
1767           Add URI interface stub.
1768         * docs/pwg/advanced-types.xml:
1769         * docs/pwg/other-autoplugger.xml:
1770         * docs/pwg/appendix-porting.xml:
1771         * docs/pwg/pwg.xml:
1772           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1773         * docs/pwg/building-boiler.xml:
1774         * docs/pwg/building-chainfn.xml:
1775         * docs/pwg/building-pads.xml:
1776         * docs/pwg/building-props.xml:
1777         * docs/pwg/building-state.xml:
1778         * docs/pwg/building-testapp.xml:
1779           Update the building-*.xml parts for 0.9 changes. All examples
1780           code blocks compile in examples/pwg/*.
1781
1782 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1783
1784         * docs/manual/advanced-autoplugging.xml:
1785         * docs/manual/appendix-checklist.xml:
1786         * docs/manual/appendix-integration.xml:
1787         * docs/manual/highlevel-components.xml:
1788           Fix playbin/decodebin examples, update docs a bit, mention bus
1789           instead of signals in various places, mention kmplayer and
1790           kaffeine since they have a working GStreamer backend in the KDE
1791           section.
1792
1793 2005-06-30  Wim Taymans  <wim@fluendo.com>
1794
1795         * CHANGES-0.9:
1796         * docs/design/draft-ghostpads.txt:
1797         * docs/design/draft-push-pull.txt:
1798         * docs/design/draft-query.txt:
1799         * docs/design/part-TODO.txt:
1800         * docs/design/part-query.txt:
1801         Added CHANGES-0.9 doc, updated status of other docs.
1802         
1803         * gst/gstquery.h:
1804         Remove "hmm" macro
1805
1806 2005-06-30  Wim Taymans  <wim@fluendo.com>
1807
1808         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1809         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1810         (gst_base_sink_change_state):
1811         * gst/base/gstbasesink.h:
1812         Some tweaks, only EOS and a buffer complete a preroll.
1813
1814 2005-06-30  Andy Wingo  <wingo@pobox.com>
1815
1816         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1817         activate_push down to the internal pad as well.
1818
1819 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1820
1821         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1822
1823         * gst/gsttaginterface.c:
1824           Some documentation fixes (#307394 and #307397).
1825
1826 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1827
1828         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1829
1830         * gst/gstvalue.c: (gst_value_intersect_list):
1831           Fix memleak (#309125).
1832
1833 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1834
1835         * docs/manual/advanced-dataaccess.xml:
1836           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1837         * docs/manual/basics-pads.xml:
1838           Add reference for filtered caps to above chapter.
1839
1840 2005-06-30  Wim Taymans  <wim@fluendo.com>
1841
1842         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1843         (gst_bin_change_state):
1844         Probes are gone.
1845         Lame attempt at making the state change function a bit
1846         more readable.
1847
1848 2005-06-30  Wim Taymans  <wim@fluendo.com>
1849
1850         * docs/design/part-clocks.txt:
1851         * docs/design/part-element-sink.txt:
1852         * docs/design/part-events.txt:
1853         * docs/design/part-preroll.txt:
1854         * docs/design/part-states.txt:
1855         Some more tweeks and additions to the docs.
1856
1857 2005-06-30  Wim Taymans  <wim@fluendo.com>
1858
1859         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1860         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1861         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1862         (gst_pad_check_pull_range), (gst_pad_get_range),
1863         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1864         * gst/gstpad.h:
1865         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1866         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1867         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1868         (gst_pad_remove_buffer_probe):
1869         Removed atomic operations, use existing LOCK.
1870         Move exception handling out of main code path.
1871
1872 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1873
1874         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1875         (silly_return_true_function), (gst_pad_class_init),
1876         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1877         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1878         (gst_pad_send_event):
1879           Fix accumulator, add default value by using _emitv() instead
1880           of _emit() for signal emission.
1881
1882 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1883
1884         * docs/manual/advanced-dataaccess.xml:
1885         * examples/manual/Makefile.am:
1886           Add probe example.
1887         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1888           Make work (??).
1889
1890 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1891
1892         * gst/elements/gstfilesink.c: (gst_filesink_render):
1893           Simplify code so that we don't have to handle short
1894           writes and return GST_FLOW_ERROR if an error occured.
1895
1896 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1897
1898         * docs/gst/gstreamer-docs.sgml:
1899           Remove probes more.
1900
1901 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1902
1903         * docs/gst/gstreamer-sections.txt:
1904         * docs/gst/tmpl/gstpad.sgml:
1905         * docs/gst/tmpl/gstprobe.sgml:
1906         * gst/Makefile.am:
1907         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1908         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1909         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1910         (gst_pad_push_event), (gst_pad_send_event):
1911         * gst/gstpad.h:
1912         * gst/gstutils.c: (gst_pad_add_data_probe),
1913         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1914         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1915         (gst_pad_remove_buffer_probe):
1916         * gst/gstutils.h:
1917           Remove old probes, add new g-signal-based probes and some utility
1918           functions.
1919
1920 2005-06-29  Edward Hervey  <edward@fluendo.com>
1921
1922         * gst/gstelementfactory.c:
1923         * gst/gstutils.h:
1924         * gst/gstutils.c:
1925         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1926         the definition to the header file.
1927
1928 2005-06-29  Andy Wingo  <wingo@pobox.com>
1929
1930         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1931         plugins from the source directory.
1932
1933 2005-06-29  Wim Taymans  <wim@fluendo.com>
1934
1935         * docs/gst/tmpl/gstbuffer.sgml:
1936         * docs/gst/tmpl/gstclock.sgml:
1937         Some fixings for blantently wrong text.
1938
1939 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1940
1941         * check/Makefile.am:
1942         * gst/gst.c: (add_path_func), (init_pre):
1943         * gst/gstregistry.c: (gst_registry_add_path):
1944           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1945           only scan the GST_PLUGIN_PATH locations, and not add
1946           system locations
1947
1948 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1949
1950         * docs/gst/gstreamer-sections.txt:
1951         * docs/gst/tmpl/gstbasesrc.sgml:
1952         * gst/gstelement.c:
1953         * gst/gstelement.h:
1954         * gst/gstevent.c:
1955         * gst/gstutils.c:
1956           doc fixes
1957
1958 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1959
1960         * docs/manual/advanced-autoplugging.xml:
1961           Fix autoplugging example.
1962
1963 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1964
1965         * docs/manual/advanced-autoplugging.xml:
1966         * docs/manual/mime-world.fig:
1967           Try to get autoplugging working, fix type detection. Fix text
1968           in hello-world image.
1969
1970 2005-06-29  Wim Taymans  <wim@fluendo.com>
1971
1972         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1973         (gst_base_sink_change_state):
1974         Small debug line.
1975
1976         * gst/gstclock.h:
1977         map SIGNAL and BROADCAST to the right function.
1978
1979         * gst/gstobject.h:
1980         Remove redundant braces.
1981
1982         * gst/gstpad.c: (gst_pad_set_caps):
1983         Don't call setcaps function when reseting caps to NULL.
1984
1985         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1986         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1987         (gst_system_clock_id_unschedule):
1988         Use BROADCAST as this is what we do.
1989
1990 2005-06-29  Wim Taymans  <wim@fluendo.com>
1991
1992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1993         We are actually prerolling before commiting the state
1994         change. 
1995
1996 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1997
1998         * docs/manual/advanced-clocks.xml:
1999         * docs/manual/advanced-interfaces.xml:
2000         * docs/manual/advanced-metadata.xml:
2001         * docs/manual/advanced-position.xml:
2002         * docs/manual/advanced-schedulers.xml:
2003         * docs/manual/advanced-threads.xml:
2004         * docs/manual/appendix-porting.xml:
2005         * docs/manual/basics-bins.xml:
2006         * docs/manual/basics-bus.xml:
2007         * docs/manual/basics-elements.xml:
2008         * docs/manual/basics-helloworld.xml:
2009         * docs/manual/basics-pads.xml:
2010         * docs/manual/highlevel-components.xml:
2011         * docs/manual/manual.xml:
2012         * docs/manual/thread.fig:
2013           Update (until threads/scheduling) Application Development Manual;
2014           remove GstThread, add GstBus, add simple porting checklist, add
2015           documentation for tag writing, clocks, make all examples until this
2016           part compile and run.
2017         * examples/manual/Makefile.am:
2018           Update from changes to Application Development Manual; add bus
2019           example, remove thread example.
2020
2021 2005-06-28  Wim Taymans  <wim@fluendo.com>
2022
2023         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2024         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2025         (gst_bus_source_dispatch):
2026         Add debugging messages.
2027         Make internal methods static.
2028         Handle the case where the bus is flushed in the handler.
2029         
2030         * gst/gstelement.c: (gst_element_get_bus):
2031         Fix refcount in _get_bus();
2032
2033         * gst/gstpipeline.c: (gst_pipeline_change_state),
2034         (gst_pipeline_get_clock_func):
2035         Clock refcounting fixes.
2036         Handle the case where preroll timed out more gracefully.
2037         
2038         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2039         Clean up the internal thread in dispose. This is needed
2040         for subclasses that actually get disposed.
2041         
2042         * gst/schedulers/threadscheduler.c:
2043         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2044         (gst_thread_scheduler_dispose):
2045         Free thread pool in dispose.
2046
2047 2005-06-28  Andy Wingo  <wingo@pobox.com>
2048
2049         * tests/network-clock-utils.scm (debug, print-event): New utils.
2050
2051         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2052         (*packet-loss*): Unified loss probability.
2053         (network-time): Report out-of-band events.
2054
2055         * tests/plot-data: Add support for out-of-band events. Hack it
2056         into this script instead of passing it down the pipe; should fix
2057         this later.
2058
2059 2005-06-28  Wim Taymans  <wim@fluendo.com>
2060
2061         * docs/gst/gstreamer.types:
2062         * docs/gst/tmpl/gstbasesrc.sgml:
2063         * docs/gst/tmpl/gstpad.sgml:
2064         Docs fixes.
2065
2066 2005-06-28  Wim Taymans  <wim@fluendo.com>
2067
2068         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2069         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2070         (gst_proxy_pad_do_fixatecaps):
2071         Correctly proxy the check_pull_range function.
2072
2073 2005-06-28  Andy Wingo  <wingo@pobox.com>
2074
2075         * tests/network-clock.scm: Removed need for slib.
2076         
2077 2005-06-28  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2080         (gst_basesink_preroll_queue_flush):
2081         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2082         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2083         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2084         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2085         (gst_proxy_pad_set_property):
2086         * gst/gstpad.c:
2087         * gst/gstpad.h:
2088         * gst/gstqueue.c: (gst_queue_init):
2089         The deprecated pad loop function is removed now.
2090
2091 2005-06-28  Andy Wingo  <wingo@pobox.com>
2092
2093         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2094         New parameters, simulate network packet loss.
2095
2096         * tests/network-clock-utils.scm: Initialize the RNG.
2097
2098 2005-06-28  Wim Taymans  <wim@fluendo.com>
2099
2100         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2101         (gst_basesink_event), (gst_basesink_deactivate):
2102         Flushing the preroll queue always needs to unlock the waiters.
2103
2104 2005-06-28  Edward Hervey  <edward@fluendo.com>
2105
2106         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2107         Wheen a seek was successful on a pipeline, set the stream_time to the
2108         seek offset in order to have a synchronized stream_time.
2109
2110 2005-06-28  Wim Taymans  <wim@fluendo.com>
2111
2112         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2113         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2114         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2115         (gst_proxy_pad_do_fixatecaps):
2116         Call wrapper function instead of just calling the function
2117         pointers. This takes care of any locking and whatmore.
2118
2119 2005-06-28  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2122         (gst_pad_pull_range):
2123         * gst/gstpad.h:
2124         CONNECTED -> LINKED.
2125
2126 2005-06-28  Andy Wingo  <wingo@pobox.com>
2127
2128         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2129         source-munging commit!!!
2130
2131         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2132         (gst_object_sink): Take gpointer arguments, not GstObject --
2133         avoids casts. Like GLib.
2134
2135         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2136         activate.
2137
2138 2005-06-27  Andy Wingo  <wingo@pobox.com>
2139
2140         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2141         remaining buffer.
2142
2143         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2144         returns a sorted copy of the trace list.
2145         (gst_alloc_trace_print_live): New API, only prints traces with
2146         live objects. Sort the list.
2147         (gst_alloc_trace_print_all): Sort the list.
2148         (gst_alloc_trace_print): Align columns.
2149
2150         * gst/elements/gstttypefindelement.c:
2151         * gst/elements/gsttee.c:
2152         * gst/base/gstbasesrc.c:
2153         * gst/base/gstbasesink.c:
2154         * gst/base/gstbasetransform.c:
2155         * gst/gstqueue.c: Adapt for pad activation changes.
2156
2157         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2158         sched.
2159         (gst_pipeline_dispose): Drop ref on sched.
2160
2161         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2162         (gst_pad_activate_default): Push mode by default.
2163         (pre_activate_switch, post_activate_switch): New stubs, things to
2164         do before and after switching activation modes on pads.
2165         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2166         the pad's activate function to choose which mode to activate.
2167         Shortcut on deactivation and call the right function directly.
2168         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2169         mode.
2170         (gst_pad_activate_push): New API, same for push mode.
2171         (gst_pad_set_activate_function) 
2172         (gst_pad_set_activatepull_function) 
2173         (gst_pad_set_activatepush_function): Setters for new API.
2174
2175         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2176         Trace all miniobjects.
2177         (gst_mini_object_make_writable): Unref the arg if we copy, like
2178         gst_caps_make_writable.
2179
2180         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2181
2182         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2183         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2184         Adapt for new pad API.
2185
2186         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2187
2188         * gst/gstelement.h:
2189         * gst/gstelement.c (gst_element_iterate_src_pads) 
2190         (gst_element_iterate_sink_pads): New API functions.
2191         
2192         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2193         should fold into gstiterator.c in some form.
2194         (gst_element_pads_activate): Simplified via use of fold and
2195         delegation of decisions to gstpad->activate.
2196
2197         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2198         help in debugging.
2199
2200         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2201         class once in init, like gstmessage. Didn't run into this issue
2202         but it seems correct. Don't initialize a trace, gstminiobject does
2203         that.
2204
2205         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2206         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2207         to the bus.
2208         (assert_live_count): New util function, uses alloc traces to check
2209         cleanup.
2210
2211         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2212         To be modified when unlink drops the internal pad.
2213
2214 2005-06-27  Wim Taymans  <wim@fluendo.com>
2215
2216         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2217         (gst_bin_change_state):
2218         Cleanup the get_state() function a little, make sure it
2219         iterates the same set of elements.
2220         Added stub iterate_state_order().
2221
2222 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2223
2224         * docs/gst/gstreamer-docs.sgml:
2225         * docs/gst/gstreamer-sections.txt:
2226         * docs/gst/gstreamer.types:
2227         * docs/gst/tmpl/gstbasesink.sgml:
2228         * docs/gst/tmpl/gstbasesrc.sgml:
2229         * docs/gst/tmpl/gstbasetransform.sgml:
2230         * docs/gst/tmpl/gstelement.sgml:
2231         * docs/gst/tmpl/gstiterator.sgml:
2232         * gst/base/gstbasesrc.c:
2233         * gst/base/gstbasesrc.h:
2234         * gst/base/gstbasetransform.h:
2235         * gst/gstelement.c:
2236         * gst/gstiterator.h:
2237           adding basetransform and iterator docs
2238
2239 2005-06-27  Andy Wingo  <wingo@pobox.com>
2240
2241         * docs/design/part-activation.txt: Notes on how activation should
2242         work -- not quite implemented yet.
2243
2244 2005-06-25  Wim Taymans  <wim@fluendo.com>
2245
2246         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2247         At least get the chain function correct, needs more
2248         fixing.
2249
2250 2005-06-25  Wim Taymans  <wim@fluendo.com>
2251
2252         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2253         (gst_basesink_handle_object), (gst_basesink_event),
2254         (gst_basesink_do_sync), (gst_basesink_handle_event),
2255         (gst_basesink_change_state):
2256         * gst/gsttask.h:
2257         Right, two problems here: ghostpads don't take locks and
2258         glib _rec_mutex_lock_full() with depth==0 still locks.
2259         Catch illegal locking and g_warn them.
2260
2261 2005-06-25  Wim Taymans  <wim@fluendo.com>
2262
2263         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2264         Have to check for completion now...
2265
2266 2005-06-25  Wim Taymans  <wim@fluendo.com>
2267
2268         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2269         (gst_basesink_handle_object), (gst_basesink_event),
2270         (gst_basesink_do_sync), (gst_basesink_handle_event),
2271         (gst_basesink_change_state):
2272         * gst/gstpad.h:
2273         Unlock STREAM_LOCK whatever the recursion was.
2274
2275 2005-06-25  Wim Taymans  <wim@fluendo.com>
2276
2277         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2278         (gst_basesink_preroll_queue_empty),
2279         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2280         (gst_basesink_event), (gst_basesink_do_sync),
2281         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2282         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2283         (gst_basesink_change_state):
2284         Reworked the base sink, handle event and buffer serialisation
2285         correctly and removed possible deadlock.
2286         Handle EOS correctly.
2287
2288 2005-06-25  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2291         (gst_pipeline_change_state):
2292         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2293         Allow elements to post EOS in the state change function.
2294         Fix up -launch, make it exit the poll loop when the
2295         pipeline actually changed state.
2296         Fix up warning parsing in -launch.
2297
2298 2005-06-25  Wim Taymans  <wim@fluendo.com>
2299
2300         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2301         (gst_tee_sink_activate):
2302         Core takes STREAM_LOCK for us now.
2303
2304 2005-06-25  Wim Taymans  <wim@fluendo.com>
2305
2306         * gst/gstelement.c: (gst_element_get_state_func),
2307         (gst_element_set_state):
2308         * gst/gstelement.h:
2309         * gst/gstmessage.c: (gst_message_parse_error),
2310         (gst_message_parse_warning):
2311         Keep track of current target state while performing a state
2312         change so that subclasses can do something interesting.
2313         Fix parsing of warning/error messages when GError is NULL.
2314
2315 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * docs/gst/Makefile.am:
2318         * docs/gst/gstreamer-docs.sgml:
2319         * docs/gst/gstreamer-sections.txt:
2320         * docs/gst/gstreamer.types:
2321         * docs/gst/tmpl/gstbasesink.sgml:
2322         * docs/gst/tmpl/gstbasesrc.sgml:
2323         * docs/gst/tmpl/gstbin.sgml:
2324         * docs/gst/tmpl/gstcompat.sgml:
2325         * docs/gst/tmpl/gstfakesink.sgml:
2326         * docs/gst/tmpl/gstfakesrc.sgml:
2327         * docs/gst/tmpl/gstfilesink.sgml:
2328         * docs/gst/tmpl/gstfilesrc.sgml:
2329         * docs/gst/tmpl/gstindex.sgml:
2330         * docs/manual/appendix-quotes.xml:
2331         * gst/base/gstbasesrc.h:
2332         * gst/elements/gstfakesrc.h:
2333         * gst/gstmessage.h:
2334           start pulling in base classes and elements in our docs
2335
2336 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2337
2338         * docs/gst/Makefile.am:
2339         * docs/libs/Makefile.am:
2340           fixed make distcheck with gtk-doc 1.3
2341
2342 2005-06-23  Wim Taymans  <wim@fluendo.com>
2343
2344         * gst/gstelement.c: (gst_element_get_state_func),
2345         (gst_element_set_state), (gst_element_change_state):
2346         When the state did not change, also report NO_PREROLL
2347         when it matters.
2348
2349 2005-06-23  Wim Taymans  <wim@fluendo.com>
2350
2351         * gst/gstpad.c: (gst_pad_event_default):
2352         * gst/gstqueue.c: (gst_queue_loop):
2353         No unsafe task pausing please.
2354
2355 2005-06-23  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/schedulers/threadscheduler.c:
2358         (gst_thread_scheduler_task_start),
2359         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2360         Ref the task before pushing it on the threadpool. This
2361         makes sure that we have a ref when the threadfunction is
2362         actually called.
2363
2364 2005-06-23  Andy Wingo  <wingo@pobox.com>
2365
2366         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2367         offset is greater than the file's size.
2368
2369         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2370         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2371         * gst/gstobject.c (gst_object_class_init): Make the class lock
2372         recursive. Wim won't let me drop deep_notify. Decodebin works
2373         again, whoopdy doo.
2374
2375         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2376         internal pad, and hacks accordingly. Doesn't do it on the target
2377         pad because we change its caps. Probably catches all cases of
2378         interest tho.
2379         (gst_ghost_pad_set_property): Connect to notify::caps as
2380         appropritate.
2381
2382         * tests/network-clock.scm (plot-simulation): Pipe data to the
2383         elite python skript.
2384
2385         * tests/network-clock-utils.scm (define-parameter): New macro,
2386         defines a parameter that can be set via the command line.
2387         (set-parameter!, parse-parameter-arguments): Command line args
2388         parser.
2389
2390         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2391         stdin.
2392
2393 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2394
2395         * gst/elements/gsttypefindelement.c:
2396         (gst_type_find_element_handle_event):
2397           Don't restart typefinding on a discont.
2398         * gst/gstelement.c: (gst_element_set_state):
2399           Debug spelling fix.
2400         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2401           Allow changing mode of an active pad.
2402           Debug output fixes.
2403         * gst/registries/gstlibxmlregistry.c: (load_feature):
2404           Don't cast a static pad template to a normal pad template.
2405
2406 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2407
2408         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2409         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2410           remove gst_strtoll completely, since it didn't actually do
2411           anything more than what g_ascii_strtoull already does.
2412           check for range errors when deserializing
2413           do a cast for the unsigned cases; but further fixing needs
2414           a decision on what the interpretation of "(int)" and
2415           deserialization should be for values that fall outside the
2416           type's boundaries (ie, refuse, or interpret as casting)
2417
2418 2005-06-23  Wim Taymans  <wim@fluendo.com>
2419
2420         * check/Makefile.am:
2421         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2422         * docs/design/part-live-source.txt:
2423         * docs/design/part-states.txt:
2424         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2425         (gst_basesrc_set_live), (gst_basesrc_is_live),
2426         (gst_basesrc_get_range), (gst_basesrc_activate),
2427         (gst_basesrc_change_state):
2428         * gst/base/gstbasesrc.h:
2429         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2430         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2431         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2432         * gst/gstelement.c: (gst_element_get_state_func),
2433         (gst_element_set_state):
2434         * gst/gstelement.h:
2435         * gst/gsttypes.h:
2436         * tools/gst-launch.c: (event_loop), (main):
2437         Added support for live sources and other elements that
2438         cannot do preroll.
2439         Updated design docs, added live-source design doc.
2440         Implemented live source functionality in basesrc
2441         Fix error condition in _bin_get_state()
2442         Implement live source handling in -launch.
2443         Added check for live sources.
2444         Fixed case in GstBin where elements were changed state
2445         multiple times.
2446
2447
2448 2005-06-23  Andy Wingo  <wingo@pobox.com>
2449
2450         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2451         borken refcounting.
2452
2453         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2454         gst_caps_replace takes care of this for us.
2455
2456         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2457         gst_pad_set_caps on the target, not just its setcaps() function.
2458
2459         * tests/network-clock.scm: 
2460         * tests/network-clock-utils.scm: A network clock simulator.
2461         Something of an algorithmic testbed before doing something in C.
2462
2463 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2464
2465         * check/Makefile.am:
2466         * check/gst/capslist.h:
2467           copy over from 0.8, and add two with bitmasks specified with
2468           (int) 0xFF...
2469         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2470           add test to parse everything from capslist.h
2471         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2472         (main):
2473           add test for structure deserialization
2474         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2475           add tests for deserialization of strings to int types
2476         * gst/gststructure.c: (gst_structure_nth_field_name):
2477         * gst/gststructure.h:
2478           add a way to get the name of a field referenced by index
2479         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2480           instead of checking if the resulting long long lies between
2481           min and max, we check if the long long would fit into
2482           a number of bytes for the final type.
2483           This fixes cases where a string represents 2^32 - 1, which
2484           when cast to int would be the (valid) -1, but is bigger than
2485           G_MAXINT
2486
2487 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2488
2489         * gst/parse/grammar.y:
2490           add a log line for type deserialization
2491
2492 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2493
2494         * check/gst/gstvalue.c: (START_TEST):
2495         * gst/gstvalue.c: (gst_value_deserialize):
2496           return long long, not int, so gint64 deserialization actually
2497           works.  Is there any flag that makes the compiler check this ?
2498           Fixes #308559
2499
2500 2005-06-22  Wim Taymans  <wim@fluendo.com>
2501
2502         * gst/gstbuffer.h:
2503         Added convenience macros for setting buffers in GValue.
2504
2505 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2506
2507         * check/gst/.cvsignore:
2508         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2509           add a test deserializing int64, and comment part out because
2510           it fails, yay !
2511
2512 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2513
2514         * check/Makefile.am:
2515         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2516         * testsuite/Makefile.am:
2517         * testsuite/caps/Makefile.am:
2518         * testsuite/caps/value_serialize.c:
2519         * testsuite/test_gst_init.c:
2520           move a value_serialize test over
2521
2522 2005-06-20  Wim Taymans  <wim@fluendo.com>
2523
2524         * gst/gstpad.c:
2525         Small doc updates.
2526         
2527         * gst/gstvalue.c: (gst_value_compare_buffer),
2528         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2529         (gst_value_compare_flags), (gst_value_serialize_flags),
2530         (gst_value_deserialize_flags), (_gst_value_initialize):
2531         Fix serialisation of buffers, they are not boxed types anymore
2532
2533 2005-06-20  Wim Taymans  <wim@fluendo.com>
2534
2535         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2536         Testcase to show error in buffer-on-caps serialisation.
2537
2538 2005-06-20  Andy Wingo  <wingo@pobox.com>
2539
2540         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2541         will be adding to later.
2542
2543         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2544         if its socks fill with rocks.
2545         (gst_system_clock_obtain): Set the name on object construction.
2546         Avoid double-checked locking.
2547
2548 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2549
2550         * gst/gsturi.c: (gst_element_make_from_uri):
2551           Fix potential endless loop.
2552
2553 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2554
2555         * check/Makefile.am:
2556           add gsttag
2557         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2558         (main):
2559           move over from testsuite dir and clean up
2560         * configure.ac:
2561         * gst/gsttag.c:
2562         * testsuite/Makefile.am:
2563         * testsuite/tags/.cvsignore:
2564         * testsuite/tags/Makefile.am:
2565         * testsuite/tags/merge.c:
2566           remove testsuite/tags
2567
2568 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2569
2570         * docs/gst/gstreamer-sections.txt:
2571         * docs/gst/tmpl/gstenumtypes.sgml:
2572         * win32/gstenumtypes.c:
2573           clean up documentation build a little
2574
2575 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2576
2577         * check/gstcheck.h:
2578           add macros for checking refcounts on objects and caps
2579         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2580           add some more unit tests
2581         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2582         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2583           fix leaked refcounts (I hope :)) so unittest works
2584         * gst/gstpad.h:
2585           whitespace removal
2586
2587 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2588
2589         * configure.ac: back to HEAD
2590
2591 === release 0.9.1 ===
2592
2593 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2594
2595         * NEWS:
2596         * RELEASE:
2597           updated
2598
2599 2005-06-17  Andy Wingo  <wingo@pobox.com>
2600
2601         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2602         assert; it's always possible that the pad gets deactivated in
2603         between the checks in gstpad.c and the implementation. Rely on
2604         finish_preroll() to return a FLUSHING or similar instead of on the
2605         assert.
2606         
2607         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2608         clock and post an EOS message if we come out of finish_preroll in
2609         the playing state.
2610
2611 2005-06-16  David Schleef  <ds@schleef.org>
2612
2613         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2614         (gst_capsfilter_set_property): Allow NULL as possible value
2615         for filter_caps property, indicating GST_CAPS_ANY.
2616
2617 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2618
2619         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2620           fix debug output
2621         * gst/schedulers/Makefile.am:
2622           use libgst prefix
2623         * gstreamer.spec.in:
2624           fix spec for it
2625
2626 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2627
2628         * gstreamer.spec.in:
2629           clean up
2630
2631 2005-06-08  Andy Wingo  <wingo@pobox.com>
2632
2633         * gst/gstutils.c: RPAD fixes all around.
2634         (gst_element_link_pads): Refcounting fixes.
2635
2636         * tools/gst-inspect.c:
2637         * tools/gst-xmlinspect.c:
2638         * parse/grammar.y:
2639         * gst/base/gsttypefindhelper.c:
2640         * gst/base/gstbasesink.c:
2641         * gst/gstqueue.c: RPAD fixes.
2642
2643         * gst/gstghostpad.h:
2644         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2645         pads. The tricky thing is they provide both source and sink
2646         interfaces, since they proxy the internal pad for the external
2647         pad, and vice versa. Implement with lower-level ProxyPad objects,
2648         with the interior proxy pad as a child of the exterior ghost pad.
2649         Should write a doc on this.
2650         
2651         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2652         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2653         gst_object API.
2654         
2655         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2656         pads are real pads. No ghost pads in this file. Not documenting
2657         the myriad s/RPAD/PAD/ and REALIZE fixes.
2658         (gst_pad_class_init): Add properties for "direction" and
2659         "template". Both are construct-only, so they can't change during
2660         the life of the pad. Fixes properly deriving from GstPad.
2661         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2662         derived objects, just set properties when creating the objects via
2663         g_object_new.
2664         (gst_pad_get_parent): Implement as a function, return NULL if the
2665         parent is not an element.
2666         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2667         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2668         
2669         * gst/gstobject.c (gst_object_class_init): Make name a construct
2670         property. Don't set it in the object init.
2671
2672         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2673         with UNKNOWN direction.
2674         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2675         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2676         (gst_element_remove_pad): Remove ghost-pad special cases.
2677         (gst_element_pads_activate): Remove rpad cruft.
2678
2679         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2680         catch the pad's-parent-not-an-element case.
2681
2682         * gst/gst.h: Include gstghostpad.h.
2683
2684         * gst/gst.c (init_post): No more real, ghost pads.
2685
2686         * gst/Makefile.am: Add gstghostpad.[ch].
2687
2688         * check/Makefile.am:
2689         * check/gst/gstbin.c:
2690         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2691         into a bin creates ghost pads, and that the refcounts are right.
2692         Partly moved from gstbin.c.
2693
2694 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2695
2696         * check/gst-libs/.cvsignore:
2697         * check/gst/.cvsignore:
2698         * check/pipelines/.cvsignore:
2699           ignore more
2700         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2701         (START_TEST), (cleanup_suite), (main):
2702           add some tests related to cleanup after running pipelines
2703
2704 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2705
2706         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2707           add a testsuite for GstBuffer
2708
2709 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2710
2711         * gst/gstminiobject.h:
2712           add defines for accessing the refcount
2713
2714 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2715
2716         * Makefile.am: added support for html unit test coverage reports
2717
2718 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2719
2720         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2721           Free existing caps if the capsfilter changes. Add a FIXME about
2722           setting those caps on the pads.
2723
2724         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2725           Before adding a ghost pad to a parent bin, check that there isn't
2726           already one for the element on the bin. Prevents infinite recursion
2727           when using decodebin in parse pipelines. Andy says he'll rewrite the
2728           way this works anyway, so ignore the hack.
2729
2730 2005-06-02  Andy Wingo  <wingo@pobox.com>
2731
2732         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2733         file size, pass it on to the type find helper.
2734
2735         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2736         segment_start and segment_end properly according to the seek
2737         method. Segment_end is still a bit flaky because offset can be
2738         negative for CUR and END cases, but it takes -1 as an "unset"
2739         value.
2740
2741 2005-06-02  Wim Taymans  <wim@fluendo.com>
2742
2743         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2744         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2745         (gst_basesink_activate):
2746         * gst/base/gstbasesink.h:
2747         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2748         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2749         (gst_pad_query), (gst_pad_start_task):
2750         * gst/gstpad.h:
2751         * gst/gstqueue.c: (gst_queue_bufferalloc),
2752         (gst_queue_handle_sink_event), (gst_queue_chain):
2753         Bufferalloc: return GstFlowReturn to more accuratly report
2754         why allocation failed.
2755
2756 2005-06-02  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstpipeline.c: (gst_pipeline_send_event):
2759         Take snapshot of state without blocking.
2760
2761 2005-06-02  Wim Taymans  <wim@fluendo.com>
2762
2763         * docs/design/part-TODO.txt:
2764         * docs/design/part-caps.txt:
2765         * docs/design/part-clocks.txt:
2766         * docs/design/part-negotiation.txt:
2767         * docs/design/part-preroll.txt:
2768         Small doc updates 
2769
2770 2005-05-30  Wim Taymans  <wim@fluendo.com>
2771
2772         * gst/elements/gstidentity.c: (gst_identity_event),
2773         (gst_identity_transform), (gst_identity_get_property):
2774         Protect last_message property as it is accessed from
2775         multiple threads.
2776
2777 2005-05-30  Wim Taymans  <wim@fluendo.com>
2778
2779         * gst/gstelement.c: (gst_element_init),
2780         (gst_element_pads_activate), (gst_element_change_state):
2781         Slicker pad activation code.
2782
2783 2005-05-30  Wim Taymans  <wim@fluendo.com>
2784
2785         * gst/Makefile.am:
2786         * gst/gstelement.h:
2787         * gst/gstelementfactory.h:
2788         * gst/gsttypes.h:
2789         Move elementfactory methods to separate .h file.
2790
2791 2005-05-30  Wim Taymans  <wim@fluendo.com>
2792
2793         * docs/design/part-overview.txt:
2794         * gst/gstsystemclock.h:
2795         Small typo fixes, doc updates.
2796
2797 2005-05-30  Wim Taymans  <wim@fluendo.com>
2798
2799         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2800         (init_popt_callback):
2801         Remove cpu-opt flag.
2802
2803 2005-05-30  Wim Taymans  <wim@fluendo.com>
2804
2805         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2806         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2807         * gst/gstbuffer.h:
2808         Avoid typechecking in places where not needed.
2809         Added accessor for malloc_data.
2810
2811 2005-05-30  Wim Taymans  <wim@fluendo.com>
2812
2813         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2814         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2815         (gst_pad_configure_sink), (gst_pad_configure_src),
2816         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2817         (gst_pad_start_task):
2818         Propagate errors from _set_caps() in configure_src/sink
2819         functions instead of returning TRUE.
2820         FLUSH events can travel up and downstream
2821
2822
2823 2005-05-30  Wim Taymans  <wim@fluendo.com>
2824
2825         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2826         (gst_basesink_activate):
2827         Handle EOS in preroll.
2828
2829 2005-05-30  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2832         (gst_queue_loop), (gst_queue_handle_src_event):
2833         Remove old pieces of code
2834         Flushing the queue in an upstream event is a very bad idea.
2835
2836 2005-05-26  Andy Wingo  <wingo@pobox.com>
2837
2838         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2839         gst_value_set_mini_object so as to add a ref on the object (which
2840         will be removed when the value is unset).
2841
2842         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2843         arg type in ::handoff.
2844
2845         * gst/gstelement.c (gst_element_change_state): Also deactivate
2846         pads in READY->NULL, just in case the element didn't make it to
2847         PAUSED. Wingo tested, Wim approved.
2848
2849 2005-05-26  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2852         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2853         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2854         A flushing pad cannot be used to alloc_buffer from.
2855
2856 2005-05-26  Wim Taymans  <wim@fluendo.com>
2857
2858         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2859         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2860         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2861         (gst_bus_create_watch), (gst_bus_add_watch_full):
2862         * gst/gstbus.h:
2863         Implement a real GSource and use g_main_context_wakeup() to
2864         signal new messages instead of the socketpair.
2865
2866 2005-05-25  Wim Taymans  <wim@fluendo.com>
2867
2868         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2869         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2870         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2871         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2872         (gst_pad_send_event), (gst_pad_start_task):
2873         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2874         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2875         (gst_queue_sink_activate), (gst_queue_src_activate),
2876         (gst_queue_change_state):
2877         * gst/gstqueue.h:
2878         Fix state changes for non sinks. We now change sinks, then elements
2879         with unconnected srcpads, then the rest.
2880         More efficient queue unlocking in flush and state changes.
2881         Set the pad activate mode even if it does not have an activate
2882         function.
2883
2884 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2885
2886         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2887           Don't go in pull mode for non-seekable sources.
2888         * gst/elements/gsttypefindelement.h:
2889         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2890         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2891         (free_entry), (stop_typefinding),
2892         (gst_type_find_element_handle_event), (find_peek),
2893         (gst_type_find_element_chain), (do_pull_typefind),
2894         (gst_type_find_element_change_state):
2895           Allow typefinding (w/o seeking) in push-mode, simplified version
2896           of what was in 0.8.
2897         * gst/gstutils.c: (gst_buffer_join):
2898         * gst/gstutils.h:
2899           gst_buffer_join() from 0.8.
2900
2901 2005-05-25  Wim Taymans  <wim@fluendo.com>
2902
2903         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2904         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2905         (gst_pad_send_event), (gst_pad_start_task):
2906         Disable attempt at mode switching until it is figured out.
2907
2908 2005-05-25  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2911         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2912         (gst_basesink_finish_preroll), (gst_basesink_chain),
2913         (gst_basesink_loop), (gst_basesink_activate),
2914         (gst_basesink_change_state):
2915         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2916         (gst_basesrc_get_range), (gst_basesrc_loop),
2917         (gst_basesrc_activate):
2918         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2919         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2920         (gst_real_pad_init), (gst_real_pad_set_property),
2921         (gst_real_pad_get_property), (gst_pad_set_active),
2922         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2923         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2924         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2925         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2926         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2927         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2928         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2929         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2930         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2931         (gst_pad_stop_task):
2932         * gst/gstpad.h:
2933         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2934         (gst_queue_loop), (gst_queue_src_activate):
2935         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2936         (gst_task_get_state):
2937         * gst/gsttask.h:
2938         * gst/schedulers/threadscheduler.c:
2939         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2940         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2941         in task function.
2942         Remove ACTIVE pad flag, use FLUSHING everywhere
2943         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2944         functions.
2945         Add locks around IS_FLUSHING when reading.
2946         Take STREAM lock in chain(), get_range() functions so plugins
2947         don't need to take it anymore.
2948         
2949
2950
2951 2005-05-25  Wim Taymans  <wim@fluendo.com>
2952
2953         * tools/gst-launch.c: (event_loop):
2954         Unref message after using its contents instead of
2955         before.
2956
2957 2005-05-24  Wim Taymans  <wim@fluendo.com>
2958
2959         * docs/design/draft-ghostpads.txt:
2960         * docs/design/draft-push-pull.txt:
2961         * docs/design/draft-query.txt:
2962         * docs/design/part-overview.txt:
2963         Docs updates, added general overview doc.
2964
2965 2005-05-21  David Schleef  <ds@schleef.org>
2966
2967         * docs/gst/tmpl/old/GstBin.sgml:
2968         * docs/gst/tmpl/old/GstBuffer.sgml:
2969         * docs/gst/tmpl/old/GstCaps.sgml:
2970         * docs/gst/tmpl/old/GstClock.sgml:
2971         * docs/gst/tmpl/old/GstCompat.sgml:
2972         * docs/gst/tmpl/old/GstData.sgml:
2973         * docs/gst/tmpl/old/GstElement.sgml:
2974         * docs/gst/tmpl/old/GstEvent.sgml:
2975         * docs/gst/tmpl/old/GstIndex.sgml:
2976         * docs/gst/tmpl/old/GstStructure.sgml:
2977         * docs/gst/tmpl/old/GstTag.sgml:
2978         * docs/gst/tmpl/old/cothreads.sgml:
2979         * docs/gst/tmpl/old/cothreads_compat.sgml:
2980         * docs/gst/tmpl/old/gettext.sgml:
2981         * docs/gst/tmpl/old/gobject2gtk.sgml:
2982         * docs/gst/tmpl/old/grammar.tab.sgml:
2983         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2984         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2985         * docs/gst/tmpl/old/gst_private.sgml:
2986         * docs/gst/tmpl/old/gstaggregator.sgml:
2987         * docs/gst/tmpl/old/gstarch.sgml:
2988         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2989         * docs/gst/tmpl/old/gstbufferstore.sgml:
2990         * docs/gst/tmpl/old/gstdata_private.sgml:
2991         * docs/gst/tmpl/old/gstdisksink.sgml:
2992         * docs/gst/tmpl/old/gstdisksrc.sgml:
2993         * docs/gst/tmpl/old/gstelementfactory.sgml:
2994         * docs/gst/tmpl/old/gstextratypes.sgml:
2995         * docs/gst/tmpl/old/gstfakesink.sgml:
2996         * docs/gst/tmpl/old/gstfakesrc.sgml:
2997         * docs/gst/tmpl/old/gstfdsink.sgml:
2998         * docs/gst/tmpl/old/gstfdsrc.sgml:
2999         * docs/gst/tmpl/old/gstfilesink.sgml:
3000         * docs/gst/tmpl/old/gstfilesrc.sgml:
3001         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3002         * docs/gst/tmpl/old/gstidentity.sgml:
3003         * docs/gst/tmpl/old/gstindexfactory.sgml:
3004         * docs/gst/tmpl/old/gstmarshal.sgml:
3005         * docs/gst/tmpl/old/gstmd5sink.sgml:
3006         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3007         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3008         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3009         * docs/gst/tmpl/old/gstpipefilter.sgml:
3010         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3011         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3012         * docs/gst/tmpl/old/gstshaper.sgml:
3013         * docs/gst/tmpl/old/gstspider.sgml:
3014         * docs/gst/tmpl/old/gstspideridentity.sgml:
3015         * docs/gst/tmpl/old/gststatistics.sgml:
3016         * docs/gst/tmpl/old/gsttee.sgml:
3017         * docs/gst/tmpl/old/gsttimecache.sgml:
3018         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3019         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3020         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3021         * docs/gst/tmpl/old/types.sgml:
3022           I didn't intend to add these or check them in.
3023
3024 2005-05-19  David Schleef  <ds@schleef.org>
3025
3026         * configure.ac: Use -no-common everywhere.  In a sane world, it
3027           would be the default in libtool, because without it, you can't
3028           build DLLs on Windows.
3029         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3030         * docs/gst/gstreamer-sections.txt:
3031         * docs/gst/tmpl/gstcpu.sgml:
3032         * docs/gst/tmpl/gstdata.sgml:
3033         * docs/gst/tmpl/gstthread.sgml:
3034
3035 2005-05-19  David Schleef  <ds@schleef.org>
3036
3037         * gst/gstminiobject.c: (gst_value_set_mini_object),
3038         (gst_value_take_mini_object), (gst_value_get_mini_object):
3039         * gst/gstminiobject.h: Add GValue set/get functions.
3040
3041 2005-05-19  Wim Taymans  <wim@fluendo.com>
3042
3043         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3044         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3045         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3046         * gst/gstbuffer.h:
3047         * gst/gstbus.c: (gst_bus_post):
3048         * gst/gstelement.c: (gst_element_get_random_pad):
3049         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3050         Make subbufer unref the parent in finalize.
3051         some more debugging info.
3052
3053
3054 2005-05-19  Wim Taymans  <wim@fluendo.com>
3055
3056         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3057         (gst_basesink_init), (gst_basesink_finalize),
3058         (gst_basesink_activate), (gst_basesink_change_state):
3059         Don't free preroll queue too early.
3060
3061 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3062
3063         * gst/Makefile.am:
3064         * gst/ROADMAP:
3065           Hi, I'm outdated. Please shoot me.
3066
3067 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3068
3069         * gst/gstpipeline.c: (gst_pipeline_send_event):
3070           Do not access variables after they have been deleted.
3071
3072 2005-05-19  Wim Taymans  <wim@fluendo.com>
3073
3074         * tools/gst-inspect.c: (print_plugin_features):
3075         A plugin feature does unfortunatly not use the
3076         object name yet...
3077
3078 2005-05-18  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3081         Port _span() functions to new subbuffers.
3082
3083 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3084
3085         * gst/gstbin.c: (gst_bin_add_func):
3086           Fix clock settery in bins when adding kids after the clock has
3087           been selected.
3088
3089 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3090
3091         * gst/elements/gstidentity.c: (gst_identity_class_init):
3092           Workaround until signals support GstMiniObject.
3093
3094 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3095
3096         * gst/gstbuffer.c:
3097         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3098
3099 2005-05-18  Wim Taymans  <wim@fluendo.com>
3100
3101         * gst/base/Makefile.am:
3102         * gst/base/gstadapter.c: (gst_adapter_base_init),
3103         (gst_adapter_class_init), (gst_adapter_init),
3104         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3105         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3106         (gst_adapter_flush), (gst_adapter_available),
3107         (gst_adapter_available_fast):
3108         * gst/base/gstadapter.h:
3109         Ported and added adapter to the base classes.
3110
3111 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3112
3113         * gst/gst.c:
3114         * gst/gstmessage.c:
3115           Make sure the class is reffed/unreffed once before threads can be
3116           used.  Fixes #304551.
3117
3118 2005-05-17  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3121         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3122         * gst/gstminiobject.c: (gst_mini_object_get_type),
3123         (gst_mini_object_free):
3124         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3125         (gst_pad_push), (gst_pad_push_event):
3126         * gst/gstqueue.c: (gst_queue_change_state):
3127         Don't queue buffers in basesink when we are flushing.
3128         Unref buffer when flushing in basesink.
3129         Flush queue when going to READY
3130         Unref buffer when _push() returns an error.
3131         Don't free MiniObject instance when refcount is incremented
3132         in _finalize() so that we can recover objects.
3133
3134 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3135
3136         * docs/manual/advanced-schedulers.xml:
3137         * docs/manual/appendix-checklist.xml:
3138         * docs/pwg/advanced-clock.xml:
3139         * docs/pwg/advanced-interfaces.xml:
3140         * docs/pwg/advanced-request.xml:
3141         * docs/pwg/advanced-types.xml:
3142         * docs/pwg/intro-preface.xml:
3143         * examples/plugins/example.c: (gst_example_get_type),
3144         (gst_example_class_init), (gst_example_chain),
3145         (gst_example_set_property), (gst_example_get_property),
3146         (gst_example_change_state), (plugin_init):
3147         * examples/plugins/example.h:
3148           small doc fixes
3149
3150 2005-05-17  Wim Taymans  <wim@fluendo.com>
3151
3152         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3153         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3154         * gst/gstqueue.c: (gst_queue_change_state):
3155         Clear queue when going to READY.
3156         Remove IN_SETCAPS flag too.
3157
3158 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3159
3160         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3161           Remove implicit cast from gboolean to GstElementStateReturn;
3162           make sure we still return failure in paused => ready case if
3163           the parent class fails to change state and our own stop 
3164           vfunc succeeds.
3165
3166 2005-05-17  Wim Taymans  <wim@fluendo.com>
3167
3168         * tools/gst-launch.c: (event_loop):
3169         Message was unreffed too soon.
3170
3171 2005-05-16  Andy Wingo  <wingo@pobox.com>
3172
3173         * gst/gstbin.c (sink_iterator_filter): Err... um...
3174
3175         * check/gst/gstbin.c (test_ghost_pads): New test for the
3176         ghosting-if-elements-not-in-same-bin behavior.
3177
3178 2005-05-16  David Schleef  <ds@schleef.org>
3179
3180         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3181         accessing refcount directly.
3182
3183 2005-05-15  David Schleef  <ds@schleef.org>
3184
3185         * check/Makefile.am: remove GstData checks
3186         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3187         * gst/Makefile.am: add miniobject, remove data
3188         * gst/gst.h: add miniobject, remove data
3189         * gst/gstdata.c: remove
3190         * gst/gstdata.h: remove
3191         * gst/gstdata_private.h: remove
3192         * gst/gsttypes.h: remove GstEvent and GstMessage
3193         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3194         * gst/gstmarshal.list: change BOXED -> OBJECT
3195
3196         Implement GstMiniObject.
3197         * gst/gstminiobject.c:
3198         * gst/gstminiobject.h:
3199
3200         Modify to be subclasses of GstMiniObject.
3201         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3202         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3203         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3204         (gst_subbuffer_get_type), (gst_subbuffer_init),
3205         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3206         (gst_buffer_span):
3207         * gst/gstbuffer.h:
3208         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3209         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3210         (_gst_event_copy), (gst_event_new):
3211         * gst/gstevent.h:
3212         * gst/gstmessage.c: (_gst_message_initialize),
3213         (gst_message_get_type), (gst_message_class_init),
3214         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3215         (gst_message_new), (gst_message_new_error),
3216         (gst_message_new_warning), (gst_message_new_tag),
3217         (gst_message_new_state_changed), (gst_message_new_application):
3218         * gst/gstmessage.h:
3219         * gst/gstprobe.c: (gst_probe_perform),
3220         (gst_probe_dispatcher_dispatch):
3221         * gst/gstprobe.h:
3222         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3223         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3224         (_gst_query_copy), (gst_query_new):
3225
3226         Update elements for GstData -> GstMiniObject changes
3227         * gst/gstquery.h:
3228         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3229         (gst_queue_chain), (gst_queue_loop):
3230         * gst/elements/gstbufferstore.c:
3231         (gst_buffer_store_add_buffer_func),
3232         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3233         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3234         (gst_fakesink_render):
3235         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3236         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3237         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3238         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3239         (gst_filesrc_create_read):
3240         * gst/elements/gstidentity.c: (gst_identity_class_init):
3241         * gst/elements/gsttypefindelement.c:
3242         (gst_type_find_element_src_event), (free_entry_buffers),
3243         (gst_type_find_element_handle_event):
3244         * libs/gst/dataprotocol/dataprotocol.c:
3245         (gst_dp_header_from_buffer):
3246         * libs/gst/dataprotocol/dataprotocol.h:
3247         * libs/gst/dataprotocol/dp-private.h:
3248
3249 2005-05-15  David Schleef  <ds@schleef.org>
3250
3251         * gst/elements/gstelements.c: Don't include headers that were
3252         just removed.
3253
3254 2005-05-15  David Schleef  <ds@schleef.org>
3255
3256         * gst/elements/Makefile.am: Remove some elements that don't
3257         need to be in the core (or even exist at all).
3258         * gst/elements/gstaggregator.c:
3259         * gst/elements/gstaggregator.h:
3260         * gst/elements/gstmd5sink.c:
3261         * gst/elements/gstmd5sink.h:
3262         * gst/elements/gstmultifilesrc.c:
3263         * gst/elements/gstmultifilesrc.h:
3264         * gst/elements/gstpipefilter.c:
3265         * gst/elements/gstpipefilter.h:
3266         * gst/elements/gstshaper.c:
3267         * gst/elements/gstshaper.h:
3268         * gst/elements/gststatistics.c:
3269         * gst/elements/gststatistics.h:
3270         * po/POTFILES.in: Remove above files.
3271
3272 2005-05-14  Andy Wingo  <wingo@pobox.com>
3273
3274         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3275         so as to get the refs right.
3276         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3277         unreffing objects that don't pass the filter.
3278
3279         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3280         gst_element_set_bus.
3281         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3282         normal cases, this will destroy the bus.
3283
3284         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3285         object.
3286
3287         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3288         has no sinks.
3289
3290 2005-05-13  Andy Wingo  <wingo@pobox.com>
3291
3292         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3293         gst_pad_link, call pad_link_maybe_ghosting,
3294         (pad_link_maybe_ghosting): Links pads, making sure that the
3295         elements being linked are in the same bin.
3296         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3297         Helpers for pad_link_maybe_ghosting.
3298
3299 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * configure.ac:
3302           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3303
3304 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3305
3306         * docs/design/part-element-source.txt:
3307           Mention GstPushSrc
3308
3309 2005-05-12  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/base/gstbasesink.c: (gst_basesink_init),
3312         (gst_basesink_activate):
3313         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3314         (gst_basesrc_is_seekable):
3315         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3316         (bin_element_is_sink), (gst_bin_change_state):
3317         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3318         * gst/gstelement.h:
3319         Identify sinks by their flag to avoid overly complicated
3320         checks (fow now).
3321         Do state changes even for elements not reachable from the
3322         sinks.
3323         BaseSink is a sink now :)
3324         Some more debugging info in the basesrc.
3325
3326
3327 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3328
3329         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3330           Implement _query on a bin, similar to _send_event.
3331
3332 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3333
3334         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3335           Discont event offset format should be GST_FORMAT_BYTES,
3336           not GST_FORMAT_TIME.
3337
3338 2005-05-12  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3341         Same fix as Ronald's but without the signal. 
3342
3343 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3344
3345         * gst/gstutils.c: (gst_element_query_position):
3346           No, an element is not a pad.
3347
3348 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3349
3350         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3351         (gst_bin_get_state):
3352           If a child is removed from a bin while we remove the child from
3353           the bin and while we're retrieving its state, signal this to the
3354           get_state function so we abort the wait (instead of waiting for
3355           a timeout) and can immediately re-iterate over all other elements.
3356
3357 2005-05-12  Wim Taymans  <wim@fluendo.com>
3358
3359         * gst/base/Makefile.am:
3360         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3361         (gst_basesrc_start):
3362         * gst/base/gstbasesrc.h:
3363         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3364         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3365         (gst_pushsrc_init), (gst_pushsrc_create):
3366         * gst/base/gstpushsrc.h:
3367         Added is_seekable to BaseSrc
3368         Added simple PushSrc.
3369
3370 2005-05-11  Wim Taymans  <wim@fluendo.com>
3371
3372         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3373         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3374         (gst_element_link_pads), (gst_element_query_position),
3375         (gst_element_query_convert), (intersect_caps_func),
3376         (gst_pad_query_position), (gst_pad_query_convert):
3377         Fix refcounting in utils function.
3378         No point in trying to activate a pad when it's added, it could
3379         be added from the state change function and then we deadlock, the
3380         element has to decide what to do.
3381
3382 2005-05-10  Andy Wingo  <wingo@pobox.com>
3383
3384         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3385         *all* the arguments.
3386
3387         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3388         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3389         lock (according to the docs -- if this is wrong change the docs).
3390
3391         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3392         flush messages in the NULL state.
3393
3394         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3395         message immediately and return.
3396         (gst_bus_set_flushing): New function. If a bus is flushing, it
3397         flushes out any queued messages and immediately unrefs new
3398         messages. This is so when an element goes to NULL, all of the
3399         unhandled messages coming from it can be freed, and their
3400         references to the element dropped. In other words: message source
3401         ref considered harmful :P
3402
3403         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3404         we're finished with it.
3405
3406         * gst/gstmessage.c (gst_message_new_state_changed): 
3407
3408 2005-05-10  Wim Taymans  <wim@fluendo.com>
3409
3410         * gst/gstvalue.c: (gst_value_compare_flags),
3411         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3412         (_gst_value_initialize):
3413         Added flags serialize/deserialize/compare code.
3414
3415 2005-05-09  Andy Wingo  <wingo@pobox.com>
3416
3417         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3418         Intersect the peer's caps with our caps.
3419
3420 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3421
3422         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3423         * gst/elements/gsttypefindelement.c: (find_peek):
3424           Handle negative offsets better. Fixes decodebin.
3425
3426 2005-05-09  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3429         (gst_base_transform_event):
3430         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3431         Implement accept_caps.
3432         Fix silly lock/unlock mismatch in base class.
3433
3434 2005-05-09  Wim Taymans  <wim@fluendo.com>
3435
3436         * docs/design/draft-push-pull.txt:
3437         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3438         * gst/elements/gstfilesink.c: (gst_filesink_init),
3439         (gst_filesink_query):
3440         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3441         (gst_type_find_handle_src_query), (find_element_get_length):
3442         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3443         * gst/gstelement.h:
3444         * gst/gstmessage.c:
3445         * gst/gstmessage.h:
3446         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3447         (gst_real_pad_get_caps_unlocked),
3448         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3449         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3450         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3451         (gst_real_pad_dispose), (gst_real_pad_finalize),
3452         (gst_pad_load_and_link), (gst_pad_save_thyself),
3453         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3454         (gst_pad_check_pull_range), (gst_pad_pull_range),
3455         (gst_pad_template_get_type), (gst_pad_template_class_init),
3456         (gst_pad_template_init), (gst_pad_template_dispose),
3457         (name_is_valid), (gst_static_pad_template_get),
3458         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3459         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3460         (gst_pad_get_element_private), (gst_pad_start_task),
3461         (gst_pad_pause_task), (gst_pad_stop_task),
3462         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3463         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3464         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3465         (gst_ghost_pad_new):
3466         * gst/gstpad.h:
3467         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3468         (gst_query_new_position), (gst_query_set_position),
3469         (gst_query_parse_position), (gst_query_new_convert),
3470         (gst_query_set_convert), (gst_query_parse_convert):
3471         * gst/gstquery.h:
3472         * gst/gstqueryutils.c:
3473         * gst/gstqueryutils.h:
3474         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3475         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3476         (gst_queue_handle_src_query):
3477         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3478         (gst_element_query_position), (gst_element_query_convert),
3479         (intersect_caps_func), (gst_pad_query_position),
3480         (gst_pad_query_convert):
3481         * gst/gstutils.h:
3482         * tools/gst-inspect.c: (print_pad_info):
3483         * tools/gst-xmlinspect.c: (print_element_info):
3484         Remove old query functions. Ported old code.
3485         Added position/convert helper functions to gstutils.
3486         Reordered gstpad.c code, grouping relevant things.
3487         Remove gst_message_new(), always need to speficy a specific
3488         message.
3489
3490
3491 2005-05-09  Andy Wingo  <wingo@pobox.com>
3492
3493         * gst/gstiterator.h: Add some includes.
3494
3495         * gst/gstqueryutils.h: Include more headers.
3496
3497         * gst/gstpad.h:
3498         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3499         some uses of gst_pad_query.
3500
3501         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3502         NULL out parameters.
3503         (gst_query_new_position): New proc, allocates a new position
3504         query.
3505
3506         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3507         gstqueryutils.c to the build.
3508
3509         * gst/gststructure.c (gst_structure_set_valist): Implement with
3510         the generic G_VALUE_COLLECT.
3511         
3512 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3513
3514         * gst/Makefile.am: (gst_headers):
3515         Added gstqueryutils.h to the list of headers to install, that was
3516         a 'nachty' move wingo :)
3517
3518 2005-05-06  Andy Wingo  <wingo@pobox.com>
3519
3520         * gst/gstquery.h
3521         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3522         GstData, init a memchunk.
3523         (standard_definitions): Add a few query types, deprecate a few.
3524         (gst_query_get_type): New proc.
3525         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3526         implementation.
3527         (gst_query_new_application, gst_query_get_structure): New public
3528         procs.
3529
3530         * docs/design/draft-query.txt: Removed LINKS from the query types,
3531         because all the rest can be dispatched to other pads -- seemed
3532         ugly to have a query that couldn't be dispatched. internal_links
3533         is fine as a pad method.
3534
3535         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3536         in gstpad.c, but maintain binary compatibility for the moment.
3537         Will fix before 0.9 is out.
3538
3539         * gst/gstqueryutils.c: 
3540         * gst/gstqueryutils.h: New files, implement 3 methods for each
3541         query type: parse_query, parse_response, and set. Probably need an
3542         allocator as well.
3543
3544         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3545
3546         * gst/elements/gstfilesink.c (gst_filesink_query2):
3547         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3548         query_types, and formats methods.
3549
3550         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3551         (gst_pad_set_query2_function): New functions.
3552         (gst_real_pad_init): Set query2_default as the default query2
3553         function. Basically just dispatches to internally linked pads.
3554
3555         Needs review!
3556         
3557         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3558         without using the atomic operations. Only one thread can possibly
3559         be accessing the data at this point. Changed so as to avoid
3560         gst_atomic operations.
3561
3562 2005-05-06  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3565         Also set caps if we use the fallback buffer alloc.
3566
3567 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3568
3569         * docs/gst/Makefile.am:
3570         * docs/gst/gstreamer-docs.sgml:
3571         * docs/gst/gstreamer-sections.txt:
3572         * docs/gst/tmpl/gstatomic.sgml:
3573         * docs/gst/tmpl/gstmemchunk.sgml:
3574         * testsuite/elements/struct_i386.h:
3575         * win32/GStreamer.vcproj:
3576         * win32/Makefile:
3577           Purge GstAtomic stuff from docs and win32 makefiles as well
3578
3579 2005-05-06  Wim Taymans  <wim@fluendo.com>
3580
3581         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3582         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3583         * gst/gstpad.c: (gst_pad_peer_get_caps):
3584         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3585         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3586         (gst_queue_src_activate), (gst_queue_change_state):
3587         * gst/gstqueue.h:
3588         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3589         (intersect_caps_func):
3590         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3591         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3592         Some fixes for the peer_get_caps() change.
3593
3594 2005-05-06  Wim Taymans  <wim@fluendo.com>
3595
3596         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3597         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3598         (gst_basesink_activate):
3599         Actually do something with error codes returned from the push
3600         functions.
3601
3602 2005-05-06  Wim Taymans  <wim@fluendo.com>
3603
3604         * docs/design/part-element-sink.txt:
3605         * docs/design/part-element-source.txt:
3606         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3607         (gst_basesink_event), (gst_basesink_activate):
3608         * gst/base/gstbasesink.h:
3609         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3610         (gst_basesrc_activate):
3611         * gst/base/gstbasesrc.h:
3612         * gst/gstelement.c: (gst_element_pads_activate):
3613         Some more documentation.
3614         Fixed scheduling decision in _pads_activate().
3615
3616 2005-05-05  Andy Wingo  <wingo@pobox.com>
3617
3618         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3619         the test suite.
3620
3621 2005-05-05  Wim Taymans  <wim@fluendo.com>
3622
3623         * gst/base/Makefile.am:
3624         * gst/base/gstbasesink.h:
3625         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3626         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3627         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3628         (gst_collectpads_class_init), (gst_collectpads_init),
3629         (gst_collectpads_finalize), (gst_collectpads_new),
3630         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3631         (find_pad), (gst_collectpads_remove_pad),
3632         (gst_collectpads_is_active), (gst_collectpads_collect),
3633         (gst_collectpads_collect_range), (gst_collectpads_start),
3634         (gst_collectpads_stop), (gst_collectpads_peek),
3635         (gst_collectpads_pop), (gst_collectpads_available),
3636         (gst_collectpads_read), (gst_collectpads_flush),
3637         (gst_collectpads_chain):
3638         * gst/base/gstcollectpads.h:
3639         * gst/elements/Makefile.am:
3640         * gst/elements/gstelements.c:
3641         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3642         (gst_fakesink_get_times), (gst_fakesink_event),
3643         (gst_fakesink_preroll), (gst_fakesink_render):
3644         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3645         (gst_filesink_init), (gst_filesink_set_location),
3646         (gst_filesink_open_file), (gst_filesink_close_file),
3647         (gst_filesink_pad_query), (gst_filesink_event),
3648         (gst_filesink_render), (gst_filesink_change_state):
3649         * gst/elements/gstfilesink.h:
3650         Added object to help in making collect pad based elements.
3651         Ported filesink.
3652         Make event function in sink baseclass return gboolean.
3653
3654 2005-05-05  Wim Taymans  <wim@fluendo.com>
3655
3656         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3657         (gst_bin_get_by_name):
3658         * gst/gstbuffer.h:
3659         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3660         (gst_clock_finalize):
3661         * gst/gstdata.c: (gst_data_replace):
3662         * gst/gstdata.h:
3663         * gst/gstelement.c: (gst_element_request_pad),
3664         (gst_element_pads_activate):
3665         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3666         (gst_object_unref):
3667         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3668         (gst_pad_set_checkgetrange_function),
3669         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3670         (gst_pad_check_pull_range), (gst_pad_pull_range),
3671         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3672         (gst_pad_pause_task), (gst_pad_stop_task):
3673         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3674         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3675         Fix name lookup in GstBin.
3676         Added _data_replace() function and _buffer_replace()
3677         Use finalize method to clean up clock.
3678         Fix refcounting on request pads.
3679         Fix pad schedule mode error.
3680         Some more object refcounting debug info,
3681
3682
3683 2005-05-04  Andy Wingo <wingo@pobox.com>
3684
3685         * check/Makefile.am:
3686         * docs/gst/tmpl/gstatomic.sgml:
3687         * docs/gst/tmpl/gstplugin.sgml:
3688         * gst/base/gstbasesink.c: (gst_basesink_activate):
3689         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3690         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3691         (gst_basesrc_query), (gst_basesrc_set_property),
3692         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3693         (gst_basesrc_activate):
3694         * gst/base/gstbasesrc.h:
3695         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3696         (gst_base_transform_src_activate):
3697         * gst/elements/gstelements.c:
3698         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3699         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3700         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3701         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3702         (gst_type_find_element_checkgetrange),
3703         (gst_type_find_element_activate):
3704         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3705         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3706         (gst_caps_load_thyself):
3707         * gst/gstelement.c: (gst_element_pads_activate),
3708         (gst_element_save_thyself), (gst_element_restore_thyself):
3709         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3710         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3711         * gst/gstpad.h:
3712         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3713         (gst_xml_parse_file), (gst_xml_parse_memory),
3714         (gst_xml_get_element), (gst_xml_make_element):
3715         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3716         (_file_index_id_save_xml), (gst_file_index_commit):
3717         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3718         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3719         (load_paths):
3720         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3721         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3722         * tools/gst-complete.c: (main):
3723         * tools/gst-compprep.c: (main):
3724         * tools/gst-inspect.c: (print_element_properties_info):
3725         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3726         * tools/gst-xmlinspect.c: (print_element_properties):
3727         GCC 4 fixen.
3728         
3729 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * gst/gstplugin.c: (gst_plugin_check_module),
3732         (gst_plugin_check_file), (gst_plugin_load_file):
3733             apply patch from #172526 to make register work on MacOSX
3734
3735 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * docs/gst/tmpl/gstconfig.sgml:
3738         * gst/gstconfig.h.in:
3739           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3740         * testsuite/debug/printf_extension.c: (main):
3741           Do not use GST_PTR_FORMAT on pointers to types with
3742           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3743         * testsuite/elements/property.h:
3744           use correct printf format
3745
3746 2005-05-02  Wim Taymans  <wim@fluendo.com>
3747
3748         * docs/design/draft-push-pull.txt:
3749         * docs/design/draft-query.txt:
3750         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3751         (gst_basesrc_start):
3752         Added draft for new query API.
3753         Added draft for better selecting scheduling methods.
3754         Make basesrc ignore length if the subclass does not support
3755         it.
3756
3757 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * gst/Makefile.am:
3760           possible fixes for automake-1.5 - _LIBADD is reserved
3761
3762 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3763
3764         * docs/faq/Makefile.am:
3765         * docs/manual/Makefile.am:
3766         * docs/manuals.mak:
3767         * docs/pwg/Makefile.am:
3768         * gst/Makefile.am:
3769           possible fixes for automake-1.5
3770
3771 2005-04-28  Wim Taymans  <wim@fluendo.com>
3772
3773         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3774         (gst_basesink_pad_getcaps), (gst_basesink_init),
3775         (gst_basesink_do_sync):
3776         * gst/gstclock.c: (gst_clock_entry_new):
3777         * gst/gstevent.c: (gst_event_discont_get_value):
3778         * gst/gstpipeline.c: (pipeline_bus_handler),
3779         (gst_pipeline_change_state):
3780         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3781         Better debugging of clocking info.
3782         Allow NULL values when getting discont values.
3783
3784 2005-04-27  Wim Taymans  <wim@fluendo.com>
3785
3786         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3787         * check/gst/gstpad.c: (gst_pad_suite):
3788         Increase timeout for checks.
3789
3790 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3791
3792         * check/Makefile.am:
3793           fix the broken rule for cleanup.  Apparently this rule is
3794           only needed on FC2, so maybe this warrants further autotool
3795           inspection.
3796
3797 2005-04-26  Wim Taymans  <wim@fluendo.com>
3798
3799         * gst/gsttrashstack.h:
3800         Ooohh. a nasty one! After having a failed pop() from the stack,
3801         it's possible that the stack is empty. In that case, don't
3802         follow the NULL pointer.
3803
3804 2005-04-25  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3807         (gst_pad_set_checkgetrange_function),
3808         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3809         (gst_pad_check_pull_range), (gst_pad_pull_range),
3810         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3811         (gst_pad_pause_task), (gst_pad_stop_task):
3812         * gst/gstplugin.c: (gst_plugin_load):
3813         * gst/gstplugin.h:
3814         Remove gst_library_load as it does more harm than good with
3815         the new g_module flags.
3816         Revert bogus caps template check in pad linking, pad caps
3817         are important when linking not the template, which is more
3818         general than the current caps.
3819
3820 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3821
3822         * gst/autoplug/.cvsignore:
3823         * gst/autoplug/Makefile.am:
3824         * gst/autoplug/gstsearchfuncs.c:
3825         * gst/autoplug/gstsearchfuncs.h:
3826         * gst/autoplug/gstspider.c:
3827         * gst/autoplug/gstspider.h:
3828         * gst/autoplug/gstspideridentity.c:
3829         * gst/autoplug/gstspideridentity.h:
3830         * gst/autoplug/spidertest.c:
3831           Die, spider, die.
3832
3833 2005-04-25  Wim Taymans  <wim@fluendo.com>
3834
3835         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3836         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3837         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3838         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3839         * gst/gstpad.h:
3840         Added stubs for unimplemented functions. 
3841
3842 2005-04-24  David Schleef  <ds@schleef.org>
3843
3844         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3845         please fix.
3846
3847 2005-04-24  David Schleef  <ds@schleef.org>
3848
3849         Convert everything from GstAtomicInt to g_atomic_int_*, and
3850         remove gstatomic.
3851         * gst/Makefile.am:
3852         * gst/gstatomic.c:
3853         * gst/gstatomic.h:
3854         * gst/gstatomic_impl.h:
3855         * gst/gstbuffer.c:
3856         * gst/gstcaps.c:
3857         * gst/gstcaps.h:
3858         * gst/gstclock.c:
3859         * gst/gstclock.h:
3860         * gst/gstdata.c:
3861         * gst/gstdata.h:
3862         * gst/gstdata_private.h:
3863         * gst/gstevent.c:
3864         * gst/gstinfo.c:
3865         * gst/gstinfo.h:
3866         * gst/gstmessage.c:
3867         * gst/gstobject.c:
3868         * gst/gstobject.h:
3869         * gst/gststructure.c:
3870         * gst/gststructure.h:
3871         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3872         * gst/gstutils.h:
3873
3874 2005-04-24  David Schleef  <ds@schleef.org>
3875
3876         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3877         make the regressions tests work.  Remove some code that is no
3878         longer true.
3879         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3880         Disable warning for pads without templates.
3881
3882 2005-04-24  David Schleef  <ds@schleef.org>
3883
3884         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3885         functions that handle filtered links.
3886         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3887         removed functions.
3888         * gst/gstutils.c: Fix/remove utility functions that handle
3889         filtered caps.
3890         * gst/gstutils.h:
3891         * gst/gstvalue.c: Add serialization/deserialization of caps
3892         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3893         requires fixing so that the filter caps notation creates
3894         a capsfilter element and sets the filter_caps property.  I
3895         think everyone probably wants to keep the shorthand notation.
3896         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3897         * docs/gst/tmpl/gstpad.sgml:
3898
3899         * gst/elements/gstelements.c: Register capsfilter element.
3900         * gst/Makefile.am: fix spacing
3901         * docs/random/ds/0.9-suggested-changes: random
3902
3903 2005-04-23  David Schleef  <ds@schleef.org>
3904
3905         * gst/elements/Makefile.am:
3906         * gst/elements/gstcapsfilter.c: New element that acts like an
3907         identity, but filters caps.  Will eventually replace filtered
3908         caps in pad linking.
3909         * gst/gstutils.c: (gst_element_create_all_pads): New function
3910         to create all the ALWAYS pads that are registered with an
3911         element class.  This functionality should eventually be
3912         merged in with GstElement initialization.
3913         * gst/gstutils.h:
3914         * testsuite/trigger/README: part of trigger test code that should
3915         have been checked in a long time ago.
3916
3917 2005-04-23  David Schleef  <ds@schleef.org>
3918
3919         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3920         needed with new versions of libtool (nobody will confirm this),
3921         and hard to carry around.
3922         * gst/autoplug/Makefile.am:
3923         * gst/base/Makefile.am:
3924         * gst/elements/Makefile.am:
3925         * gst/indexers/Makefile.am:
3926         * gst/schedulers/Makefile.am:
3927         * libs/gst/bytestream/Makefile.am:
3928         * libs/gst/control/Makefile.am:
3929         * libs/gst/dataprotocol/Makefile.am:
3930         * libs/gst/getbits/Makefile.am:
3931
3932 2005-04-21  Wim Taymans  <wim@fluendo.com>
3933
3934         * docs/design/draft-push-pull.txt:
3935         * docs/design/part-MT-refcounting.txt:
3936         * docs/design/part-TODO.txt:
3937         * docs/design/part-caps.txt:
3938         * docs/design/part-events.txt:
3939         * docs/design/part-gstbus.txt:
3940         * docs/design/part-gstpipeline.txt:
3941         * docs/design/part-messages.txt:
3942         * docs/design/part-push-pull.txt:
3943         * docs/design/part-query.txt:
3944         Some more docs.
3945
3946 2005-04-21  Wim Taymans  <wim@fluendo.com>
3947
3948         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3949         (gst_message_new), (gst_message_new_error),
3950         (gst_message_new_warning), (gst_message_new_tag),
3951         (gst_message_new_state_changed), (gst_message_new_application),
3952         (gst_message_get_structure):
3953         * gst/gstmessage.h:
3954         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3955         (gst_structure_copy_conditional):
3956         Use parent refcount in GstMessage to ensure GstStructure
3957         consistency.
3958         Cleaned up headers a bit.
3959         
3960
3961 2005-04-20  Wim Taymans  <wim@fluendo.com>
3962
3963         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3964         (gst_basesink_pad_getcaps), (gst_basesink_init),
3965         (gst_basesink_chain_unlocked):
3966         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3967         (gst_type_find_helper):
3968         * gst/elements/gsttypefindelement.c:
3969         (gst_type_find_element_have_type), (gst_type_find_element_init),
3970         (stop_typefinding), (gst_type_find_element_handle_event),
3971         (find_suggest), (gst_type_find_element_chain),
3972         (gst_type_find_element_checkgetrange),
3973         (gst_type_find_element_getrange), (do_typefind),
3974         (gst_type_find_element_activate):
3975         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3976         (gst_buffer_default_free), (gst_buffer_default_copy),
3977         (gst_buffer_set_caps):
3978         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3979         (gst_caps_replace):
3980         * gst/gstmessage.c: (gst_message_new),
3981         (gst_message_new_state_changed):
3982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3983         (gst_pad_set_checkgetrange_function),
3984         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3985         (gst_pad_set_caps), (gst_pad_check_pull_range),
3986         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3987         * gst/gstpad.h:
3988         * gst/gsttypefind.c: (gst_type_find_register):
3989         Make gst_caps_replace() work like other _replace() functions.
3990         Use _caps_replace() where possible.
3991         Make sure _message_new() initialises its field.
3992         Add gst_static_pad_template_get_caps()
3993
3994
3995 2005-04-18  Andy Wingo  <wingo@pobox.com>
3996
3997         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3998         on the peer, not the pad. I think that was a typo. Pass an extra
3999         arg to see if random access is possible. Activate the pads as
4000         PULL_RANGE if possible.
4001
4002         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4003
4004         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4005         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4006         to PROP_....
4007
4008 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4009
4010         * docs/faq/using.xml:
4011           Add note on gstreamer-properties (#154996).
4012
4013 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4014
4015         * docs/random/bbb/optional-properties:
4016           Some analysis on optional properties.
4017
4018 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4019
4020         * docs/gst/tmpl/gstelementfactory.sgml:
4021         * gst/gstelement.h:
4022         * gst/gstelementfactory.c: (gst_element_factory_init),
4023         (gst_element_factory_cleanup), (gst_element_register),
4024         (__gst_element_factory_add_static_pad_template),
4025         (gst_element_factory_get_static_pad_templates),
4026         (gst_element_factory_can_src_caps),
4027         (gst_element_factory_can_sink_caps):
4028         * gst/registries/Makefile.am:
4029         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4030         (gst_xml_registry_class_init), (gst_xml_registry_init),
4031         (gst_xml_registry_new), (gst_xml_registry_set_property),
4032         (gst_xml_registry_get_property), (get_time), (make_dir),
4033         (gst_xml_registry_get_perms_func),
4034         (plugin_times_older_than_recurse), (plugin_times_older_than),
4035         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4036         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4037         (add_to_char_array), (read_string), (read_uint), (read_enum),
4038         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4039         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4040         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4041         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4042         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4043         (gst_xml_registry_rebuild):
4044         * gst/registries/gstlibxmlregistry.h:
4045         * tools/gst-compprep.c: (main):
4046         * tools/gst-inspect.c: (print_pad_templates_info):
4047         * tools/gst-xmlinspect.c: (print_element_info):
4048           Use libxml2 for registry parsing, use staticpadtemplates in
4049           elementfactories. Makes gst_init() +/- 10x faster.
4050
4051 2005-04-12  Wim Taymans  <wim@fluendo.com>
4052
4053         * gst/base/Makefile.am:
4054         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4055         (gst_basesink_pad_getcaps), (gst_basesink_init),
4056         (gst_basesink_event), (gst_basesink_change_state):
4057         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4058         (gst_basesrc_init), (gst_basesrc_query),
4059         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4060         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4061         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4062         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4063         (gst_basesrc_stop), (gst_basesrc_activate),
4064         (gst_basesrc_change_state):
4065         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4066         (helper_find_suggest), (gst_type_find_helper):
4067         * gst/base/gsttypefindhelper.h:
4068         * gst/elements/Makefile.am:
4069         * gst/elements/gstelements.c:
4070         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4071         (gst_fakesink_get_times), (gst_fakesink_event),
4072         (gst_fakesink_preroll), (gst_fakesink_render):
4073         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4074         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4075         (gst_fakesrc_get_property), (gst_fakesrc_create),
4076         (gst_fakesrc_start), (gst_fakesrc_stop):
4077         * gst/elements/gstfakesrc.h:
4078         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4079         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4080         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4081         (gst_filesrc_create_read), (gst_filesrc_create),
4082         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4083         (gst_filesrc_start):
4084         * gst/elements/gsttypefindelement.c:
4085         (gst_type_find_element_have_type), (gst_type_find_element_init),
4086         (start_typefinding), (stop_typefinding), (push_buffer_store),
4087         (gst_type_find_element_handle_event),
4088         (gst_type_find_element_chain),
4089         (gst_type_find_element_checkgetrange),
4090         (gst_type_find_element_getrange), (do_typefind),
4091         (gst_type_find_element_activate),
4092         (gst_type_find_element_change_state):
4093         * gst/elements/gsttypefindelement.h:
4094         * gst/gstpipeline.c: (pipeline_bus_handler):
4095         Added typefind helper.
4096         Small preroll fix in the base sink.
4097         Disable typefind code in basesrc.
4098         Crude port of typefindelement.
4099         Fakesrc cleanups.
4100
4101
4102 2005-04-11  Wim Taymans  <wim@fluendo.com>
4103
4104         * check/gst/gstbus.c: (gstbus_suite):
4105         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4106         * check/gstcheck.h:
4107           Fix up the timeout so that the test does not fail.
4108
4109 2005-04-06  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/base/README:
4112         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4113         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4114         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4115         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4116         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4117         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4118         (gst_basesrc_stop), (gst_basesrc_activate),
4119         (gst_basesrc_change_state), (basesrc_find_peek),
4120         (basesrc_find_suggest), (gst_basesrc_type_find):
4121         * gst/base/gstbasesrc.h:
4122         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4123         (gst_filesrc_class_init), (gst_filesrc_init),
4124         (gst_filesrc_finalize), (gst_filesrc_set_location),
4125         (gst_filesrc_set_property), (gst_filesrc_get_property),
4126         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4127         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4128         (gst_filesrc_create_read), (gst_filesrc_create),
4129         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4130         * gst/elements/gstfilesrc.h:
4131         * gst/gstelement.c: (gst_element_get_state_func),
4132         (gst_element_lost_state), (gst_element_pads_activate):
4133         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4134         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4135         (gst_pad_pull_range):
4136         * gst/gstpad.h:
4137         More work on the generic source base class, implement seeking,
4138         query.
4139         Make filesrc extend the base source class.
4140         Added gst_pad_set_checkgetrange_function to GstPad.
4141
4142 2005-04-06  Andy Wingo  <wingo@pobox.com>
4143
4144         * pkgconfig/gstreamer-base.pc.in:
4145         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4146
4147         * pkgconfig/Makefile.am:
4148         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4149
4150 2005-04-04  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/base/Makefile.am:
4153         * gst/base/README:
4154         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4155         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4156         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4157         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4158         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4159         (gst_basesrc_base_init), (gst_basesrc_class_init),
4160         (gst_basesrc_init), (gst_basesrc_get_formats),
4161         (gst_basesrc_get_query_types), (gst_basesrc_query),
4162         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4163         (gst_basesrc_set_property), (gst_basesrc_get_property),
4164         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4165         (gst_basesrc_loop), (gst_basesrc_activate),
4166         (gst_basesrc_change_state):
4167         * gst/base/gstbasesrc.h:
4168         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4169         (gst_fakesrc_class_init), (gst_fakesrc_init),
4170         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4171         (gst_fakesrc_get_property), (gst_fakesrc_create):
4172         * gst/elements/gstfakesrc.h:
4173         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4174         (gst_filesrc_open_file), (gst_filesrc_loop),
4175         (gst_filesrc_activate), (filesrc_find_peek),
4176         (gst_filesrc_type_find):
4177         Made base source class, make fakesrc extend it.
4178         Add comments to basesink class.
4179         Some filesrc cleanup.
4180
4181 2005-03-31  David Schleef  <ds@schleef.org>
4182
4183         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4184         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4185         expected to link against libgstreamer.
4186         * gst/base/Makefile.am: link against libgstreamer
4187         * gst/elements/Makefile.am: same
4188
4189 2005-03-31  Andy Wingo  <wingo@pobox.com>
4190
4191         * tests/instantiate/Makefile.am:
4192         * tests/instantiate/caps.c: Add test to test speed of caps copy
4193         and free.
4194
4195         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4196         GMemChunk to be fair.
4197
4198         * gst/gsttrashstack.h: Remove warning about using the fallback
4199         trash stack implementation, it's still faster than malloc.
4200
4201 2005-03-30  Andy Wingo  <wingo@pobox.com>
4202
4203         * tests/complexity.c: Add a copyright.
4204
4205 2005-03-31  Wim Taymans  <wim@fluendo.com>
4206
4207         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4208         (gst_base_transform_class_init), (gst_base_transform_init),
4209         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4210         (gst_base_transform_get_property),
4211         (gst_base_transform_sink_activate),
4212         (gst_base_transform_src_activate),
4213         (gst_base_transform_change_state):
4214         * gst/base/gstbasetransform.h:
4215         * gst/elements/gstidentity.c: (gst_identity_class_init),
4216         (gst_identity_event), (gst_identity_check_perfect),
4217         (gst_identity_transform), (gst_identity_start),
4218         (gst_identity_stop):
4219         Added start/stop methods to transform base class so subclasses 
4220         don't need to deal with state changes even.
4221
4222 2005-03-31  Wim Taymans  <wim@fluendo.com>
4223
4224         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4225         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4226         * gst/gstevent.h:
4227         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4228         (gst_pad_pull_range):
4229         Added rate to the discont event to prepare for variable speed
4230         and reverse playback.
4231
4232 2005-03-29  David Schleef  <ds@schleef.org>
4233
4234         * configure.ac:
4235         * testsuite/trigger/Makefile.am:
4236         * testsuite/trigger/trigger.c: A little example program to show
4237         how trigger-based elements can work.
4238
4239 2005-03-29  Wim Taymans  <wim@fluendo.com>
4240
4241         * gst/base/Makefile.am:
4242         * gst/base/README:
4243         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4244         (gst_basesink_base_init), (gst_basesink_class_init),
4245         (gst_basesink_pad_getcaps), (gst_basesink_init),
4246         (gst_basesink_activate), (gst_basesink_change_state):
4247         * gst/base/gstbasesink.h:
4248         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4249         (gst_base_transform_base_init), (gst_base_transform_finalize),
4250         (gst_base_transform_class_init), (gst_base_transform_init),
4251         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4252         (gst_base_transform_event), (gst_base_transform_getrange),
4253         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4254         (gst_base_transform_set_property),
4255         (gst_base_transform_get_property),
4256         (gst_base_transform_sink_activate),
4257         (gst_base_transform_src_activate),
4258         (gst_base_transform_change_state):
4259         * gst/base/gstbasetransform.h:
4260         * gst/elements/gstidentity.c: (gst_identity_finalize),
4261         (gst_identity_class_init), (gst_identity_init),
4262         (gst_identity_event), (gst_identity_check_perfect),
4263         (gst_identity_transform), (gst_identity_set_property),
4264         (gst_identity_get_property), (gst_identity_change_state):
4265         * gst/elements/gstidentity.h:
4266         * gst/gstelement.c: (gst_element_get_state_func),
4267         (gst_element_lost_state), (gst_element_pads_activate):
4268         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4269         (gst_pad_check_pull_range), (gst_pad_pull_range):
4270         * gst/gstpad.h:
4271         Simplify pad activation.
4272         Added function to check if pull_range can be performed.
4273         Error out when pulling inactive or flushing pads.
4274         Removed const from refcounted types as it does not make sense.
4275         Simplify pad templates in basesink
4276         Added base class for simple 1-to-1 transforms.
4277         Make identity subclass the base transform.
4278
4279 2005-03-29  Andy Wingo  <wingo@pobox.com>
4280
4281         * docs/libs/gstreamer-libs-overrides.txt: 
4282         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4283         really don't understand what's going on, but like whatever. I want
4284         green buildbot!
4285
4286         * docs/gst/Makefile.am:
4287         * docs/libs/Makefile.am: Dist the overrides files.
4288
4289         * check/Makefile.am (clean-local): Remove .libs directories.
4290
4291         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4292         elements to EXTRA_DIST, so po/ files are happy.
4293
4294         * po/POTFILES.in: Er, remove it here.
4295
4296         * po/POTFILES: Remove gstspider.c.
4297
4298         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4299
4300         * docs/libs/gstreamer-libs-docs.sgml: 
4301         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4302         bytestream.
4303
4304         * tests/complexity.c (main): Set the length of the preroll queue
4305         on the sinks to prevent a lockup.
4306
4307         * libs/gst/dataprotocol/Makefile.am: 
4308         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4309         the same as the one in check/gst-libs/gdp.c.
4310
4311         * po/, docs/gst/: Commit automatic changes to docs and po files.
4312
4313         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4314         the versioned libgstbase.
4315
4316         * check/Makefile.am: Depend on an unversioned gst-register, seems
4317         to make autoconf happier.
4318
4319         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4320
4321 2005-03-28  Wim Taymans  <wim@fluendo.com>
4322
4323         * configure.ac:
4324         * docs/design/part-gstelement.txt:
4325         * docs/design/part-negotiation.txt:
4326         * docs/design/part-preroll.txt:
4327         * docs/design/part-scheduling.txt:
4328         * docs/design/part-states.txt:
4329         * gst/Makefile.am:
4330         * gst/base/Makefile.am:
4331         * gst/base/README:
4332         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4333         (gst_basesink_base_init), (gst_basesink_class_init),
4334         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4335         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4336         (gst_basesink_set_pad_functions),
4337         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4338         (gst_basesink_set_property), (gst_basesink_get_property),
4339         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4340         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4341         (gst_basesink_preroll_queue_push),
4342         (gst_basesink_preroll_queue_empty),
4343         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4344         (gst_basesink_event), (gst_basesink_get_times),
4345         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4346         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4347         (gst_basesink_loop), (gst_basesink_activate),
4348         (gst_basesink_change_state):
4349         * gst/base/gstbasesink.h:
4350         * gst/elements/Makefile.am:
4351         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4352         (gst_fakesink_class_init), (gst_fakesink_init),
4353         (gst_fakesink_set_property), (gst_fakesink_get_property),
4354         (gst_fakesink_get_times), (gst_fakesink_event),
4355         (gst_fakesink_preroll), (gst_fakesink_render),
4356         (gst_fakesink_change_state):
4357         * gst/elements/gstfakesink.h:
4358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4359         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4360         * gst/gstelement.c: (gst_element_add_pad),
4361         (gst_element_get_state_func), (gst_element_abort_state),
4362         (gst_element_commit_state), (gst_element_lost_state),
4363         (gst_element_set_state), (gst_element_pads_activate):
4364         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4365         * gst/gstpipeline.c: (gst_pipeline_send_event),
4366         (gst_pipeline_change_state):
4367         Added state change code.
4368         Added/updated docs.
4369         Added sink base class, make fakesink extend the base class.
4370         Small cleanups in GstPipeline.
4371
4372 2005-03-26  David Schleef  <ds@schleef.org>
4373
4374         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4375         is broken and should be implemented in a different library.
4376         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4377         * gst/gst.h: remove gstcpu.h
4378         * gst/gstcpu.c: remove
4379         * gst/gstcpu.h: remove
4380         * gst/Makefile.am.future: Remove this file.  It's ancient.
4381
4382 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4383
4384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4385         (gst_bin_send_event):
4386           Add default event/set_manager handlers. The set_manager handler
4387           takes care that the manager is distributed over kids that were
4388           already in the bin before the manager was set. The event handler
4389           is a utility virtual function that sends the event over all sinks,
4390           so that gst_element_send_event (bin, event); has the expected
4391           behaviour.
4392         * gst/gstpad.c: (gst_pad_event_default):
4393           Re-install default event handling for discontinuities, so that
4394           seeking works without requiring hacks in applications or extra
4395           code in sinks.
4396         * gst/gstpipeline.c: (gst_pipeline_class_init),
4397         (gst_pipeline_send_event):
4398           Half hack, half utility: set a pipeline to PAUSED for seek events,
4399           since that is the only way we can guarantee a/v sync. Means that
4400           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4401           and it "just works".
4402
4403 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4404
4405         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4406           Lock/unlock mismatch.
4407
4408 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * docs/faq/gst-uninstalled:
4411           add gst-plugins-base
4412         * docs/gst/Makefile.am:
4413           don't error out until docs are fixed
4414         * docs/gst/gstreamer.types:
4415           remove thread
4416
4417 2005-03-22  Wim Taymans  <wim@fluendo.com>
4418
4419         * check/Makefile.am:
4420         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4421         * gst/gststructure.c: (gst_structure_set_valist),
4422         (gst_structure_copy_conditional):
4423         Activated more tests.
4424         Added message test.
4425         Added G_TYPE_POINTER to GstStructure.
4426         
4427
4428 2005-03-22  Wim Taymans  <wim@fluendo.com>
4429
4430         * docs/design/part-TODO.txt:
4431         * docs/design/part-events.txt:
4432         * docs/design/part-gstbin.txt:
4433         * docs/design/part-gstbus.txt:
4434         * docs/design/part-gstpipeline.txt:
4435         * docs/design/part-messages.txt:
4436         * gst/gstbus.c:
4437         * gst/gstmessage.c:
4438         Docs updates
4439
4440 2005-03-21  Wim Taymans  <wim@fluendo.com>
4441
4442         * gst/gstbus.c: (gst_bus_post):
4443         Fix copy-and-paste error.
4444
4445 2005-03-21  Wim Taymans  <wim@fluendo.com>
4446
4447         * check/Makefile.am:
4448         * gst/Makefile.am:
4449         * gst/elements/Makefile.am:
4450         * gst/elements/gstelements.c:
4451         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4452         (gst_fakesink_event), (gst_fakesink_chain):
4453         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4454         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4455         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4456         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4457         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4458         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4459         (gst_fakesrc_loop), (gst_fakesrc_activate),
4460         (gst_fakesrc_change_state):
4461         * gst/elements/gstfakesrc.h:
4462         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4463         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4464         (gst_filesrc_open_file), (gst_filesrc_loop),
4465         (gst_filesrc_activate), (gst_filesrc_change_state),
4466         (filesrc_find_peek), (filesrc_find_suggest),
4467         (gst_filesrc_type_find):
4468         * gst/elements/gstidentity.c: (gst_identity_finalize),
4469         (gst_identity_class_init), (gst_identity_init),
4470         (gst_identity_proxy_getcaps), (identity_queue_push),
4471         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4472         (gst_identity_getrange), (gst_identity_chain),
4473         (gst_identity_sink_loop), (gst_identity_src_loop),
4474         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4475         (gst_identity_set_property), (gst_identity_get_property),
4476         (gst_identity_change_state):
4477         * gst/elements/gstidentity.h:
4478         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4479         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4480         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4481         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4482         (gst_tee_sink_activate):
4483         * gst/elements/gsttee.h:
4484         * gst/gst.c: (gst_register_core_elements), (init_post):
4485         * gst/gst.h:
4486         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4487         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4488         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4489         (gst_bin_change_state):
4490         * gst/gstbin.h:
4491         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4492         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4493         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4494         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4495         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4496         (bus_watch_callback), (bus_watch_destroy),
4497         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4498         (poll_timeout), (gst_bus_poll):
4499         * gst/gstbus.h:
4500         * gst/gstcaps.h:
4501         * gst/gstdata.h:
4502         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4503         (gst_element_post_message), (gst_element_message_full),
4504         (gst_element_get_state_func), (gst_element_get_state),
4505         (gst_element_abort_state), (gst_element_commit_state),
4506         (gst_element_lost_state), (gst_element_set_state),
4507         (gst_element_pads_activate), (gst_element_change_state),
4508         (gst_element_dispose), (gst_element_set_manager_func),
4509         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4510         (gst_element_set_manager), (gst_element_get_manager),
4511         (gst_element_set_bus), (gst_element_get_bus),
4512         (gst_element_set_scheduler), (gst_element_get_scheduler):
4513         * gst/gstelement.h:
4514         * gst/gstevent.c: (gst_event_new_segment_seek),
4515         (gst_event_new_flush):
4516         * gst/gstevent.h:
4517         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4518         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4519         (gst_message_new_eos), (gst_message_new_error),
4520         (gst_message_new_warning), (gst_message_new_tag),
4521         (gst_message_new_state_changed), (gst_message_new_application),
4522         (gst_message_get_structure), (gst_message_parse_tag),
4523         (gst_message_parse_state_changed), (gst_message_parse_error),
4524         (gst_message_parse_warning):
4525         * gst/gstmessage.h:
4526         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4527         (gst_real_pad_set_property), (gst_pad_set_active),
4528         (gst_pad_is_active), (gst_pad_set_blocked_async),
4529         (gst_pad_set_blocked), (gst_pad_is_blocked),
4530         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4531         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4532         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4533         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4534         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4535         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4536         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4537         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4538         (gst_pad_set_caps), (gst_pad_configure_sink),
4539         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4540         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4541         (gst_real_pad_dispose), (gst_real_pad_finalize),
4542         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4543         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4544         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4545         * gst/gstpad.h:
4546         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4547         (pipeline_bus_handler), (gst_pipeline_change_state),
4548         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4549         * gst/gstpipeline.h:
4550         * gst/gstprobe.h:
4551         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4552         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4553         (gst_queue_link_src), (gst_queue_bufferalloc),
4554         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4555         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4556         (gst_queue_loop), (gst_queue_handle_src_event),
4557         (gst_queue_handle_src_query), (gst_queue_src_activate),
4558         (gst_queue_change_state):
4559         * gst/gstqueue.h:
4560         * gst/gstscheduler.c: (gst_scheduler_init),
4561         (gst_scheduler_dispose), (gst_scheduler_create_task),
4562         (gst_scheduler_factory_create):
4563         * gst/gstscheduler.h:
4564         * gst/gststructure.c: (gst_structure_get_type),
4565         (gst_structure_copy_conditional):
4566         * gst/gststructure.h:
4567         * gst/gsttaginterface.h:
4568         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4569         (gst_task_init), (gst_task_dispose), (gst_task_create),
4570         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4571         (gst_task_pause):
4572         * gst/gsttask.h:
4573         * gst/gstthread.c:
4574         * gst/gstthread.h:
4575         * gst/gsttypes.h:
4576         * gst/schedulers/Makefile.am:
4577         * gst/schedulers/cothreads_compat.h:
4578         * gst/schedulers/entryscheduler.c:
4579         * gst/schedulers/faircothreads.c:
4580         * gst/schedulers/faircothreads.h:
4581         * gst/schedulers/fairscheduler.c:
4582         * gst/schedulers/gstbasicscheduler.c:
4583         * gst/schedulers/gstoptimalscheduler.c:
4584         * gst/schedulers/gthread-cothreads.h:
4585         * gst/schedulers/threadscheduler.c:
4586         (gst_thread_scheduler_task_get_type),
4587         (gst_thread_scheduler_task_class_init),
4588         (gst_thread_scheduler_task_init),
4589         (gst_thread_scheduler_task_start),
4590         (gst_thread_scheduler_task_stop),
4591         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4592         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4593         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4594         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4595         (plugin_init):
4596         * libs/gst/Makefile.am:
4597         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4598         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4599         (gst_file_pad_parent_set):
4600         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4601         (gst_dp_event_from_packet):
4602         * tests/complexity.c: (main):
4603         * tests/mass_elements.c: (main):
4604         * testsuite/states/locked.c: (message_received), (main):
4605         * testsuite/states/parent.c: (main):
4606         * tools/gst-inspect.c: (print_element_flag_info),
4607         (print_implementation_info), (print_pad_info):
4608         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4609         (main):
4610         * tools/gst-md5sum.c: (event_loop), (main):
4611         * tools/gst-typefind.c: (main):
4612         * tools/gst-xmlinspect.c: (print_element_info):
4613         Next big merge.
4614         Added GstBus for mainloop integration.
4615         Added GstMessage for sending notifications on the bus.
4616         Added GstTask as an abstraction for pipeline entry points.
4617         Removed GstThread.
4618         Removed Schedulers.
4619         Simplified GstQueue for multithreaded core.
4620         Made _link threadsafe, removed old capsnego.
4621         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4622         Added pad blocking functions.
4623         Reworked scheduling functions in GstPad to prepare for
4624         scheduling updates soon.
4625         Moved events out of data stream.
4626         Simplified GstEvent types.
4627         Added return values to push/pull.
4628         Removed clocking from GstElement.
4629         Added prototypes for state change function for next merge.
4630         Removed iterate from bins and state change management.
4631         Fixed some elements, disabled others for now.
4632         Fixed -inspect and -launch.
4633         Added check for GstBus.
4634
4635 2005-03-10  Wim Taymans  <wim@fluendo.com>
4636
4637         * docs/design/part-MT-refcounting.txt:
4638         * docs/design/part-clocks.txt:
4639         * docs/design/part-gstelement.txt:
4640         * docs/design/part-gstobject.txt:
4641         * docs/design/part-standards.txt:
4642         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4643         (gst_bin_remove_func), (gst_bin_remove):
4644         * gst/gstbin.h:
4645         * gst/gstbuffer.c:
4646         * gst/gstcaps.h:
4647         * testsuite/clock/clock1.c: (main):
4648         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4649         (main):
4650         * testsuite/dlopen/loadgst.c: (do_test):
4651         * testsuite/refcounting/bin.c: (add_remove_test1),
4652         (add_remove_test2), (main):
4653         * testsuite/refcounting/element.c: (main):
4654         * testsuite/refcounting/element_pad.c: (main):
4655         * testsuite/refcounting/pad.c: (main):
4656         * tools/gst-launch.c: (sigint_handler_sighandler):
4657         * tools/gst-typefind.c: (main):
4658         Doc updates.
4659         Added doc about clock.
4660         removed gst_bin_iterate_recurse_up(), marked methods
4661         for removal.
4662         Fix more testsuites.
4663
4664 2005-03-09  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/gstpad.c: (gst_pad_get_direction),
4667         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4668         (gst_pad_collect_valist):
4669         * testsuite/bins/interface.c: (main):
4670         * testsuite/caps/audioscale.c: (test_caps):
4671         * testsuite/caps/caps.c: (test1), (test2), (test3):
4672         * testsuite/caps/deserialize.c: (main):
4673         * testsuite/caps/enumcaps.c: (main):
4674         * testsuite/caps/filtercaps.c: (main):
4675         * testsuite/caps/intersect2.c: (main):
4676         * testsuite/caps/random.c: (main):
4677         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4678         * testsuite/caps/sets.c: (check_caps):
4679         * testsuite/caps/simplify.c: (check_caps), (main):
4680         * testsuite/caps/subtract.c: (check_caps):
4681         Fix _pad_get_direction wrt ghostpads.
4682         Fix caps testsuite.
4683
4684 2005-03-09  Wim Taymans  <wim@fluendo.com>
4685
4686         * check/Makefile.am:
4687         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4688         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4689         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4690         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4691         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4692         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4693         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4694         (bin_element_is_sink), (gst_bin_iterate_sinks),
4695         (gst_bin_iterate_all_by_interface):
4696         * gst/gstbin.h:
4697         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4698         (gst_element_change_state), (gst_element_dispose),
4699         (gst_element_finalize), (gst_element_set_loop_function):
4700         * gst/gstelement.h:
4701         * gst/gstiterator.c: (find_custom_fold_func):
4702         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4703         (gst_pad_collectv), (gst_pad_collect_valist),
4704         (gst_pad_template_new):
4705         * gst/gstpipeline.c: (gst_pipeline_class_init),
4706         (gst_pipeline_dispose), (gst_pipeline_set_property),
4707         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4708         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4709         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4710         * gst/gstutils.h:
4711         * gst/schedulers/entryscheduler.c:
4712         * gst/schedulers/gstbasicscheduler.c:
4713         (gst_basic_scheduler_cothreaded_chain),
4714         (gst_basic_scheduler_chain_add_element):
4715         * testsuite/bins/interface.c: (main):
4716         Added GstBin test.
4717         Added GstSystemClock test.
4718         Implemented clock distribution code in GstBin.
4719         Implemented iterate sinks method for future use.
4720         Rearranged gstelement.h
4721         Fix GstIterator comparison bug.
4722         Moved some code to GstPipeline, mostly clocking related.
4723
4724 2005-03-09  Wim Taymans  <wim@fluendo.com>
4725
4726         * configure.ac:
4727         * gst/gst_private.h:
4728         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4729         (gst_bin_remove_func), (gst_bin_remove),
4730         (gst_bin_get_by_name_recurse_up):
4731         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4732         (gst_clock_id_compare_func), (gst_clock_id_wait),
4733         (gst_clock_id_wait_async), (gst_clock_init),
4734         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4735         * gst/gstelement.h:
4736         * gst/gstinfo.c: (_gst_debug_init):
4737         * gst/gstobject.h:
4738         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4739         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4740         * gst/gstpad.h:
4741         Bump version number, we're now 0.9.0
4742         Add future debugging category.
4743         Fix NULL _unref() in _get_by_name_recurse_up
4744         Rearrange gstpad.h.
4745         Update some docs.
4746
4747 2005-03-08  Wim Taymans  <wim@fluendo.com>
4748
4749         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4750         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4751         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4752         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4753         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4754         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4755         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4756         * gst/elements/gstidentity.c: (gst_identity_class_init):
4757         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4758         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4759         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4760         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4761         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4762         (gst_tee_link):
4763         * gst/gstelement.c: (gst_element_class_init),
4764         (gst_element_base_class_init), (gst_element_init),
4765         (gst_element_get_random_pad), (gst_element_wait_state_change),
4766         (gst_element_change_state), (gst_element_dispose),
4767         (gst_element_finalize), (gst_element_set_loop_function):
4768         * gst/gstelement.h:
4769         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4770         * gst/gstthread.c: (gst_thread_class_init),
4771         (gst_thread_release_children_locks), (gst_thread_change_state):
4772         * gst/schedulers/gstbasicscheduler.c:
4773         (gst_basic_scheduler_loopfunc_wrapper),
4774         (gst_basic_scheduler_chain_wrapper),
4775         (gst_basic_scheduler_src_wrapper),
4776         (gst_basic_scheduler_remove_element):
4777         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4778         Remove threadsafe properties. Fix elements because GObject
4779         complains when installing a property before declaring a
4780         set/get_property handler.
4781         Rearrange gstelement.h file, use STATE macros for state locks.
4782         Free mutexes in the finalize method instead of dispose.
4783
4784 2005-03-08  Wim Taymans  <wim@fluendo.com>
4785
4786         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4787         * gst/gstthread.c: (gst_thread_release_children_locks):
4788         Added parentage check.
4789         Fix build og GstThread again.
4790
4791 2005-03-08  Wim Taymans  <wim@fluendo.com>
4792
4793         * docs/design/part-MT-refcounting.txt:
4794         * docs/design/part-conventions.txt:
4795         * docs/design/part-gstobject.txt:
4796         * docs/design/part-relations.txt:
4797         * docs/design/part-standards.txt:
4798         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4799         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4800         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4801         (gst_bin_iterate_all_by_interface):
4802         * gst/gstbuffer.h:
4803         * gst/gstclock.h:
4804         * gst/gstelement.c: (gst_element_class_init),
4805         (gst_element_change_state), (gst_element_set_loop_function):
4806         * gst/gstelement.h:
4807         * gst/gstiterator.c:
4808         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4809         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4810         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4811         (gst_object_set_parent), (gst_object_unparent),
4812         (gst_object_check_uniqueness):
4813         * gst/gstobject.h:
4814         Docs updates, clean up some headers.
4815
4816 2005-03-07  Wim Taymans  <wim@fluendo.com>
4817
4818         * check/.cvsignore:
4819         * check/Makefile.am:
4820         * check/gst-libs/.cvsignore:
4821         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4822         * check/gst/.cvsignore:
4823         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4824         (START_TEST), (gstbus_suite), (main):
4825         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4826         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4827         (gst_data_suite), (main):
4828         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4829         (add_fold_func), (gstiterator_suite), (main):
4830         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4831         (thread_name_object), (thread_name_object_default),
4832         (gst_object_name_compare), (gst_object_suite), (main):
4833         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4834         (gst_pad_suite), (main):
4835         * check/gstcheck.c: (gst_check_log_message_func),
4836         (gst_check_log_critical_func), (gst_check_init):
4837         * check/gstcheck.h:
4838         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4839         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4840         Added checks.
4841
4842 2005-03-07  Wim Taymans  <wim@fluendo.com>
4843
4844         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4845         (gst_list_iterator_next), (gst_list_iterator_resync),
4846         (gst_list_iterator_free), (gst_iterator_new_list),
4847         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4848         (gst_iterator_free), (gst_iterator_push), (filter_next),
4849         (filter_resync), (filter_uninit), (filter_free),
4850         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4851         (gst_iterator_foreach), (find_custom_fold_func),
4852         (gst_iterator_find_custom):
4853         * gst/gstiterator.h:
4854         Added missing files.
4855
4856 2005-03-07  Wim Taymans  <wim@fluendo.com>
4857
4858         * Makefile.am:
4859         * configure.ac:
4860         * docs/design/part-MT-refcounting.txt:
4861         * docs/design/part-conventions.txt:
4862         * docs/design/part-gstobject.txt:
4863         * docs/design/part-relations.txt:
4864         * examples/mixer/mixer.c: (main):
4865         * examples/thread/thread.c: (eos), (main):
4866         * gst/Makefile.am:
4867         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4868         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4869         (gst_spider_plug_from_srcpad):
4870         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4871         (gst_spider_identity_change_state),
4872         (gst_spider_identity_sink_loop_type_finding):
4873         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4874         * gst/elements/gstidentity.c: (gst_identity_init):
4875         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4876         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4877         * gst/elements/gsttypefindelement.c: (free_entry):
4878         * gst/gst.c:
4879         * gst/gst.h:
4880         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4881         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4882         (gst_bin_set_index), (gst_bin_set_element_sched),
4883         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4884         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4885         (gst_bin_iterate_elements), (iterate_child_recurse),
4886         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4887         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4888         (compare_interface), (gst_bin_get_by_interface),
4889         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4890         * gst/gstbin.h:
4891         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4892         (gst_buffer_default_free), (gst_buffer_default_copy),
4893         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4894         (gst_buffer_create_sub):
4895         * gst/gstbuffer.h:
4896         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4897         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4898         (gst_caps_unref), (gst_static_caps_get),
4899         (gst_caps_remove_and_get_structure), (gst_caps_append),
4900         (gst_caps_append_structure), (gst_caps_remove_structure),
4901         (gst_caps_copy_nth), (gst_caps_set_simple),
4902         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4903         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4904         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4905         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4906         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4907         (gst_caps_structure_figure_out_union),
4908         (gst_caps_switch_structures), (gst_caps_do_simplify),
4909         (gst_caps_replace), (gst_caps_from_string),
4910         (gst_caps_copy_conditional):
4911         * gst/gstcaps.h:
4912         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4913         (_gst_clock_id_free), (gst_clock_id_unref),
4914         (gst_clock_id_compare_func), (gst_clock_id_wait),
4915         (gst_clock_id_wait_async), (gst_clock_class_init),
4916         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4917         (gst_clock_get_time), (gst_clock_set_time_adjust),
4918         (gst_clock_set_property), (gst_clock_get_property):
4919         * gst/gstclock.h:
4920         * gst/gstcompat.h:
4921         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4922         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4923         * gst/gstdata.h:
4924         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4925         (gst_element_requires_clock), (gst_element_provides_clock),
4926         (gst_element_set_clock), (gst_element_clock_wait),
4927         (gst_element_wait), (gst_element_set_time_delay),
4928         (gst_element_is_indexable), (gst_element_add_pad),
4929         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4930         (pad_compare_name), (gst_element_get_static_pad),
4931         (gst_element_request_pad), (gst_element_get_request_pad),
4932         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4933         (gst_element_class_get_pad_template_list),
4934         (gst_element_class_get_pad_template), (gst_element_error_func),
4935         (gst_element_get_random_pad), (gst_element_get_event_masks),
4936         (gst_element_send_event), (gst_element_seek),
4937         (gst_element_get_query_types), (gst_element_query),
4938         (gst_element_get_formats), (gst_element_convert),
4939         (gst_element_is_locked_state), (gst_element_set_locked_state),
4940         (gst_element_sync_state_with_parent), (gst_element_change_state),
4941         (gst_element_finalize), (gst_element_yield),
4942         (gst_element_interrupt), (gst_element_set_scheduler),
4943         (gst_element_get_scheduler), (gst_element_set_loop_function):
4944         * gst/gstelement.h:
4945         * gst/gstevent.h:
4946         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4947         (gst_format_get_by_nick), (gst_format_get_details),
4948         (gst_format_iterate_definitions):
4949         * gst/gstformat.h:
4950         * gst/gstindex.c: (gst_index_gtype_resolver):
4951         * gst/gstinfo.c:
4952         * gst/gstinfo.h:
4953         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4954         (gst_mem_chunk_free):
4955         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4956         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4957         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4958         (gst_object_dispatch_properties_changed),
4959         (gst_object_set_name_default), (gst_object_set_name),
4960         (gst_object_get_name), (gst_object_set_name_prefix),
4961         (gst_object_get_name_prefix), (gst_object_set_parent),
4962         (gst_object_get_parent), (gst_object_unparent),
4963         (gst_object_check_uniqueness), (gst_object_save_thyself),
4964         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4965         (gst_object_set_property), (gst_object_get_property),
4966         (gst_object_get_path_string):
4967         * gst/gstobject.h:
4968         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4969         (gst_real_pad_init), (gst_real_pad_get_property),
4970         (gst_pad_custom_new), (gst_pad_get_direction),
4971         (gst_pad_set_active), (gst_pad_is_active),
4972         (gst_pad_set_event_function), (gst_pad_is_linked),
4973         (gst_pad_link_free), (gst_pad_link_intersect),
4974         (gst_pad_link_fixate), (gst_pad_set_caps),
4975         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4976         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4977         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4978         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4979         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4980         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4981         (gst_pad_realize), (gst_pad_get_allowed_caps),
4982         (gst_real_pad_dispose), (gst_real_pad_finalize),
4983         (gst_pad_collectv), (gst_pad_collect_valist),
4984         (gst_pad_template_dispose), (gst_pad_template_new),
4985         (gst_pad_get_internal_links):
4986         * gst/gstpad.h:
4987         * gst/gstpipeline.c: (gst_pipeline_dispose),
4988         (gst_pipeline_change_state):
4989         * gst/gstpipeline.h:
4990         * gst/gstplugin.c:
4991         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4992         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4993         * gst/gstpluginfeature.h:
4994         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4995         * gst/gstquery.c: (_gst_query_type_initialize),
4996         (gst_query_type_register), (gst_query_type_get_by_nick),
4997         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4998         * gst/gstquery.h:
4999         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5000         * gst/gstscheduler.c: (gst_scheduler_add_element),
5001         (gst_scheduler_factory_create):
5002         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5003         (gst_structure_free), (gst_structure_set_name),
5004         (gst_structure_id_set_value), (gst_structure_set_value),
5005         (gst_structure_set_valist), (gst_structure_remove_field),
5006         (gst_structure_remove_fields),
5007         (gst_structure_remove_fields_valist),
5008         (gst_structure_remove_all_fields), (gst_structure_foreach),
5009         (gst_structure_map_in_place),
5010         (gst_caps_structure_fixate_field_nearest_int),
5011         (gst_caps_structure_fixate_field_nearest_double):
5012         * gst/gststructure.h:
5013         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5014         (gst_system_clock_init), (gst_system_clock_dispose),
5015         (gst_system_clock_async_thread),
5016         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5017         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5018         * gst/gstsystemclock.h:
5019         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5020         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5021         * gst/gsttaginterface.c:
5022         * gst/gstthread.c: (gst_thread_dispose),
5023         (gst_thread_release_children_locks), (gst_thread_change_state),
5024         (gst_thread_main_loop):
5025         * gst/gsttrashstack.h:
5026         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5027         * gst/gsttypes.h:
5028         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5029         (gst_element_request_pad), (gst_element_get_pad_from_template),
5030         (gst_element_request_compatible_pad),
5031         (gst_element_get_compatible_pad_filtered),
5032         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5033         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5034         (gst_element_link_many), (gst_element_link),
5035         (gst_element_link_pads), (gst_element_unlink_pads),
5036         (gst_element_unlink_many), (gst_element_unlink),
5037         (gst_pad_can_link_filtered), (gst_pad_can_link),
5038         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5039         (gst_object_default_error), (gst_bin_add_many),
5040         (gst_bin_remove_many), (gst_element_populate_std_props),
5041         (gst_element_class_install_std_props), (gst_buffer_merge),
5042         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5043         (link_fold_func), (gst_pad_proxy_setcaps):
5044         * gst/gstutils.h:
5045         * gst/gstvalue.c: (gst_value_deserialize_string):
5046         * gst/parse/grammar.y:
5047         * gst/schedulers/gstbasicscheduler.c:
5048         (gst_basic_scheduler_cothreaded_chain),
5049         (gst_basic_scheduler_chain_recursive_add),
5050         (gst_basic_scheduler_pad_link):
5051         * gst/schedulers/gstoptimalscheduler.c:
5052         (get_group_schedule_function),
5053         (gst_opt_scheduler_state_transition),
5054         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5055         * libs/gst/bytestream/bytestream.c:
5056         * libs/gst/dataprotocol/dataprotocol.c:
5057         (gst_dp_header_from_buffer):
5058         * po/nb.po:
5059         * po/ru.po:
5060         * tests/threadstate/threadstate2.c: (eos):
5061         * tools/gst-compprep.c: (main):
5062         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5063         (print_pad_info), (print_children_info):
5064         * tools/gst-launch.c: (idle_func), (main):
5065         * tools/gst-md5sum.c: (idle_func), (main):
5066         * tools/gst-xmlinspect.c: (print_element_info):
5067         First THREADED backport attempt, focusing on adding locks and
5068         making sure the API is threadsafe. Needs more work. More docs
5069         follow this week.
5070
5071 2005-02-24  Andy Wingo  <wingo@pobox.com>
5072
5073         * tests/bench-complexity.scm:
5074         * tests/complexity.gnuplot: New files, good for running complexity
5075         benchmarks.
5076
5077         * tests/Makefile.am:
5078         * tests/complexity.c: New test, sets up N elements, at each level
5079         teeing into M streams per element. Eeeenteresting.
5080
5081         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5082         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5083         running bench-mass_elements.scm.
5084
5085         * tests/bench-mass_elements.scm: New script, runs mass_elements
5086         for various numbers of identities, outputting the results to a
5087         file. Requires guile 1.6. Just for testing.
5088
5089 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * gst/schedulers/fairscheduler.c:
5092           compile with debug disabled
5093
5094 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * configure.ac:
5097           hunting season on 0.9 is now OPEN
5098
5099 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * docs/libs/tmpl/gstcontrol.sgml:
5102         * docs/libs/tmpl/gstdparam.sgml:
5103         * docs/libs/tmpl/gstdplinint.sgml:
5104         * docs/libs/tmpl/gstdpman.sgml:
5105         * docs/libs/tmpl/gstdpsmooth.sgml:
5106         * docs/libs/tmpl/gstunitconvert.sgml:
5107           more docs for the state of dparams
5108
5109 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5110
5111         * gst/gstelementfactory.c: (gst_element_factory_create):
5112         * gst/gstobject.c: (gst_object_init),
5113         (gst_object_set_name_default), (gst_object_set_name):
5114           name objects by default, not in gst_element_factory_create. Allows
5115           using elements created with g_object_new. (fixes #167283)
5116
5117 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5118
5119         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5120           make the time that debugging functions print relative to when
5121           gst_init was called
5122
5123 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5124
5125         * gst/gsttaginterface.c:
5126           Fix inline docs: tag setter vararg functions are NULL-terminated,
5127           GST_TAG_INVALID doesn't exist any more.
5128
5129 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5130
5131         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5132         Allocate the 1 byte more memory that was forgotten!!!!!
5133         fixes memory corruption on 64bit platforms
5134
5135 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5136
5137         * docs/pwg/building-pads.xml:
5138         * docs/pwg/intro-basics.xml:
5139           fixed a few typos, relabeled introductionary list of types
5140         * docs/random/ensonic/dparams.txt:
5141           more notes abut dparam changes
5142         * libs/gst/control/dparam.c: (gst_dparam_attach):
5143         * libs/gst/control/dparammanager.c:
5144         * libs/gst/control/dparammanager.h:
5145           - many comments and notes on dparam implementation
5146           - new dparams are were not initialized to the default value
5147             from param spec
5148
5149 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5150
5151         submitted by: Peter Astakhov
5152
5153         * po/LINGUAS:
5154         * po/ru.po:
5155           adding Russian translation
5156
5157 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5158
5159         * configure.ac:
5160         * docs/gst/Makefile.am:
5161         * docs/libs/Makefile.am:
5162           make sure popt is added to gtk-doc flags.  Fixes #147782.
5163
5164 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5165
5166         * docs/faq/using.xml:
5167           Fix typo in FAQ (artssink => artsdsink)
5168
5169 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5170
5171         * tools/gst-launch.1.in:
5172           Fix typo (#166699).
5173
5174 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5175
5176         * docs/faq/using.xml:
5177           Add -v argument to fakesrc/fakesink gst-launch line,
5178           so that the promised output will actually show up.
5179
5180 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5181
5182         * gst/gstthread.c: (gst_thread_change_state):
5183           Implement state-change error handling (#166073).
5184
5185 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5186
5187         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5188           Release interrupt after handling (#166250).
5189
5190 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * configure.ac:
5193           back to HEAD
5194
5195 === release 0.8.9 ===
5196
5197 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5198
5199         * NEWS:
5200         * RELEASE:
5201         * configure.ac:
5202           releasing 0.8.9, "Like Eating Glass"
5203
5204 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5205
5206         submitted by: Clytie Siddall
5207
5208         * po/vi.po: Added Vietnamese translation
5209
5210 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5211
5212         patch by: Tim Philipp-Müller
5213
5214         * configure.ac:
5215         * gst/gstpad.c:
5216           unref data when probe function returns FALSE.  Fixes #166362
5217
5218 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5219
5220         * gst/gst.c: (gst_init_get_popt_table):
5221           Fix typo (#166269).
5222
5223 2005-02-04  Andy Wingo  <wingo@pobox.com>
5224
5225         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5226         the debugging on whether the caps are compatible.
5227
5228 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5229
5230         * docs/manual/basics-elements.xml:
5231           Fix two typos.
5232
5233 2005-02-02  Wim Taymans  <wim@fluendo.com>
5234
5235         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5236         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5237         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5238         Remove some FIXMEs after analysing and commenting why they
5239         are not issues.
5240
5241 2005-02-02  Wim Taymans  <wim@fluendo.com>
5242
5243         * gst/schedulers/gstoptimalscheduler.c:
5244         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5245         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5246         (get_invalid_call), (chain_invalid_call),
5247         (get_group_schedule_function), (loop_group_schedule_function),
5248         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5249         (gst_opt_scheduler_state_transition),
5250         (gst_opt_scheduler_add_element),
5251         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5252         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5253         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5254         (gst_opt_scheduler_show):
5255         Added lock to protect scheduler data structures.
5256
5257 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5258
5259         * testsuite/threads/threadi.c: (cb_data):
5260           Fix buglet in test.
5261
5262 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5263
5264         * testsuite/threads/Makefile.am:
5265         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5266           On Wim's request, split the test in three separately-compiled
5267           tests that each test a very specific bug. Two of them still fail,
5268           will create bugs for those. threadi.c indicates why they fail.
5269
5270 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5271
5272         * gst/schedulers/gstoptimalscheduler.c:
5273         (get_group_schedule_function):
5274           Try to work with the threading mess that queue_link is.
5275
5276 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5277
5278         * gst/gstbin.c: (gst_bin_remove_func):
5279           Explicitely make an element release locks in a group when being
5280           remove from a bin.
5281         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5282           If there's no scheduler, always return immediately (similar to
5283           gst_element_interrupt).
5284
5285 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5286
5287         * gst/gstbin.c: (gst_bin_child_state_change_func):
5288           Remove a piece of code that could never be reached.
5289         * docs/gst/gstreamer-sections.txt:
5290         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5291         (gst_pad_call_get_function):
5292         * gst/gstpad.h:
5293         * testsuite/pad/Makefile.am:
5294           Fix #150546, enable tests.
5295
5296 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5297
5298         * docs/pwg/advanced-types.xml:
5299           Fix description for buffer-frames=0.
5300         * docs/gst/tmpl/gstbin.sgml:
5301         * gst/gstbin.c: (gst_bin_child_state_change_func),
5302         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5303         * gst/gstbin.h:
5304         * testsuite/threads/Makefile.am:
5305         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5306         (cb_state), (cb_play), (main):
5307           Fix non-recursive state changes to *really* change the state
5308           of the object, and not just call parent_class->state_change.
5309           Fix a lot of lockups caused by this. Fixes #132775. Add test
5310           for the problem. Also enable test to show #142588 (fixed).
5311         * gst/gstthread.c: (gst_thread_change_state),
5312         (gst_thread_child_state_change):
5313           Don't exit the thread if we go to NULL and are inside thread
5314           context. Instead, return control to the main thread context
5315           and exit from there.
5316         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5317           Don't unset virtual functions, since those may still be used.
5318           That's not necessarily correct, but suffices for now.
5319         * configure.ac:
5320         * testsuite/Makefile.am:
5321         * testsuite/pad/Makefile.am:
5322         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5323         (gst_test_sink_base_init), (gst_test_sink_chain),
5324         (gst_test_sink_init), (main):
5325         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5326         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5327         (main):
5328         * testsuite/pad/link.c: (gst_test_element_class_init),
5329         (gst_test_element_base_init), (gst_test_src_get),
5330         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5331         (gst_test_filter_loop), (gst_test_filter_init),
5332         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5333         (cb_error), (main):
5334           Add tests to show #150546. Pass, but should fail (currently
5335           disabled from the testsuite).
5336         * gst/gstscheduler.c: (gst_scheduler_dispose):
5337           Dereference child schedulers on dispose (#94464).
5338         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5339           Fix typo.
5340         * testsuite/threads/thread.c: (main):
5341           Add more debug.
5342
5343 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5344
5345         * gst/gstpad.c: (gst_pad_push):
5346           Oops, revert previous commit, broke testsuite...
5347
5348 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5349
5350         * gst/gstpad.c: (gst_pad_push):
5351           Add check that the pad on which the push is performed is not a
5352           get-based pad (#150546).
5353
5354 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5355
5356         * gst/elements/gsttypefindelement.c:
5357         (gst_type_find_element_handle_event):
5358           Fix buffer pushing if stream EOSes during typefinding.
5359
5360 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5361
5362         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5363
5364         * gst/gstvalue.c: (gst_string_wrap):
5365           Allow NULL-strings as argument (#165365).
5366
5367 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5368
5369         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5370
5371         * gst/schedulers/faircothreads.c:
5372         (gst_fair_scheduler_cothread_queue_show):
5373           Fix build without debug enabled.
5374
5375 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5376
5377         * docs/gst/gstreamer-sections.txt:
5378         * docs/libs/gstreamer-libs-docs.sgml:
5379         * docs/libs/gstreamer-libs-sections.txt:
5380         * docs/libs/tmpl/gstcontrol.sgml:
5381         * docs/libs/tmpl/gstdparam.sgml:
5382         * docs/libs/tmpl/gstdplinint.sgml:
5383         * docs/libs/tmpl/gstdpman.sgml:
5384         * docs/libs/tmpl/gstdpsmooth.sgml:
5385         * docs/libs/tmpl/gstputbits.sgml:
5386         * docs/libs/tmpl/gstunitconvert.sgml:
5387         * libs/gst/control/dparam.c:
5388         * libs/gst/control/dparam.h:
5389         * libs/gst/control/dparammanager.c:
5390         (gst_dpman_add_required_dparam_callback),
5391         (gst_dpman_add_required_dparam_direct),
5392         (gst_dpman_add_required_dparam_array),
5393         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5394         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5395         (gst_dpman_get_manager)
5396           restructured DParam docs
5397
5398 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * gst-element-check.m4:
5401           Only check for gst-inspect if we haven't already
5402           found it in previous element check runs
5403
5404 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5405
5406         * docs/gst/Makefile.am:
5407         * docs/libs/Makefile.am:
5408           fixed install rules to treat style.css as optional
5409
5410 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5411
5412         * docs/gst/Makefile.am:
5413         * docs/libs/Makefile.am:
5414           install style.css along with docs
5415         * docs/gst/tmpl/gstbin.sgml:
5416         * docs/gst/tmpl/gstclock.sgml:
5417         * docs/gst/tmpl/gstdata.sgml:
5418         * docs/gst/tmpl/gstelement.sgml:
5419         * gst/gstbin.h:
5420         * gst/gstelement.c: (gst_element_class_init):
5421         * gst/gstelement.h:
5422           fixing incomplete docs
5423
5424 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5427           Don't unref seek event twice when fflush() fails
5428           
5429 2005-01-22  David Schleef  <ds@schleef.org>
5430
5431         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5432
5433 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5434
5435         * docs/gst/Makefile.am:
5436         * docs/libs/Makefile.am:
5437           added params for deprecation guards
5438         * gst/gst.c:
5439         * gst/gst.h:
5440         * gst/gsterror.c: (_gst_resource_errors_init),
5441         (_gst_stream_errors_init):
5442         * gst/gsterror.h:
5443           documented some more enums
5444
5445 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5446         * gst/autoplug/gstspideridentity.c:
5447         Cosmetic fix - spider_find_peek should be static
5448         * gst/parse/parse.l:
5449         Applying fix for #164261
5450
5451 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5452
5453         * docs/gst/gstreamer-sections.txt:
5454         * docs/gst/tmpl/gstplugin.sgml:
5455         * docs/libs/gstreamer-libs-sections.txt:
5456         * docs/libs/tmpl/gstcontrol.sgml:
5457         * gst/gstbuffer.h:
5458         * gst/gsttag.h:
5459         * gst/gstvalue.c:
5460           added docs for the TAG defines
5461
5462 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5463
5464         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5465           Only unref entry if there is an entry.
5466
5467 2005-01-17  Wim Taymans  <wim@fluendo.com>
5468
5469         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5470         (remove_from_group), (schedule_group), (normalize_group),
5471         (gst_opt_scheduler_iterate):
5472         Also ref/unref decoupled elements before iterating the
5473         group since they are not added to the list of elements.
5474
5475 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5476
5477         * docs/manual/highlevel-components.xml:
5478           Add subtitle/streamselection as new features to playbin.
5479
5480 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5481
5482         * docs/manual/manual.xml:
5483           Re-enable dataaccess docs (oops).
5484
5485 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5486
5487         * docs/pwg/advanced-types.xml:
5488         * docs/random/mimetypes:
5489           Add documentation on libsndfile types (#163309), by Steve Baker
5490           <steve@stevebaker.org>.
5491         * gst/gstelement.c: (gst_element_release_request_pad):
5492           If an element has no explicit function, just remove the pad.
5493
5494 2005-01-17  Luca Ognibene  <luogni@tin.it>
5495
5496         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5497
5498         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5499           Fix memleak (#163801).
5500
5501 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5502
5503         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5504           I think this is actually more correct...
5505
5506 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5507
5508         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5509           Another workaround for memory access while destroyed in callback.
5510           Please, someone with refcount knowledge, have a look at this.
5511
5512 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5513
5514         * docs/faq/faq.xml:
5515         * docs/faq/legal.xml:
5516           move the legal Q&A here
5517
5518 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5519
5520         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5521         (gst_tee_request_new_pad):
5522           Fix negotiation.
5523
5524 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5525
5526         * docs/random/omega/caps2:
5527         * testsuite/caps/caps_strings:
5528           replace framerate aproximations by their real value
5529           (24000/1001, 30000/1001, 60000/1001)
5530           Partially fixes bug #164049
5531
5532 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5533
5534         * docs/gst/Makefile.am:
5535           don't fail on the stupid GstPoptOption
5536
5537 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5538
5539         * gst/gstpad.h:
5540         * gst/gstprobe.c:
5541           allow probes to work on ghost pads by realizing the pad
5542           probe debugging
5543
5544 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5545
5546         * docs/gst/gstreamer-sections.txt:
5547         * docs/gst/tmpl/gstpad.sgml:
5548         * gst/gstpad.c: (gst_pad_set_active_recursive):
5549         * gst/gstpad.h:
5550           Add gst_pad_set_active_recursive().
5551
5552 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         * docs/random/release:
5555           updates
5556         * gst/gst_private.h:
5557         * gst/gstinfo.c:
5558         * gst/gstobject.c:
5559           move deep_notify logging to a new category
5560         * gst/gstprobe.c:
5561         * gst/gstprobe.h:
5562           add stuff so bindings can wrap probes
5563
5564 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5565
5566         * gst/gstplugin.c: (gst_plugin_load):
5567           Fix plugin loading if plugin/lib was already loaded. Fixes
5568           #163383
5569
5570 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5571
5572         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5573
5574         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5575           Protect plugin loading by a mutex so it's threadsafe. Fixes
5576           #163234.
5577
5578 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5579
5580         * gst/gstevent.c: (_gst_event_copy):
5581           Reference source object when copying events, since it'll be
5582           dereferenced on event dereferencing as well.
5583
5584 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5585
5586         * docs/gst/gstreamer-sections.txt:
5587         * docs/gst/tmpl/gstevent.sgml:
5588         * gst/gstevent.c: (gst_event_new_filler_stamped),
5589         (gst_event_filler_get_duration):
5590         * gst/gstevent.h:
5591           Add two new functions for filler events (which are used to
5592           synchronize streams if one of them is not having any data
5593           for a while) without interrupting the actual data-stream.
5594           Basically a no-op.
5595         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5596         (gst_queue_link_sink), (gst_queue_link_src),
5597         (gst_queue_change_state):
5598           Allow for renegotiation while filled. Required for stream
5599           switching while playing.
5600
5601 2005-01-08  Benjamin Otte  <otte@gnome.org>
5602
5603         * gst/gstelement.c: (gst_element_link_many):
5604           fix up g_return_if_fail's
5605         * po/LINGUAS:
5606         * po/de.po:
5607           add German translation, that was somehow not included
5608
5609 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5610
5611         * docs/random/mimetypes:
5612           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5613           do not add them to riff-lib as they are not common
5614
5615 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5616
5617         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5618           Check for existence of probe after performing the probe before
5619           re-accessing it to prevent segfaults caused by removal of the
5620           probe in the callback.
5621
5622 2005-01-05  David Schleef  <ds@schleef.org>
5623
5624         * testsuite/registry/Makefile.am:
5625         * testsuite/registry/gst-print-formats.c:
5626         (print_pad_templates_info), (print_element_list),
5627         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5628         (g_list_uniqify), (get_pad_templates_info),
5629         (get_element_mime_list), (print_mime_list), (main): A little
5630         program that looks through the registry to find elements of
5631         a given type.  Not particularly interesting as a test, except
5632         that there's no other test covering the same area.
5633
5634 2005-01-05  David Schleef  <ds@schleef.org>
5635
5636         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5637         (fault_handler_sigaction), (fault_spin),
5638         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5639         in signal.h-type signal handlers by not calling forbidden functions,
5640         including gst_element_set_state().
5641
5642 2005-01-05  David Schleef  <ds@schleef.org>
5643
5644         * gst/gstvalue.h: Mark _gst_reserved[] as private
5645
5646 2005-01-05  David Schleef  <ds@schleef.org>
5647
5648         * gst/gstvalue.c: Fix doc build problem.
5649
5650 2005-01-05  David Schleef  <ds@schleef.org>
5651
5652         * gst/gstvalue.c: Add some documentation
5653
5654 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5655
5656         * docs/README:
5657           another shell oneliner for empty return value docs
5658         * gst/gstcaps.c:
5659         * gst/gstvalue.c:
5660         * libs/gst/control/dparam.c:
5661           more doc fixes (parameters and return values)
5662
5663 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5664
5665         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5666
5667         * gst/gstregistry.h:
5668         * gst/registries/gstxmlregistry.c:
5669           Fix macro's for Mingw (fixes #162276).
5670
5671 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5672
5673         * docs/README:
5674           quick shell oneliner to find undocumented members
5675         * docs/gst/tmpl/gstplugin.sgml:
5676         * docs/gst/tmpl/gstscheduler.sgml:
5677         * docs/gst/tmpl/gstthread.sgml:
5678           more enumtypes cleanup
5679         * gst/gsterror.h:
5680           activated documentation comments, now someone needs to document
5681           the enums :(
5682
5683 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5684
5685         * docs/manual/manual.xml:
5686           Add dataaccess part (doh!).
5687
5688 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5689
5690         * docs/manual/advanced-autoplugging.xml:
5691           Fix typo (intiate -> initiate).
5692
5693 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5694
5695         * docs/random/bbb/streamselection:
5696           Add some notes on how to handle multi-subtitle/-audio streams.
5697
5698 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5699
5700         * docs/gst/gstreamer-docs.sgml:
5701         * docs/gst/gstreamer-sections.txt:
5702         * docs/gst/tmpl/gstenumtypes.sgml:
5703         * docs/gst/tmpl/gsterror.sgml:
5704         * docs/gst/tmpl/gstevent.sgml:
5705         * docs/gst/tmpl/gstpad.sgml:
5706         * docs/gst/tmpl/gstpadtemplate.sgml:
5707         * docs/gst/tmpl/gstthread.sgml:
5708           removed gstenumtypes section from docs and put all the enums into
5709           their sections
5710
5711 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5712
5713         * gst/gstplugin.c:
5714           document gst_library_load a bit more (riff special case + return
5715           value if already loaded)
5716         * testsuite/bytestream/filepadsink.c:
5717           plugin name is 'gstbytestream', not 'bytestream'
5718
5719 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5720
5721         * docs/random/bbb/subtitles:
5722           Add some first mind rumblings on proper subtitle support.
5723
5724 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5725
5726         * po/ca.po:
5727         * po/sv.po:
5728           updated translations
5729
5730 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5731
5732         * docs/manual/advanced-dataaccess.xml:
5733           Add section on how to use fakesrc/fakesink/identity in your
5734           application, plus section on how to embed plugins. Also mention
5735           probes.
5736         * docs/manual/appendix-checklist.xml:
5737         * docs/manual/appendix-debugging.xml:
5738         * docs/manual/appendix-gnome.xml:
5739         * docs/manual/appendix-integration.xml:
5740           Debug -> checklist, GNOME -> integration, add sections on Linux,
5741           KDE integration and add other things useful for application
5742           development.
5743         * docs/manual/manual.xml:
5744           Remove some fixmes, update some file pointers.
5745         * docs/pwg/appendix-checklist.xml:
5746           Fix typo.
5747         * docs/pwg/building-boiler.xml:
5748           Remove ugly header and add commented fixme.
5749         * docs/pwg/pwg.xml:
5750           Add fixme.
5751         * examples/manual/Makefile.am:
5752           Add example for added docs.
5753
5754 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5755
5756         * configure.ac:
5757           back to HEAD
5758
5759 === release 0.8.8 ===
5760
5761 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5762
5763         * NEWS:
5764         * RELEASE:
5765         * configure.ac:
5766           Releasing 0.8.8, "I'll Take Care Of You"
5767
5768 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5769
5770         * configure.ac:
5771           second prerelease
5772
5773 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5774
5775         patch by: Wim Taymans
5776
5777         * gst/gstbin.c:
5778           Fix for #159852 - make iterate emission threadsafe
5779
5780 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5781
5782         * docs/faq/cvs.xml:
5783           notes about new fdo account request
5784
5785 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5786
5787         * docs/gst/gstreamer-docs.sgml:
5788         * docs/gst/tmpl/gstenumtypes.sgml:
5789         * docs/gst/tmpl/gstplugin.sgml:
5790         * docs/libs/gstreamer-libs-docs.sgml:
5791           Added missing short docs. Added ids for navigation.
5792
5793 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5794
5795         * docs/manual/advanced-autoplugging.xml:
5796         * docs/manual/advanced-schedulers.xml:
5797         * docs/manual/advanced-threads.xml:
5798           Rewrites. Remove cothreads, go a bit into opt specifically,
5799           document threads and their gotchas, and do some technical stuff
5800           on autoplugging plus add some working examples. Fixes #157395.
5801         * examples/manual/Makefile.am:
5802           Add typefind/autoplugger example (one that actually works).
5803           Remove queue example since it's a duplicate of the thread one.
5804
5805 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5806
5807         * gst/gstvalue.c: (gst_value_deserialize_string):
5808           use deprecated g_value_set_string_take_ownership to keep compatible
5809           with glib 2.2
5810
5811 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5812
5813         * gst/gstvalue.c: (gst_value_deserialize_string):
5814           revert last patch, only dom a g_utf8_validate now before accepting
5815           the string - caps parsing strips " from strings so we can't rely on
5816           them
5817         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5818           disable a test that tested the above and comment it
5819
5820 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5821
5822         Patch reviewed by David Schleef  <ds@schleef.org>
5823
5824         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5825         bug #153882)
5826         * win32/gstenumtypes.h: same
5827
5828 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5829
5830         * gst/gstpad.c: (gst_pad_query):
5831           Do query on realized pad, similar to how convert/send_event handle
5832           this. Also makes sense, since this pad belongs to the function to
5833           which this query will be sent. Fixes #158163.
5834
5835 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5836
5837         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5838
5839 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5840
5841         * docs/faq/general.xml: fix pipeline to actually work
5842
5843 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5844
5845         * gst/gstvalue.c: (gst_value_deserialize_string):
5846           check that a simple string that gets deserialized does not contain
5847           invalid characters
5848         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5849           remove a test that tested a wring behaviour
5850
5851 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5852
5853         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5854
5855         * docs/manual/intro-motivation.xml:
5856           Fix typos.
5857
5858 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5859
5860         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5861
5862         * docs/gst/tmpl/gstprobe.sgml:
5863           Fix documentation of probe callback - it is supposed to return
5864           FALSE, not TRUE, to remove data from the stream (#159087).
5865
5866 2004-12-16  Daniel Gazard  <dany42@free.fr>
5867
5868         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5869
5870         * gst/gstelementfactory.c: (gst_element_factory_create):
5871           Fix compile failure if compiling without libxml2 support (#149936).
5872
5873 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5874
5875         * docs/manual/advanced-autoplugging.xml:
5876         * docs/manual/highlevel-components.xml:
5877           Move spider from autoplugging to components. Autoplugging is for
5878           internals, not for solutions. ;-).
5879
5880 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5881
5882         * docs/random/ds/0.9-suggested-changes:
5883           Make note on device/location/uri property names.
5884
5885 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5886
5887         * docs/manual/advanced-autoplugging.xml:
5888         * docs/manual/advanced-clocks.xml:
5889         * docs/manual/advanced-interfaces.xml:
5890         * docs/manual/advanced-metadata.xml:
5891         * docs/manual/advanced-position.xml:
5892         * docs/manual/advanced-schedulers.xml:
5893         * docs/manual/advanced-threads.xml:
5894         * docs/manual/appendix-gnome.xml:
5895         * docs/manual/appendix-programs.xml:
5896         * docs/manual/appendix-quotes.xml:
5897         * docs/manual/autoplugging.xml:
5898         * docs/manual/basics-bins.xml:
5899         * docs/manual/basics-data.xml:
5900         * docs/manual/basics-elements.xml:
5901         * docs/manual/basics-helloworld.xml:
5902         * docs/manual/basics-init.xml:
5903         * docs/manual/basics-pads.xml:
5904         * docs/manual/basics-plugins.xml:
5905         * docs/manual/bins-api.xml:
5906         * docs/manual/bins.xml:
5907         * docs/manual/buffers-api.xml:
5908         * docs/manual/buffers.xml:
5909         * docs/manual/clocks.xml:
5910         * docs/manual/components.xml:
5911         * docs/manual/cothreads.xml:
5912         * docs/manual/debugging.xml:
5913         * docs/manual/dparams-app.xml:
5914         * docs/manual/dynamic.xml:
5915         * docs/manual/elements-api.xml:
5916         * docs/manual/elements.xml:
5917         * docs/manual/factories.xml:
5918         * docs/manual/gnome.xml:
5919         * docs/manual/goals.xml:
5920         * docs/manual/helloworld.xml:
5921         * docs/manual/helloworld2.xml:
5922         * docs/manual/highlevel-components.xml:
5923         * docs/manual/highlevel-xml.xml:
5924         * docs/manual/init-api.xml:
5925         * docs/manual/intro-basics.xml:
5926         * docs/manual/intro-motivation.xml:
5927         * docs/manual/intro-preface.xml:
5928         * docs/manual/intro.xml:
5929         * docs/manual/links-api.xml:
5930         * docs/manual/links.xml:
5931         * docs/manual/manual.xml:
5932         * docs/manual/motivation.xml:
5933         * docs/manual/pads-api.xml:
5934         * docs/manual/pads.xml:
5935         * docs/manual/plugins-api.xml:
5936         * docs/manual/plugins.xml:
5937         * docs/manual/programs.xml:
5938         * docs/manual/queues.xml:
5939         * docs/manual/quotes.xml:
5940         * docs/manual/schedulers.xml:
5941         * docs/manual/states-api.xml:
5942         * docs/manual/states.xml:
5943         * docs/manual/threads.xml:
5944         * docs/manual/typedetection.xml:
5945         * docs/manual/win32.xml:
5946         * docs/manual/xml.xml:
5947           Try 2. This time, include a short preface as a "general
5948           introduction", also add code blocks around all code samples
5949           so they get compiled. We still need a way to tell readers
5950           the filename of the code sample. In some cases, don't show
5951           all code in the documentation, but do include it in the generated
5952           code. This allows for focussing on specific bits in the docs,
5953           while still having a full test application available.
5954         * examples/manual/Makefile.am:
5955           Fix up examples for new ADM. Add several of the new examples that
5956           were either added or were missing from the build system.
5957         * examples/manual/extract.pl:
5958           Allow nameless blocks.
5959
5960 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5961
5962         * docs/manual/elements-api.xml:
5963         * docs/manual/helloworld.xml:
5964         * examples/manual/extract.pl:
5965           fix last example.  Add example of adding code blocks that are not
5966           shown in docbook output.
5967
5968 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5969
5970         * docs/manual/dynamic.xml:
5971         * docs/manual/elements-api.xml:
5972         * docs/manual/gnome.xml:
5973         * docs/manual/helloworld2.xml:
5974         * docs/manual/init-api.xml:
5975         * docs/manual/queues.xml:
5976         * docs/manual/threads.xml:
5977         * docs/manual/xml.xml:
5978         * examples/manual/extract.pl:
5979           Make it possible to extract example code from separate blocks.
5980           Should make Ronald happy.
5981
5982 2004-12-15  Wim Taymans  <wim@fluendo.com>
5983
5984         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5985         (remove_from_group), (group_elements_set_visited),
5986         (normalize_group), (gst_opt_scheduler_iterate):
5987         Fix bug where a flag was not updated on a decoupled entry point 
5988         because we were just checking the group element list and decoupled
5989         elements are not in that list..
5990
5991 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5992
5993         * docs/manual/advanced-autoplugging.xml:
5994         * docs/manual/advanced-clocks.xml:
5995         * docs/manual/advanced-dparams.xml:
5996         * docs/manual/advanced-interfaces.xml:
5997         * docs/manual/advanced-metadata.xml:
5998         * docs/manual/advanced-position.xml:
5999         * docs/manual/advanced-schedulers.xml:
6000         * docs/manual/advanced-threads.xml:
6001         * docs/manual/appendix-debugging.xml:
6002         * docs/manual/appendix-gnome.xml:
6003         * docs/manual/appendix-programs.xml:
6004         * docs/manual/appendix-quotes.xml:
6005         * docs/manual/appendix-win32.xml:
6006         * docs/manual/autoplugging.xml:
6007         * docs/manual/basics-bins.xml:
6008         * docs/manual/basics-data.xml:
6009         * docs/manual/basics-elements.xml:
6010         * docs/manual/basics-helloworld.xml:
6011         * docs/manual/basics-init.xml:
6012         * docs/manual/basics-pads.xml:
6013         * docs/manual/basics-plugins.xml:
6014         * docs/manual/bins-api.xml:
6015         * docs/manual/bins.xml:
6016         * docs/manual/buffers-api.xml:
6017         * docs/manual/buffers.xml:
6018         * docs/manual/clocks.xml:
6019         * docs/manual/components.xml:
6020         * docs/manual/cothreads.xml:
6021         * docs/manual/debugging.xml:
6022         * docs/manual/dparams-app.xml:
6023         * docs/manual/dynamic.xml:
6024         * docs/manual/elements-api.xml:
6025         * docs/manual/elements.xml:
6026         * docs/manual/factories.xml:
6027         * docs/manual/gnome.xml:
6028         * docs/manual/goals.xml:
6029         * docs/manual/helloworld.xml:
6030         * docs/manual/helloworld2.xml:
6031         * docs/manual/highlevel-components.xml:
6032         * docs/manual/highlevel-xml.xml:
6033         * docs/manual/init-api.xml:
6034         * docs/manual/intro-motivation.xml:
6035         * docs/manual/intro-preface.xml:
6036         * docs/manual/intro.xml:
6037         * docs/manual/links-api.xml:
6038         * docs/manual/links.xml:
6039         * docs/manual/manual.xml:
6040         * docs/manual/motivation.xml:
6041         * docs/manual/pads-api.xml:
6042         * docs/manual/pads.xml:
6043         * docs/manual/plugins-api.xml:
6044         * docs/manual/plugins.xml:
6045         * docs/manual/programs.xml:
6046         * docs/manual/queues.xml:
6047         * docs/manual/quotes.xml:
6048         * docs/manual/schedulers.xml:
6049         * docs/manual/states-api.xml:
6050         * docs/manual/states.xml:
6051         * docs/manual/threads.xml:
6052         * docs/manual/typedetection.xml:
6053         * docs/manual/win32.xml:
6054         * docs/manual/xml.xml:
6055           First try at rewriting the ADM. Needs lotsamore work, but some
6056           parts might already be somewhat useful.
6057         * docs/pwg/advanced-interfaces.xml:
6058           Remove properties interface, it never actually existed (except for
6059           on my HD...).
6060
6061 2004-12-13  David Schleef  <ds@schleef.org>
6062
6063         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6064         be NULL (bug #160220).
6065
6066 2004-12-13  David Schleef  <ds@schleef.org>
6067
6068         * configure.ac: remove all mmx stuff, because it's not used.
6069         * docs/random/ds/0.9-suggested-changes: additional notes
6070         * include/Makefile.am: we don't use these anymore
6071         * include/mmx.h: remove
6072         * include/sse.h: remove
6073
6074 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6075
6076         * docs/random/mimetypes:
6077           Add FOURCC code for h264 codec (VSSH)
6078           Add alternate FOURCC codes for h263 related codecs
6079
6080 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6081
6082         * docs/manual/programs.xml:
6083           Added more gst-launch examples.
6084
6085 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6086
6087         * gst/gstqueue.c: (gst_queue_handle_src_query):
6088           Check for availability again.
6089
6090 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6091
6092         * gst/gstcaps.c: (gst_caps_compare_structures):
6093           Simple caps go first. This has the nice side-effect of fixing an
6094           obscure warning.
6095
6096 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6097
6098         * gst/gstversion.h.in:
6099           Protect header.
6100
6101 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6102
6103         * gst/schedulers/gstoptimalscheduler.c:
6104         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6105         (gst_opt_scheduler_get_wrapper):
6106           When we're recursing into a chain run, only run the directly
6107           related group, not all queued ones. This will fix a possible
6108           deadlock in chains with more than two groups.
6109
6110 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6111
6112         * autogen.sh:
6113           remove patch if autopoint fails
6114
6115 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6116
6117         * docs/gst/gstreamer-sections.txt:
6118           Document Thomas' addition, fix build, make Luis the sheriff happy.
6119
6120 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6121
6122         * gst/gstplugin.c:
6123         * gst/gstplugin.h:
6124           add accessor for version field
6125
6126 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6127
6128         submitted by: Luca Ferretti <elle.uca@infinito.it>
6129
6130         * po/LINGUAS:
6131         * po/it.po:
6132           New tranlation added: Italian
6133
6134 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6135
6136         * gst/gstpad.c: (gst_pad_is_negotiated),
6137         (gst_pad_get_negotiated_caps):
6138           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6139           it doesn't actually check the contents), so be sure to hand it
6140           a RealPad else we'll crash.
6141
6142 2004-12-03  Wim Taymans  <wim@fluendo.com>
6143
6144         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6145         (gst_queue_link), (gst_queue_handle_src_query):
6146         Reverted to 1.110 until this makes the testsuite and various
6147         apps work.
6148
6149 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6150
6151         * docs/upload.mak: fix included CVS conflict strings
6152
6153 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6154
6155         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6156
6157         * gst/gstelement.c: (gst_element_error_full):
6158           Use g_error_new_literal because error text may have
6159           percentage signs in it. Fixes #160019.
6160
6161 2004-12-01  Benjamin Otte  <otte@gnome.org>
6162
6163         * gst/elements/gstbufferstore.c:
6164         (gst_buffer_store_add_buffer_func):
6165           don't try to make subbuffers bigger than they can be. (fixes
6166           #159970)
6167
6168 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6169
6170         * docs/gst/gstreamer-sections.txt:
6171         * docs/gst/tmpl/gstvalue.sgml:
6172           Add new function to docs to fix build.
6173
6174 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6175
6176         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6177         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6178         (_gst_pad_default_fixate_foreach):
6179         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6180         * gst/gstvalue.h:
6181           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6182           in some cases (arrays), the fixedness depends on the content.
6183         * gst/gstqueue.c: (gst_queue_handle_src_query):
6184           Check for availability before doing something.
6185
6186 2004-11-29  Wim Taymans  <wim@fluendo.com>
6187
6188         * testsuite/threads/Makefile.am:
6189         * testsuite/threads/signals.c: (gst_test_get_type),
6190         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6191         (gst_test_set_property), (gst_test_get_property),
6192         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6193         (gst_test_do_prop), (run_thread), (main):
6194         Added a bunch of testcases that show threadsafety bugs in glib.
6195
6196 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6197
6198         * docs/manual/programs.xml:
6199           Added a first batch of gst-launch examples, as provided by Ronald
6200           and others from the devel-mlist
6201
6202 2004-11-28  Benjamin Otte  <otte@gnome.org>
6203
6204         * gst/gstelement.c: (gst_element_negotiate_pads):
6205           simplify
6206         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6207         (gst_value_serialize_string), (gst_value_deserialize_string):
6208           add unwrapping of previously wrapped strings. Fix bug in wrapping
6209           while at it.
6210         * testsuite/caps/value_serialize.c: (test1),
6211         (test_string_serialization), (test_string_deserialization), (main):
6212           add tests for string (de)serialization
6213
6214 2004-11-26  Wim Taymans  <wim@fluendo.com>
6215
6216         * testsuite/threads/159566.c: (object_deep_notify), (main):
6217         * testsuite/threads/Makefile.am:
6218         Added testsuite to show bug #159566
6219
6220 2004-11-25  Wim Taymans  <wim@fluendo.com>
6221
6222         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6223         (gst_thread_child_state_change), (gst_thread_main_loop):
6224         Ref the thread object in the GThread mainloop. Break out of the
6225         thread mainloop if it holds the last ref. This properly exits
6226         the threads when disposing the thread from its own context. It
6227         also avoids possible deadlocks in the dispose function.
6228
6229 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6230
6231         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6232         it is necessary to wait.
6233
6234 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6235
6236         * docs/pwg/building-boiler.xml:
6237           Make description somewhat clearer.
6238
6239 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6240
6241         * docs/upload.mak:
6242           Apparently docs changed location on FDO's server.
6243
6244 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6245
6246         * docs/pwg/appendix-checklist.xml:
6247           Add some random notes on things to check when writing an element.
6248           This list can be extended as people see fit.
6249
6250 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6251
6252         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6253         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6254         pad. The queue will now wait until it is empty and forward the new
6255         caps to the source.
6256         * gst/gstbin.c (gst_bin_set_element_sched)
6257         (gst_bin_unset_element_sched): Make sure that all elements and
6258         links are registered and unregistered with the scheduler exactly
6259         once. This elaborates on a fix by Benjamin Otte, but
6260         guarantees that decoupled elements are also registered.
6261
6262 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6263
6264         * docs/manual/quotes.xml:
6265           add a quote
6266         * configure.ac:
6267         * gst/gst.c:
6268         * gst/gstinfo.c:
6269           add LIBDIR and move init message higher up so it's at the start
6270
6271 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6272
6273         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6274         * gstreamer.spec.in: add fair
6275
6276 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6277
6278         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6279         * gst/elements/gstidentity.c: (gst_identity_class_init):
6280           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6281           <teuf@gnome.org> (#157263).
6282         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6283         (gst_type_find_handle_src_query):
6284           Subtract size of internally stored data from position queries.
6285
6286 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6287
6288         * gst/schedulers/fairscheduler.c:
6289         * gst/schedulers/faircothreads.c:
6290         * gst/schedulers/faircothreads.h:
6291         New cothread based scheduler: Fair scheduler.
6292         * gst/schedulers/gthread-cothreads.h: 
6293         Add the standard #if around the whole file.
6294         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6295         compilation of the functions defined in this file. This is
6296         necessary to be able to use this file as a normal header.
6297         * gst/schedulers/Makefile.am: Add compiling support for fair
6298         scheduler.
6299         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6300         scheduler cothreads layer from documentation generation.
6301
6302 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6303
6304         * gst/autoplug/gstspideridentity.c:
6305         (gst_spider_identity_sink_loop_type_finding):
6306           Don't crash if that function is not implemented.
6307
6308 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6309
6310         * docs/pwg/advanced-types.xml:
6311           Another typo.
6312
6313 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6314
6315         * docs/pwg/intro-preface.xml:
6316           Hm, ok, so the brackets weren't really useful...
6317         * docs/pwg/other-ntoone.xml:
6318           Fix embarassing typo.
6319
6320 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6321
6322         * docs/pwg/intro-preface.xml:
6323           Rewrite preface.
6324
6325 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6326
6327         * docs/pwg/advanced-scheduling.xml:
6328         * docs/pwg/advanced-tagging.xml:
6329         * docs/pwg/advanced-types.xml:
6330         * docs/pwg/building-boiler.xml:
6331         * docs/pwg/building-chainfn.xml:
6332         * docs/pwg/building-signals.xml:
6333         * docs/pwg/building-state.xml:
6334         * docs/pwg/building-testapp.xml:
6335         * docs/pwg/intro-basics.xml:
6336         * docs/pwg/other-manager.xml:
6337         * docs/pwg/other-source.xml:
6338           Typo fixes.
6339         * docs/pwg/other-manager.xml:
6340           Add some first content. No example code yet.
6341         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6342           Remove double newlines.
6343
6344 2004-11-04  Wim Taymans  <wim@fluendo.com>
6345
6346         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6347         (remove_from_group), (normalize_group), (group_migrate_connected),
6348         (gst_opt_scheduler_iterate):
6349         * testsuite/schedulers/.cvsignore:
6350         * testsuite/schedulers/Makefile.am:
6351         * testsuite/schedulers/queue_link.c: (main):
6352         Added testcase for scheduler segfault.
6353         Fix scheduler segfault when removing a decoupled
6354         entry point as the last element from a group.
6355
6356 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6357
6358         * gst/gstmarshal.list: add missing marshaller, fixes build
6359
6360 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6361
6362         * docs/random/signal: added notes about using BOXED for GstBuffer
6363         signal marshallers, not POINTER
6364
6365 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6366
6367         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6368         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6369         POINTER=>BOXED changes to marshal GstBuffers
6370
6371 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6372
6373         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6374         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6375
6376 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6377
6378         * docs/gst/gstreamer-sections.txt:
6379         * docs/gst/tmpl/gstcaps.sgml:
6380         * docs/gst/tmpl/gsterror.sgml:
6381         * docs/gst/tmpl/gstinfo.sgml:
6382         * docs/gst/tmpl/gstmacros.sgml:
6383         * docs/gst/tmpl/gstutils.sgml:
6384         * docs/random/ensonic/interfaces.txt:
6385         * gst/gstinfo.h:
6386           added some more docs, removed two obsolete defines
6387
6388 2004-11-02  Kjartan Maraas <as at gnome.org>
6389
6390         reviewed by: Wim Taymans, Ronald Bultje.
6391
6392         * gst/cothreads.c: (cothread_create):
6393         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6394         (gst_bin_child_state_change_func):
6395         * gst/gstbuffer.c: (gst_buffer_span):
6396         * gst/gstelement.c: (gst_element_get_index),
6397         (gst_element_get_event_masks), (gst_element_get_query_types),
6398         (gst_element_get_formats):
6399         * gst/gsterror.c: (_gst_core_errors_init),
6400         (_gst_library_errors_init), (_gst_resource_errors_init),
6401         (_gst_stream_errors_init):
6402         * gst/gstobject.c: (gst_object_default_deep_notify):
6403         * gst/gstpad.c: (gst_pad_get_event_masks),
6404         (gst_pad_get_internal_links_default):
6405         * gst/gstplugin.c: (gst_plugin_register_func),
6406         (gst_plugin_get_module):
6407         * gst/gststructure.c: (gst_structure_get_string),
6408         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6409         (gst_structure_to_abbr):
6410         * gst/gstutils.c: (gst_print_element_args):
6411         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6412         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6413         Aplied part of patch #157127: Cleanup of issues reported by 
6414         sparse.
6415         Also do not try to use cothreads when there is no cothread
6416         context yet.
6417
6418 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6419
6420         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6421         (gst_opt_scheduler_iterate):
6422         Applied patch #154061. Running a pipeline in which an element 
6423         calls GST_ELEMENT_ERROR in the chain function, the opt 
6424         scheduler doesn't unref the chain so it never gets freed.
6425
6426 2004-11-02  Wim Taymans  <wim@fluendo.com>
6427
6428         * gst/gststructure.c: (gst_structure_get_abbrs),
6429         (gst_structure_from_abbr), (gst_structure_to_abbr):
6430         Remove that ugly if-then thing in the code that converts
6431         between strings and types.
6432
6433 2004-11-02  Wim Taymans  <wim@fluendo.com>
6434
6435         * gst/gstscheduler.c: (gst_scheduler_add_element),
6436         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6437         Aplied clock distribution patch, this should fix bug
6438         #148787.
6439
6440 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6443
6444         * po/LINGUAS:
6445         * po/nb.po:
6446           Added Norwegian Bokmaal translation
6447
6448 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6449
6450         * tools/gst-inspect.c: (print_signal_info):
6451           print signal arguments as pointers if they are
6452
6453 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6454
6455         * docs/pwg/building-boiler.xml:
6456           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6457
6458 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6459
6460         * gst/parse/parse.l:
6461         * testsuite/parse/parse1.c: (main):
6462         Since parse can do 'element name=a:b' make 'a:b.' work as
6463         well. 
6464         Added testcase to verify fix.
6465
6466 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6467
6468         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6469         Use the realpad when printing the direction.
6470         Add extra \n when printing extensions of typefind factories.
6471
6472 2004-10-13  David Schleef  <ds@schleef.org>
6473
6474         * examples/manual/Makefile.am: $< isn't portable in Makefile
6475         rules.
6476
6477 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6478
6479         * docs/gst/tmpl/gstobject.sgml:
6480         * docs/gst/tmpl/gstplugin.sgml:
6481         * docs/gst/tmpl/gstpluginfeature.sgml:
6482         * docs/gst/tmpl/gstregistry.sgml:
6483         * docs/gst/tmpl/gstversion.sgml:
6484         * gst/gstbin.c:
6485           more api documentation
6486         * gst/gstplugin.c: (gst_plugin_register_func),
6487         (gst_plugin_check_file), (gst_plugin_load_file):
6488           better error signaling and logging
6489
6490 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6491
6492         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6493           Subtract current queue contents from position queries.
6494
6495 2004-10-11  Johan Dahlin  <johan@gnome.org>
6496
6497         * gst/gsturi.c (gst_uri_get_location): unescape string
6498         (gst_uri_construct): escape string.
6499
6500 2004-10-11  Benjamin Otte  <otte@gnome.org>
6501
6502         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6503         (gst_pad_try_set_caps_nonfixed):
6504           allow renegotiation of unconnected pads (as inside spider). Simply
6505           return OK if unconnected - mimic try_set_caps there.
6506
6507 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6508
6509         * gst/gstbin.c: (gst_bin_sync_children_state):
6510           Add missing break.
6511
6512 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6513
6514         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6515         Set element to EOS before sending EOS event
6516
6517 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6518
6519         * gst/elements/gsttypefindelement.c:
6520         (gst_type_find_element_handle_event):
6521         Handle EOS events when doing the transition from
6522         typefind to data passing. This should fix the
6523         infinite loops in short files.
6524
6525 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6526
6527         * gst/gstthread.c: (gst_thread_change_state),
6528         (gst_thread_child_state_change):
6529         Make sure no iteration happens while performing
6530         the state change as it could mess up the internal
6531         consistency of the thread state.
6532
6533 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6534
6535         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6536         (gst_thread_change_state), (gst_thread_child_state_change):
6537         Do not try to grab the iterate lock in the state change method
6538         when we are in the same thread as the iterate or else we
6539         could deadlock. Some other cleanups.
6540
6541 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6542
6543         * configure.ac:
6544           bump nano to cvs
6545
6546 === release 0.8.7 ===
6547
6548 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6549
6550         * configure.ac:
6551         * NEWS:
6552         * RELEASE:
6553         * configure.ac:
6554           releasing 0.8.7, "A Cruise"
6555
6556 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6557
6558         * docs/random/mimetypes:
6559         Add an entry for Sony ATRAC3 audio format with mime-type
6560         used by rmdemux et riff-read
6561
6562 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6563
6564         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6565         Push the buffer store instead of clearing it in case that
6566         the stream is not seekable.
6567
6568 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6569
6570         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6571         (gst_thread_main_loop):
6572         Lock the iteration and the state change so that automatic
6573         negotiation and fixation does not happen at the same time
6574         as the in stream negotiation.
6575
6576 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6577
6578         * configure.ac:
6579           bump nano to cvs
6580
6581 === release 0.8.6 ===
6582
6583 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * configure.ac:
6586         * NEWS:
6587         * RELEASE:
6588         * configure.ac:
6589           releasing 0.8.6, "Narc"
6590
6591 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * configure.ac:
6594           prerel bump
6595
6596 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         patch by: Steve Lhomme
6599
6600         * gst/elements/gstfakesrc.c:
6601         * gst/elements/gstidentity.c:
6602         * gst/gstthread.c:
6603           Fix for #153881
6604
6605 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6606
6607         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6608         Fix threadsafety of the crc checking function.
6609
6610 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         patch by: Ronald Bultje
6613
6614         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6615         (gst_type_find_element_handle_event),
6616         (gst_type_find_element_chain):
6617         * gst/elements/gsttypefindelement.h:
6618          #153657.
6619          Filter out discont event from seekable sources when typefind
6620          asks them to seek.  Fixes typefind with demuxers for
6621          avi, asf and matroska.
6622
6623 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6624
6625         * docs/gst/gstreamer-sections.txt:
6626         * gst/gstcaps.c:
6627         * gst/gstcaps.h:
6628         * gst/gstpad.c:
6629           Revert preferred caps: (#147789)
6630
6631 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6632
6633         * win32/dirent.c:
6634           fix a memory leak
6635
6636 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6637
6638         * configure.ac:
6639           bump for prerelease
6640
6641 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6642
6643         * docs/Makefile.am:
6644         * docs/manual/elements-api.xml:
6645           restructure so that common stuff is shown first
6646         * docs/manual/init-api.xml:
6647           convert to examples
6648         * docs/manual/manual.xml:
6649         * docs/manuals.mak:
6650         * docs/url.entities:
6651           link to API on the website, possibly override later in build
6652         * examples/manual/.cvsignore:
6653           ignore more
6654         * examples/manual/Makefile.am:
6655           add more examples
6656         * examples/manual/extract.pl:
6657           error out on failure
6658
6659 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6660
6661         * docs/gst/tmpl/gstthread.sgml:
6662         * docs/manual/init-api.xml:
6663         * examples/manual/Makefile.am:
6664           convert two code bits to examples
6665
6666 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6667
6668         * gst/gstelement.c: (gst_element_change_state):
6669           Well, actually, I was about to remove this insane assert when
6670           I noticed Wim already did that. A warning is nice so we can
6671           fix actual ugs (using --g-fatal-warnings and backtraces), so
6672           I added that instead.
6673
6674 2004-09-06  Wim Taymans  <wim@fluendo.com>
6675
6676         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6677         (gst_element_threadsafe_properties_post_run),
6678         (gst_element_set_state), (gst_element_change_state):
6679         Added extra refcounting around various places. 
6680
6681 2004-09-06  Wim Taymans  <wim@fluendo.com>
6682
6683         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6684         Fix debug info.
6685
6686 2004-09-06  Wim Taymans  <wim@fluendo.com>
6687
6688         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6689         (remove_from_group):
6690         Some more debug info.
6691
6692 2004-09-03  Wim Taymans  <wim@fluendo.com>
6693
6694         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6695         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6696         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6697         (gst_fakesrc_get), (gst_fakesrc_change_state):
6698         * gst/elements/gstfakesrc.h:
6699         * gst/elements/gstidentity.c: (gst_identity_class_init),
6700         (gst_identity_init), (gst_identity_chain),
6701         (gst_identity_set_property), (gst_identity_get_property),
6702         (gst_identity_change_state):
6703         * gst/elements/gstidentity.h:
6704         Added datarate properties to limit the datarate.
6705
6706 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6707
6708         * gst/autoplug/gstspider.c: (plugin_init):
6709           don't set a rank. We don't want to autoplug by inserting spiders.
6710
6711 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6712
6713         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6714         (gst_spider_identity_plug):
6715           add a template for spider's sink
6716         * gst/gst.c: (gst_register_core_elements):
6717           queue's rank should be NULL, we don't want spider to add it.
6718
6719 2004-08-18  David Schleef  <ds@schleef.org>
6720
6721         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6722         * docs/libs/Makefile.am: same
6723         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6724         * docs/random/ds/0.9-planning: random additions
6725         * docs/random/ds/0.9-suggested-changes: same
6726         * gst/gstxml.h: remove vestigal GstXMLNs definition
6727
6728         Preferred caps: (#147789)
6729         * docs/gst/gstreamer-sections.txt: Add symbols
6730         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6731         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6732         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6733         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6734         (gst_caps_get_preferred), (gst_caps_set_preferred),
6735         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6736         (gst_caps_use_preferred): Handle caps preferences
6737         * gst/gstcaps.h: Add caps preferences
6738         * gst/gstpad.c: (gst_pad_link_get_preferred),
6739         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6740         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6741         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6742         negotiation.
6743
6744 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6745
6746         * gst/autoplug/gstspideridentity.c:
6747         (gst_spider_identity_request_new_pad):
6748         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6749         (gst_aggregator_init):
6750         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6751         (gst_fakesink_init):
6752         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6753         (gst_fakesrc_init):
6754         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6755         (gst_fdsink_init):
6756         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6757         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6758         (gst_filesink_init):
6759         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6760         (gst_filesrc_init):
6761         * gst/elements/gstidentity.c: (gst_identity_base_init),
6762         (gst_identity_init):
6763         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6764         (gst_multifilesrc_init):
6765         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6766         (gst_pipefilter_init):
6767         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6768         (gst_statistics_init):
6769         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6770         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6771           s/gst_pad_new/&_from_template/
6772           register pad templates in the base_init function
6773           add static pad template definitions
6774
6775 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6776
6777         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6778         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6779         * testsuite/refcounting/pad.c: (main):
6780         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6781           s/gst_pad_new/&_from_template/
6782           prepare deprecation of gst_pad_new
6783
6784 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         patch by: Luca Ognibene <skaboy81@virgilio.it>
6787
6788         * gst/gstcaps.c:
6789         * gst/gstelement.c:
6790         * gst/gstpad.c:
6791         * gst/gstxml.c:
6792           fix memleaks.  Fixes #150001
6793
6794 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6795
6796         * docs/random/ds/0.9-suggested-changes:
6797           add notes - mostly about pad templates
6798
6799 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6800
6801         * win32/GStreamer.vcproj:
6802           temporary locale files are .gmo not .mo
6803
6804 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6805
6806         * configure.ac: bump nano to cvs
6807
6808 === release 0.8.5 ===
6809
6810 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * configure.ac:
6813           releasing 0.8.5, "Stuttgart"
6814         * NEWS:
6815         * RELEASE:
6816         * configure.ac:
6817         * docs/random/release:
6818           updates for release
6819
6820 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6821
6822         patch by: Wim Taymans (wim@fluendo.com)
6823
6824         * gst/gstbuffer.c:
6825         * gst/gstindex.h:
6826         * libs/gst/dataprotocol/dataprotocol.c:
6827           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6828
6829 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6830
6831         * Makefile.am:
6832         * win32/MANIFEST:
6833           add win32 dir to the build.  Fixes #149981.
6834
6835 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6836
6837         * configure.ac:
6838           bump libtool versioning
6839         * gst/gststructure.c:
6840           mark function as static
6841         * po/af.po:
6842         * po/az.po:
6843         * po/ca.po:
6844         * po/cs.po:
6845         * po/en_GB.po:
6846         * po/fr.po:
6847         * po/nl.po:
6848         * po/sq.po:
6849         * po/sr.po:
6850         * po/sv.po:
6851         * po/tr.po:
6852         * po/uk.po:
6853           translations update
6854         * win32/README.txt:
6855           trademark protection
6856
6857 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         * configure.ac:
6860           fix GST_ORIGIN
6861           set GST_PACKAGE to source, and distinguish between release and other
6862         * tools/gst-inspect.c:
6863           print out plugin an element factory is part of so we see this info
6864
6865 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6866
6867         * docs/gst/gstreamer-sections.txt:
6868         * docs/gst/tmpl/gstbuffer.sgml:
6869         * docs/gst/tmpl/gstschedulerfactory.sgml:
6870           reorder docs a little, make GstBuffer's more sensible.
6871         * gst/gstbuffer.h:
6872           API: added GST_BUFFER_FLAG_DELTA_UNIT
6873         * gst/gstscheduler.c:
6874           comment API addition
6875
6876 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6877
6878         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6879           work with non-regular files that can be mmapped (like /dev/zero)
6880         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6881           get rid of typefinds that require a seek when we can't seek instead
6882           of trying them over and over again
6883         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6884           return non-zero failure value when the pipeline was interrupted or
6885           an error occurred
6886
6887 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6888
6889         * win32/config.h:
6890         * win32/GStreamer.vcproj:
6891           compile and install the locales
6892
6893 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6894
6895         * gst/gstvalue.c:
6896           fix a possible memory leak under Windows
6897
6898 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6899
6900         * win32/GStreamer.vcproj:
6901           fix a memory leak that occured under Windows
6902         * win32/gstreamer.def:
6903           add gst_scheduler_register
6904
6905 2004-08-11  Benjamin Otte  <otte@gnome.org>
6906
6907         * docs/gst/gstreamer-sections.txt:
6908         * gst/gstscheduler.c: (gst_scheduler_register):
6909         * gst/gstscheduler.h:
6910           API:
6911           add gst_scheduler_register shortcut similar to gst_element_register
6912         * gst/schedulers/entryscheduler.c: (plugin_init):
6913         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6914         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6915           use it
6916
6917 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6918
6919         * gst/gstvalue.h:
6920           fix a memory leak that occured under Windows
6921
6922 2004-08-10  Colin Walters  <walters@redhat.com>
6923
6924         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6925         Don't use O_EXCL to open temporary registry.  It will prevent
6926         registry creation if a temporary one already exists, which
6927         is unnecessary.
6928
6929 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6930
6931         * docs/gst/gstreamer-sections.txt:
6932         * docs/gst/tmpl/gstvalue.sgml:
6933           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6934
6935 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6936
6937         * win32/gstbytestream.vcproj:
6938         * win32/gstelements.vcproj:
6939         * win32/gstgetbits.vcproj:
6940         * win32/gst-inspect.vcproj:
6941         * win32/gst-launch.vcproj:
6942         * win32/gstoptimalscheduler.vcproj:
6943         * win32/GStreamer.vcproj:
6944         * win32/gst-register.vcproj:
6945         * win32/gstspider.vcproj:
6946           update the include and lib dirs to fit standard libraries as
6947           described in the Win32 manual
6948
6949 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6950
6951         * win32/config.h:
6952         * win32/gstversion.h:
6953           enable NLS again, push the version number for the coming 0.8.5 release
6954
6955 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6956
6957         * gst/gstvalue.h:
6958           export gst_type_XXX for windows DLLs
6959
6960 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6961
6962         * docs/faq/gst-uninstalled:
6963           fix PKG_CONFIG_PATH and PYTHONPATH
6964         * gst/schedulers/Makefile.am:
6965           cleanup
6966         * libs/gst/bytestream/bytestream.c:
6967           remove newline
6968         * po/LINGUAS:
6969         * po/sq.po:
6970           adding Albanian translation (Laurent Dhima)
6971         * po/cs.po:
6972           updated
6973
6974 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6975
6976         * po/ca.po:
6977         * po/sv.po:
6978           updated translations
6979
6980 2004-08-04  Benjamin Otte  <otte@gnome.org>
6981
6982         * tests/mass_elements.c: (main):
6983           allow specifying src and sink element explicitly, so I can test
6984           videotestsrc instead of fakesrc
6985
6986 2004-08-04  Benjamin Otte  <otte@gnome.org>
6987
6988         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6989         (gst_structure_id_empty_new), (gst_structure_empty_new),
6990         (gst_structure_copy):
6991           add gst_structure_id_empty_new_with_size to allow preallocating
6992           value array sizes. Use this in gst_structure_copy to get rid of
6993           reallocs.
6994           don't do quark=>string=>quark when copying structures
6995
6996 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6997
6998         * docs/manual/win32.xml:
6999         * win32/README.txt:
7000           update documentation with the clean version of dependencies
7001
7002 2004-08-03  Benjamin Otte  <otte@gnome.org>
7003
7004         * gst/schedulers/entryscheduler.c:
7005         (gst_entry_scheduler_remove_element):
7006           fix for GST_DISABLE_DEBUG
7007         * tools/gst-launch.c: (print_tag):
7008           fixes for G_DISABLE_ASSERT
7009
7010 2004-08-03  Benjamin Otte  <otte@gnome.org>
7011
7012         * gst/gst.c: (gst_register_core_elements):
7013           fix for G_DISABLE_ASSERT
7014         * gst/gstinfo.c: (__gst_in_valgrind):
7015           add for GST_DISABLE_DEBUG
7016
7017 2004-08-03  Benjamin Otte  <otte@gnome.org>
7018
7019         * gst/parse/parse.l:
7020           fix for G_DISABLE_ASSERT
7021
7022 2004-08-03  Wim Taymans  <wim@fluendo.com>
7023
7024         * gst/gstbin.c: (gst_bin_get_type),
7025         (gst_bin_child_state_change_func):
7026         * gst/gstthread.c: (gst_thread_change_state):
7027         Backported some debug logging from a reverted patch
7028         Don't try to destroy the thread twice. Added some more
7029         debugging in GstThread. Unlock and signal even if we
7030         are in the thread context.
7031
7032 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * po/uk.po:
7035           updated translation
7036
7037 2004-07-30  David Schleef  <ds@schleef.org>
7038
7039         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7040
7041 2004-07-29  David Schleef  <ds@schleef.org>
7042
7043         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7044         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7045
7046 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7047
7048         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7049         (gst_bin_add_func), (gst_bin_remove_func),
7050         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7051         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7052         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7053         (gst_bin_sync_children_state):
7054         * gst/gstbin.h:
7055         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7056         (gst_thread_change_state):
7057         * testsuite/states/Makefile.am:
7058           revert state change patches as agreed so we can rework them
7059           gradually
7060
7061 2004-07-29  Benjamin Otte  <otte@gnome.org>
7062
7063         * libs/gst/control/Makefile.am:
7064           link to libgstreamer (fixes Debian bug 262019, see
7065           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7066
7067 2004-07-29  Wim Taymans  <wim@fluendo.com>
7068
7069         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7070         (check_from_fraction_convert), (transform_test), (main):
7071         Make the test less pedantic about float roundoff errors.
7072
7073 2004-07-29  Benjamin Otte  <otte@gnome.org>
7074
7075         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7076         (gst_filesrc_srcpad_event):
7077           make seek events to before start/after end of file not fail, but
7078           seek to start/end instead
7079         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7080           add more output
7081
7082 2004-07-29  Benjamin Otte  <otte@gnome.org>
7083
7084         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7085           check that caps are fixed
7086         * gst/gstpad.c: (gst_pad_template_new):
7087           don't try to simplify caps, costs too much time on gst_init
7088         * gst/gstplugin.c: (gst_plugin_add_feature):
7089           G_ERROR if features are added twice
7090         * gst/gsttypefind.c: (gst_type_find_register):
7091         * gst/gstelementfactory.c: (gst_element_register):
7092           don't add features twice
7093         * docs/random/ds/0.9-suggested-changes:
7094           add note about possible gst_init optimization
7095
7096 2004-07-28  David Schleef  <ds@schleef.org>
7097
7098         * testsuite/elements/Makefile.am:
7099         * testsuite/elements/struct_i386.h:
7100         * testsuite/elements/struct_size.c: (main):  A little test
7101         to keep distcheck from working if someone changes a structure
7102         size accidentally.
7103
7104 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7105
7106         * docs/libs/Makefile.am:
7107         * docs/libs/gstreamer-libs-docs.sgml:
7108         * docs/libs/gstreamer-libs-sections.txt:
7109         * docs/libs/tmpl/gstbytestream.sgml:
7110         * docs/libs/tmpl/gstcontrol.sgml:
7111         * docs/libs/tmpl/gstdataprotocol.sgml:
7112         * docs/libs/tmpl/gstgetbits.sgml:
7113         * libs/gst/bytestream/Makefile.am:
7114         * libs/gst/bytestream/bytestream.c:
7115         * libs/gst/bytestream/bytestream.h:
7116         * libs/gst/control/Makefile.am:
7117         * libs/gst/dataprotocol/Makefile.am:
7118         * libs/gst/getbits/Makefile.am:
7119         * libs/gst/getbits/getbits.h:
7120           various doc and style fixes, adding bytestream to libs docs.
7121
7122 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7123
7124         * docs/gst/gstreamer-docs.sgml:
7125         * docs/libs/Makefile.am:
7126         * docs/libs/gstreamer-libs-docs.sgml:
7127         * docs/libs/gstreamer-libs-sections.txt:
7128         * libs/gst/control/dparam.c:
7129           more doc fixes.  gst-libs docs now build the same way as gst.
7130
7131 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         * configure.ac:
7134         * testsuite/Makefile.am:
7135         * testsuite/bins/Makefile.am:
7136         * testsuite/caps/Makefile.am:
7137         * testsuite/cleanup/Makefile.am:
7138         * testsuite/clock/Makefile.am:
7139         * testsuite/debug/Makefile.am:
7140         * testsuite/dlopen/Makefile.am:
7141         * testsuite/dynparams/Makefile.am:
7142         * testsuite/elements/.cvsignore:
7143         * testsuite/elements/Makefile.am:
7144         * testsuite/enumcaps/Makefile.am:
7145         * testsuite/enumcaps/enumcaps.c:
7146         * testsuite/ghostpads/Makefile.am:
7147         * testsuite/indexers/Makefile.am:
7148         * testsuite/negotiation/Makefile.am:
7149         * testsuite/parse/Makefile.am:
7150         * testsuite/plugin/Makefile.am:
7151         * testsuite/refcounting/Makefile.am:
7152         * testsuite/schedulers/.cvsignore:
7153         * testsuite/states/Makefile.am:
7154         * testsuite/tags/Makefile.am:
7155         * testsuite/threads/Makefile.am:
7156           fold enumcaps into caps dir
7157           clean up Makefile.am's for testsuite
7158
7159 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7160
7161         * docs/gst/Makefile.am:
7162         * docs/libs/Makefile.am:
7163           clean up docs build.  Fixes needless rebuilding of template files.
7164
7165 2004-07-28  Wim Taymans  <wim@fluendo.com>
7166
7167         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7168         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7169         Make sure that a bin state change tries to keep the children
7170         in sync. 
7171         Added debug logging to the thread.
7172
7173 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7174
7175         * win32/GStreamer.vcproj:
7176         * win32/gstreamer.def:
7177           more exports for the plugins
7178
7179 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7180
7181         * win32/gstgetbits.vcproj:
7182         * win32/gstgetbits.def:
7183         * win32/msvc71.sln:
7184           add support for the getbits plugin
7185
7186 2004-07-27  Wim Taymans  <wim@fluendo.com>
7187
7188         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7189         (gst_value_transform_fraction_double), (_gst_value_initialize):
7190         * testsuite/caps/Makefile.am:
7191         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7192         (check_from_fraction_convert), (transform_test), (main):
7193         Added transform functions between double and fraction.
7194         Added testcase to verify transforms
7195
7196 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7197
7198         * win32/GStreamer.vcproj:
7199           rename GStreamer-0.8.lib to libgstreamer.lib
7200
7201 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7202
7203         * win32/gstelements.vcproj:
7204         * win32/gstoptimalscheduler.vcproj:
7205           fixes for the Release build
7206
7207 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7208
7209         * win32/config.h:
7210           update the version number
7211
7212 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7213
7214         * win32/GStreamer.vcproj:
7215           add gstinterface to the build
7216
7217 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7218
7219         * win32/gstreamer.def:
7220           add many definitions needed by plugins,
7221           GST_CAT_DEFAULT only available in the Debug build ?
7222
7223 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7224
7225         * gst/gstelement.c: (gst_element_set_eos_recursive):
7226           various whitespace fixes.
7227           doc fix, fixes #148497
7228
7229 2004-07-25  Benjamin Otte  <otte@gnome.org>
7230
7231         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7232           don't delay links on the sink elements, it causes unnegotiated
7233           links.
7234         * gst/elements/gsttypefindelement.c:
7235         (gst_type_find_element_base_init):
7236           add our padtemplates, we indeed do have some.
7237         * gst/elements/gsttypefindelement.c:
7238         (gst_type_find_element_handle_event),
7239         (gst_type_find_element_chain):
7240           don't push data when typefinding failed.
7241         * gst/gstpad.c: (gst_pad_link_fixate):
7242           check that no fixate function returns empty caps.
7243         * gst/gstpad.c: (gst_pad_push):
7244           check that the link is negotiated before data gets pushed.
7245         * tools/gst-register.c: (main):
7246           don't assert (fixes #148283)
7247
7248 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7249
7250         * docs/gst/gstreamer-sections.txt:
7251         * docs/gst/tmpl/gstconfig.sgml:
7252           add GST_PLUGIN_EXPORT definition
7253
7254 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7255
7256         * gst/gstplugin.h:
7257         * gst/gstconfig.h.in:
7258         * win32/gstconfig.h:
7259         * win32/gstelements.def:
7260         * win32/gstelements.vcproj:
7261         * win32/gstoptimalscheduler.def:
7262         * win32/gstoptimalscheduler.vcproj:
7263         * win32/gstspider.def:
7264         * win32/gstspider.vcproj:
7265           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7266
7267 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7268
7269         * docs/gst/gstreamer-sections.txt:
7270           remove GST_CAT_DEFAULT because the type has changed
7271
7272 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7273
7274         * win32/gstbytestream.vcproj:
7275         * win32/gstelements.vcproj:
7276         * win32/gst-inspect.vcproj:
7277         * win32/gst-launch.vcproj:
7278         * win32/gstoptimalscheduler.vcproj:
7279         * win32/GStreamer.vcproj:
7280         * win32/gst-register.vcproj:
7281         * win32/gstspider.vcproj:
7282         * win32/msvc71.sln:
7283           Copy the files where needed after building, The testsuite will be
7284           built separately
7285
7286 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7287
7288         * win32/config.h:
7289         * win32/README.txt:
7290         * docs/manual/win32.xml:
7291         Fixed the plugin and GStreamer location
7292
7293 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7294
7295         * win32/gstreamer.def:
7296         More exports for the plugins
7297
7298 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7299
7300         * gst/gstinfo.h:
7301         Marc was right, we need to export literally GST_CAT_DEFAULT
7302
7303 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7304
7305         * win32/config.h:
7306         NLS crashes in gettext, disabled until this is solved
7307
7308 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7309
7310         * win32/gst-inspect.vcproj:
7311         * win32/gst-launch.vcproj:
7312         Should use NLS when available
7313
7314 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7315
7316         * gst/registries/gstxmlregistry.c:
7317         removing the file doesn't seem to be a good idea on Linux
7318
7319 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7320
7321         * gst/registries/gstxmlregistry.c:
7322         Remove the registry before renaming the tempfile (needed for Windows)
7323
7324 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7325
7326         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7327         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7328         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7329         * gst/elements/gstmultifilesrc.h:
7330         Added newmedia property so it generates newmedia events between each
7331         file when property is set, as well as fixed eos handling
7332
7333 2004-07-22  David Schleef  <ds@schleef.org>
7334
7335         * gst/gststructure.c: (gst_structure_id_empty_new),
7336         (gst_structure_empty_new):  Set type field correctly.
7337         * gst/gststructure.h: Check type field correctly.
7338         * testsuite/caps/Makefile.am:
7339         * testsuite/caps/structure.c: (test1), (main): Add a very small
7340         test for structures.
7341
7342 2004-07-22  David Schleef  <ds@schleef.org>
7343
7344         * docs/random/ds/0.9-suggested-changes: more comments
7345         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7346
7347 2004-07-22  Benjamin Otte  <otte@gnome.org>
7348
7349         * gst/gstelementfactory.c: (gst_element_register):
7350           set the factory in the class struct, so gst_element_get_factory
7351           actually works
7352         * gst/parse/grammar.y:
7353           set element to playing when it gets unlocked as we can't rely on the
7354           bin state - all elements in the bin state might still be locked in
7355           NULL)
7356
7357 2004-07-22  Benjamin Otte  <otte@gnome.org>
7358
7359         * gst/gstelement.c: (gst_element_set_state_func):
7360           make this a static function
7361
7362 2004-07-22  Wim Taymans  <wim@fluendo.com>
7363
7364         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7365         (gst_opt_scheduler_pad_link):
7366         fix 147894-2 and the group_link problem.
7367
7368 2004-07-22  Wim Taymans  <wim@fluendo.com>
7369
7370         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7371         (handoff_identity), (main):
7372         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7373         (handoff_identity), (main):
7374         * testsuite/schedulers/Makefile.am:
7375         * testsuite/schedulers/group_link.c: (main):
7376         Show bug in scheduler when linking chain and loop based element 
7377         where the chain based element was not yet in a group.
7378
7379 2004-07-21  Benjamin Otte  <otte@gnome.org>
7380
7381         * gst/.cvsignore:
7382         * gst/autoplug/.cvsignore:
7383         * gst/elements/.cvsignore:
7384         * gst/indexers/.cvsignore:
7385         * libs/gst/bytestream/.cvsignore:
7386         * libs/gst/control/.cvsignore:
7387         * libs/gst/getbits/.cvsignore:
7388         * testsuite/states/.cvsignore:
7389         * testsuite/threads/.cvsignore:
7390           keep this up to date, since I seem to be the only one who cares
7391           about not missing files on commits (editor's note: no you don't,
7392           but feel free to change them at the time you add stuff instead
7393           of later on)
7394
7395 2004-07-21  Benjamin Otte  <otte@gnome.org>
7396
7397         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7398         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7399         (gst_bin_child_state_change_func), (set_kid_state_func),
7400         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7401           make state changes work correctly and reentrant (so removing
7402           elements from bins during state changes of bins doesn't cause
7403           segfaults or even wrong states)
7404           add debugging category and debugging output to print children states
7405         * gst/gstbin.c: (gst_bin_dispose): 
7406           add some assertion checks
7407         * gst/gstbin.h:
7408         * gst/gstbin.c: (gst_bin_sync_children_state):
7409           deprecate this function - it just does gst_bin_set_state (bin,
7410           GST_STATE (bin)) 
7411         * testsuite/threads/queue.c: (main):
7412           don't use gst_bin_sync_children_state anymore
7413         * testsuite/states/Makefile.am:
7414         * testsuite/states/bin.c:
7415           test that the state changes of bins work as expected
7416         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7417           some adjustments to change states correctly, too
7418         * gst/gstthread.c: (gst_thread_change_state):
7419           don't enable/disable "threadsafe" properties, they're unused and
7420           cause random segfaults
7421         * testsuite/threads/Makefile.am:
7422           the queue check randomly passes now, ignore it
7423
7424 2004-07-21  Benjamin Otte  <otte@gnome.org>
7425
7426         * gst/gstpad.c:
7427           check if data is NULL before outputting debug info. (fixes #145100)
7428
7429 2004-07-21  Benjamin Otte  <otte@gnome.org>
7430
7431         * gst/schedulers/entryscheduler.c:
7432         (gst_entry_scheduler_loop_wrapper),
7433         (gst_entry_scheduler_chain_wrapper),
7434         (gst_entry_scheduler_get_wrapper):
7435           reset the state when the cothread starts, so we don't get assertion
7436           failures on restarting of cothreads
7437
7438 2004-07-20  Benjamin Otte  <otte@gnome.org>
7439
7440         * gst/gstelement.c: (gst_element_link_pads_filtered):
7441           use correct sinkpad, if only sinkpad is specified, but not srcpad
7442           (fixes #147889)
7443         * gst/gstelement.c: (gst_element_set_state_func),
7444         (gst_element_change_state): ref/unref the element, signal handlers
7445         could get rid of the element otherwise
7446
7447 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7448
7449         * docs/random/ds/0.9-suggested-changes:
7450           Make note about renaming fixed-list to array.
7451         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7452         (_gst_value_initialize):
7453           Add array intersections.
7454         * testsuite/caps/intersect2.c: (main):
7455           Add test for array intersections.
7456
7457 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7458
7459         * configure.ac: back to cvs
7460
7461 === release 0.8.4 ===
7462
7463 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7464
7465         * configure.ac:
7466           releasing 0.8.4, "Paella"
7467           bump libtool versioning
7468
7469 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7470
7471         * po/LINGUAS:
7472         * po/ca.po:
7473           adding Catalan translation (Jordi Mallach)
7474
7475 2004-07-20  Wim Taymans  <wim@fluendo.com>
7476
7477         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7478         (handoff_identity), (main):
7479         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7480         (handoff_identity), (main):
7481         * testsuite/schedulers/Makefile.am:
7482         Added failing testcase for variant of #147894
7483
7484 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7485
7486         patch by: David Moore
7487
7488         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7489         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7490         (group_migrate_connected):
7491         * testsuite/schedulers/Makefile.am:
7492           fix for #142813 (Deadlock in optimal scheduler)
7493
7494 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7495
7496         patch by: Wim Taymans
7497
7498         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7499         (gst_opt_scheduler_schedule_run_queue),
7500         (gst_opt_scheduler_get_wrapper), (get_group),
7501         (group_migrate_connected):
7502         * testsuite/schedulers/Makefile.am:
7503           fix for #147819 (Add some checks in the opt scheduler)
7504
7505 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7506
7507         patch by: Benjamin Otte
7508
7509         * gst/gstelementfactory.c: (__gst_element_details_set):
7510           fix for #147929: running gst-register in non-utf8 locale can cause
7511           invalid registry
7512
7513 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7514
7515         patch by: Wim Taymans
7516
7517         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7518         (group_has_element), (element_get_reachables_func),
7519         (group_migrate_connected):
7520           fix for #147894 (opt scheduler decoupled elements mismanagement)
7521         * testsuite/schedulers/Makefile.am:
7522           testsuite app now passes
7523
7524 2004-07-19  Wim Taymans  <wim@fluendo.com>
7525
7526         * testsuite/schedulers/147819.c: (handoff_identity1),
7527         (handoff_identity2), (main):
7528         * testsuite/schedulers/Makefile.am:
7529         Added testcase for bug 147819
7530
7531 2004-07-19  Wim Taymans  <wim@fluendo.com>
7532
7533         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7534         (handoff_identity), (main):
7535         * testsuite/schedulers/Makefile.am:
7536         Added testcase for bug 147894
7537
7538 2004-07-16  Wim Taymans  <wim@fluendo.com>
7539
7540         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7541         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7542         * testsuite/schedulers/Makefile.am:
7543         Added testsuite for bug 142183 in its two incarnations. Refcount
7544         is not increased for scheduled elements and threadsafe properties
7545         mutexes are not properly unlocked.
7546
7547 2004-07-16  Wim Taymans  <wim@fluendo.com>
7548
7549         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7550         (create_chain), (destroy_chain), (create_group), (destroy_group),
7551         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7552         (group_dec_link), (gst_opt_scheduler_pad_link),
7553         (group_inc_links_for_element), (group_migrate_connected):
7554         Call group_inc_link with the proper src->sink ordering -- 
7555         break this, and we break sort_chain. patch from wingo for bug
7556         147713.
7557         Partially revert patch 1.89. When adding a loop based element to 
7558         the scheduler, the links to other groups are automatically followed
7559         and incremented. This should not happen because the bin will call
7560         pad_link explicitly for those connection, resulting in them counted 
7561         twice. Results in assertion failure on pipeline cleanup.
7562
7563 2004-07-16  Wim Taymans  <wim@fluendo.com>
7564
7565         * testsuite/schedulers/143777-2.c: (main):
7566         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7567         (main):
7568         * testsuite/schedulers/Makefile.am:
7569         Added cleanup code to testcase 143777-2.
7570         Added testcase to show bug 147713, does not really show the
7571         deadlock as I can't figure out how to trigger it, but it does
7572         demonstrate bad ordering in the scheduler.
7573
7574 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7575
7576         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7577           change strndup to g_strndup.  Fixes #147707
7578
7579 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7580
7581         * po/af.po:
7582         * po/az.po:
7583         * po/cs.po:
7584         * po/en_GB.po:
7585         * po/fr.po:
7586         * po/nl.po:
7587         * po/sr.po:
7588         * po/sv.po:
7589         * po/tr.po:
7590         * po/uk.po:
7591           updated translations
7592
7593 2004-07-16  Benjamin Otte  <otte@gnome.org>
7594
7595         * gst/gstvalue.c: (gst_greatest_common_divisor):
7596           use ints and return ints, fractions only use ints, too, so this
7597           avoids accidently casting multiplications to unsigned
7598         (gst_value_lcopy_fraction): it's ints, not uint32
7599         (gst_value_set_fraction): disallow minint, multiplying and negation
7600           are broken with it
7601         (gst_value_fraction_multiply): fix to make large numbers work and get
7602         rid of the assumption that the multiplication of two ints fits an
7603         int64 - dunno if that's true for all systems
7604         * testsuite/caps/Makefile.am:
7605         * testsuite/caps/fraction-multiply-and-zero.c:
7606         (check_multiplication), (check_equal), (zero_test), (main):
7607           add tests for all the stuff above
7608         * testsuite/caps/value_compare.c: (test1):
7609           fix comment
7610         * tests/.cvsignore:
7611         * testsuite/caps/.cvsignore:
7612         * testsuite/debug/.cvsignore:
7613         * testsuite/dlopen/.cvsignore:
7614         * testsuite/states/.cvsignore:
7615           get up to date
7616
7617 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7618
7619         * docs/manual/bins-api.xml:
7620         * docs/manual/factories.xml:
7621         * docs/manual/helloworld.xml:
7622         * docs/manual/links-api.xml: 
7623           fixes for out of date info, incorrect info and grammar
7624
7625 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7626
7627         * docs/manual/pads.xml:
7628         * docs/manual/pads-api.xml: grammar fix
7629
7630 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7631
7632         * docs/manual/pads-api.xml: typo + grammar fix
7633
7634 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7635
7636         * docs/gst/gstreamer-sections.txt:
7637           add new symbols
7638         * docs/gst/tmpl/gstelement.sgml:
7639         * docs/gst/tmpl/gstpad.sgml:
7640         * docs/gst/tmpl/gsttypes.sgml:
7641         * docs/gst/tmpl/gstvalue.sgml:
7642           update docs
7643         * gst/gststructure.c: (gst_structure_set_valist),
7644         (gst_structure_from_abbr), (gst_structure_to_abbr):
7645         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7646         (gst_greatest_common_divisor), (gst_value_init_fraction),
7647         (gst_value_copy_fraction), (gst_value_collect_fraction),
7648         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7649         (gst_value_get_fraction_numerator),
7650         (gst_value_get_fraction_denominator),
7651         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7652         (gst_value_deserialize_fraction),
7653         (gst_value_transform_fraction_string),
7654         (gst_value_transform_string_fraction),
7655         (gst_value_compare_fraction), (_gst_value_initialize):
7656         * gst/gstvalue.h:
7657           adding GstFraction GValue type, get/set, and multiply
7658         * testsuite/caps/Makefile.am:
7659         * testsuite/caps/fraction.c: (test), (main):
7660         * testsuite/caps/string-conversions.c: (main):
7661         * testsuite/caps/value_compare.c: (test1), (main):
7662           add regression tests for GstFraction
7663
7664 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7665         
7666         * docs/manual/init-api.xml: Grammar fix
7667
7668 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7669
7670         * docs/manual/states.xml: Fix inconsistent information
7671
7672 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * gst/gstelement.c: (gst_element_set_state):
7675         * gst/gstpad.c: (gst_pad_try_set_caps):
7676         * gst/gststructure.c:
7677         * gst/gstthread.c: (gst_thread_child_state_change):
7678         * gst/gstvalue.c: (gst_value_compare_double):
7679         * gst/gstvalue.h:
7680         * testsuite/parse/parse1.c: (main):
7681           debugging additions and style cleanups
7682
7683 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7684
7685         * docs/manual/states.xml: Grammar fix
7686
7687 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7688
7689         * docs/manual/pads.xml: Grammar fix
7690
7691 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7692
7693         * docs/manual/elements.xml: Fixed image reference
7694
7695 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7696
7697         * docs/manual/goals.xml: Grammar fix
7698
7699 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7700
7701         * docs/manual/motivation.xml:
7702         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7703
7704 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7705
7706         * docs/manual/motivation.xml: Fix spelling
7707
7708 2004-07-15  Benjamin Otte  <otte@gnome.org>
7709
7710         * gst/gstelement.h: 
7711           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7712           strings.
7713         * gst/gstelement.c (gst_element_class_init):
7714           GError's are boxed, not objects
7715         * gst/gstmarshal.list:
7716           update list for the fixed error signal
7717
7718 2004-07-14  Andy Wingo  <wingo@pobox.com>
7719
7720         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7721         there all along, but the function wasn't. (guile-gstreamer's build
7722         system uses the address of the function -- I wasn't actually
7723         trying to use this.)
7724
7725 2004-07-14  Andy Wingo  <wingo@pobox.com>
7726
7727         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7728         as gst_pad_proxy_pad_link) just link to every other pad when they
7729         are called. In the case where the graph has cycles, this will mean
7730         that a call to try_set_caps will recurse. Allow this recursion
7731         and return OK, while we wait for the first try_set_caps to give a
7732         proper return value.
7733         (gst_pad_link_call_link_functions): Since this function is the
7734         only one to set the NEGOTIATING flag on a pad, if the flag is set
7735         it means that the link functions have indirectly recursed. If this
7736         happens, error out to avoid infinite recursion and an eventual
7737         SEGV.
7738         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7739         (gst_pad_proxy_getcaps): Intersect the result with the template
7740         caps to ensure that the return value is valid.
7741
7742 2004-07-14  Andy Wingo  <wingo@pobox.com>
7743
7744         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7745         one refcount, the calling function is the owner of the buffer.
7746
7747 2004-07-14  Wim Taymans  <wim@fluendo.com>
7748
7749         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7750         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7751         Fix stupid warning when an element is to be migrated but
7752         is already migrated.
7753
7754 2004-07-14  Wim Taymans  <wim@fluendo.com>
7755
7756         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7757         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7758         Make sure that a single non-loop-based element does not 
7759         end up in a group. This fixes the testsuite again.
7760
7761 2004-07-14  Wim Taymans  <wim@fluendo.com>
7762
7763         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7764         (add_to_group), (merge_groups), (schedule_group),
7765         (gst_opt_scheduler_get_wrapper), (group_elements),
7766         (group_dec_link), (gst_opt_scheduler_pad_link),
7767         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7768         (gst_opt_scheduler_iterate):
7769         move isolated groups to a new chain.
7770         Emit a warning instead of segfaulting in some error cases.
7771         Fix a bug where the link count between groups was not calculated 
7772         correctly. Fixes #144510.
7773
7774 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7775         * gst/elements/gstfilesrc.c:
7776           Binary files support under Windows now OK
7777       
7778 2004-07-13  Benjamin Otte  <otte@gnome.org>
7779
7780           compatibility fixes for Solaris 8/gcc 2.95
7781         * configure.ac:
7782           include libintl libs in LDFLAGS
7783         * gstvalue.c (gst_value_deserialize_buffer):
7784           cast isxdigit stuff to int to silence compiler warning
7785
7786 2004-07-12  Benjamin Otte  <otte@gnome.org>
7787
7788         * gst/gsttypes.h:
7789           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7790           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7791           just causes support madness
7792         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7793           make it work without this
7794         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7795         (gst_file_index_commit):
7796           glib IO channels don't want binary mode
7797         * testsuite/bytestream/filepadsink.c: (main):
7798         * testsuite/bytestream/test1.c: (read_param_file):
7799           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7800
7801 2004-07-12  Benjamin Otte  <otte@gnome.org>
7802
7803         * gst/gstelement.c: (gst_element_class_init),
7804         (gst_element_set_state), (gst_element_set_state_func):
7805           virutalize gst_element_set_state, use set_state member in class
7806           struct that was already added in 0.7 for this.
7807         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7808         (gst_bin_change_state):
7809           make gst_bin_foreach works similar to other foreach functions, plug
7810           memleaks in it. Make functions using it work with the new approach.
7811           Document gst_bin_foreach, so it can be exported if we want to
7812         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7813           use virtualized set_state to make set_state on bins set the state of
7814           all its children.
7815
7816 2004-07-12  Benjamin Otte  <otte@gnome.org>
7817
7818         * configure.ac:
7819           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7820           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7821         * gst/gstpad.c: (gst_pad_alloc_buffer):
7822           allow buffer_alloc functions to return NULL and allocate a normal
7823           buffer in that case
7824
7825 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7826         * gst/elements/gstfilesink.c:
7827         * gst/elements/gstfilesrc.c:
7828         * gst/indexers/gstfileindex.c:
7829         * gst/gsttypes.h:
7830         * testsuite/bytestream/filepadsink.c:
7831         * testsuite/bytestream/test1.c:
7832           Handle binary files under Windows
7833
7834 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7835         * docs/manual/win32.xml:
7836         * win32/config.h:
7837         * win32/gst-register.vcproj:
7838         * win32/gstreamer.def:
7839           Update to another gettext public build
7840
7841 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7842         * gst/gstplugin.c:
7843           Fix an impossible C syntax
7844         * win32/config.h:
7845           Disable i18n under Windows for the moment
7846         * win32/gst-register.vcproj:
7847           Use this configuration
7848
7849 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7850         * docs/manual/quotes.xml:
7851           Keep the quotes file alive
7852         * docs/random/ds/0.9-suggested-changes:
7853           Add the suggestion of including a 'rowstride' as part of video
7854           format caps
7855
7856 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7857
7858         * gst/gstelement.c: (gst_element_set_state),
7859         (gst_element_change_state):
7860           d'oh.  Set PENDING state correctly before forcing bin to change.
7861         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7862         (gst_structure_parse_fixed_list):
7863         * gst/schedulers/gstoptimalscheduler.c:
7864         (gst_opt_scheduler_state_transition):
7865         * testsuite/states/parent.c: (main):
7866           remove comment now that it's fixed.
7867
7868 2004-07-11  Benjamin Otte  <otte@gnome.org>
7869
7870         * gst/gstclock.h:
7871           GST_SECOND shouldn't cause a conversion to unsigned.
7872         * testsuite/clock/.cvsignore:
7873         * testsuite/clock/Makefile.am:
7874         * testsuite/clock/signedness.c: (main):
7875           make sure it never will again
7876
7877 2004-07-11  Andy Wingo  <wingo@pobox.com>
7878
7879         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7880         whose state is higher than the bin state, raise the bin state to
7881         ensure that bin state := highest child state.
7882         
7883 2004-07-11  Andy Wingo  <wingo@pobox.com>
7884
7885         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7886         procedure on the children of a bin. Assumes that the procedure can
7887         change the set of children.
7888         (set_kid_state_func): New static function.
7889         (gst_bin_change_state): Use gst_bin_foreach to call
7890         set_kid_state_func. Fixes a bug: if a child had a state-change
7891         handler that removes it from the bin, there would be a segfault.
7892         Hopefully it should also work in the case where the state-change
7893         handler on one child adds or removes other children. In any case,
7894         fixes should go to gst_bin_foreach.
7895
7896 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7897
7898         * gst/gstelement.c: (gst_element_set_state):
7899           compatibility fix for latest plugins release.  Change loop back
7900           to while {}
7901
7902 2004-07-09  Wim Taymans  <wim@fluendo.com>
7903
7904         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7905         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7906         (gst_thread_main_loop):
7907         Since remove is virtual in GstBin we must not assume the 
7908         elements GList to have anothing useful.
7909         Add some more logging to GstThread and be a bit more paranoid
7910         when resetting the scheduler.
7911         Set the state of the bin to NULL before removing the children.
7912
7913 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7914
7915         * testsuite/threads/Makefile.am:
7916         * testsuite/threads/threadg.c:
7917           added test to check if problem when removing all elements from a
7918           GstThread before setting GstThread state to NULL
7919
7920 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7921
7922         * docs/gst/tmpl/gstelement.sgml:
7923         * docs/gst/tmpl/gsttypes.sgml:
7924         * gst/gstbin.c: (gst_bin_change_state):
7925         * gst/gstelement.c: (gst_element_set_state),
7926         (gst_element_change_state):
7927           rework so that for bins we try to set the state on all children
7928           as well even if the bin is in the correct state already.
7929           change while to do so at least one iteration is done.
7930           For regular elements, we fall back to the previous behaviour for
7931           now since we first need a new plugins release.
7932         * testsuite/states/parent.c: (main):
7933           test for this case
7934           Fixes #123774
7935
7936 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7937
7938         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7939         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7940         (gst_queue_release_locks), (gst_queue_change_state),
7941         (gst_queue_set_property):
7942           add proper lock debugging.  Change dispose to finalize, since
7943           we're freeing mutexes and other stuff which should happen only once.
7944
7945 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7946
7947         * docs/gst/tmpl/gstelement.sgml:
7948         * docs/gst/tmpl/gstplugin.sgml:
7949         * docs/gst/tmpl/gsttypes.sgml:
7950         * docs/pwg/building-state.xml:
7951         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7952         * gst/gstelement.c: (gst_element_change_state):
7953         * gst/gstthread.c: (gst_thread_change_state):
7954           catch wrong state changes in element base class.
7955
7956 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7957
7958         * gst/gstinfo.h:
7959           clean up layout a little.
7960
7961 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7962
7963         * configure.ac:
7964         * testsuite/Makefile.am:
7965         * testsuite/states/Makefile.am:
7966         * testsuite/states/parent.c: (main):
7967           re-enable states testsuite dir.  Add test for state changes and
7968           parent behaviour
7969
7970 2004-07-09  Wim Taymans  <wim@fluendo.com>
7971
7972         * gst/schedulers/gstoptimalscheduler.c:
7973         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7974         (element_get_reachables_func), (element_get_reachables),
7975         (debug_element), (rechain_group), (group_migrate_connected),
7976         (gst_opt_scheduler_pad_unlink):
7977         Do not try to migrate decoupled elements to a new group since
7978         they are not added to groups.
7979
7980 2004-07-08  Benjamin Otte  <otte@gnome.org>
7981
7982         * gst/gstelement.c: (gst_element_error_func):
7983           make reentrant (= allow removing elements in error handler)
7984
7985 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7986
7987         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7988         (gst_pad_send_event), (gst_pad_call_chain_function):
7989           events sent to elements below PAUSED cannot be handled, so
7990           don't try to
7991
7992 2004-07-08  Wim Taymans  <wim@fluendo.com>
7993
7994         * gst/schedulers/gstoptimalscheduler.c:
7995         (chain_recursively_migrate_group), (create_group),
7996         (schedule_group), (gst_opt_scheduler_pad_link),
7997         (group_elements_set_visited), (element_get_reachables_func),
7998         (element_get_reachables), (group_can_reach_group), (debug_element),
7999         (rechain_group), (group_migrate_connected),
8000         (gst_opt_scheduler_pad_unlink):
8001         * testsuite/schedulers/Makefile.am:
8002         Implemented group splitting and rechaining.
8003         Fixes 143777 and 143777-2 in the testsuite.
8004
8005 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8006
8007         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8008           extra debugging
8009         * gst/gstevent.h:
8010         * gst/gstinfo.c: (gst_debug_log_default):
8011           print time nicely.  add thread pointer until someone figures out
8012           a completely portable way of getting at thread id's.
8013         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8014         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8015         (gst_pad_call_chain_function):
8016           extra debugging
8017         * gst/schedulers/gstoptimalscheduler.c:
8018         (get_group_schedule_function), (loop_group_schedule_function),
8019         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8020         (pad_clear_queued), (gst_opt_scheduler_iterate):
8021           rename BUFPEN and friends to DATAPEN since that's what they are.
8022
8023 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8024
8025         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8026         * gst/gstbuffer.h:
8027         * gst/gstpad.c:
8028           cleanups and debugging
8029
8030 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8031
8032         * configure.ac:
8033         * gst/gstvalue.c: (gst_value_compare_enum),
8034         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8035         (gst_value_can_compare), (gst_value_compare):
8036         * testsuite/Makefile.am:
8037         * testsuite/enumcaps/Makefile.am:
8038         * testsuite/enumcaps/enumcaps.c:
8039           Fix enum serialization, deserialization, comparison in caps, add
8040           a test to ensure that this continues working in the future.
8041
8042 2004-07-06  David Schleef  <ds@schleef.org>
8043
8044         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8045         Fix memleak.
8046
8047 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8050         * gst/gstplugin.h:
8051         * gst/registries/gstxmlregistry.c:
8052         (plugin_times_older_than_recurse), (plugin_times_older_than),
8053         (gst_xml_registry_parse_padtemplate):
8054           only rebuild registry when actual plugins have a newer time than
8055           the registry.  Fixes #145520
8056
8057 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8058
8059         * docs/manual/manual.xml:
8060         * docs/manual/win32.xml:
8061           add chapter on win32 building.  fixes #142422
8062
8063 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8064
8065         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8066
8067         * gst/autoplug/gstspider.c: (gst_spider_init),
8068         (gst_spider_dispose):
8069           fix spider memleaks.  fixes #137863
8070
8071 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8072
8073         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8074
8075         * gst/schedulers/gstoptimalscheduler.c:
8076         (gst_opt_scheduler_pad_unlink):
8077           fix SIGBUS error, fixes #145338
8078
8079 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8080
8081         * gst/gstobject.c: (gst_object_replace):
8082         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8083         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8084           clean up clock lifecycle.  Fixes #109831
8085
8086 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8087
8088         * po/LINGUAS:
8089         * po/cs.po:
8090           added Czech translation (Miloslav Trmac)
8091
8092 2004-07-04  David Schleef  <ds@schleef.org>
8093
8094         * tools/Makefile.am:
8095         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8096
8097 2004-07-04  David Schleef  <ds@schleef.org>
8098
8099         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8100
8101 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8102
8103         * gst/gstbin.c: (gst_bin_restore_thyself):
8104           chain to parent restore so the bins get restored correctly
8105           in the editor
8106
8107 2004-07-03  David Schleef  <ds@schleef.org>
8108
8109         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8110         Actually do something in these functions, like before the big
8111         caps change.  (bug #145137)
8112
8113 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8116         (gst_element_get_compatible_pad_filtered):
8117         * gst/gstthread.c: (gst_thread_main_loop):
8118           more debugging
8119
8120 2004-07-02  David Schleef  <ds@schleef.org>
8121
8122         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8123         * gst/gstobject.h:
8124         * gst/gstparse.h:
8125         * gst/gsttrace.h:
8126         * gst/gstxml.h:
8127
8128 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8129
8130         * gst/gstpad.c: (gst_pad_check_schedulers),
8131         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8132         (gst_pad_link_prepare):
8133           revert until testsuite is fixed
8134
8135 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8136
8137         * testsuite/Makefile.am:
8138         * testsuite/caps/filtercaps.c: (main):
8139         * testsuite/clock/clock1.c: (main):
8140         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8141           fix some more tests
8142
8143 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8144
8145         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8146         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8147         * testsuite/cleanup/cleanup4.c: (main):
8148           fix testsuite
8149
8150 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8151
8152         * libs/gst/control/control.c:
8153         * libs/gst/control/dparam.c:
8154         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8155         * libs/gst/control/dparammanager.c:
8156         * libs/gst/control/dparammanager.h:
8157         * testsuite/dynparams/Makefile.am:
8158         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8159         (gst_dptest_change_state), (gst_dptest_chain), (main):
8160           fix testcase for dparams
8161           add debugging category
8162
8163 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8164
8165         * testsuite/Rules:
8166           change path
8167
8168 2004-07-02  Benjamin Otte  <otte@gnome.org>
8169
8170         * tests/.cvsignore:
8171         * tests/Makefile.am:
8172         * tests/mass_elements.c: (gst_get_current_time), (main):
8173           add simple benchmark to test various speeds of fakesrc ! identity !
8174           identity ! ... ! fakesink.
8175           Usage: mass_elements [num_identities] [num_buffers]
8176           If not specified they default to 1000.
8177
8178 2004-07-02  Benjamin Otte  <otte@gnome.org>
8179
8180         * gst/gstpad.c: (gst_pad_check_schedulers),
8181         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8182         (gst_pad_link_prepare):
8183           check that pads that get linked belong to the same manager. The old
8184           code allowed linking elements before putting them into bins, so it
8185           worked to link them and then put them in different threads, which
8186           lead to weird behaviour.
8187           Since this effectively disallows linking elements before putting
8188           them in a bin, some applications might not work after this and error
8189           out. If these applications are too critical, we might need to revert
8190           that patch. Please test this before the next release...
8191
8192 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8193
8194         * gst/gstpad.c: (gst_pad_get_caps):
8195           throw an error if the getcaps function does not return a subset of
8196           the template caps.
8197         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8198           make disconts without position info an error in debugging
8199         * tests/spidey_bench.c: (handoff), (main):
8200           don't count first try when averaging
8201
8202 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * gst/gstplugin.c: (gst_plugin_load_file):
8205           figure out problem with dynamic test
8206
8207 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8208
8209         * docs/gst/Makefile.am:
8210           fix docs build
8211
8212 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8213
8214         * po/POTFILES.in:
8215         * po/af.po:
8216         * po/az.po:
8217         * po/en_GB.po:
8218         * po/fr.po:
8219         * po/nl.po:
8220         * po/sr.po:
8221         * po/sv.po:
8222         * po/tr.po:
8223         * po/uk.po:
8224         * tools/gst-register.c: (plugin_added_func), (main):
8225           i18n-ize -register, fix plural
8226
8227 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8228
8229         * gst/elements/gstidentity.c: (gst_identity_class_init),
8230         (gst_identity_init), (gst_identity_chain),
8231         (gst_identity_set_property), (gst_identity_get_property):
8232         * gst/elements/gstidentity.h:
8233           check for perfect stream
8234
8235 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * gst/elements/gstidentity.c: (gst_identity_chain):
8238           print offset_end
8239
8240 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8241
8242         * docs/gst/Makefile.am:
8243         * docs/gst/gstreamer-docs.sgml:
8244           doc fixes
8245
8246 2004-06-24  David Schleef  <ds@schleef.org>
8247
8248         * autogen.sh:  Remove call to env, since the buildbot isn't
8249         broken anymore.
8250
8251 2004-06-24  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/elements/Makefile.am:
8254         * gst/elements/gstelements.c:
8255         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8256         (gst_multifdsink_class_init), (gst_multifdsink_init),
8257         (gst_multifdsink_add), (gst_multifdsink_remove),
8258         (gst_multifdsink_clear), (gst_multifdsink_chain),
8259         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8260         * gst/elements/gstmultifdsink.h:
8261         Added an element that writes to multiple filedescriptors at once.
8262
8263 2004-06-24  Benjamin Otte  <otte@gnome.org>
8264
8265         * gst/parse/grammar.y:
8266           don't try to link elements before they have been added to bins
8267
8268 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8269
8270         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8271         (gst_file_pad_get_length):
8272         * libs/gst/bytestream/filepad.h:
8273           add 2 new functions
8274
8275 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8276
8277         * docs/gst/gstreamer-sections.txt:
8278         remove from docs, the define that Benjamin removed from gstelement.h
8279
8280 2004-06-22  Benjamin Otte  <otte@gnome.org>
8281
8282         * gst/gstelement.h:
8283           remove define that referenced a nonexisting GstElement struct member
8284
8285 2004-06-20  Benjamin Otte  <otte@gnome.org>
8286
8287         * gst/gstdata.c: (gst_data_is_writable):
8288           whoops, return values were wrong, so writable data was marked as
8289           non-writable and vice versa. (fixes #143953, spotted by Francis
8290           Labonte)
8291           Shows how rarely we need to copy data ;)
8292
8293 2004-06-20  Benjamin Otte  <otte@gnome.org>
8294
8295         * testsuite/schedulers/.cvsignore:
8296         * testsuite/schedulers/Makefile.am:
8297         * testsuite/schedulers/143777-2.c: (main):
8298           add test for opt breakage in bug #143777
8299
8300 2004-06-20  Benjamin Otte  <otte@gnome.org>
8301
8302         * gst/gstpad.c: (gst_pad_call_chain_function):
8303           check for if we were unlinked while inside the chainfunction (fixes
8304           entrygthread having issues with #143777)
8305         * testsuite/schedulers/143777.c: (main):
8306         * testsuite/schedulers/Makefile.am:
8307           add a test for that fix
8308
8309 2004-06-20  Benjamin Otte  <otte@gnome.org>
8310
8311         * gst/gstvalue.c: (gst_value_set_int_range):
8312           test that start is smaller then end
8313         * libs/gst/bytestream/Makefile.am:
8314         * libs/gst/bytestream/filepad.c: 
8315         * libs/gst/bytestream/filepad.h:
8316           add GstFilePad - a pad that behaves like a FILE*
8317         * testsuite/bytestream/.cvsignore:
8318         * testsuite/bytestream/Makefile.am:
8319         * testsuite/bytestream/filepadsink.c: 
8320           test for the GstFilePad
8321
8322 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * gst/elements/gstidentity.c: (gst_identity_class_init),
8325         (gst_identity_init), (gst_identity_set_clock),
8326         (gst_identity_chain), (gst_identity_set_property),
8327         (gst_identity_get_property):
8328         * gst/elements/gstidentity.h:
8329         * gst/gstclock.c: (gst_clock_id_wait):
8330           add a "sync" property to sync to the clock
8331
8332 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8333
8334         * gst/gstelementfactory.c: (gst_element_factory_create):
8335           make the freakin "elementfactory bla has no type" message more
8336           useful. So we actually can do something when someone shows up
8337           complaining about it.
8338
8339 2004-06-15  Johan Dahlin  <johan@gnome.org>
8340
8341         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8342         found. This matches the old behavior better. Thanks to Thomas for
8343         pointing out.
8344
8345 2004-06-14  David Schleef  <ds@schleef.org>
8346
8347         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8348         -fomit-frame-pointer.  Appears to generate correct code in
8349         other cases as well.
8350
8351 2004-06-14  Johan Dahlin  <johan@gnome.org>
8352
8353         * tools/gst-inspect.c (main): Add two new command line options: -a
8354         to print all elements and -n to print the name on each line. Also
8355         fix some error reporting.
8356         (main): Simplify, remove -n and always print names if -a is specified
8357
8358 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8359
8360         * win32/gstconfig.h:
8361         * win32/GSTreamer.vcproj:
8362         * win32/Makefile:
8363         * gst/gstconfig.h.in:
8364         * gst/gst.h:
8365         * gst/gstbin.h:
8366         * gst/gstelement.h:
8367         * gst/gstevent.h:
8368         * gst/gstobject.h:
8369         * gst/gstpad.h:
8370         * docs/gst/gstreamer-sections.txt:
8371         * docs/gst/tmpl/gstconfig.sgml:
8372           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8373
8374 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8375         * docs/gst/gstreamer-sections.txt:
8376         * docs/gst/tmpl/gstconfig.sgml:
8377         Add the GSTREAMER_EXPORT macro to the docs
8378
8379 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8380
8381         * tools/gst-compprep.c: (handle_xmlerror), (main):
8382         Add a check for the version that introduced SetStructuredError to fix
8383         the build on FC1
8384
8385 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8386
8387         * win32/msvc71.sln:
8388         * win32/testsuite/:
8389           prepare to compile the testsuite with MSVC
8390
8391 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8392
8393         * docs/manual/win32.xml:
8394           attempt to transform the Win32 README into an XML doc
8395
8396 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8397
8398         * gst/gst.c:
8399         * gst/gstbin.*:
8400         * gst/config.h.in:
8401         * gst/gstelement.*:
8402         * gst/gstevent.h:
8403         * gst/gstobject.*:
8404         * gst/gstpad.h:
8405         * tools/gst-register.c:
8406         * win32/gstreamer.def:
8407           extern symbols are now exported for the Windows DLL
8408
8409 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8410
8411         * gst/gstinfo.h:
8412           fix a problem to enable/disable DEBUG under MSVC
8413
8414 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8415
8416         * win32/:
8417           enable more debug code in DEBUG build
8418
8419 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8420
8421         * win32/config.h:
8422         * gst/gst-i18n-app.h:
8423           enable NLS under Windows
8424
8425 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8426         * tools/gst-compprep.c: (handle_xmlerror), (main):
8427           Make an error that baffled me a bit clearer
8428
8429 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8430
8431         * gst/gstqueue.c:
8432           don't use g_queue_get_length () because it's 2.4, use ->length
8433
8434 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8435
8436         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8437
8438         * tools/gst-inspect.c: (print_signal_info):
8439           don't free random data twice. (fixes #144185)
8440
8441 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8442
8443         * gst/gstqueue.c:
8444         * gst/gstqueue.h:
8445           fix removing from the wrong queue on event timeout
8446           fix disposing of the event queue by casting correctly
8447           add mutexes for handling the event queue
8448           someone was sleeping when fixing queue last time around :)
8449
8450 2004-06-10  Johan Dahlin  <johan@gnome.org>
8451
8452         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8453         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8454
8455 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * docs/random/gdp:
8458         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8459         * libs/gst/dataprotocol/dataprotocol.c:
8460         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8461         (gst_dp_buffer_from_header):
8462         * libs/gst/dataprotocol/dataprotocol.h:
8463         * libs/gst/dataprotocol/dp-private.h:
8464           rev version to 0.1, add buffer flags and copy them
8465
8466 2004-06-09  Johan Dahlin  <johan@gnome.org>
8467
8468         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8469         the flags from the buffer we're copying.
8470
8471 2004-06-09  Wim Taymans  <wim@fluendo.com>
8472
8473         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8474         * gst/elements/gstidentity.c: (gst_identity_init),
8475         (gst_identity_chain):
8476         Print more buffer info in fakesink.
8477         Make identity output similar to fakesink.
8478
8479 2004-06-07  Daniel Gazard  <dany42@free.fr>
8480
8481         reviewed by Benjamin Otte  <otte@gnome.org>
8482
8483         * configure.ac:
8484           fix cross compiling not working. (fixes #143741)
8485
8486 2004-06-07  Benjamin Otte  <otte@gnome.org>
8487
8488         * gst/gstelement.c: (gst_element_set_time_delay):
8489           add failure check
8490         * gst/gstinfo.h:
8491           put brackets around macro arguments of GST_TIME_ARGS, add note to
8492           move it to correct header in 0.9
8493
8494 2004-06-07  Benjamin Otte  <otte@gnome.org>
8495
8496         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8497         (gst_file_index_load), (_file_index_id_save_entries),
8498         (gst_file_index_commit), (gst_file_index_add_association),
8499         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8500         (gst_file_index_plugin_init):
8501           make debugging use a default category
8502
8503 2004-06-06  David Moore  <dcm@acm.org>
8504
8505         reviewed by Benjamin Otte  <otte@gnome.org>
8506
8507         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8508         (gst_fdsrc_change_state):
8509           reset offset counter when going READY => PAUSED. (fixes #142903)
8510
8511 2004-06-06  ed@catmur.co.uk
8512
8513         reviewed by Benjamin Otte  <otte@gnome.org>
8514
8515         * gst/registries/gstxmlregistry.c:
8516         (gst_xml_registry_rebuild_recurse):
8517           don't rely on g_dir_open to figure out if a file is a directory, use
8518           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8519           directories. (fixes #142850)
8520
8521 2004-06-06  Benjamin Otte  <otte@gnome.org>
8522
8523         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8524           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8525         * libs/gst/bytestream/adapter.c:
8526         * libs/gst/bytestream/adapter.h:
8527           fix copyright in header and typo in debugging category name
8528
8529 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8530
8531         * configure.ac:
8532           bump nano to cvs
8533
8534 === release 0.8.3 ===
8535
8536 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8537
8538         * configure.ac:
8539           update libtool versioning
8540           do a new release
8541         * docs/gst/tmpl/gstelement.sgml:
8542         * docs/gst/tmpl/gsttypes.sgml:
8543         * gst/gstinfo.c: (_gst_debug_init):
8544           put back GST_CAT_DATAFLOW to fix API breakage
8545
8546 2004-06-04  David Schleef  <ds@schleef.org>
8547
8548         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8549
8550 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8551
8552         * configure.ac:
8553           bump nano to cvs
8554
8555 === release 0.8.2 ===
8556
8557 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8560           check GST_DEBUG environment variable which is parsed the same way
8561           as --gst-debug=
8562
8563 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8564
8565         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8566                             gstmd5sink.c gstshaper.c gsttee.c
8567                             gsttypefindelement.c
8568         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8569
8570           - removing trailing commas at end of enums
8571             it is correct C99 code but C90 compilers would complain
8572             (AIX, Forte, ...)
8573             ('should' fix #143290, at least partially)
8574
8575 2004-05-27  Wim Taymans  <wim@fluendo.com>
8576
8577         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8578         (chain_group_set_enabled), (create_group), (add_to_group),
8579         (merge_groups), (setup_group_scheduler), (group_elements),
8580         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8581         Don't try to follow the pad connections with other groups
8582         when a loop based element is added to the scheduler because
8583         the bin will inform the scheduler about the pad links a little
8584         later.
8585
8586 2004-05-27  Wim Taymans  <wim@fluendo.com>
8587
8588         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8589         (remove_from_chain), (chain_group_set_enabled),
8590         (setup_group_scheduler), (group_element_set_enabled),
8591         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8592         (gst_opt_scheduler_show):
8593         Elements without a group can do a state change as well, just wait
8594         with the setup of the scheduling function when it is added to a
8595         chain.
8596
8597 2004-05-27  Wim Taymans  <wim@fluendo.com>
8598
8599         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8600         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8601         (merge_groups), (setup_group_scheduler),
8602         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8603         (gst_opt_scheduler_show):
8604         Fixes to maintain internal consistency of the scheduler data
8605         structures. 
8606          - adding an enabled group to a chain should increment the
8607            number of enabled elements in that chain.
8608          - removing an enabled group from a chain could disable the
8609            chain.
8610          - removing a disabled group from a chain could enable the
8611            chain.
8612          - add g_assert when internal inconsistency is detected.
8613          - adding an element to a group could increase the number of
8614            links this group has with other groups.
8615          - merging two groups also merges the chains.
8616          - also show group links in the _show method.
8617            
8618
8619 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8620
8621         * gst/gstcaps.c: (gst_caps_structure_simplify):
8622           don't print error messages when there is no error
8623         * gst/gstvalue.c: (gst_value_compare_int_range):
8624           compare the second value, too
8625         * testsuite/caps/Makefile.am:
8626         * testsuite/caps/random.c: (assert_on_error), (main):
8627           add tests to make sure the two things above are checked for
8628
8629 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8630
8631         * configure.ac:
8632         * libs/gst/dataprotocol/Makefile.am:
8633         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8634         * libs/gst/dataprotocol/dataprotocol.h:
8635           wrap header in GST_ENABLE_NEW.  make code use it
8636
8637 2004-05-23  Johan Dahlin  <johan@gnome.org>
8638
8639         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8640         so verbose and print GstElement signal names all the time.
8641
8642 2004-05-22  David Schleef  <ds@schleef.org>
8643
8644         * gst/registries/gstxmlregistry.c:
8645         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8646         (bug #142957)
8647
8648 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * configure.ac:
8651           scrub cflags for glib2 so gcc doesn't complain when glib is in
8652           /usr/local
8653
8654 2004-05-21  Johan Dahlin  <johan@gnome.org>
8655
8656         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8657         __GNUC__, patch from Brian Cameron, fixes bug #142804
8658
8659 2004-05-20  David Schleef  <ds@schleef.org>
8660
8661         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8662         comparison code.  (bug #142819)
8663
8664 2004-05-20  Wim Taymans  <wim@fluendo.com>
8665
8666         * gst/gstbuffer.c: (gst_buffer_default_copy):
8667         * gst/gstbuffer.h:
8668         Added Comment to a flag.
8669         copy relevant flags in _buffer_copy.
8670
8671 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8672
8673         reviewed by: Wim Taymans <wim at fluendo dot com>
8674
8675         * gst/gstbuffer.h:
8676           add GST_BUFFER_IN_CAPS buffer flag
8677         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8678         (gst_structure_parse_any_list), (gst_structure_parse_list),
8679         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8680         * gst/gstvalue.c: (gst_value_serialize_any_list),
8681         (gst_value_transform_any_list_string),
8682         (gst_value_list_prepend_value), (gst_value_list_append_value),
8683         (gst_value_list_get_size), (gst_value_list_get_value),
8684         (gst_value_transform_list_string),
8685         (gst_value_transform_fixed_list_string),
8686         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8687         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8688         (_gst_value_initialize):
8689         * gst/gstvalue.h:
8690           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8691           < , > as a format.
8692         * testsuite/caps/string-conversions.c: (main):
8693           add regression tests for < >
8694
8695 2004-05-20  Johan Dahlin  <johan@gnome.org>
8696
8697         * docs/gst/Makefile.am (all-local): Re-add
8698
8699 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8700
8701         * docs/gst/Makefile.am:
8702         * docs/gst/gstreamer-docs.sgml:
8703         * docs/libs/Makefile.am:
8704         * docs/libs/gstreamer-libs-docs.sgml:
8705           fix distcheck issues
8706
8707 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8708
8709         * libs/gst/dataprotocol/Makefile.am:
8710           add to autotest
8711
8712 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8713
8714         * libs/gst/dataprotocol/Makefile.am:
8715         * libs/gst/dataprotocol/dataprotocol.c:
8716         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8717         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8718         * libs/gst/dataprotocol/dp-private.h:
8719           use GST macros to read/write fixed length ints
8720           add some more asserts
8721
8722 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * docs/libs/gstreamer-libs-docs.sgml:
8725         * docs/libs/gstreamer-libs-sections.txt:
8726           remove idct and putbits
8727         * configure.ac:
8728         * docs/libs/tmpl/gstdataprotocol.sgml:
8729         * libs/gst/Makefile.am:
8730         * libs/gst/dataprotocol/Makefile.am:
8731         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8732         (buffer_test), (caps_test), (event_test), (main):
8733         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8734         (gst_dp_dump_byte_array), (gst_dp_init),
8735         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8736         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8737         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8738         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8739         (gst_dp_validate_header), (gst_dp_validate_payload),
8740         (gst_dp_validate_packet), (plugin_init):
8741         * libs/gst/dataprotocol/dataprotocol.h:
8742         * libs/gst/dataprotocol/dp-private.h:
8743           add dataprotocol
8744
8745 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8746
8747         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8748           fix int variable deserialization and add a helper so we can actually
8749           debug this.
8750
8751 2004-05-18  David Schleef  <ds@schleef.org>
8752
8753         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8754           argv[0].  Calling yourself is probably not the best way to
8755           construct a test like this, btw.
8756
8757 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8758
8759         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8760           don't claim to be more intelligent than a scheduler when the
8761           scheduler claims the pipeline is stopped
8762         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8763         (safe_cothread_destroy),
8764         (gst_entry_scheduler_remove_all_cothreads),
8765         (gst_entry_scheduler_reset), (_remove_cothread),
8766         (gst_entry_scheduler_state_transition):
8767           hold off cothread destruction if we're not in main cothread
8768         * configure.ac:
8769         * testsuite/Makefile.am:
8770           add new test dir
8771         * testsuite/schedulers/.cvsignore:
8772         * testsuite/schedulers/Makefile.am:
8773           add tests
8774         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8775           check relinking and adding/removing elements from a running pipeline
8776         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8777           check unlinking in a running pipeline
8778         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8779           check unreffing a running pipeline
8780         * testsuite/schedulers/useless_iteration.c: (main):
8781           check iterating a pipeline that contains running threads works
8782
8783 2004-05-18  David Schleef  <ds@schleef.org>
8784
8785         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8786           is false.
8787
8788 2004-05-18  Wim Taymans  <wim@fluendo.com>
8789
8790         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8791         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8792         Fixed an error introduced with patch for 1.63. When setting
8793         a get based element as the entry point in a group, make sure
8794         to mark the group as GET based.
8795
8796 2004-05-18  Wim Taymans  <wim@fluendo.com>
8797
8798         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8799         (setup_group_scheduler), (loop_group_schedule_function),
8800         (gst_opt_scheduler_pad_link):
8801         Added some more debug info and fixed a bug where the group
8802         type was set to LOOP but it was in fact unknown.
8803
8804 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8805
8806         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8807           make resetting scheduler work twice in a row
8808
8809 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8810
8811         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8812         (CREATE_USERIALIZATION), (_gst_value_initialize),
8813         (gst_value_compare_float), (gst_value_serialize_float),
8814         (gst_value_deserialize_float), (gst_value_compare_enum),
8815         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8816           add serialization and comparison functions for long, int64, enum and
8817           float values
8818         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8819           use best serialization function in type hierarchy instead of only a
8820           matching one. This is required for enums to work.
8821         * gst/parse/grammar.y:
8822           use gst_caps_deserialize
8823         * testsuite/parse/Makefile.am:
8824           parse1 now works
8825         * testsuite/parse/parse1.c: (main):
8826           remove aggregator check, aggregator is broken, this test works now
8827           but fails because of bug #138012
8828         * testsuite/parse/parse2.c: (main):
8829           s/xvideosink/xvimagesink - this test looks a lot like we should
8830           disable it
8831
8832 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8833
8834         * gst/gstelement.c: (gst_element_class_init):
8835           whoops, store the signal id correctly
8836         * gst/schedulers/gstbasicscheduler.c:
8837         (gst_basic_scheduler_chain_wrapper):
8838           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8839           chain function isn't linked
8840
8841 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8842         * configure.ac:
8843         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8844         support until we decide where the flags should be used
8845         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8846         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8847         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8848         Output refused caps in the debug info
8849
8850 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8851
8852         * gst/elements/gstidentity.c: (gst_identity_chain):
8853           add duration debug
8854         * gst/gstinfo.c: (gst_debug_log_default):
8855           add timestamp
8856
8857 2004-05-13  Benjamin Otte  <otte@gnome.org>
8858
8859         * gst/gstpipeline.c: (gst_pipeline_dispose),
8860         (gst_pipeline_change_state):
8861           call gst_scheduler_reset on dispose (fixes #141416)
8862
8863 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8864
8865         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8866           compute mapsize correctly
8867         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8868           use correct datatypes when calling a varargs function
8869         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8870           push a DISCONT event as first thing
8871         * gst/gst_private.h:
8872         * gst/gstinfo.c: (_gst_debug_init):
8873           remove GST_DATAFLOW debugging category
8874         * gst/gstbin.c: (gst_bin_iterate):
8875           use GST_SCHEDULING category
8876         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8877         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8878         (gst_pad_call_get_function):
8879           add GST_DATAFLOW to easily track flow of buffers or events.
8880         * gst/gstqueue.c: (gst_queue_get_type),
8881         (gst_queue_handle_pending_events), (gst_queue_chain),
8882         (gst_queue_get), (gst_queue_handle_src_event):
8883           use own static debugging category GST_DATAFLOW for dataflow,
8884           use DEBUG category for showing which path events go, use LOG
8885           category for buffers.
8886
8887 2004-05-10  David Schleef  <ds@schleef.org>
8888
8889         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8890
8891 2004-05-10  David Schleef  <ds@schleef.org>
8892
8893         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8894         symbols, because otherwise we don't know what they are.  Thanks,
8895         the GStreamer team.
8896         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8897
8898 2004-05-10  David Schleef  <ds@schleef.org>
8899
8900         (from Steve Lhomme)
8901         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8902         are deleted.  Fix.
8903         * win32/Makefile.inspect:
8904         * win32/Makefile.launch:
8905         * win32/Makefile.register:
8906
8907 2004-05-10  David Schleef  <ds@schleef.org>
8908
8909         * gst/gstinfo.h: Add missing inline function.
8910         * gst/gsttrace.c: add include
8911         * gst/parse/grammar.y: remove unused code
8912         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8913         more portable.
8914         * tools/gst-register.c: wrap unistd.h
8915         
8916         More additions/fixes from Steve for the MSVC build.
8917         * win32/GStreamer.vcproj:
8918         * win32/Makefile:
8919         * win32/Makefile.inspect:
8920         * win32/Makefile.launch:
8921         * win32/Makefile.register:
8922         * win32/README.txt:
8923         * win32/gst-inspect.vcproj:
8924         * win32/gst-launch.vcproj:
8925         * win32/gst-register.vcproj:
8926         * win32/gstbytestream.def:
8927         * win32/gstbytestream.vcproj:
8928         * win32/gstconfig.h:
8929         * win32/gstelements.def:
8930         * win32/gstelements.vcproj:
8931         * win32/gstenumtypes.c:
8932         * win32/gstenumtypes.h:
8933         * win32/gstoptimalscheduler.def:
8934         * win32/gstoptimalscheduler.vcproj:
8935         * win32/gstreamer.def:
8936         * win32/gstspider.def:
8937         * win32/gstspider.vcproj:
8938         * win32/gstversion.h:
8939         * win32/msvc71.sln:
8940
8941 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8942
8943         * gst/gstelement.c: (gst_element_class_init),
8944         (gst_element_no_more_pads):
8945         * gst/gstelement.h:
8946           add gst_element_no_more_pads and the "no-more-pads" signal
8947
8948 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8949
8950         * gst/gstregistry.c: (gst_registry_add_plugin):
8951           refuse to add plugins when a plugin with same name is already
8952           registered. Fixes a bunch of "How to remove plugins?" issues.
8953           May lead to other problems though, let's test
8954
8955 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8956
8957         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8958         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8959         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8960
8961 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8962
8963         * tests/Makefile.am: fix am16 issue
8964
8965 2004-05-09  Benjamin Otte  <otte@gnome.org>
8966
8967         * libs/gst/bytestream/Makefile.am:
8968           we should indeed add .c files to makefiles or they won't be built
8969           (d'oh)
8970
8971 2004-05-08  Benjamin Otte  <otte@gnome.org>
8972
8973         * gst/gstpad.c: (gst_pad_proxy_fixate):
8974           really reduce the set of caps
8975
8976 2004-05-08  Benjamin Otte  <otte@gnome.org>
8977
8978         * tests/Makefile.am:
8979         * tests/spidey_bench.c: (handoff), (main):
8980           add benchmark to test how long spider needs to create a pipeline
8981
8982 2004-05-08  Benjamin Otte  <otte@gnome.org>
8983
8984         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8985           mark links as unengaged when unnegotiating instead of deactivating.
8986           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8987
8988 2004-05-08  Benjamin Otte  <otte@gnome.org>
8989
8990         * docs/manual/helloworld.xml:
8991           s/audiosink/osssink (patch by Patrick Guimond)
8992
8993 2004-05-07  David Schleef  <ds@schleef.org>
8994
8995         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8996         since it contains important stuff.
8997
8998 2004-05-07  David Schleef  <ds@schleef.org>
8999
9000         * testsuite/caps/caps.c: (test3), (main): A check for appending
9001         ANY caps.
9002
9003 2004-05-07  David Schleef  <ds@schleef.org>
9004
9005         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9006         which may contain commas.  Fixes detection of -Wa,-mregnames
9007
9008 2004-05-06  David Schleef  <ds@schleef.org>
9009
9010         Changes to handle compilers that don't have variadic macro
9011         support.  In particular, glib headers define some inlines
9012         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9013         builds.
9014         * gst/Makefile.am:
9015         * gst/cothreads.c:
9016         * gst/elements/gstfdsink.c:
9017         * gst/elements/gstfdsrc.c:
9018         * gst/elements/gstfilesink.c:
9019         * gst/elements/gstfilesrc.c:
9020         * gst/gst_private.h:
9021         * gst/gstatomic.c:
9022         * gst/gstcaps.c: (gst_caps_append):
9023         * gst/gstcpu.c: (gst_cpuid_i386):
9024         * gst/gstelement.c:
9025         * gst/gsterror.c:
9026         * gst/gstfilter.c:
9027         * gst/gstinfo.h:
9028         * gst/gstprobe.c:
9029         * gst/gstquery.c:
9030         * gst/gstregistry.c:
9031         * gst/gststructure.c:
9032         * gst/gsttaginterface.c:
9033         * gst/gsttrace.c: (gst_trace_new):
9034         * gst/gsttrashstack.c:
9035         * gst/gsturi.c:
9036         * gst/gstvalue.c:
9037         * gst/parse/grammar.y:
9038         * gst/parse/parse.l:
9039         * tools/gst-inspect.c: (main):
9040         * tools/gst-launch.c: (main):
9041         * tools/gst-xmlinspect.c: (PUT_STRING):
9042
9043 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9044
9045         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9046         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9047         * gst/elements/gstfilesrc.h:
9048           send NEW_MEDIA events correctly
9049         * gst/elements/gsttypefindelement.c: (start_typefinding),
9050         (gst_type_find_element_handle_event):
9051           restart typefinding when we get a NEW_MEDIA event
9052         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9053         (gst_bin_dispose):
9054           don't die when someone removes elements in callbacks
9055         * gst/gstelement.c: (gst_element_change_state):
9056           improve debugging
9057         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9058           we need a NEW_MEDIA event to engage a link
9059         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9060           don't g_print debugging stuff
9061         * testsuite/caps/simplify.c: (check_caps):
9062
9063 2004-05-04  Benjamin Otte  <otte@gnome.org>
9064
9065         * gst/parse/grammar.y:
9066           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9067
9068 2004-05-04  Benjamin Otte  <otte@gnome.org>
9069
9070         * testsuite/caps/renegotiate.c: (main):
9071           improve output in error case
9072
9073 2004-05-04  Benjamin Otte  <otte@gnome.org>
9074
9075         * gst/parse/grammar.y:
9076           fix assert to not trigger when there's no error argument
9077         * gst/parse/parse.l:
9078           fix definition of caps to allow more than two structures
9079         * testsuite/caps/Makefile.am:
9080         * testsuite/caps/renegotiate.c: (main):
9081           it's sinesrc and works in that case
9082
9083 2004-05-04  Wim Taymans  <wim@fluendo.com>
9084
9085         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9086         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9087         when removing an element from a group, we always need to
9088         decrement the link count that this group had with other 
9089         groups through the element.
9090         added an extra assert to catch inconsistencies when decrementing
9091         the link count.
9092
9093 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9094
9095         * configure.ac:
9096         * docs/gst/Makefile.am:
9097         * docs/gst/gstreamer-sections.txt:
9098         * docs/gst/tmpl/gstcompat.sgml:
9099         * examples/appreader/Makefile.am:
9100         * examples/cutter/Makefile.am:
9101         * examples/events/Makefile.am:
9102         * examples/helloworld/Makefile.am:
9103         * examples/helloworld2/Makefile.am:
9104         * examples/launch/Makefile.am:
9105         * examples/manual/Makefile.am:
9106         * examples/mixer/Makefile.am:
9107         * examples/pingpong/Makefile.am:
9108         * examples/plugins/Makefile.am:
9109         * examples/queue/Makefile.am:
9110         * examples/queue2/Makefile.am:
9111         * examples/queue3/Makefile.am:
9112         * examples/queue4/Makefile.am:
9113         * examples/retag/Makefile.am:
9114         * examples/thread/Makefile.am:
9115         * examples/typefind/Makefile.am:
9116         * examples/xml/Makefile.am:
9117         * gst/Makefile.am:
9118         * gst/autoplug/Makefile.am:
9119         * gst/elements/Makefile.am:
9120         * gst/gstcompat.h:
9121         * gst/indexers/Makefile.am:
9122         * gst/parse/Makefile.am:
9123         * gst/registries/Makefile.am:
9124         * gst/schedulers/Makefile.am:
9125         * libs/gst/bytestream/Makefile.am:
9126         * libs/gst/control/Makefile.am:
9127         * libs/gst/getbits/Makefile.am:
9128         * po/af.po:
9129         * po/az.po:
9130         * po/en_GB.po:
9131         * po/fr.po:
9132         * po/nl.po:
9133         * po/sr.po:
9134         * po/sv.po:
9135         * po/tr.po:
9136         * po/uk.po:
9137         * tests/Makefile.am:
9138         * tests/bufspeed/Makefile.am:
9139         * tests/instantiate/Makefile.am:
9140         * tests/memchunk/Makefile.am:
9141         * tests/muxing/Makefile.am:
9142         * tests/negotiation/Makefile.am:
9143         * tests/probes/Makefile.am:
9144         * tests/sched/Makefile.am:
9145         * tests/seeking/Makefile.am:
9146         * tests/threadstate/Makefile.am:
9147         * testsuite/caps/Makefile.am:
9148         * testsuite/cleanup/Makefile.am:
9149         * testsuite/dlopen/Makefile.am:
9150         * testsuite/dynparams/Makefile.am:
9151         * testsuite/plugin/Makefile.am:
9152         * testsuite/states/Makefile.am:
9153         * tools/Makefile.am:
9154           reorganize compile/link flags to be consistent
9155           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9156
9157 2004-05-04  David Schleef  <ds@schleef.org>
9158
9159         The "once more, with feeling" check-in.
9160         * testsuite/caps/Makefile.am: dist caps_strings
9161         * testsuite/caps/renegotiate.c: (main): This test triggers a
9162           segfault in the core.  Marking as failing.
9163
9164 2004-05-03  David Schleef  <ds@schleef.org>
9165
9166         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9167           by the build bots.
9168         * testsuite/caps/renegotiate.c: (main): Same.
9169
9170 2004-05-03  David Schleef  <ds@schleef.org>
9171
9172         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9173
9174 2004-05-03  David Schleef  <ds@schleef.org>
9175
9176         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9177           variable to find our source file.
9178
9179 2004-05-03  David Schleef  <ds@schleef.org>
9180
9181         * configure.ac:  Link plugins with libgstreamer and dependent
9182           libraries
9183         * testsuite/caps/Makefile.am:
9184         * testsuite/caps/caps_strings:
9185         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9186           through a file of caps strings and test each one
9187
9188 2004-05-04  Benjamin Otte  <otte@gnome.org>
9189
9190         * libs/gst/bytestream/Makefile.am:
9191         * libs/gst/bytestream/adapter.c: 
9192         * libs/gst/bytestream/adapter.h:
9193           add GstAdapter, similar to bytestream, but doesn't require ugly event
9194           handling or uglier loopbased elements
9195
9196 2004-05-03  David Schleef  <ds@schleef.org>
9197
9198         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9199         * testsuite/caps/erathostenes.c:
9200         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9201
9202 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9203
9204         * docs/pwg/pwg.xml:
9205           remove hardcoded stylesheet path (duh)
9206         * docs/random/release:
9207         * docs/gst/gstreamer-sections.txt:
9208         * gst/Makefile.am:
9209         * gst/gst.h:
9210         * gst/gst_private.h:
9211         * gst/gstcaps.c:
9212         * gst/gstevent.c:
9213         * gst/gstformat.c:
9214         * gst/gstinfo.c:
9215         * gst/gstinfo.h:
9216         * gst/gstinterface.c:
9217         * gst/gstmemchunk.c:
9218         * gst/gstprobe.c:
9219         * gst/gstquery.c:
9220         * gst/gstregistry.c:
9221         * gst/gstregistrypool.c:
9222         * gst/gststructure.c:
9223         * gst/gsttaginterface.c:
9224         * gst/gstthread.c:
9225         * gst/gsttrace.c:
9226         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9227         * gst/gsturi.c:
9228         * gst/gstvalue.c:
9229           deprecate gst_info; remove gstlog.h
9230    
9231
9232 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9233
9234         * Makefile.am:
9235         * po/en_GB.po:
9236         * po/sv.po:
9237         * po/uk.po:
9238           updated translations
9239
9240 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9241
9242         * gst/gstbin.c: (gst_bin_dispose):
9243           better debugging
9244
9245 2004-05-03  Johan Dahlin  <johan@gnome.org>
9246
9247         * gst/schedulers/gstoptimalscheduler.c
9248         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9249         really is a GstElement. Avoids critical when running gst-launch -v
9250         and a oggdemux/decoding pipeline.
9251
9252 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9253
9254         * docs/gst/tmpl/gstpipeline.sgml :
9255         * docs/manual/elements-api.xml :
9256                 doc fix by Patrick Guimond (Protector) from devel ML
9257                 reviewed by ronald
9258
9259 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9260
9261         * docs/gst/Makefile.am :
9262         * docs/libs/Makefile.am :
9263                 apply a patch from Arwed v. Merkatz so that gtk-doc
9264                 generated docs install (same for .devhelp file)
9265                 (fixes part 1 of #138836)
9266
9267 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9268
9269         * docs/faq/dependencies.xml: typo
9270         * docs/faq/getting.xml :
9271             - fix download URL for new gstreamer site
9272             - hide sf.net download page as latest version aren't there
9273             - fix apt URLs
9274             - fill "get via CVS" paragraph (link to dev page on the site)
9275         * docs/faq/general.xml:
9276             hide status tables as they no more exists
9277             change case on plugins license file to reflect reality
9278         * docs/faq/troubleshooting.xml:
9279             remove the wiki question/answer as there is no more wiki
9280
9281 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9282
9283         * gst/gsterror.h:
9284           include the headers needed for declarations used in this header
9285
9286 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9287
9288         * docs/random/uraeus/gstreamer_and_midi.txt :
9289           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9290           (fixes #132288)
9291
9292 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9293
9294         reviewed by Benjamin Otte  <otte@gnome.org>
9295
9296         * gst/schedulers/gthread-cothreads.h:
9297           free allocated data for main cothread, too when destroying context
9298           (fixes #141417)
9299
9300 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9301
9302         * docs/manual/goals.xml : remove duplicated paragraph at end 
9303         of doc page (fixes #141448)
9304
9305 2004-04-29  David Schleef  <ds@schleef.org>
9306
9307         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9308         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9309
9310 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9313           fix property
9314         * gst/gstcaps.c:
9315           fix doc string
9316         * po/POTFILES.in:
9317           rename typefind source file
9318
9319 2004-04-28  David Schleef  <ds@schleef.org>
9320
9321         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9322         * win32/GStreamer.vcproj:
9323         * win32/Makefile:
9324         * win32/config.h:
9325         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9326         (_trewinddir), (_ttelldir), (_tseekdir):
9327         * win32/dirent.h:
9328         * win32/gst-inspect.vcproj:
9329         * win32/gst-launch.vcproj:
9330         * win32/gst-register.vcproj:
9331         * win32/gstbytestream.vcproj:
9332         * win32/gstelements.vcproj:
9333         * win32/gstoptimalscheduler.vcproj:
9334         * win32/gstspider.vcproj:
9335         * win32/gtchar.h:
9336         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9337         * win32/mman.h:
9338         * win32/mman.inl:
9339         * win32/msvc71.sln:
9340
9341 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9342
9343         * gst/gst.c: (init_post):
9344         * gst/gstinfo.c:
9345           remove useless _gst_progname stuff
9346         * tools/gst-inspect.c: (print_field), (print_caps):
9347           improve caps output
9348
9349 2004-04-28  David Schleef  <ds@schleef.org>
9350
9351         Disable parsing of a lot of files that aren't part of the
9352         exported API.  Move corresponding template files to old/,
9353         waiting for removal when they don't contain anything
9354         interesting.
9355         * docs/gst/Makefile.am:
9356         * docs/gst/gstreamer-sections.txt:
9357         * docs/gst/tmpl/cothreads.sgml:
9358         * docs/gst/tmpl/cothreads_compat.sgml:
9359         * docs/gst/tmpl/gettext.sgml:
9360         * docs/gst/tmpl/gobject2gtk.sgml:
9361         * docs/gst/tmpl/grammar.tab.sgml:
9362         * docs/gst/tmpl/gst-i18n-app.sgml:
9363         * docs/gst/tmpl/gst-i18n-lib.sgml:
9364         * docs/gst/tmpl/gst_private.sgml:
9365         * docs/gst/tmpl/gstaggregator.sgml:
9366         * docs/gst/tmpl/gstarch.sgml:
9367         * docs/gst/tmpl/gstatomic_impl.sgml:
9368         * docs/gst/tmpl/gstbufferstore.sgml:
9369         * docs/gst/tmpl/gstdata_private.sgml:
9370         * docs/gst/tmpl/gstdisksink.sgml:
9371         * docs/gst/tmpl/gstdisksrc.sgml:
9372         * docs/gst/tmpl/gstelementfactory.sgml:
9373         * docs/gst/tmpl/gstextratypes.sgml:
9374         * docs/gst/tmpl/gstfakesink.sgml:
9375         * docs/gst/tmpl/gstfakesrc.sgml:
9376         * docs/gst/tmpl/gstfdsink.sgml:
9377         * docs/gst/tmpl/gstfdsrc.sgml:
9378         * docs/gst/tmpl/gstfilesink.sgml:
9379         * docs/gst/tmpl/gstfilesrc.sgml:
9380         * docs/gst/tmpl/gsthttpsrc.sgml:
9381         * docs/gst/tmpl/gstidentity.sgml:
9382         * docs/gst/tmpl/gstindexfactory.sgml:
9383         * docs/gst/tmpl/gstmarshal.sgml:
9384         * docs/gst/tmpl/gstmd5sink.sgml:
9385         * docs/gst/tmpl/gstmultidisksrc.sgml:
9386         * docs/gst/tmpl/gstmultifilesrc.sgml:
9387         * docs/gst/tmpl/gstpadtemplate.sgml:
9388         * docs/gst/tmpl/gstpipefilter.sgml:
9389         * docs/gst/tmpl/gstschedulerfactory.sgml:
9390         * docs/gst/tmpl/gstsearchfuncs.sgml:
9391         * docs/gst/tmpl/gstshaper.sgml:
9392         * docs/gst/tmpl/gstspider.sgml:
9393         * docs/gst/tmpl/gstspideridentity.sgml:
9394         * docs/gst/tmpl/gststatistics.sgml:
9395         * docs/gst/tmpl/gsttee.sgml:
9396         * docs/gst/tmpl/gsttimecache.sgml:
9397         * docs/gst/tmpl/gsttypefind.sgml:
9398         * docs/gst/tmpl/gsttypefindfactory.sgml:
9399         * docs/gst/tmpl/gstxmlregistry.sgml:
9400         * docs/gst/tmpl/gthread-cothreads.sgml:
9401         * docs/gst/tmpl/old/cothreads.sgml:
9402         * docs/gst/tmpl/old/cothreads_compat.sgml:
9403         * docs/gst/tmpl/old/gettext.sgml:
9404         * docs/gst/tmpl/old/gobject2gtk.sgml:
9405         * docs/gst/tmpl/old/grammar.tab.sgml:
9406         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9407         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9408         * docs/gst/tmpl/old/gst_private.sgml:
9409         * docs/gst/tmpl/old/gstaggregator.sgml:
9410         * docs/gst/tmpl/old/gstarch.sgml:
9411         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9412         * docs/gst/tmpl/old/gstbufferstore.sgml:
9413         * docs/gst/tmpl/old/gstdata_private.sgml:
9414         * docs/gst/tmpl/old/gstdisksink.sgml:
9415         * docs/gst/tmpl/old/gstdisksrc.sgml:
9416         * docs/gst/tmpl/old/gstelementfactory.sgml:
9417         * docs/gst/tmpl/old/gstextratypes.sgml:
9418         * docs/gst/tmpl/old/gstfakesink.sgml:
9419         * docs/gst/tmpl/old/gstfakesrc.sgml:
9420         * docs/gst/tmpl/old/gstfdsink.sgml:
9421         * docs/gst/tmpl/old/gstfdsrc.sgml:
9422         * docs/gst/tmpl/old/gstfilesink.sgml:
9423         * docs/gst/tmpl/old/gstfilesrc.sgml:
9424         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9425         * docs/gst/tmpl/old/gstidentity.sgml:
9426         * docs/gst/tmpl/old/gstindexfactory.sgml:
9427         * docs/gst/tmpl/old/gstmarshal.sgml:
9428         * docs/gst/tmpl/old/gstmd5sink.sgml:
9429         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9430         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9431         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9432         * docs/gst/tmpl/old/gstpipefilter.sgml:
9433         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9434         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9435         * docs/gst/tmpl/old/gstshaper.sgml:
9436         * docs/gst/tmpl/old/gstspider.sgml:
9437         * docs/gst/tmpl/old/gstspideridentity.sgml:
9438         * docs/gst/tmpl/old/gststatistics.sgml:
9439         * docs/gst/tmpl/old/gsttee.sgml:
9440         * docs/gst/tmpl/old/gsttimecache.sgml:
9441         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9442         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9443         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9444         * docs/gst/tmpl/old/types.sgml:
9445         * docs/gst/tmpl/types.sgml:
9446
9447         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9448         gtkdoc-scan doesn't like files with the same name in different
9449         directories.
9450         * gst/elements/Makefile.am:
9451         * gst/elements/gstelements.c:
9452         * gst/elements/gsttypefind.c: 
9453         * gst/elements/gsttypefind.h:
9454         * gst/elements/gsttypefindelement.c:
9455         * gst/elements/gsttypefindelement.h:
9456
9457 2004-04-28  David Schleef  <ds@schleef.org>
9458
9459         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9460         patch (bug #141317):
9461         * gst/gst-i18n-lib.h: Allow disabling gettext.
9462         * gst/gstatomic_impl.h: disable warning when it's dumb.
9463         * gst/gstclock.c: fix include
9464         * gst/gstcompat.h: fix variadic macro
9465         * gst/gstinfo.c: fix include
9466         * gst/gstmacros.h: add defines for inlines on MSVC
9467         * gst/gstplugin.c: fix includes
9468         * gst/gstregistry.c: fix includes
9469         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9470         * gst/gstsystemclock.c: fix include
9471         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9472         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9473         * gst/registries/gstxmlregistry.c:
9474         (gst_xml_registry_parse_element_factory): fix use of non-portable
9475         functions
9476         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9477         * libs/gst/control/dparammanager.h: same
9478
9479 2004-04-28  David Schleef  <ds@schleef.org>
9480
9481         Move a bunch of unused files to old/ with names that are
9482         not case-insensitive-unique.  These files still contain some
9483         useful information that needs to be merged into gstbin.sgml,
9484         etc., so they shouldn't be deleted yet.
9485         * docs/gst/tmpl/GstBin.sgml:
9486         * docs/gst/tmpl/GstBuffer.sgml:
9487         * docs/gst/tmpl/GstCaps.sgml:
9488         * docs/gst/tmpl/GstClock.sgml:
9489         * docs/gst/tmpl/GstCompat.sgml:
9490         * docs/gst/tmpl/GstData.sgml:
9491         * docs/gst/tmpl/GstElement.sgml:
9492         * docs/gst/tmpl/GstEvent.sgml:
9493         * docs/gst/tmpl/GstIndex.sgml:
9494         * docs/gst/tmpl/GstStructure.sgml:
9495         * docs/gst/tmpl/GstTag.sgml:
9496         * docs/gst/tmpl/old/GstBin.sgml:
9497         * docs/gst/tmpl/old/GstBuffer.sgml:
9498         * docs/gst/tmpl/old/GstCaps.sgml:
9499         * docs/gst/tmpl/old/GstClock.sgml:
9500         * docs/gst/tmpl/old/GstCompat.sgml:
9501         * docs/gst/tmpl/old/GstData.sgml:
9502         * docs/gst/tmpl/old/GstElement.sgml:
9503         * docs/gst/tmpl/old/GstEvent.sgml:
9504         * docs/gst/tmpl/old/GstIndex.sgml:
9505         * docs/gst/tmpl/old/GstStructure.sgml:
9506         * docs/gst/tmpl/old/GstTag.sgml:
9507
9508 2004-04-28  David Schleef  <ds@schleef.org>
9509
9510         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9511         (gst_caps_append), (gst_caps_append_structure),
9512         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9513         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9514         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9515         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9516         (gst_caps_intersect), (gst_caps_normalize),
9517         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9518         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9519         * gst/gstcaps.h: use GST_IS_CAPS().
9520
9521 2004-04-26  David Schleef  <ds@schleef.org>
9522
9523         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9524         assembly.  gcc doesn't handle it correctly. (bug #141083)
9525         * gst/gsttrashstack.h: same
9526
9527 2004-04-25  Benjamin Otte  <otte@gnome.org>
9528
9529         * gst/gstelement.c: (gst_element_change_state):
9530           fix assertion to do an int comparison
9531
9532 2004-04-25  Benjamin Otte  <otte@gnome.org>
9533
9534         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9535           better debugging output on error
9536
9537 2004-04-25  Benjamin Otte  <otte@gnome.org>
9538
9539         * gst/gstcaps.c: (gst_caps_subtract):
9540           fix memleak
9541
9542 2004-04-23  Benjamin Otte  <otte@gnome.org>
9543
9544         * gst/gstvalue.c: (gst_value_compare_buffer),
9545         (_gst_value_initialize):
9546           add comparison function for buffers
9547
9548 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9549
9550         * docs/pwg/pwg.xml:
9551           Just found out that this so-called "ima-wav" format is really
9552           just "dvi adpcm" (according to the MS WAV documentation). So
9553           renaming it. We didn't use it yet anyway.
9554
9555 2004-04-23  Benjamin Otte  <otte@gnome.org>
9556
9557         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9558           call gst_caps_is_subset
9559
9560 2004-04-23  Benjamin Otte  <otte@gnome.org>
9561
9562         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9563         (gst_caps_is_subset):
9564           add documentation
9565
9566 2004-04-23  Benjamin Otte  <otte@gnome.org>
9567           
9568         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9569         (gst_caps_structure_subtract), (gst_caps_subtract),
9570         (gst_caps_structure_figure_out_union),
9571         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9572           fix simplifying and subtracting not working correctly with optional
9573           properties
9574           solve assorted problems that make it now simplify ebven more
9575         * docs/gst/tmpl/gstcaps.sgml:
9576         * gst/gstcaps.h:
9577           make gst_caps_do_simplify return a bool to indicate if it simplified
9578         * testsuite/caps/simplify.c: (main):
9579           add more checks. The tests is quite a bit useless right now because
9580           the core is heavily simplifying itself.
9581         * testsuite/caps/caps.h:
9582           fix caps to contain all optional properties
9583
9584 2004-04-22  Benjamin Otte  <otte@gnome.org>
9585
9586         * docs/gst/tmpl/gstcaps.sgml:
9587         * docs/gst/tmpl/gstfilesrc.sgml:
9588         * docs/gst/tmpl/gststructure.sgml:
9589         * docs/gst/tmpl/gstvalue.sgml:
9590           update for recent API changes
9591         * gst/gstcaps.c: (gst_caps_do_simplify):
9592           fix to stop trying with a freed structure
9593         * gst/gstpad.c: (gst_pad_link_fixate):
9594           simplify caps
9595         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9596           remove C++ comment
9597         * gst/gstpad.h:
9598           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9599         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9600         (gst_structure_to_string):
9601           keep the correct type when using lists of ranges
9602         * gst/gstvalue.c: (gst_value_list_prepend_value),
9603         (gst_value_list_append_value):
9604           copy the value before adding to the list (d'oh)
9605         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9606         (gst_value_subtract_int_range_int_range):
9607           handle overflows correctly
9608         * gst/gstvalue.c: (gst_value_subtract_from_list):
9609           fix memleak
9610         * testsuite/caps/caps.h:
9611           add a caps that caused segfaults
9612
9613 2004-04-22  Benjamin Otte  <otte@gnome.org>
9614
9615         * testsuite/refcounting/pad.c: (main):
9616           fix test
9617
9618 2004-04-22  Benjamin Otte  <otte@gnome.org>
9619
9620         * gst/gstcaps.c: (gst_caps_subtract):
9621           allow subtracting ANY and EMPTY from ANY caps
9622
9623 2004-04-22  Benjamin Otte  <otte@gnome.org>
9624
9625         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9626         (gst_caps_union):
9627           only simplify in functions that create new caps. Simplifying in
9628           gst_caps_append breaks tests.
9629
9630 2004-04-22  Benjamin Otte  <otte@gnome.org>
9631
9632         * gst/gstcaps.c: (gst_caps_structure_simplify):
9633           unset GValue after use
9634         * gst/gstcaps.c: (gst_caps_append), 
9635         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9636           use gst_caps_simplify (reduces registry size by 30%)
9637         * gst/gstpad.c: (gst_pad_template_new):
9638           don't allow NULL caps
9639
9640 2004-04-22  Benjamin Otte  <otte@gnome.org>
9641
9642         * docs/gst/gstreamer-sections.txt:
9643           add gst_caps_do_simplify
9644         * gst/gstcaps.c:
9645           add documentation for gst_caps_do_simplify
9646         * gst/gstvalue.h:
9647           fix typo in gst_value_register_subtract_func declaration for gst-doc
9648
9649 2004-04-22  Benjamin Otte  <otte@gnome.org>
9650
9651         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9652           fix bug when converting from empty string.
9653         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9654         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9655           use gst_caps_new_empty to allocate a new caps. Only that function
9656           allocates memory for caps now.
9657         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9658         (gst_caps_remove_structure):
9659           add ability to remove one structure (but not to header yet)
9660         * gst/gstcaps.c: (gst_caps_compare_structures),
9661         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9662         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9663         * gst/gstcaps.h:
9664           add gst_caps_do_simplify that tries to simplify a caps in place.
9665           Deprecate old gst_caps_simplify function.
9666         * testsuite/caps/caps.h:
9667           add caps.h containing a common set of caps to test against.
9668         * testsuite/caps/sets.c: (check_caps), (main):
9669           use it.
9670         * testsuite/caps/.cvsignore:
9671         * testsuite/caps/Makefile.am:
9672         * testsuite/caps/simplify.c: (check_caps), (main):
9673           add test to check correctness and efficency of caps simplification.
9674
9675 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9676
9677         reviewed by Benjamin Otte  <otte@gnome.org>
9678
9679         * gst/gstparse.c: (_gst_parse_escape):
9680           Free the GString used in _gst_parse_escape()
9681
9682 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9683
9684         * gst/gstpad.c: (gst_pad_link_negotiate):
9685           refuse to link if the link is not possible
9686         * configure.ac:
9687         * testsuite/Makefile.am:
9688         * testsuite/negotiation/.cvsignore:
9689         * testsuite/negotiation/Makefile.am:
9690         * testsuite/negotiation/pad_link.c: (main):
9691           add test that checks the above behaviour
9692
9693 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9694
9695         * docs/gst/gstreamer-sections.txt:
9696           add newly added API
9697
9698 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9699
9700         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9701         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9702         (gst_filesrc_open_file), (gst_filesrc_close_file),
9703         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9704         * gst/elements/gstfilesrc.h:
9705           add support for non-regular files (#140734)
9706
9707 2004-04-21  Benjamin Otte  <otte@gnome.org>
9708
9709         * gst/gstpad.c: (gst_pad_link_fixate):
9710           add sophisticated error checking code to see if fixation functions
9711           did their fixation right
9712
9713 2004-04-21  Benjamin Otte  <otte@gnome.org>
9714
9715         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9716           check for ANY caps before appending/unioning
9717         * gst/gstcaps.c: (gst_caps_is_subset),
9718         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9719         (gst_caps_structure_subtract), (gst_caps_subtract):
9720         * gst/gstcaps.h:
9721           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9722           the API. deprecate gst_caps_is_equal_fixed
9723         * gst/gstpad.c: (gst_pad_try_set_caps):
9724         * gst/gstqueue.c: (gst_queue_link):
9725           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9726         * gst/gststructure.c: (gst_structure_get_name_id):
9727         * gst/gststructure.h:
9728           add function gst_structure_get_name_id
9729         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9730         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9731         (gst_value_subtract_int_range_int_range),
9732         (gst_value_subtract_double_double_range),
9733         (gst_value_subtract_double_range_double),
9734         (gst_value_subtract_double_range_double_range),
9735         (gst_value_subtract_from_list), (gst_value_subtract_list),
9736         (gst_value_can_intersect), (gst_value_subtract),
9737         (gst_value_can_subtract), (gst_value_register_subtract_func),
9738         (_gst_value_initialize):
9739         * gst/gstvalue.h:
9740           add support for subtracting values from each other. Note that
9741           subtracting means subtracting as in set theory. Required for caps
9742           stuff above.
9743         * testsuite/caps/.cvsignore:
9744         * testsuite/caps/Makefile.am:
9745         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9746         * testsuite/caps/sets.c: (check_caps), (main):
9747         * testsuite/caps/subtract.c: (check_caps), (main):
9748           add tests for subtraction and equality code.
9749
9750 2004-04-20  David Schleef  <ds@schleef.org>
9751
9752         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9753         * gst/indexers/Makefile.am:
9754         * gst/schedulers/Makefile.am:
9755         * libs/gst/bytestream/Makefile.am:
9756         * libs/gst/control/Makefile.am:
9757         * libs/gst/getbits/Makefile.am:
9758
9759 2004-04-20  David Schleef  <ds@schleef.org>
9760
9761         * common/as-libtool.mak: Fine-tune DLL building.
9762         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9763         (like gst-plugins)
9764         * examples/plugins/Makefile.am: remove plugindir
9765         * gst/autoplug/Makefile.am: DLL building fixes
9766         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9767         Windows.
9768         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9769         * gst/indexers/Makefile.am: DLL building fixes
9770         * gst/schedulers/Makefile.am: DLL building fixes.
9771         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9772         * libs/gst/control/Makefile.am: same
9773         * libs/gst/getbits/Makefile.am: same
9774         * testsuite/Makefile.am: New dlopen directory
9775         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9776         when dlopened.
9777         * testsuite/dlopen/dlopen_gst.c: (main): same
9778         * testsuite/dlopen/loadgst.c: (do_test): same
9779
9780 2004-04-20  David Schleef  <ds@schleef.org>
9781
9782         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9783         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9784
9785 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9786
9787         * gst/gstelement.c: (gst_element_wait),
9788         (gst_element_set_time_delay), (gst_element_change_state):
9789           Use GST_TIME_*
9790
9791 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9792
9793         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9794         (gst_spider_identity_plug):
9795           improve debugging messages
9796         * gst/gstbin.c: (gst_bin_remove_func):
9797           make sure the state_change function is only called with simple state
9798           transitions
9799
9800 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9803         (gst_fakesink_set_property), (gst_fakesink_chain):
9804         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9805         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9806         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9807         * gst/elements/gstidentity.c: (gst_identity_chain),
9808         (gst_identity_set_property):
9809         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9810         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9811           add warnings to _set_property for unknown arguments
9812           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9813
9814 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9815
9816         * Makefile.am:
9817         * docs/manuals.mak:
9818           add .po file download snippet
9819           fix a bug in the doc makefile
9820
9821 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * Makefile.am:
9824         * po/LINGUAS:
9825         * po/en_GB.po:
9826           Added en_GB translation (Gareth Owen)
9827
9828 2004-04-20  Johan Dahlin  <johan@gnome.org>
9829
9830         * gst/gstpad.c (_invent_event): Clean up
9831
9832 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9833
9834         * testsuite/caps/filtercaps.c: (main):
9835           fix test to test things correctly (caps are complicated)
9836
9837 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9838
9839         * testsuite/caps/Makefile.am:
9840         * testsuite/caps/filtercaps.c: (main):
9841           add test (that doesn't work right now, but should)
9842
9843 2004-04-19  David Schleef  <ds@schleef.org>
9844
9845         * configure.ac: Add test for allowing unaligned access.  Add define
9846         to put in gstconfig.h.
9847         * docs/gst/gstreamer-sections.txt: New symbols
9848         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9849         * docs/gst/tmpl/gstfilesrc.sgml:
9850         * docs/gst/tmpl/gstparse.sgml:
9851         * docs/gst/tmpl/gsttypes.sgml:
9852         * docs/gst/tmpl/gstutils.sgml:
9853         * docs/gst/tmpl/gstvalue.sgml:
9854         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9855         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9856         on most !i386/!powerpc architectures.  From Daniel Gazard
9857         <daniel.gazard@free.fr>.  (bug #140156)
9858         * po/af.po: Check in changes made by gettext.
9859         * po/az.po:
9860         * po/fr.po:
9861         * po/nl.po:
9862         * po/sr.po:
9863         * po/sv.po:
9864
9865 2004-04-20  Benjamin Otte  <otte@gnome.org>
9866
9867         * gst/schedulers/entryscheduler.c: 
9868         (gst_entry_scheduler_yield):
9869           refuse to yield when decoupled elements insist on doing that.
9870           At least it's better than crashing
9871
9872 2004-04-19  David Schleef  <ds@schleef.org>
9873
9874         * docs/libs/Makefile.am: Change sinclude to include
9875         * docs/gst/Makefile.am: same
9876         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9877
9878 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9879
9880         * po/LINGUAS:
9881         * po/uk.po:
9882           Added Ukrainian translation (Maxim V. Dziumanenko)
9883
9884 2004-04-19  Johan Dahlin  <johan@gnome.org>
9885
9886         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9887         checking here, do it before calling the function.
9888         Clean up, use for loops instead of while loops while iterating
9889         over lists.
9890
9891         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9892         in debug message.
9893         (gst_spider_create_and_plug): Improve debug message.
9894         General: Replace while loops which iterates over GLists with for
9895         loops. Which are much cleaner, improves readability, especially
9896         for gst_spider_identity_plug
9897
9898         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9899         fixes bug 140477
9900
9901 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9902
9903         * po/LINGUAS:
9904         * po/tr.po:
9905           Added Turkish translation (Baris Cicek)
9906
9907 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9908
9909         * docs/faq/troubleshooting.xml:
9910           Mention gst-register in the FAQ (fixes 139045).
9911
9912 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9913
9914         * docs/gst/gstreamer-sections.txt:
9915
9916 2004-04-17  Benjamin Otte  <otte@gnome.org>
9917
9918         * gst/gstelement.c: (gst_element_dispose):
9919           simplify
9920         * gst/gstpad.c: (gst_pad_call_chain_function):
9921           don't create loads of events due to bad macro usage
9922
9923 2004-04-16  David Schleef  <ds@schleef.org>
9924
9925         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9926         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9927         * gst/gstvalue.c: (gst_value_serialize_buffer),
9928         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9929         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9930         to indicate types that are fixed wrt caps or not.  Switching to
9931         this function fixes (bug #140298).
9932         * gst/gstvalue.h:
9933
9934 2004-04-16  David Schleef  <ds@schleef.org>
9935
9936         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9937         for GST_UNALIGNED_ACESS, since we essentially know which archs
9938         are ok.
9939
9940 2004-04-17  Benjamin Otte  <otte@gnome.org>
9941
9942         * docs/gst/Makefile.am:
9943           ignore gst/parse directory when building docs (fixes #140205)
9944
9945 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9946
9947         * testsuite/refcounting/mem.c: (vmsize):
9948           do error checking
9949
9950 2004-04-16  Johan Dahlin  <johan@gnome.org>
9951
9952         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9953         and gst_pad_call_get_function.
9954
9955 2004-04-15  David Schleef  <ds@schleef.org>
9956
9957         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9958         checks if we can access unaligned memory.
9959         * configure.ac: Use it.
9960
9961 2004-04-16  Benjamin Otte  <otte@gnome.org>
9962
9963         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9964         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9965         * gst/elements/gstfilesrc.h:
9966           s/seek_happened/need_discont/ and require discont before sending any
9967           data
9968
9969 2004-04-15  David Schleef  <ds@schleef.org>
9970
9971         * gst/gstvalue.c: (gst_value_serialize_buffer),
9972         (gst_value_deserialize_buffer), (_gst_value_initialize):
9973         Register these types as fundamental types. (bug #140015)
9974
9975 2004-04-16  Benjamin Otte  <otte@gnome.org>
9976
9977         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9978         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9979         (gst_pad_pull):
9980           implement enforcing discont events before buffers are passed. This
9981           allows state changes of only some elements and later correctly going
9982           on where they left off (or in short: you can now set audio sinks to
9983           NULL to release the device when the pipeline is paused)
9984         * gst/gstpad.c: (gst_pad_call_chain_function),
9985         (gst_pad_call_get_function):
9986         * gst/gstpad.h:
9987           add gst_pad_call_chain_function and gst_pad_call_get_function for
9988           scheduler interaction. They are required because of the changes
9989           above.
9990         * gst/schedulers/entryscheduler.c: (get_buffer),
9991         (gst_entry_scheduler_chain_wrapper),
9992         (gst_entry_scheduler_get_wrapper),
9993         (gst_entry_scheduler_state_transition),
9994         (gst_entry_scheduler_pad_link):
9995         * gst/schedulers/gstbasicscheduler.c:
9996         (gst_basic_scheduler_chain_wrapper),
9997         (gst_basic_scheduler_src_wrapper),
9998         (gst_basic_scheduler_chainhandler_proxy),
9999         (gst_basic_scheduler_gethandler_proxy),
10000         (gst_basic_scheduler_cothreaded_chain),
10001         (gst_basic_scheduler_chain_elements):
10002         * gst/schedulers/gstoptimalscheduler.c:
10003         (get_group_schedule_function), (pad_clear_queued),
10004         (gst_opt_scheduler_pad_link):
10005           use the new functions instead of calling get/chain-functions
10006           directly.
10007
10008 2004-04-15  David Schleef  <ds@schleef.org>
10009
10010         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10011         * docs/gst/tmpl/gstinfo.sgml: same
10012         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10013         gtk-doc put here.
10014         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10015         * examples/queue/queue.c: (main):  We iterate pipelines, not
10016         bins.  (bug #139996)
10017
10018 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10019
10020         * docs/pwg/advanced-types.xml:
10021           Add MS RLE support. Also document Qt RLE although I have no sample
10022           files for that yet. And document an extra property for ADPCM.
10023
10024 2004-04-15  David Schleef  <ds@schleef.org>
10025
10026         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10027         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10028         Windows.
10029
10030 2004-04-15  David Schleef  <ds@schleef.org>
10031
10032         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10033         symbol names to not conflict with new gstinfo.h symbols.
10034         * gst/gstinfo.h: Add inline functions for all those crazy
10035         compilers that don't know how to handle variadic macros (MSVC).
10036
10037 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10038
10039         * configure.ac: bump nano to 1
10040
10041 === release 0.8.1 ===
10042
10043 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10044
10045         * NEWS:
10046         * RELEASE:
10047         * configure.ac:
10048           releasing 0.8.1, "Snow Brigade"
10049
10050 2004-04-14  David Schleef  <ds@schleef.org>
10051
10052         * testsuite/Makefile.am: define tests_ignore
10053         * testsuite/Rules: Added new tests_ignore, which get compiled,
10054         but not run (generally because they're inconsistent or have
10055         heisenbugs).  Now we can ensure all the .c files compile in
10056         testsuite/.
10057         * testsuite/bins/Makefile.am: define tests_ignore
10058         * testsuite/bytestream/Makefile.am:
10059         * testsuite/caps/Makefile.am:
10060         * testsuite/clock/Makefile.am:
10061         * testsuite/debug/Makefile.am:
10062         * testsuite/debug/global.c: (gst_debug_log_one),
10063         (gst_debug_log_two): Fix compilation problem.
10064         * testsuite/dynparams/Makefile.am:
10065         * testsuite/elements/Makefile.am:
10066         * testsuite/ghostpads/Makefile.am:
10067         * testsuite/indexers/Makefile.am:
10068         * testsuite/parse/Makefile.am:
10069         * testsuite/plugin/Makefile.am:
10070         * testsuite/refcounting/Makefile.am:
10071         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10072         results, because it's not calculated correctly.
10073         * testsuite/refcounting/pad.c: (main): same
10074         * testsuite/states/Makefile.am:
10075         * testsuite/tags/Makefile.am:
10076         * testsuite/threads/Makefile.am:
10077
10078 2004-04-14  David Schleef  <ds@schleef.org>
10079
10080         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10081         generating bad code around the cpu detection asm code.
10082
10083 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10084
10085         * tools/gst-inspect.c: (print_element_info):
10086           print numeric version of rank as well, since we added some - 1
10087           rank values to elements
10088
10089 2004-04-13  David Schleef  <ds@schleef.org>
10090
10091         * configure.ac:  Disable various code when compiling for MinGW.
10092         * gst/elements/Makefile.am:
10093         * gst/elements/gstelements.c:
10094         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10095         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10096         * gst/registries/gstxmlregistry.c: (make_dir):
10097
10098 2004-04-13  David Schleef  <ds@schleef.org>
10099
10100         * gst/Makefile.am:
10101         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10102         assembly.
10103         * gst/gstcpuid_i386.s: remove
10104
10105 2004-04-13  David Schleef  <ds@schleef.org>
10106
10107         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10108         seems to think it needs to be done.
10109         * docs/gst/tmpl/gstfakesink.sgml:
10110         * docs/gst/tmpl/gstfakesrc.sgml:
10111         * docs/gst/tmpl/gstfdsink.sgml:
10112         * docs/gst/tmpl/gstfdsrc.sgml:
10113         * docs/gst/tmpl/gstfilesink.sgml:
10114         * docs/gst/tmpl/gstfilesrc.sgml:
10115         * docs/gst/tmpl/gstidentity.sgml:
10116         * docs/gst/tmpl/gstmd5sink.sgml:
10117         * docs/gst/tmpl/gstmultifilesrc.sgml:
10118         * docs/gst/tmpl/gstpipefilter.sgml:
10119         * docs/gst/tmpl/gstshaper.sgml:
10120         * docs/gst/tmpl/gstspider.sgml:
10121         * docs/gst/tmpl/gstspideridentity.sgml:
10122         * docs/gst/tmpl/gststatistics.sgml:
10123         * docs/gst/tmpl/gsttee.sgml:
10124         * docs/gst/tmpl/gsttypefind.sgml:
10125         * docs/gst/tmpl/gstutils.sgml:
10126
10127 2004-04-13  David Schleef  <ds@schleef.org>
10128
10129         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10130         and to build DLLs on Windows.
10131         * gst/Makefile.am:
10132         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10133         (gst_filesrc_open_file):
10134         * gst/schedulers/Makefile.am:
10135
10136 2004-04-13  David Schleef  <ds@schleef.org>
10137
10138         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10139         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10140         fixating lists.
10141
10142 2004-04-12  David Schleef  <ds@schleef.org>
10143
10144         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10145         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10146         to using it.
10147         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10148         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10149         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10150         * gst/gststructure.c: (gst_structure_set_valist),
10151         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10152         support for buffers.
10153         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10154         intended to be const.
10155         * gst/gsttag.h: same
10156         * gst/gstvalue.c: (gst_value_serialize_buffer),
10157         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10158         to (de)serialize buffers.
10159         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10160         * testsuite/caps/string-conversions.c: (main):
10161         * testsuite/caps/value_serialize.c: add new test
10162
10163 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10164
10165         * docs/pwg/advanced-types.xml:
10166           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10167
10168 2004-04-11  Benjamin Otte  <otte@gnome.org>
10169
10170         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10171           rename categories to basic_*
10172         * gst/schedulers/gstbasicscheduler.c: 
10173         (gst_basic_scheduler_chain_wrapper),
10174         (gst_basic_scheduler_chainhandler_proxy),
10175         (gst_basic_scheduler_gethandler_proxy),
10176         (gst_basic_scheduler_eventhandler_proxy):
10177           debugging category fixes - put common stuff in log category
10178         * gst/schedulers/gstbasicscheduler.c: 
10179         (gst_basic_scheduler_chain_elements):
10180           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10181           active and linking two active chains
10182
10183 2004-04-10  Benjamin Otte  <otte@gnome.org>
10184
10185         * docs/pwg/intro-preface.xml:
10186           fix dead links and remove reference to Wiki
10187
10188 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10189
10190         * gst/schedulers/gstbasicscheduler.c:
10191           make sure we can switch back to the main function if we're still in
10192           the main function (supposed to fix #139617)
10193         * gst/schedulers/gthread-cothreads.h:
10194           don't throw an error when switching to the same cothread
10195
10196 2004-04-09  Benjamin Otte  <otte@gnome.org>
10197
10198         * gst/gstbin.c: (gst_bin_get_type):
10199         * gst/gstclock.c: (gst_clock_get_type):
10200         * gst/gstindex.c: (gst_index_get_type):
10201         * gst/gstobject.c: (gst_object_get_type),
10202         (gst_signal_object_get_type):
10203         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10204         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10205         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10206         * gst/gstqueue.c: (gst_queue_get_type):
10207         * gst/gstregistry.c: (gst_registry_get_type):
10208         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10209         * gst/gstthread.c: (gst_thread_get_type):
10210           don't use memchunks for these objects, use malloc instead
10211
10212 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10213
10214         * docs/gst/.cvsignore:
10215         * docs/gst/Makefile.am:
10216         * docs/gst/gstreamer-sections.txt:
10217         * docs/gst/tmpl/gstaggregator.sgml:
10218         * docs/gst/tmpl/gstbuffer.sgml:
10219         * docs/gst/tmpl/gstclock.sgml:
10220         * docs/gst/tmpl/gstelement.sgml:
10221         * docs/gst/tmpl/gstfakesink.sgml:
10222         * docs/gst/tmpl/gstfakesrc.sgml:
10223         * docs/gst/tmpl/gstfdsink.sgml:
10224         * docs/gst/tmpl/gstfdsrc.sgml:
10225         * docs/gst/tmpl/gstfilesink.sgml:
10226         * docs/gst/tmpl/gstfilesrc.sgml:
10227         * docs/gst/tmpl/gstidentity.sgml:
10228         * docs/gst/tmpl/gstindex.sgml:
10229         * docs/gst/tmpl/gstinfo.sgml:
10230         * docs/gst/tmpl/gstmd5sink.sgml:
10231         * docs/gst/tmpl/gstmultifilesrc.sgml:
10232         * docs/gst/tmpl/gstpad.sgml:
10233         * docs/gst/tmpl/gstpipefilter.sgml:
10234         * docs/gst/tmpl/gstpipeline.sgml:
10235         * docs/gst/tmpl/gstpluginfeature.sgml:
10236         * docs/gst/tmpl/gstqueue.sgml:
10237         * docs/gst/tmpl/gstregistry.sgml:
10238         * docs/gst/tmpl/gstscheduler.sgml:
10239         * docs/gst/tmpl/gstshaper.sgml:
10240         * docs/gst/tmpl/gstspider.sgml:
10241         * docs/gst/tmpl/gstspideridentity.sgml:
10242         * docs/gst/tmpl/gststatistics.sgml:
10243         * docs/gst/tmpl/gstsystemclock.sgml:
10244         * docs/gst/tmpl/gsttee.sgml:
10245         * docs/gst/tmpl/gstthread.sgml:
10246         * docs/gst/tmpl/gsttypefind.sgml:
10247         * docs/gst/tmpl/gstutils.sgml:
10248           further doc build fixes
10249
10250 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10251
10252         * docs/gst/Makefile.am:
10253           make docs exit on scanning problems
10254           fix nonsrcdir build issues
10255         * docs/gst/gstreamer-sections.txt:
10256           adding stuff from -unused
10257         * gst/gstqueue.h:
10258           create GstQueueSize
10259         * gst/schedulers/cothreads_compat.h:
10260           fix cothread warnings
10261
10262 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10263
10264         * docs/gst/gstreamer-sections.txt:
10265           remove defines deprecated by Benjamin
10266
10267 2004-04-07  Benjamin Otte  <otte@gnome.org>
10268
10269         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10270           when the buffer is complete, don't check if other buffers are needed
10271         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10272           check that the offset is >0 so we don't try to read before the
10273           beginning of the file
10274         * gst/gstpad.c: (gst_pad_set_pad_template):
10275           sink the template, so we don't end up with 130k pad templates
10276
10277 2004-04-06  Benjamin Otte  <otte@gnome.org>
10278
10279         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10280           don't ref the element, adding already reffed it. And we didn't unref
10281           it later anyway... (huge memleak when you used many spider elements)
10282         * gst/gstelement.c: (gst_element_base_class_finalize):
10283         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10284         (gst_element_register):
10285         * gst/gsturi.c: (gst_element_make_from_uri):
10286           use gst_object_(un)ref instead of g_object(un)ref
10287
10288 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10289
10290         * gst/gstbuffer.h:
10291           remove macro that wouldn't work anymore because struct member has
10292           been removed.
10293         * gst/schedulers/entryscheduler.c: (schedule_forward):
10294           fix segfault for unconnected pads
10295         
10296 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10297
10298         reviewed by David Schleef <ds@schleef.org>
10299
10300         * gst/gstinfo.h:
10301           *_FORMAT modifiers should require putting a % in front of them for
10302           consistency reasons.
10303
10304 2004-04-05  Colin Walters  <walters@redhat.com>
10305
10306         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10307         space.
10308
10309 2004-04-05  Benjamin Otte  <otte@gnome.org>
10310
10311         * configure.ac:
10312         * gst/Makefile.am:
10313         * gst/gst_private.h:
10314         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10315           add support for detecting if GStreamer runs inside valgrind.
10316           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10317           print a big message in valgrind that GStreamer has detected it's
10318           running inside and might now use different code.
10319         * gst/gstmemchunk.c: (populate), (free_area),
10320         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10321         (gst_mem_chunk_free):
10322           flag memchunks for valgrind, so it can detect leaking of chunks.
10323           This allows detecting leaks of GstBuffer and GstEvent correctly
10324           inside valgrind.
10325
10326 2004-04-05  David Schleef  <ds@schleef.org>
10327
10328         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10329           jensgr@gmx.net (Jens Granseuer)
10330
10331 2004-04-05  David Schleef  <ds@schleef.org>
10332
10333         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10334         (gst_buffer_default_free), (gst_buffer_default_copy),
10335         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10336         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10337         structures in one place.
10338
10339 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10340
10341         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10342           (GST_TIME_FORMAT, GST_TIME_ARGS)
10343
10344 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10345
10346         * testsuite/elements/Makefile.am:
10347           disable test until it stops breaking make distcheck
10348
10349 2004-04-05  Johan Dahlin  <johan@gnome.org>
10350
10351         * po/sv.po: Updated translation
10352
10353 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * gst/gstplugin.c: (gst_plugin_load_file):
10356           fix segfault for when original plugin was loaded statically
10357
10358 2004-04-05  Benjamin Otte  <otte@gnome.org>
10359
10360         * testsuite/debug/category.c: (main):
10361         * testsuite/debug/commandline.c: (main):
10362         * testsuite/debug/output.c: (main):
10363           fix tests to work again with debugging enabled
10364
10365 2004-04-05  Benjamin Otte  <otte@gnome.org>
10366
10367         * gst/schedulers/gstbasicscheduler.c:
10368         (gst_basic_scheduler_pad_link):
10369           fix to work with recent scheduling changes
10370
10371 2004-04-05  Benjamin Otte  <otte@gnome.org>
10372
10373         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10374         prepareChangeLog doesn't work when cvs indents):
10375           don't throw an error when no element can be scheduled, there's too
10376           many weird reasons why it doesn't work. Return STOPPED instead.
10377           decoupled elemts' schedulability doesn't depend on bufpens.
10378
10379 2004-04-04  Benjamin Otte  <otte@gnome.org>
10380
10381         * gst/schedulers/gstbasicscheduler.c:
10382         (gst_basic_scheduler_pad_select):
10383           fix uninitialized variable warnings
10384
10385 2004-04-04  Benjamin Otte  <otte@gnome.org>
10386
10387         * gst/gstpad.c: (gst_pad_collect_valist):
10388           fix uninitialized variable warning
10389         * gst/schedulers/entryscheduler.c: (schedule_forward):
10390           fix shadowed variable
10391
10392 2004-04-04  Benjamin Otte  <otte@gnome.org>
10393
10394         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10395         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10396         (gst_pad_select):
10397         * gst/gstpad.h:
10398         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10399         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10400         * gst/gstscheduler.h:
10401           implement gst_pad_collect as replacement for gst_pad_select.
10402           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10403           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10404           new pad_select, lock and unlock calls.
10405         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10406         * gst/cothreads.h:
10407         * gst/schedulers/cothreads_compat.h:
10408         * gst/schedulers/gthread-cothreads.h:
10409           remove unused cothread_lock and cothread_unlock calls
10410         * gst/schedulers/entryscheduler.c:
10411         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10412         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10413         (gst_entry_scheduler_pad_select):
10414           update to new API
10415         * gst/schedulers/gstbasicscheduler.c:
10416         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10417         (gst_basic_scheduler_pad_select):
10418           remove useless lock and unlock calls, update pad_select to new API
10419           (untested)
10420         * gst/schedulers/gstoptimalscheduler.c:
10421         (gst_opt_scheduler_class_init):
10422           remove useless select, lock and unlock function calls
10423         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10424           use gst_pad_collect instead of gst_pad_select
10425
10426 2004-04-04  Benjamin Otte  <otte@gnome.org>
10427
10428         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10429         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10430         (schedule_next_element), (print_entry):
10431           add can_schedule_pad to handle element states.
10432           add schedule_forward to select the correct entry to schedule next
10433
10434 2004-04-03  Benjamin Otte  <otte@gnome.org>
10435
10436         * gst/schedulers/entryscheduler.c: 
10437           remove unused variable, fix error inside Rb, fix compile warning in
10438           unreachable code
10439
10440 2004-04-03  Benjamin Otte  <otte@gnome.org>
10441
10442         * gst/schedulers/entryscheduler.c:
10443           completely revamp the inner workings, so it's a lot easier to
10444           understand and extend
10445
10446 2004-04-03  Andy Wingo  <wingo@pobox.com>
10447
10448         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10449         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10450         This allows better introspection of pipeline topology.
10451         (add_to_chain): Don't do trickery to put loop elements first;
10452         rather, queue a chain sort by marking the chain as dirty.
10453         (remove_from_chain): Mark the chain dirty.
10454         (sort_chain): New function. Sorts the group list so that terminal
10455         sinks are first. This means elements on the sink side will be
10456         preferentially sscheduled before elements on the src side of the
10457         pipeline.
10458         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10459         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10460         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10461         (group_inc_link): Change argument and variable names to match the
10462         new link structure member names (src and sink).
10463         (group_dec_link): Add some description
10464
10465 2004-04-03  Benjamin Otte  <otte@gnome.org>
10466
10467         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10468         * gst/gstinfo.h:
10469         * testsuite/debug/category.c: (main):
10470         * testsuite/debug/commandline.c: (main):
10471         * testsuite/debug/output.c: (main):
10472         * testsuite/debug/printf_extension.c: (main):
10473           fix to successfully build and test with --disable-gst-debug
10474           configure switch (fixes #138705)
10475
10476 2004-04-03  Benjamin Otte  <otte@gnome.org>
10477
10478         * docs/pwg/building-boiler.xml:
10479           add cvs login line and s/anonymous/anoncvs/
10480
10481 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10482
10483         reviewed by Benjamin Otte  <otte@gnome.org>
10484
10485         * gst/gststructure.c: (gst_structure_free):
10486           memleak fix: free fields array (partial fix for #134839)
10487
10488 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10489
10490         * docs/random/ds/0.9-suggested-changes:
10491           Add a note to change handoff use in fakesrc to be usable in
10492           a more generic way (fakesrc should be renamed to appsrc or so).
10493         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10494           Change signal type to scope, so we can fill the buffer in the
10495           handoff handler (that's the whole use of this signal...).
10496
10497 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10498
10499         * docs/pwg/other-ntoone.xml:
10500           Document muxers and n-to-1 elements.
10501
10502 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10503
10504         * gst/registries/gstxmlregistry.c
10505         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10506         determine if a file is a G_MODULE. The old one discards paths
10507         containing "so" somewhere in the middle. My home directory is
10508         called "soto". Go figure...
10509
10510 2004-03-31  David Schleef  <ds@schleef.org>
10511
10512         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10513         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10514         * gst/gstbuffer.h:
10515
10516 2004-03-31  David Schleef  <ds@schleef.org>
10517
10518         * gst/gstvalue.c: (gst_value_union_int_int_range),
10519         (gst_value_union_int_range_int_range), (gst_value_can_union),
10520         (gst_value_union), (_gst_value_initialize):  Add some union
10521         implementations.  We didn't have any previously.
10522         * testsuite/caps/Makefile.am:
10523         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10524         (gst_audioscale_getcaps), (test_caps), (main): A little test
10525         that is the same as the caps manipulation in audioscale.
10526
10527 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10528
10529         * docs/faq/general.xml:
10530           add entry about "does gst support format X?"
10531
10532 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10533
10534         * gst/gstthread.c:
10535           fix docs
10536         * gst/gstutils.h:
10537           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10538
10539 2004-03-30  Benjamin Otte  <otte@gnome.org>
10540
10541         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10542           set the offset of the buffer to the requested offset
10543         * gst/elements/gsttypefind.c: (stop_typefinding):
10544           revert patch 1.18 (which I unfortunately don't know the reason for).
10545           This is needed to allow downstream elements to seek. Otherwise
10546           typefind might overwrite a previous seek by downstream elements.
10547           This lead to errors with id3tag and typefind on some mp3s.
10548         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10549         (gst_entry_scheduler_iterate):
10550           be more verbose when debugging
10551
10552 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10553
10554         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10555           make sure we don't get NULL strings
10556
10557 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10558
10559         * gst/gstcaps.c:
10560         * gst/gstelement.c:
10561         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10562         * gst/gstindex.c: (gst_index_resolver_get_type),
10563         (gst_index_get_type), (gst_index_factory_get_type):
10564         * gst/gstinfo.c:
10565         * gst/gstpad.c:
10566         * gst/gstplugin.c:
10567         * gst/gsturi.c: (gst_uri_handler_get_type):
10568         * gst/gstvalue.c:
10569           first batch of documentation fixes
10570
10571 2004-03-29  David Schleef  <ds@schleef.org>
10572
10573         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10574         * docs/gst/gstreamer-docs.sgml:  More hacking
10575         * docs/gst/gstreamer-sections.txt:
10576         * docs/gst/tmpl/cothreads_compat.sgml:
10577         * docs/gst/tmpl/gstcaps.sgml:
10578         * docs/gst/tmpl/gstclock.sgml:
10579         * docs/gst/tmpl/gstelement.sgml:
10580         * docs/gst/tmpl/gstevent.sgml:
10581         * docs/gst/tmpl/gstpad.sgml:
10582         * docs/gst/tmpl/gstutils.sgml:
10583         * docs/gst/tmpl/gstxml.sgml:
10584         * docs/gst/tmpl/gthread-cothreads.sgml:
10585         * docs/random/ds/0.9-suggested-changes:
10586         * gst/elements/gstfakesink.h: doc fixes
10587         * gst/elements/gstfakesrc.h: doc fixes
10588         * gst/gstcaps.c: doc fixes
10589         * gst/gstcaps.h: doc fixes
10590         * gst/gstelement.c: doc fixes
10591         * gst/gstelement.h: doc fixes
10592         * gst/gstindex.c: doc fixes
10593         * gst/gstinfo.c: doc fixes
10594         * gst/gstpad.c: doc fixes
10595         * gst/gstpad.h: doc fixes
10596         * gst/gstplugin.c: doc fixes
10597         * gst/gsttypefind.h: doc fixes
10598         * gst/gsturi.c: doc fixes
10599         * gst/gstvalue.c: doc fixes
10600
10601 2004-03-29  Colin Walters  <walters@redhat.com>
10602
10603         * gst/registries/gstxmlregistry.c (get_time)
10604         (plugin_times_older_than_recurse):
10605         Use the result of stat to determine whether a path is a file,
10606         so we don't attempt to opendir() files.
10607
10608 2004-03-29  Benjamin Otte  <otte@gnome.org>
10609
10610         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10611           print caps in debugging output when setting caps failed
10612         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10613         (schedule_next_element), (get_buffer), (run_chainhandler),
10614         (element_may_start), (gst_entry_scheduler_chain_handler),
10615         (gst_entry_scheduler_get_handler),
10616         (gst_entry_scheduler_state_transition),
10617         (gst_entry_scheduler_pad_link):
10618           make this scheduler a testcase for mandatory
10619           discont-before-first-buffer which is needed if we want to allow apps
10620           to release the sound device.
10621           add SCHED_ASSERT macro to print scheduler state before an assertion
10622           triggers.
10623
10624 2004-03-29  Benjamin Otte  <otte@gnome.org>
10625
10626         * COPYING:
10627           replace by LGPL (former COPYING.LIB). The core is completely
10628           licensed LGPL.
10629         * COPYING.LIB:
10630           remove
10631
10632 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10633
10634         * po/af.po:
10635         * po/sv.po:
10636           updated Afrikaans and Swedish
10637
10638 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10639
10640         * po/LINGUAS:
10641         * po/az.po:
10642           adding Azerbaijani (Mətin Əmirov)
10643
10644 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10645
10646         * gst/gstelement.h: 
10647         * gst/gstelement.c (gst_element_set_time_delay): New function for
10648         setting element time taking into account a hardware buffering
10649         delay.
10650         (gst_element_set_time): Now just an invocation of
10651         gst_element_set_time_delay.
10652         * gst/gstclock.h: 
10653         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10654         allowing to set event times in the future.
10655         (gst_clock_get_event_time): Now just an invocation of
10656         gst_clock_get_event_time_delay.
10657
10658 2004-03-28  Benjamin Otte  <otte@gnome.org>
10659
10660         * gst/gstbin.c: (gst_bin_set_element_sched),
10661         (gst_bin_unset_element_sched):
10662           don't add decoupled elements to schedulers - otherwise it's
10663           impossible to control if a link to a decoupled element was already
10664           removed from a scheduler or not.
10665         * gst/schedulers/cothreads_compat.h:
10666         * gst/schedulers/gthread-cothreads.h:
10667           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10668           is no "unused" warning.
10669         * gst/schedulers/Makefile.am:
10670         * gst/schedulers/entryscheduler.c:
10671           add new scheduler, based on ideas from talking to David and Martin.
10672           It's supposed to be small and correct. Currently it's also slow (but
10673           it's not noticable)
10674         * examples/retag/retag.c: (main):
10675         * testsuite/bytestream/test1.c: (main):
10676           fix missing NULLs at end of variadic functions
10677         * testsuite/elements/.cvsignore:
10678           update
10679
10680 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10681
10682         * gst/gstevent.h:
10683         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10684
10685 2004-03-25  David Schleef  <ds@schleef.org>
10686
10687         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10688         * docs/gst/tmpl/gstaggregator.sgml:
10689         * docs/gst/tmpl/gstautoplugfactory.sgml:
10690         * docs/gst/tmpl/gstbin.sgml:
10691         * docs/gst/tmpl/gstbuffer.sgml:
10692         * docs/gst/tmpl/gstbufferstore.sgml:
10693         * docs/gst/tmpl/gstfakesink.sgml:
10694         * docs/gst/tmpl/gstfakesrc.sgml:
10695         * docs/gst/tmpl/gstmd5sink.sgml:
10696         * docs/gst/tmpl/gstreamer-unused.sgml:
10697         * docs/gst/tmpl/gstsearchfuncs.sgml:
10698         * docs/gst/tmpl/gstshaper.sgml:
10699         * docs/gst/tmpl/gstspider.sgml:
10700         * docs/gst/tmpl/gsttee.sgml:
10701         * docs/gst/tmpl/gstutils.sgml:
10702         * docs/gst/tmpl/gstvalue.sgml:
10703         * docs/gst/tmpl/gstxml.sgml:
10704         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10705         and we don't support it.
10706         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10707         (gst_use_threads), (gst_has_threads): same
10708         * gst/gstthreaddummy.c: same
10709         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10710         * gst/autoplug/gstspider.h: same
10711         * gst/elements/gstaggregator.h: Remove bogus function from header
10712         * gst/elements/gstfakesink.h: same
10713         * gst/elements/gstfakesrc.h: same
10714         * gst/elements/gstmd5sink.h: same
10715         * gst/elements/gstshaper.h: same
10716         * gst/elements/gsttee.h: same
10717         * gst/gstbin.c: doc fixes
10718         * gst/gstbin.h: Remove unused definition.
10719         * gst/gstbuffer.c: doc fixes
10720         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10721         * gst/gstfilter.c: doc fixes
10722         * gst/gsttag.c: doc fixes
10723         * gst/gstvalue.c: doc fixes
10724
10725 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10726
10727         * docs/pwg/advanced-types.xml:
10728           Document typefinding.
10729         * docs/pwg/other-oneton.xml:
10730           Document one-to-n elements, demuxers and parsers.
10731
10732 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10733
10734         reviewed by: David Schleef  <ds@schleef.org>
10735
10736         * configure.ac: Check bison version (bug #127838)
10737
10738 2004-03-25  David Schleef  <ds@schleef.org>
10739
10740         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10741         * docs/gst/gstreamer-sections.txt:
10742         * docs/gst/tmpl/gstautoplug.sgml:
10743         * docs/gst/tmpl/gststaticautoplug.sgml:
10744         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10745         * docs/gst/tmpl/gstutils.sgml:
10746         * docs/gst/tmpl/gstxml.sgml:
10747
10748 2004-03-24  David Schleef  <ds@schleef.org>
10749
10750         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10751         manual being such complete crap, that I decided to do major
10752         hacking of it.  This checkin replaces any fine tuning that
10753         may have been done previously, with the benefit of actually
10754         being complete for much of the API that was changed since
10755         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10756         * docs/gst/gstreamer-sections.txt:
10757         * docs/gst/tmpl/GstBin.sgml:
10758         * docs/gst/tmpl/GstBuffer.sgml:
10759         * docs/gst/tmpl/GstCaps.sgml:
10760         * docs/gst/tmpl/GstClock.sgml:
10761         * docs/gst/tmpl/GstCompat.sgml:
10762         * docs/gst/tmpl/GstData.sgml:
10763         * docs/gst/tmpl/GstElement.sgml:
10764         * docs/gst/tmpl/GstEvent.sgml:
10765         * docs/gst/tmpl/GstIndex.sgml:
10766         * docs/gst/tmpl/GstStructure.sgml:
10767         * docs/gst/tmpl/GstTag.sgml:
10768         * docs/gst/tmpl/cothreads.sgml:
10769         * docs/gst/tmpl/cothreads_compat.sgml:
10770         * docs/gst/tmpl/gettext.sgml:
10771         * docs/gst/tmpl/grammar.tab.sgml:
10772         * docs/gst/tmpl/gst-i18n-app.sgml:
10773         * docs/gst/tmpl/gst-i18n-lib.sgml:
10774         * docs/gst/tmpl/gst.sgml:
10775         * docs/gst/tmpl/gst_private.sgml:
10776         * docs/gst/tmpl/gstaggregator.sgml:
10777         * docs/gst/tmpl/gstarch.sgml:
10778         * docs/gst/tmpl/gstatomic.sgml:
10779         * docs/gst/tmpl/gstatomic_impl.sgml:
10780         * docs/gst/tmpl/gstbin.sgml:
10781         * docs/gst/tmpl/gstbuffer.sgml:
10782         * docs/gst/tmpl/gstbufferstore.sgml:
10783         * docs/gst/tmpl/gstcaps.sgml:
10784         * docs/gst/tmpl/gstclock.sgml:
10785         * docs/gst/tmpl/gstcompat.sgml:
10786         * docs/gst/tmpl/gstconfig.sgml:
10787         * docs/gst/tmpl/gstcpu.sgml:
10788         * docs/gst/tmpl/gstdata.sgml:
10789         * docs/gst/tmpl/gstdata_private.sgml:
10790         * docs/gst/tmpl/gstelement.sgml:
10791         * docs/gst/tmpl/gstenumtypes.sgml:
10792         * docs/gst/tmpl/gsterror.sgml:
10793         * docs/gst/tmpl/gstevent.sgml:
10794         * docs/gst/tmpl/gstfakesink.sgml:
10795         * docs/gst/tmpl/gstfakesrc.sgml:
10796         * docs/gst/tmpl/gstfilesink.sgml:
10797         * docs/gst/tmpl/gstfilter.sgml:
10798         * docs/gst/tmpl/gstindex.sgml:
10799         * docs/gst/tmpl/gstinfo.sgml:
10800         * docs/gst/tmpl/gstinterface.sgml:
10801         * docs/gst/tmpl/gstlog.sgml:
10802         * docs/gst/tmpl/gstmacros.sgml:
10803         * docs/gst/tmpl/gstmarshal.sgml:
10804         * docs/gst/tmpl/gstmd5sink.sgml:
10805         * docs/gst/tmpl/gstmultifilesrc.sgml:
10806         * docs/gst/tmpl/gstobject.sgml:
10807         * docs/gst/tmpl/gstpad.sgml:
10808         * docs/gst/tmpl/gstparse.sgml:
10809         * docs/gst/tmpl/gstpipeline.sgml:
10810         * docs/gst/tmpl/gstplugin.sgml:
10811         * docs/gst/tmpl/gstpluginfeature.sgml:
10812         * docs/gst/tmpl/gstqueue.sgml:
10813         * docs/gst/tmpl/gstreamer-unused.sgml:
10814         * docs/gst/tmpl/gstregistry.sgml:
10815         * docs/gst/tmpl/gstregistrypool.sgml:
10816         * docs/gst/tmpl/gstscheduler.sgml:
10817         * docs/gst/tmpl/gstsearchfuncs.sgml:
10818         * docs/gst/tmpl/gstshaper.sgml:
10819         * docs/gst/tmpl/gstspider.sgml:
10820         * docs/gst/tmpl/gstspideridentity.sgml:
10821         * docs/gst/tmpl/gststructure.sgml:
10822         * docs/gst/tmpl/gstsystemclock.sgml:
10823         * docs/gst/tmpl/gsttag.sgml:
10824         * docs/gst/tmpl/gsttaginterface.sgml:
10825         * docs/gst/tmpl/gsttee.sgml:
10826         * docs/gst/tmpl/gstthread.sgml:
10827         * docs/gst/tmpl/gsttrace.sgml:
10828         * docs/gst/tmpl/gsttrashstack.sgml:
10829         * docs/gst/tmpl/gsttypefind.sgml:
10830         * docs/gst/tmpl/gsttypes.sgml:
10831         * docs/gst/tmpl/gsturi.sgml:
10832         * docs/gst/tmpl/gsturitype.sgml:
10833         * docs/gst/tmpl/gstutils.sgml:
10834         * docs/gst/tmpl/gstvalue.sgml:
10835         * docs/gst/tmpl/gstversion.sgml:
10836         * docs/gst/tmpl/gstxml.sgml:
10837         * docs/gst/tmpl/gstxmlregistry.sgml:
10838         * docs/gst/tmpl/gthread-cothreads.sgml:
10839         * docs/gst/tmpl/types.sgml:
10840
10841 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10842
10843         * docs/pwg/other-sink.xml:
10844         * docs/pwg/other-source.xml:
10845           Documentation on how to write source and sink elements. Other
10846           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10847           manager, autoplugger) are all still pending.
10848
10849 2004-03-25  Benjamin Otte  <otte@gnome.org>
10850
10851         * testsuite/elements/Makefile.am:
10852         * testsuite/elements/gst-compprep-check:
10853           add check to make sure gst-compprep works
10854         * testsuite/elements/gst-inspect-check.in:
10855           improve initialization output
10856         * testsuite/Makefile.am:
10857         * testsuite/gst-inspect-check:
10858           remove old file
10859
10860 2004-03-24  David Schleef  <ds@schleef.org>
10861
10862         * testsuite/elements/Makefile.am:
10863         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10864         to the testsuite.
10865
10866 2004-03-24  Benjamin Otte  <otte@gnome.org>
10867
10868         * libs/gst/control/dparam.c: (gst_dparam_attach),
10869         (gst_dparam_detach):
10870         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10871           fix lvalue casts for real
10872
10873 2004-03-24  Benjamin Otte  <otte@gnome.org>
10874
10875         * gst/schedulers/gstbasicscheduler.c:
10876         (gst_basic_scheduler_src_wrapper):
10877         * gst/schedulers/gstoptimalscheduler.c:
10878         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10879         (pad_clear_queued), (gst_opt_scheduler_add_element),
10880         (gst_opt_scheduler_remove_element):
10881           fix GStreamer to not have issues with lvalue casts anymore (fixes
10882           #136841)
10883
10884 2004-03-24  Benjamin Otte  <otte@gnome.org>
10885
10886         * gst/gstelement.c:
10887           add documentation about a gobject quirk where the object hasn't the
10888           correct class pointer set on initialization
10889         * gst/schedulers/gstbasicscheduler.c:
10890         (gst_basic_scheduler_src_wrapper):
10891           make sure to not run into an infinite loop
10892
10893 2004-03-22  Benjamin Otte  <otte@gnome.org>
10894
10895         * gst/gstutils.c: (gst_util_dump_mem):
10896         * gst/gstutils.h:
10897           first argument of gst_util_dump_mem should be const
10898
10899 2004-03-22  Johan Dahlin  <johan@gnome.org>
10900
10901         * gst/gstvalue.h: Clean up a little bit.
10902
10903 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10904
10905         reviewed by Benjamin Otte  <otte@gnome.org>
10906
10907         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10908         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10909         (gst_aggregator_class_init), (gst_aggregator_init):
10910         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10911         (gst_filesrc_dispose), (gst_filesrc_set_location):
10912         * gst/elements/gstidentity.c: (gst_identity_finalize),
10913         (gst_identity_class_init), (gst_identity_chain):
10914         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10915         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10916         (gst_statistics_class_init):
10917         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10918         (gst_tee_get_property):
10919           clean up used memory in this elements correctly on teardown (closes
10920           #137279)
10921
10922 2004-03-20  Colin Walters  <walters@redhat.com>
10923
10924         * gst/registries/gstxmlregistry.c:
10925         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10926         registry saving atomic.
10927
10928 2004-03-20  Colin Walters  <walters@redhat.com>
10929
10930         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10931         Just use
10932         access() instead of actually creating and deleting files.
10933
10934 2004-03-18  David Schleef  <ds@schleef.org>
10935
10936         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10937         (bug #137625)
10938
10939 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10940
10941         * po/sv.po: updated translation (Christian Rose)
10942
10943 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10944
10945         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10946         (gst_filesink_get_query_types), (_do_init),
10947         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10948           return FALSE silently
10949         * po/af.po: updated translation (Petri Jooste)
10950
10951 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10952
10953         * Makefile.am:
10954         * configure.ac:
10955           dist common properly
10956         * po/af.po:
10957         * po/fr.po:
10958         * po/nl.po:
10959         * po/sr.po:
10960         * po/sv.po:
10961           refreshing translations
10962
10963 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * po/LINGUAS:
10966         * po/sv.po:
10967         * po/af.po:
10968           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10969
10970 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10971
10972         * Makefile.am: use common/release.mak
10973
10974 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10975
10976         * docs/faq/gst-uninstalled:
10977           adding gst-monkeysaudio to the list of possible plugin dirs
10978
10979 2004-03-16  David Schleef  <ds@schleef.org>
10980
10981         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10982         (gst_init_check_with_popt_table):  Fix some gettext strings to
10983         make them easier to translate.  Required making the strings
10984         non-const.
10985
10986 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10987
10988         * configure.ac: bump nano to 1
10989
10990 === release 0.8.0 ===
10991
10992 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10993
10994         * configure.ac: release 0.8.0, "Executive Slacks"
10995
10996 2004-03-16  Johan Dahlin  <johan@gnome.org>
10997
10998         * gst/schedulers/gstoptimalscheduler.c
10999         (gst_opt_scheduler_pad_unlink): Remove double ;,
11000         spotted by Scott Wheeler
11001
11002 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * configure.ac: bump libtool version
11005
11006 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11007
11008         * gst/gstcaps.h:
11009         * gst/gststructure.h:
11010           add reserved padding
11011
11012 2004-03-15  Benjamin Otte  <otte@gnome.org>
11013
11014         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11015           set the first parameter for select call correctly.
11016           (fixes #137230)
11017
11018 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11019
11020         * *.c,*.h: don't mix tabs and spaces
11021
11022 2004-03-15  Johan Dahlin  <johan@gnome.org>
11023
11024         * gst/schedulers/gstoptimalscheduler.c
11025         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11026         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11027
11028         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11029         
11030 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * testsuite/Rules:
11033           fix gst-register rules
11034
11035 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11036
11037         * testsuite/Rules:
11038           use versioned gst-register
11039
11040 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11041
11042         * docs/libs/gstreamer-libs-sections.txt:
11043           remove </SUBSECTION>
11044         * gst/gstplugin.c:
11045         * gst/gstregistry.c: (gst_registry_add_plugin):
11046         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11047         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11048           add debugging and fix some comment blocks
11049
11050 2004-03-15  Johan Dahlin  <johan@gnome.org>
11051
11052         * *.h: Revert indent changes.
11053         
11054 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11057           g_error_free the g_error
11058         * tools/gst-feedback-m.m:
11059           check for other versions of gstreamer
11060         * tools/gst-indent:
11061           use sh, not bash
11062
11063 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * tools/gst-register.c: do not spill paths when registries are not
11066           writable, until we fix the "user running gst-register" case.
11067
11068 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11069
11070         * *.c, *.h: commit of gst-indent run on core
11071
11072 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * tools/gst-indent:
11075         * tools/Makefile.am:
11076           add our indentation style as a script
11077
11078 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11079
11080         * po/sr.po:
11081         * po/LINGUAS:
11082           added Serbian translation
11083
11084 2004-03-13  Benjamin Otte  <otte@gnome.org>
11085
11086         * gst/gstelement.c:
11087           add documentation note about gst_element_found_tags_for_pad not
11088           being usable in getfunctions. (see #137042)
11089
11090 2004-03-12  David Schleef  <ds@schleef.org>
11091
11092         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11093         change API right now!  Readd gst_caps_is_simple() macro.
11094         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11095         uninitialized variable.  I'd bet this caused crashes.
11096         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11097
11098 2004-03-12  Johan Dahlin  <johan@gnome.org>
11099
11100         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11101         * gst/gstcaps.h: Clean up
11102
11103         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11104         _gst_caps_initalize()
11105
11106         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11107         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11108
11109         * gst/gststructure.c (gst_structure_get_type): Ditto
11110
11111         * gst/gststructure.h: Ditto
11112         
11113 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11114
11115         * gst/gstqueue.c: (gst_queue_init):
11116           Reset default max. values in queues. Reason is simply to avoid
11117           braindead use. If you want wider values, use the properties. The
11118           default is supposed to always work. Wider values would make this
11119           beast a memory hog by default (250 full-PAL RGB32 video frames?
11120           That's 440 MB! No thank you).
11121
11122 2004-03-10  David Schleef  <ds@schleef.org>
11123
11124         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11125         were found.  (bug #136793)
11126
11127 2004-03-10  Johan Dahlin  <johan@gnome.org>
11128
11129         * gst/schedulers/gstoptimalscheduler.c
11130         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11131         links to elements within the same group, so we can finally remove
11132         that annoying warning. Refactor the code a little bit
11133         (group_dec_links_for_element): Split out
11134
11135 2004-03-09  David Schleef  <ds@schleef.org>
11136
11137         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11138         (bug #134863)
11139
11140 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11141
11142         * configure.ac: first bug fix due to major/minor bump
11143
11144 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * configure.ac: bump nano to 1
11147
11148 === release 0.7.6 ===
11149
11150 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11151
11152         * NEWS:
11153         * RELEASE:
11154         * configure.ac:
11155           releasing 0.7.6, "Almost"
11156         * po/fr.po:
11157         * po/nl.po:
11158         * tools/Makefile.am:
11159         * tools/gst-feedback-m.m:
11160           unversioned source
11161
11162 2004-03-09  Johan Dahlin  <johan@gnome.org>
11163
11164         Reviewed by: Thomas Vander Stichele
11165
11166         * gst/gstelement.c (gst_element_class_init): register second
11167         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11168         language bindings can (de)marshall correctly.
11169
11170         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11171
11172         * gst/gsterror.c (gst_g_error_get_type): New function
11173
11174         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11175         with VOID:OBJECT,OBJECT,STRING 
11176
11177 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11178
11179         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11180         Free a leaked g_timer on early returns.
11181
11182 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11183
11184         * docs/pwg/advanced-types.xml:
11185           Add cinepak description.
11186
11187 2004-03-07  David Schleef  <ds@schleef.org>
11188
11189         * docs/random/mimetypes:  Added cinepak description
11190
11191 2004-03-07  Andy Wingo  <wingo@pobox.com>
11192
11193         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11194
11195         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11196         there are no links to other groups when a group is destroyed.
11197         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11198         removed from a group, make sure the link count to elements linked
11199         to other pads is appropriately decremented. This really fixes
11200         #135672.
11201
11202         The 1.60->1.61 patch has been reapplied in light of this fix.
11203
11204         * gst/gstelement.c (gst_element_dispose): Really protect against
11205         multiple invocations this time.
11206
11207 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * docs/gst/gstreamer-sections.txt:
11210         * docs/gst/tmpl/gsttag.sgml:
11211           remove some deprecated functions, document some existing ones
11212         * gst/gsttag.c: (gst_tag_get_flag):
11213         * gst/gsttag.h:
11214           add accessor function
11215
11216 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11217
11218         * docs/gst/gstreamer-sections.txt:
11219         * docs/gst/tmpl/gsttag.sgml:
11220         * docs/gst/tmpl/gstxml.sgml:
11221         * gst/gsttag.c: (gst_tag_get_flag):
11222         * gst/gsttag.h:
11223
11224 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11225
11226         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11227         leak
11228
11229 2004-03-05  David Schleef  <ds@schleef.org>
11230
11231         * REQUIREMENTS: Add bison and flex.
11232         * configure.ac: Fix comment about bison.
11233         * docs/random/ds/0.9-suggested-changes: yer ma
11234         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11235
11236 2004-03-05  Benjamin Otte  <otte@gnome.org>
11237
11238         * gst/gstelement.c: (gst_element_error_full):
11239           revert recent recursive state changing commit - messing with other
11240           elements' states is evil and should be done by apps only.
11241
11242 2004-03-05  Benjamin Otte  <otte@gnome.org>
11243
11244         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11245           check for empty intersection instead of NULL caps
11246         (gst_element_get_compatible_pad_filtered):
11247           remove old workaround that is only a bug nowadays
11248
11249 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11250
11251         * gst/gstelement.c: (gst_element_error_full):
11252           make elements try to recursively change state to PAUSED on all
11253           parents after an error to suppress ensuing warnings
11254         * gst/parse/grammar.y:
11255           make it check if it was able to sync the state, and throw an error
11256           if not, so stuff like
11257           oggdemux ! vorbisdec ! osssink gets caught
11258
11259 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11262           it contains lib64; use AS_AC_EXPAND to handle it properly
11263
11264 2004-03-05  David Schleef  <ds@schleef.org>
11265
11266         * gst/gstcpuid_i386.s:  Remove unused code
11267         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11268         (gst_getbits_newbuf): Remove MMX code
11269         * libs/gst/getbits/getbits.h: Remove MMX code
11270
11271 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11272
11273         * debian/.cvsignore:
11274         * debian/README.Debian:
11275         * debian/changelog:
11276         * debian/control:
11277         * debian/control.in:
11278         * debian/copyright:
11279         * debian/gstreamer-core-libs-dev.files:
11280         * debian/gstreamer-core-libs.files:
11281         * debian/gstreamer-core.files:
11282         * debian/gstreamer-core.postinst:
11283         * debian/gstreamer-core.postrm:
11284         * debian/gstreamer-doc.files:
11285         * debian/gstreamer-doc.links:
11286         * debian/gstreamer-doc.lintian:
11287         * debian/gstreamer-runtime.files:
11288         * debian/gstreamer-runtime.manpages:
11289         * debian/gstreamer-runtime.postinst:
11290         * debian/gstreamer-runtime.postrm:
11291         * debian/gstreamer-tools.files:
11292         * debian/gstreamer-tools.manpages:
11293         * debian/libgstreamer-dev.files:
11294         * debian/libgstreamer0.4.1.files:
11295         * debian/libgstreamerVERSION.files:
11296         * debian/rules:
11297         Debian package info not maintained here.
11298
11299 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11300
11301         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11302         * gst/gstbin.c: (gst_bin_class_init):
11303         * gst/gstelement.c: (gst_element_class_init):
11304         * gst/gstindex.c: (gst_index_class_init):
11305         * gst/gstobject.c: (gst_object_class_init),
11306         (gst_signal_object_class_init):
11307         * gst/gstpad.c: (gst_pad_template_class_init):
11308         * gst/gstregistry.c: (gst_registry_class_init):
11309         * gst/gsturi.c: (gst_uri_handler_base_init):
11310         * gst/gstxml.c: (gst_xml_class_init):
11311         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11312         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11313           make all signal names use dashes instead of underscore
11314
11315 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11316
11317         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11318
11319 2004-03-03  Benjamin Otte  <otte@gnome.org>
11320
11321         * gst/schedulers/gstoptimalscheduler.c:
11322           revert last commit by Andy Wingo. It causes segfaults on unreffing
11323           in Rhythmbox. (see bug #135672)
11324
11325 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11326
11327         * po/fr.po: fix typo
11328
11329 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11330
11331         * tools/gst-inspect.c: (main): 
11332         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11333
11334 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11335
11336         * configure.ac:
11337           get GLIB_ONLY and POPT flags for the nonversioned binaries
11338         * tools/Makefile.am:
11339           use them
11340
11341 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11342
11343         * gst/gst.c: (init_post):
11344           change so that GST_REGISTRY now is where the global registry gets
11345           saved, since that is where plugins now get attached to first, and
11346           spilled over to the user registry.  Note that in the case of using
11347           GST_REGISTRY env var, we don't want to affect any real registries
11348           beyond the one given by this var, and thus we don't set a user
11349           registry to spill to.  So make sure GST_REGISTRY is writable.
11350
11351 2004-03-01  David Schleef  <ds@schleef.org>
11352
11353         * AUTHORS:  Added some names.  Add yourself if you're missing.
11354
11355 2004-03-01  David Schleef  <ds@schleef.org>
11356
11357         * MAINTAINERS: Add
11358
11359 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * configure.ac:
11362           remove whitespace
11363         * docs/gst/tmpl/gstbuffer.sgml:
11364         * docs/gst/tmpl/gstdata.sgml:
11365         * docs/gst/tmpl/gstreamer-unused.sgml:
11366         * docs/gst/tmpl/gstxml.sgml:
11367           doc update
11368         * docs/manuals.mak:
11369           add a FIXME
11370         * docs/pwg/intro-preface.xml:
11371         * docs/pwg/pwg.xml:
11372           remove GNOME
11373         * gst/gst.c: (init_post):
11374           try GST_PLUGIN_PATH paths for the _global_registry first
11375         * gst/gstelement.h:
11376           add the error message as well, otherwise (null) debug info doesn't
11377           make much sense
11378         * tools/gst-register.c: (main):
11379           spill paths to next registry if this registry is not writable
11380         * po/fr.po:
11381         * po/nl.po:
11382           translation updates
11383
11384 2004-03-01  Johan Dahlin  <johan@gnome.org>
11385
11386         * gst/gstbuffer.c (_gst_buffer_initialize): 
11387         * gst/gstdata.c (gst_data_get_type): 
11388         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11389         instead of ref, since some applications that uses GBoxed
11390         routines depends on a function that actually returns a copy.
11391
11392 2004-02-27  Benjamin Otte  <otte@gnome.org>
11393
11394         * gst/gstbuffer.h:
11395           remove gst_buffer_free, use gst_data_unref
11396         * gst/gstdata.c: (gst_data_get_type):
11397           use refcounting in GstData GBoxed registration
11398         * gst/gstdata.h:
11399           remove gst_data_free, use gst_data_unref
11400
11401 2004-02-27  Johan Dahlin  <johan@gnome.org>
11402
11403         * gst/gstdata.c (gst_data_get_type): New function, register
11404         GstData as a GBoxed type.
11405
11406         * gst/gstdata.h (GST_TYPE_DATA): New macro
11407
11408 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11409
11410         * Makefile.am:
11411         * gstreamer.spec.in:
11412           put back RELEASE
11413         * gst/Makefile.am:
11414           clean up non-disting of built files
11415         * testsuite/debug/commandline.c:
11416           test fix for option rename
11417
11418 2004-02-26  David Schleef  <ds@schleef.org>
11419
11420         * configure.ac:  We don't really need glib-2.3.  Also remove
11421         some unneeded checks for library functions.
11422         * gst/Makefile.am:  Instead, we need to not dist files created
11423         by glib-genmarshal.
11424
11425 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11426
11427         * configure.ac:
11428           bump glib required version to 2.3.0 for g_value_takes_boxed
11429
11430  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11431
11432         * common/m4/gst-docs.m4
11433         change flavour text from enable to disable as enable is our default
11434         closes bug Bug 135304
11435
11436 === release 0.7.5 ===
11437  
11438  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11439  
11440         * NEWS:
11441           instate NEWS file
11442         * Makefile.am:
11443         * gstreamer.spec.in:
11444         * RELEASE:
11445           put back release
11446         * configure.ac:
11447         * docs/random/release:
11448           more updates
11449
11450 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11451
11452         * gst/gsttag.c: (_gst_tag_initialize):
11453         * po/fr.po:
11454         * po/nl.po:
11455           remove hyphen from codec tags
11456
11457 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11458
11459         * gst/parse/Makefile.am:
11460           fix dependency so that a make from a clean build works the first
11461           time
11462
11463 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11464
11465         * docs/random/release:
11466           update release strategy
11467         * po/fr.po:
11468           auto-update po file
11469         * po/nl.po:
11470           update dutch translation
11471
11472 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11473
11474         * docs/manual/debugging.xml:
11475         fix manual for new debugging system
11476
11477 2004-02-25  Andy Wingo  <wingo@pobox.com>
11478
11479         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11480         gst_pad_link_prepare. Please email the list with specific reasons
11481         for reverting.
11482
11483 2004-02-24  Andy Wingo  <wingo@pobox.com>
11484
11485         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11486         invocations.
11487
11488         * gst/schedulers/gstoptimalscheduler.c:
11489         I added a mess of prototypes at the top of the file by way of
11490         documentation. Some of the operations on chains and groups were
11491         re-organized.
11492
11493         (create_group): Added a type argument so if the group is enabled,
11494         the setup_group_scheduler knows what to do.
11495         (group_elements): Added a type argument here, too, to be passed on
11496         to create_group.
11497         (group_element_set_enabled): If an unlinked PLAYING element is
11498         added to a bin, we have to create a new group to hold the element,
11499         and this function will be called before the group is added to the
11500         chain. Thus we have a valid case for group->chain==NULL. Instead
11501         of calling chain_group_set_enabled, just set the flag on the group
11502         (the chain's status will be set when the group is added to it).
11503         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11504         Setup the group scheduler when the group is enabled, not
11505         specifically when an element goes PAUSED->PLAYING. This means
11506         PLAYING elements can be added, linked, and scheduled into a
11507         PLAYING pipeline, as was intended.
11508         (add_to_group): Don't ref the group twice. I don't know when this
11509         double-ref got in here. Removing it has the potential to cause
11510         segfaults if other parts of the scheduler are buggy. If you find
11511         that the scheduler is segfaulting for you, put in an extra ref
11512         here and see if that hacks over the underlying issue. Of course,
11513         then find out what code is unreffing a group it doesn't own...
11514         (create_group): Make the extra refcount floating, and remove it
11515         after adding the element. This means that...
11516         (unref_group): Destroy when the refcount reaches 0, not 1, like
11517         every other refcounted object in the known universe.
11518         (remove_from_group): When a group becomes empty, set it to be not
11519         active, and remove it from its chain. Don't unref it again,
11520         there's no floating reference any more.
11521         (destroy_group): We have to remove the group from the chain in
11522         remove_from_group (rather than here) to break refcounting cycles
11523         (the chain always has a ref on the group). So assert that
11524         group->chain==NULL.
11525         (ref_group_by_count): Removed, it was commented out anyway.
11526         (merge_chains): Use the remove_from_chain and add_to_chain
11527         primitives to do the reparenting, instead of rolling our own
11528         implementation.
11529         (add_to_chain): The first non-disabled group in the chain's group
11530         list will be the entry point for the chain. Because buffers can
11531         accumulate in loop elements' peer bufpens, we preferentially
11532         schedule loop groups before get groups to avoid unnecessary
11533         execution of get-based groups when the bufpens are already full.
11534         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11535         (get_group_schedule_function): Ditto.
11536         (loop_group_schedule_function): Ditto.
11537         (gst_opt_scheduler_loop_wrapper): Ditto.
11538         (gst_opt_scheduler_iterate): Ditto.
11539
11540         I understand the opt scheduler now, yippee!
11541
11542         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11543         (gst_pad_get_name, gst_pad_set_chain_function) 
11544         (gst_pad_set_get_function, gst_pad_set_event_function) 
11545         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11546         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11547         (gst_pad_set_query_function, gst_pad_get_query_types) 
11548         (gst_pad_get_query_types_default) 
11549         (gst_pad_set_internal_link_function) 
11550         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11551         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11552         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11553         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11554         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11555         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11556         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11557         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11558         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11559         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11560         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11561         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11562         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11563         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11564         argument checks, and some doc fixes.
11565
11566         (gst_pad_custom_new_from_template): Um, does anyone
11567         use these functions? Actually make a custom pad instead of a
11568         normal one.
11569         (gst_pad_try_set_caps): Transpose some checks.
11570         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11571         the pad is in negotiation.
11572         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11573         
11574         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11575
11576         * gst/gstelement.h: 
11577         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11578         on the list.
11579
11580 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11581
11582         * gst/gstbin.c: (gst_bin_add):
11583           add error for not being able to add elements
11584
11585 2004-02-22  Julien MOUTTE <julien@moutte.net>
11586
11587         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11588         audio-codec and video-codec.
11589
11590 2004-02-22  Benjamin Otte  <otte@gnome.org>
11591
11592         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11593
11594         * autogen.sh:
11595           replace test -e with test -x for mkinstalldirs to be more portable.
11596           (fixes #134816)
11597
11598 2004-02-22  Benjamin Otte  <otte@gnome.org>
11599
11600         * gst/gstpad.c:
11601           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11602           too noisy
11603         * gst/gsttag.c: (_gst_tag_initialize):
11604         * gst/gsttag.h:
11605           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11606         * libs/gst/control/dparam.c: (gst_dparam_attach):
11607         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11608           check that types for attached dparams match
11609
11610 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11613         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11614         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11615           fix errors
11616
11617 2004-02-20  Andy Wingo  <wingo@pobox.com>
11618
11619         * gst/gstbin.c:
11620         * gst/gstbuffer.c:
11621         * gst/gstplugin.c:
11622         * gst/registries/gstxmlregistry.c: 
11623         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11624
11625         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11626         (gst_element_add_pad): DEBUG->INFO, some fixes.
11627         (gst_element_get_compatible_pad_template): Just see if the
11628         templates' caps intersect, not if one is a strict subset of the
11629         other. This conforms more to what gst_pad_link_intersect() does.
11630         (gst_element_class_add_pad_template): Don't memcpy the pad
11631         template, just ref it.
11632         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11633
11634         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11635         (gst_pad_link_filtered): Debug changes.
11636         (gst_pad_link_prepare): New function, consolidated from
11637         can_link_filtered and link_filtered.
11638
11639         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11640         look more like that of the functions in gstelement.c
11641
11642         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11643         object, and return the empty string if object is NULL.
11644
11645         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11646         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11647         LOG, not DEBUG. We still get flex info on debug.
11648
11649         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11650         debug string more verbose.
11651         (plugin_times_older_than): DEBUG->LOG.
11652
11653 2004-02-20  Julien MOUTTE <julien@moutte.net>
11654
11655         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11656         will emit found_tag for each stream they demux with the codec.
11657
11658 2004-02-20  Benjamin Otte  <otte@gnome.org>
11659
11660         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11661           copy navigation event correctly. Check freeing tag lists. 
11662         * gst/gstthread.c: (gst_thread_change_state):
11663           don't abort() on state changing mess - it might happen because of
11664           bugs.
11665         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11666           use boxed functions
11667         * gst/gstvalue.h:
11668           fix GST_VALUE_HOLDS_CAPS
11669
11670 2004-02-19  David Schleef  <ds@schleef.org>
11671
11672         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11673         and use it for GST_FUNCTION.  (bug #134750)
11674
11675 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11676
11677         * po/fr.po:
11678         * po/nl.po:
11679           updating translations
11680
11681 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11682
11683         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11684
11685 2004-02-18  kost@imn.htwk-leipzig.de
11686
11687         reviewed by: David Schleef  <ds@schleef.org>
11688
11689         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11690         for libgstcontrol.
11691
11692 2004-02-18  David Schleef  <ds@schleef.org>
11693
11694         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11695         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11696         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11697         * tools/gst-inspect.c: (print_element_info): Support dumping of
11698         double dparam information.
11699
11700 2004-02-17  David Schleef  <ds@schleef.org>
11701
11702         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11703         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11704         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11705         Use GST_TYPE_CAPS in signal prototype.
11706         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11707         Convert GST_TYPE_CAPS to boxed.
11708         * gst/gstelement.c: (gst_element_class_init):
11709         Use GST_TYPE_TAG_LIST in signal prototype.
11710         * gst/gstindex.c: (gst_index_class_init):
11711         * gst/gstindex.h:
11712         Add GST_TYPE_INDEX_ENTRY type.
11713         * gst/gstmarshal.list:
11714         Add necessary marshal types.
11715         * gst/gstpad.c: (gst_real_pad_class_init),
11716         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11717         (gst_pad_recover_caps_error):
11718         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11719         * gst/gststructure.c: (_gst_structure_initialize),
11720         (gst_structure_copy), (_gst_structure_copy_conditional):
11721         * gst/gststructure.h:
11722         Convert GST_TYPE_STRUCTURE to boxed.
11723         * gst/gsttag.c: (gst_tag_list_get_type):
11724         * gst/gsttag.h:
11725         Add GST_TYPE_TAG_LIST type.
11726
11727 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11728
11729         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11730         to what we agreed with david.
11731         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11732
11733 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11734
11735         * po/nl.po: update translation
11736
11737 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11738
11739         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11740           throw an error if spider is trying to play a mime type there is
11741           no decoder for
11742         * po/POTFILES.in:
11743           add gst/autoplug/gstspider.c for translation
11744
11745 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11746
11747         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11748         silently when the pad is negotiating.
11749
11750 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11751
11752         * docs/faq/Makefile.am:
11753           add script to run gstreamer uninstalled 
11754         * docs/faq/faq.xml:
11755         * docs/faq/developing.xml:
11756         * docs/faq/gst-uninstalled:
11757           extract script to run gstreamer uninstalled
11758         * docs/manuals.mak:
11759           add EXTRA_SOURCES variable for Makefile.am's to set to
11760           use additional SOURCE files for the doc build
11761
11762 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11763
11764         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11765
11766 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11767
11768         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11769         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11770         an error was thrown by osssink. Basically a state change failure for
11771         an element in a different scheduling group was considered as
11772         successful, which means that caps nego was going on and weird stuff
11773         happened. Like I wrote in the comment there, if someone wants to
11774         revert that please drop me a mail explaining why because I really see
11775         no point in keeping that broken behaviour there.
11776         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11777         be empty, we then return NULL which will trigger a nice error when 
11778         pulling from the pad.
11779
11780 2004-02-13  David Schleef  <ds@schleef.org>
11781
11782         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11783         (gst_dparam_get_property), (gst_dparam_set_property),
11784         (gst_dparam_do_update_default):
11785         * libs/gst/control/dparam.h:
11786         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11787         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11788         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11789         (gst_dpsmooth_do_update_double):
11790         * libs/gst/control/dparam_smooth.h:
11791         * libs/gst/control/dparammanager.c:
11792         (gst_dpman_inline_direct_update):
11793         Add support for double dparams.
11794
11795 2004-02-13  David Schleef  <ds@schleef.org>
11796
11797         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11798         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11799
11800 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11801
11802         reviewed by: David Schleef  <ds@schleef.org>
11803
11804         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11805         (gst_fdsrc_init), (gst_fdsrc_set_property),
11806         (gst_fdsrc_get_property), (gst_fdsrc_get):
11807         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11808         and sends an EOS event if file descriptor reading times out.
11809
11810 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11811
11812         * configure.ac:
11813           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11814
11815 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * configure.ac: pass required libxml version as argument
11818         (bug reported by Christophe Fergeau)
11819
11820 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11821   
11822         * docs/gst/gstreamer-docs.sgml:
11823         * docs/gst/tmpl/gstxml.sgml:
11824         * docs/libs/gstreamer-libs-docs.sgml:
11825           version API docs
11826
11827 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11828
11829         * gst/gstinfo.c:
11830         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11831         (gst_registry_pool_feature_filter):
11832         * gst/gstthread.c: (gst_thread_class_init):
11833         * gst/gstvalue.c:
11834           add includes exposed by building without libxml
11835         * gst/indexers/Makefile.am:
11836           do not build fileindex when LOADSAVE disabled; we should have
11837           a better libxml check later since fileindex depends on xml, not
11838           LOADSAVE or REGISTRY
11839         * libs/gst/control/Makefile.am:
11840           link with m
11841         * tools/Makefile.am:
11842           fix wrong source code for gst-xmlinspect
11843
11844 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11845
11846         * configure.ac:
11847           fix gcov help output
11848           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11849         * docs/random/release:
11850           some updated releasing notes
11851         * gstreamer.spec.in:
11852           more updates
11853
11854 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11855
11856         * docs/faq/faq.xml:
11857         * docs/manual/manual.xml:
11858         * docs/pwg/pwg.xml:
11859         * docs/pwg/titlepage.xml:
11860           put version in documentation
11861
11862 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11863
11864         * tools/Makefile.am: fix man page installation
11865
11866 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11867
11868         * configure.ac:
11869           don't check for libxml when load/save and registry disabled (#105844)
11870         * gstreamer.spec.in:
11871           sync with fedora candidate spec
11872
11873 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11874
11875         * po/fr.po:
11876         * po/nl.po:
11877           replace multidisksrc with multifilesrc
11878
11879 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11880
11881         * po/POTFILES.in:
11882           update to multidisksrc => multifilesrc file renaming (#134145)
11883
11884 2004-02-11  David Schleef  <ds@schleef.org>
11885
11886         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11887         * docs/gst/tmpl/gstpadtemplate.sgml: same
11888         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11889         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11890         fixing dance.
11891         * gst/gstutils.c: Remove disabled code that uses GstProps.
11892         * gst/registries/gstxmlregistry.h: same
11893         * docs/random/ds/0.9-suggested-changes: random notes
11894
11895 2004-02-11  kost@imn.htwk-leipzig.de
11896
11897         reviewed by: David Schleef  <ds@schleef.org>
11898
11899         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11900         initialisation of clock (bug #134128)
11901
11902 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11903
11904         * configure.ac:
11905         * gst/elements/Makefile.am:
11906         * gst/elements/gstelements.c:
11907         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11908         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11909         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11910         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11911         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11912         * gst/elements/gstmultifilesrc.h:
11913           rename multidisksrc to multifilesrc (part of #122200)
11914
11915 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11916
11917         * docs/manuals.mak:
11918           fix automake complaints
11919         * gst-element-check.m4:
11920           fix unquotedness
11921
11922 2004-02-11  David Schleef  <ds@schleef.org>
11923
11924         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11925         * gst/gstatomic_impl.h: Disable sparc implementation.
11926
11927 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11928
11929         * gst-element-check.m4:
11930           fix underquoted macros as reported by automake 1.8.x (#133800)
11931         * configure.ac:
11932           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11933           by autopoint (fixes #132996)
11934
11935 2004-02-10  Andy Wingo  <wingo@pobox.com>
11936
11937         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11938         way to do inheritance.
11939         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11940         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11941         Routine docs.
11942         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11943         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11944         doc.
11945         (gst_pad_unlink, gst_pad_is_linked): Docs.
11946         (gst_pad_renegotiate): A brief description of capsnego.
11947         (gst_pad_try_set_caps): Document.
11948         (gst_pad_try_set_caps_nonfixed): Document.
11949         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11950         (gst_pad_set_parent): Deprecated (although not out of the API).
11951         (gst_pad_get_parent): Deprecated, although many plugins use this.
11952         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11953         are private and will go away in 0.9.
11954         (gst_pad_perform_negotiate): Doc.
11955         (gst_pad_link_unnegotiate): I think this is meant to be static.
11956         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11957         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11958         (gst_pad_get_peer): Doc updates.
11959         (gst_pad_caps_change_notify): Doc.
11960         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11961         (gst_ghost_pad_new): Doc fixes.
11962
11963         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11964         (gst_object_check_uniqueness): 
11965
11966         * gst/gstelement.c (gst_element_add_pad) 
11967         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11968         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11969         (gst_element_get_static_pad, gst_element_get_pad_list) 
11970         (gst_element_class_get_pad_template_list) 
11971         (gst_element_class_get_pad_template): Work on the docs.
11972         (gst_element_get_pad_template_list): Uses the class method.
11973         (gst_element_get_compatible_pad_template): Docs, and consolidate
11974         some test conditions. 
11975         (gst_element_get_pad_from_template): New static function.
11976         (gst_element_request_compatible_pad): Docs, and work with
11977         non-request compatible templates. 
11978         (gst_element_get_compatible_pad_filtered): Docs and remove
11979         redundant checks.
11980         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11981         (gst_element_link_filtered, gst_element_link_many) 
11982         (gst_element_link, gst_element_link_pads) 
11983         (gst_element_unlink_many): Docs.
11984
11985 2004-02-05  Andy Wingo  <wingo@pobox.com>
11986
11987         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11988         s/pointer/boxed/.
11989
11990         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11991
11992         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11993         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11994         with the type=GST_TYPE_CAPS. This allows language bindings to know
11995         what kind of data they're dealing with.
11996
11997         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11998         to NULL when g_value_init is called. GstCaps, which rolls its own
11999         type implementation, now does the same instead of allocating empty
12000         caps.
12001         (_gst_caps_initialize, _gst_caps_collect_value,
12002         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12003         table methods. This allows G_VALUE_COLLECT to work.
12004
12005 2004-02-05  Andy Wingo  <wingo@pobox.com>
12006
12007         * configure.ac:
12008         * testsuite/Makefile.am (SUBDIRS): 
12009         * testsuite/ghostpads/Makefile.am: 
12010         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12011
12012         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12013         These two routines are the only ones that set
12014         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12015         pad template. They should be made static, depending on ABI needs.
12016         (gst_real_pad_dispose): Handle the case of ghost pads without a
12017         parent. Assert after dealing with ghost pads that the ghost pad
12018         list is empty.
12019         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12020         set after creation.
12021         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12022         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12023         functions. set_property will call add_ghost_pad/remove_ghost_pad
12024         as appropriate.
12025         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12026
12027         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12028         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12029         (gst_element_remove_pad): Handle ghost pads as well.
12030         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12031         depending on API-stability needs).
12032
12033 2004-02-05  Andy Wingo  <wingo@pobox.com>
12034
12035         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12036         of course they're const
12037
12038 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12039
12040         * tools/Makefile.am:
12041         * tools/gst-feedback:
12042         * tools/gst-feedback-0.7:
12043           make gst-feedback versioned too for consistency
12044
12045 2004-02-11  David Schleef  <ds@schleef.org>
12046
12047         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12048         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12049
12050 2004-02-10  Julien MOUTTE <julien@moutte.net>
12051
12052         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12053         the structure does not contain a valid tag list. Adding a safety check
12054         to remove a noisy warning in that case.
12055
12056 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12057
12058         * gst/gst.c: fix name to be in line with others
12059
12060 2004-02-09  Julien MOUTTE <julien@moutte.net>
12061
12062         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12063         not shout that loud when len is 0. Just return 0 silently.
12064
12065 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12066
12067         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12068         because data_unref has one and I prefer the debug to be symetric.
12069         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12070         were refed when added to the queue and unrefed only once when the queue
12071         was flushed. Now the flush handler unref the buffers two times : first
12072         unref for the ref added when pushing in the queue's tail and second
12073         unref to destroy the flushed buffer.
12074
12075 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12078
12079 2004-02-06  David Schleef  <ds@schleef.org>
12080
12081         * docs/random/ds/0.9-suggested-changes: Random ramblings
12082         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12083         to int before printing.
12084         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12085         * gst/parse/parse.l: same.  See bug #129600
12086
12087 2004-02-06  David Schleef  <ds@schleef.org>
12088
12089         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12090         (gst_index_add_entry), (gst_index_add_associationv),
12091         (gst_index_add_association): Add gst_index_add_associationv()
12092         and clean up gst_index_add_association(). #127133
12093
12094 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12095
12096         * autogen.sh: check out common with right tag if CVS/Tag exists
12097
12098 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12099
12100         * testsuite/ghostpads/ghostpads.c: (main):
12101           fix testsuite from segfaulting
12102
12103 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12104
12105         * Makefile.am: add release target
12106         * configure.ac: bump nano to 1
12107         * docs/random/release:
12108
12109 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12110
12111         * gst/gstcaps.h:
12112         * gst/gstelement.c: (gst_element_base_class_init),
12113         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12114         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12115         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12116         (gst_real_pad_dispose):
12117         * gst/gststructure.c: (gst_structure_free),
12118         (gst_structure_from_string):
12119           put reverted patch back in
12120         * gst/gstelement.c: (gst_element_remove_pad):
12121           free explicit caps if they're set
12122         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12123           copy the structure when fixating
12124
12125 2004-02-05  David Schleef  <ds@schleef.org>
12126
12127         * gst/gstmarshal.list:
12128         * gst/gstpad.c: (gst_real_pad_class_init),
12129         (_gst_real_pad_fixate_accumulator):
12130         Revert POINTER->BOXED change in signal marshaller.
12131
12132 === release 0.7.4 ===
12133                                                                                 
12134 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12135                                                                                 
12136         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12137         * configure.ac: changed for release
12138
12139 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12140
12141         * gstreamer.spec.in:
12142           bump required version of gtk-doc
12143
12144 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12145
12146         * gst/gstcaps.h:
12147         * gst/gstelement.c: (gst_element_base_class_init),
12148         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12149         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12150         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12151         (gst_real_pad_dispose):
12152         * gst/gststructure.c: (gst_structure_free),
12153         (gst_structure_from_string):
12154           revert patch that breaks applications, reapply after release
12155           to get this fixed properly
12156
12157 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12158
12159         * gst/gsttag.c: (_gst_tag_initialize):
12160         * gst/gsttag.h:
12161           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12162
12163 2004-02-04  David Schleef  <ds@schleef.org>
12164
12165         Fix some memleaks:
12166         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12167         (gst_spider_plug_from_srcpad):
12168         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12169
12170 2004-02-04  David Schleef  <ds@schleef.org>
12171
12172         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12173         a GstRealPad before accessing its structure members.
12174
12175 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12176
12177         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12178         (gst_clock_get_speed):
12179         * gst/gstclock.h:
12180           reset padding, remove unused fields
12181
12182 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12183
12184         * gst/autoplug/gstspideridentity.c:
12185         (gst_spider_identity_sink_loop_type_finding):
12186           use get_allowed_caps, not get_caps (fixes #132519)
12187         * gst/elements/gsttypefind.c: (stop_typefinding):
12188           use correct order when sending buffers and seeking
12189
12190 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * configure.ac:
12193         * gst/gstelement.h:
12194         * gst/gstpad.h:
12195         * gst/gstqueue.h:
12196           upgrade libtool CURRENT, reset padding
12197
12198 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12199
12200         * configure.ac:
12201           bump to prerelease
12202           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12203
12204 2004-02-04  David Schleef  <ds@schleef.org>
12205
12206         * docs/random/ds/0.9-suggested-changes: random notes
12207         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12208         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12209         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12210         expansion.
12211         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12212         (gst_filesink_get_query_types): same
12213         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12214         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12215         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12216         to use new GST_PTR_FORMAT.
12217         * gst/gstelement.h: deprecate function factory macros
12218         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12219         These are our last variadic macros that can't be replaced with
12220         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12221         attempting to deprecate gst_element_clock_wait().
12222         * gst/gstevent.h: same
12223         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12224         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12225         * gst/gstpad.h: deprecate function factory macros similar to above.
12226
12227 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12228
12229         * configure.ac:
12230         * tools/Makefile.am:
12231         * tools/gst-run.c: (popt_callback), (hash_print_key),
12232         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12233         (get_candidates), (main):
12234           add new source file to generate non-versioned wrapper binaries
12235           for our tools.
12236
12237 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12238
12239         * gst/gstevent.c: (_gst_event_free):
12240           actually break; inside the switch statement
12241         * gst/parse/grammar.y:
12242           fix memleak where GValues weren't unset
12243
12244 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12245
12246         * gst/gststructure.c: (gst_structure_from_string):
12247           fix huge memleak
12248         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12249         (new_entry), (gst_type_find_element_chain):
12250         * gst/gstelement.c: (gst_element_base_class_init),
12251         (gst_element_class_set_details):
12252         * gst/gstpad.c: (gst_pad_can_link_filtered):
12253           fix smaller memleaks
12254         * gst/gstpad.c: (gst_real_pad_dispose):
12255           check that explicit caps are gone
12256         * gst/gststructure.c: (gst_structure_free):
12257           actually free the structure
12258         * gst/gstelement.c: (gst_element_clear_pad_caps):
12259           unset explicit caps
12260
12261 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * tools/Makefile.am:
12264           use AM_CFLAGS since all the CFLAGS are the same
12265           use AM_LDFAGS
12266
12267 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * docs/manual/gnome.xml:
12270           expand example a little
12271         * gst/gst.c: (gst_init_with_popt_table),
12272         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12273           make sure popt option displays are done with right textdomain
12274           use GstPoptOption type
12275         * gst/gst.h:
12276           create GstPoptOption type
12277
12278 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12279
12280         * gst/gsterror.c: (_gst_stream_errors_init):
12281         * gst/gsterror.h:
12282           adding error type for no codec
12283         * po/POTFILES.in:
12284           add gst-inspect
12285         * po/nl.po:
12286           update dutch translation
12287         * tools/gst-inspect.c: (print_element_list), (main):
12288           do proper internationalization
12289         * tools/gst-launch.c: (idle_func):
12290           remove commented out function call
12291
12292 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12293
12294         * docs/README:
12295           add some error fixing notes
12296         * docs/gst/gstreamer-sections.txt:
12297           remove double entries
12298         * docs/gst/tmpl/gstbin.sgml:
12299         * docs/gst/tmpl/gstclock.sgml:
12300           remove override
12301         * docs/gst/tmpl/gstelement.sgml:
12302         * docs/gst/tmpl/gstindex.sgml:
12303         * docs/gst/tmpl/gstobject.sgml:
12304         * docs/gst/tmpl/gstpadtemplate.sgml:
12305         * docs/gst/tmpl/gstreamer-unused.sgml:
12306         * docs/gst/tmpl/gsttag.sgml:
12307         * docs/gst/tmpl/gstthread.sgml:
12308         * docs/gst/tmpl/gstxml.sgml:
12309         * gst/gsttag.h:
12310           sync header prototypes with c decls
12311         * gst/gsttaginterface.c:
12312           fix doc headers
12313
12314 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12315
12316         * gst/parse/Makefile.am:
12317         * gst/gstobject.h:
12318           get rid of gstmarshal.h dependency. It's not needed.
12319         * gst/gst.h:
12320         * gst/elements/gstfakesink.c:
12321         * gst/elements/gstfakesrc.c:
12322         * gst/elements/gstidentity.c:
12323         * gst/gstbin.c:
12324         * gst/gstelement.c:
12325         * gst/gstindex.c:
12326         * gst/gstobject.c:
12327         * gst/gstpad.c:
12328         * gst/gstthread.c:
12329         * gst/gstxml.c:
12330         * libs/gst/control/dparam.c:
12331         * libs/gst/control/dparammanager.c:
12332           include gstmarshal.h.
12333         Fixes #132045
12334
12335 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12336
12337         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12338         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12339         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12340         * gst/elements/gstfilesrc.h:
12341           don't ref the filesrc when creating mmaped buffers. Don't keep a
12342           list of not-yet-destroyed buffers.
12343         * gst/gstbuffer.h:
12344           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12345
12346 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * gst/gst.c: (init_pre):
12349           remove textdomain
12350
12351 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12352
12353         * docs/pwg/advanced-events.xml:
12354         * docs/pwg/advanced-scheduling.xml:
12355         * docs/pwg/intro-basics.xml:
12356         * docs/pwg/other-manager.xml:
12357         * docs/pwg/other-nton.xml:
12358         * docs/pwg/other-ntoone.xml:
12359         * docs/pwg/other-oneton.xml:
12360         * docs/pwg/pwg.xml:
12361           All sort of documentation... Forgot what. Point is that I want this
12362           in before I leave. The 'other-*' will be the last section and will
12363           explain issues specific to these type of elements.
12364
12365 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12366
12367         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12368         (gst_filesrc_get_read):
12369           set all the values on buffers that we can
12370
12371 2004-02-02  David Schleef  <ds@schleef.org>
12372
12373         Change usage of isblah() to g_ascii_isblah() to be more locale
12374         independent.  (#133076)
12375         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12376         * gst/gstutils.c:
12377         * gst/parse/parse.l:
12378
12379 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12380
12381         reviewed by: David Schleef  <ds@schleef.org>
12382
12383         Fix memory leaks:
12384         * gst/gstcaps.c: (gst_caps_to_string):
12385         * gst/registries/gstxmlregistry.c:
12386         (gst_xml_registry_add_path_list_func),
12387         (gst_xml_registry_parse_padtemplate):
12388
12389 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12390
12391         * gst/gstelement.c: (gst_element_default_error):
12392           suffix error messages with period
12393
12394 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12395
12396         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12397         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12398         * gst/gsterror.c: (gst_error_get_message):
12399           Suffix with dots
12400         * po/fr.po:
12401         * po/nl.po:
12402           Update translation files
12403
12404 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12405
12406         * gst/autoplug/gstspideridentity.c:
12407         (gst_spider_identity_sink_loop_type_finding):
12408         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12409         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12410         (gst_filesink_close_file), (gst_filesink_handle_event),
12411         (gst_filesink_chain):
12412         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12413         (gst_filesrc_get_read), (gst_filesrc_open_file):
12414         * gst/elements/gstidentity.c: (gst_identity_chain):
12415         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12416         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12417         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12418         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12419         * gst/gsterror.c: (_gst_core_errors_init),
12420         (_gst_library_errors_init), (_gst_resource_errors_init),
12421         (_gst_stream_errors_init), (gst_error_get_message):
12422         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12423         (gst_pad_recover_caps_error), (gst_pad_pull):
12424         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12425         * gst/schedulers/gstbasicscheduler.c:
12426         (gst_basic_scheduler_chainhandler_proxy),
12427         (gst_basic_scheduler_gethandler_proxy),
12428         (gst_basic_scheduler_cothreaded_chain):
12429           Suffix error messages with period.
12430           Use (NULL) instead of NULL
12431
12432 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12433
12434         * docs/gst/tmpl/gstelement.sgml:
12435         * docs/gst/tmpl/gstxml.sgml:
12436         * gst/gstelement.c: (gst_element_error_full):
12437           add element path to error
12438
12439 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12440
12441         * docs/random/mimetypes:
12442           update raw int/float info
12443         * gst/gsttag.c: (_gst_tag_initialize):
12444         * gst/gsttag.h:
12445           add GST_TAG_ENCODER
12446
12447 2004-01-30  David Schleef  <ds@schleef.org>
12448
12449         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12450           missing (#132991)
12451
12452 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12453
12454         reviewed by Benjamin Otte 
12455           parts of the patch submitted in bug #113913
12456
12457         * configure.ac:
12458           use AC_C_INLINE. Use = instead of == with test
12459         * examples/plugins/example.c:
12460         * gst/autoplug/gstspideridentity.c:
12461         * gst/elements/gstfdsrc.c:
12462         * gst/elements/gstfilesrc.c:
12463         * gst/elements/gstidentity.c:
12464         * gst/elements/gstmultidisksrc.c:
12465         * gst/elements/gststatistics.c:
12466         * gst/gstelement.c:
12467         * gst/gstobject.c:
12468         * gst/gstpad.c:
12469         * gst/gstpipeline.c:
12470         * gst/gstthread.c:
12471           don't end enums with a comma
12472         * gst/gstindex.c: (gst_index_compare_func):
12473           do explicit casting to gint
12474         * gst/gsttrace.c: (gst_trace_text_flush):
12475           #define strsize as a macro
12476
12477 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12478
12479         * docs/README:
12480         * docs/gst/gstreamer-docs.sgml:
12481         * docs/gst/gstreamer-sections.txt:
12482         * docs/gst/tmpl/gstelement.sgml:
12483         * docs/gst/tmpl/gsterror.sgml:
12484         * docs/gst/tmpl/gstinterface.sgml:
12485         * docs/gst/tmpl/gstreamer-unused.sgml:
12486         * docs/gst/tmpl/gststructure.sgml:
12487         * docs/gst/tmpl/gsttag.sgml:
12488         * docs/gst/tmpl/gsttaginterface.sgml:
12489         * docs/gst/tmpl/gstvalue.sgml:
12490         make sure all API ends up in the built docs
12491         * gst/gstinterface.c:
12492         * gst/gststructure.c: (gst_structure_id_set_value),
12493         (gst_structure_set_value), (gst_structure_id_get_value):
12494         * gst/gststructure.h:
12495         * gst/gstvalue.h:
12496         sync .h with .c declarations
12497
12498 2004-01-30  Julien Moutte  <julien@moutte.net>
12499
12500         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12501         Ronald will fix riffread.
12502
12503 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12504
12505         * docs/pwg/advanced-interfaces.xml:
12506           Added tuner interface docs.
12507
12508 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12509
12510         * docs/random/mimetypes:
12511           correct Theora information
12512         * gst/gstelement.h:
12513           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12514
12515 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12516
12517         * gst/gstelement.c: (gst_element_error_full):
12518         * gst/gstelement.h:
12519           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12520
12521 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12522
12523         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12524         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12525         again and even before DISCONT.
12526         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12527         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12528         bytestream so that it's not stopping to fill the bytestream if events
12529         different than EOS or DISCONT are received. Instead it process them so
12530         that they go downstream.
12531
12532 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * docs/gst/tmpl/gstelement.sgml:
12535         * docs/gst/tmpl/gstreamer-unused.sgml:
12536         * docs/gst/tmpl/gstxml.sgml:
12537         * gst/autoplug/gstspideridentity.c:
12538         (gst_spider_identity_sink_loop_type_finding):
12539         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12540         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12541         (gst_filesink_close_file), (gst_filesink_handle_event),
12542         (gst_filesink_chain):
12543         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12544         (gst_filesrc_get_read), (gst_filesrc_open_file):
12545         * gst/elements/gstidentity.c: (gst_identity_chain):
12546         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12547         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12548         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12549         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12550         * gst/gstelement.h:
12551         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12552         (gst_pad_recover_caps_error), (gst_pad_pull):
12553         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12554         * gst/schedulers/gstbasicscheduler.c:
12555         (gst_basic_scheduler_chainhandler_proxy),
12556         (gst_basic_scheduler_gethandler_proxy),
12557         (gst_basic_scheduler_cothreaded_chain):
12558           gst_element_error -> GST_ELEMENT_ERROR
12559
12560 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12561
12562         * docs/Makefile.am:
12563         * docs/gst/tmpl/gstelement.sgml:
12564         * docs/gst/tmpl/gstxml.sgml:
12565         * docs/manuals.mak:
12566         * docs/pwg/advanced-request.xml:
12567         * docs/pwg/advanced-scheduling.xml:
12568         * docs/pwg/advanced-tagging.xml:
12569           fix non-validating docbook using CDATA
12570           make sure make check-local gets run first to check if it validates
12571
12572 2004-01-29  Julien MOUTTE <julien@moutte.net>
12573
12574         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12575         handling (up and downstream).
12576         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12577         my_filter thing.
12578
12579 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12580
12581         * docs/pwg/advanced-tagging.xml:
12582           Add docs about tag writing.
12583
12584 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12585
12586         * docs/pwg/advanced-tagging.xml:
12587           Add a part about tag reading and application signalling... Tag
12588           writing still needs to be documented.
12589         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12590           We can set file locations in READY, too.
12591
12592 2004-01-29  Julien MOUTTE <julien@moutte.net>
12593
12594         * docs/random/ds/element-checklist: Adding some notes about src
12595         events.
12596
12597 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12598
12599         * docs/random/mimetypes:
12600           Update docs to point to correct elements for various mimetypes, and
12601           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12602           <stephane.loeuillet@tiscali.fr>.
12603
12604 2004-01-28  David Schleef  <ds@schleef.org>
12605
12606         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12607
12608 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12609
12610         * docs/random/mimetypes:
12611           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12612           undefined"
12613         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12614           make it only work in NULL.
12615         * gst/gstcaps.c:
12616           don't posion NULL caps
12617         * gst/gstelement.c: (gst_element_set_time):
12618           add debugging statement
12619         * gst/gstelement.c: (gst_element_emit_found_tag),
12620         (gst_element_found_tag_func), (gst_element_found_tags):
12621         * gst/gstelement.h:
12622           These functions take const taglists
12623         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12624           fix memleak
12625         * gst/gstpad.c: (gst_pad_event_default):
12626           make more effort on handling discont and clocks, g_warn if everything
12627           fails
12628         * gst/gststructure.c: (gst_structure_remove_fields),
12629         (gst_structure_remove_fields_valist):
12630         * gst/gststructure.h:
12631           add gst_structure_remove_fields(_valist)
12632         * gst/gsttag.c:
12633           fix doc glitch
12634
12635 2004-01-28  David Schleef  <ds@schleef.org>
12636
12637         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12638         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12639         Fix memory leakage of gst_caps_to_string().
12640
12641         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12642         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12643         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12644         (gst_spider_identity_sink_loop_type_finding):
12645         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12646         (find_suggest):
12647         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12648         (gst_pad_set_explicit_caps):
12649         * gst/parse/grammar.y:
12650
12651 2004-01-28  David Schleef  <ds@schleef.org>
12652
12653         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12654         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12655         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12656         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12657         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12658         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12659         (gst_debug_log_default), (_gst_info_printf_extension),
12660         (_gst_info_printf_extension_arginfo):  Add printf extension.
12661         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12662         * gst/gststructure.c: (gst_structure_to_string),
12663         (_gst_structure_parse_value): Use gst_value_deserialize() and
12664         remove old code.
12665         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12666         (gst_value_deserialize_boolean), (gst_strtoi),
12667         (gst_value_deserialize_int), (gst_value_deserialize_double),
12668         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12669         a bunch of deserialize functions and gst_value_deserialize.
12670         * gst/gstvalue.h: er, _de_serialize, not unserialize
12671         * testsuite/caps/string-conversions.c: (main): We don't currently
12672         handle (float) in caps, so convert these to (double).
12673         * testsuite/debug/Makefile.am: Add new test for the printf extension
12674         * testsuite/debug/printf_extension.c: (main): same
12675
12676 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12677
12678         * docs/random/company/time:
12679           Add some docs about clocking and time
12680
12681 2004-01-28  Julien MOUTTE <julien@moutte.net>
12682
12683         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12684
12685 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12686
12687         * docs/pwg/advanced-clock.xml:
12688         * docs/pwg/advanced-dparams.xml:
12689         * docs/pwg/advanced-events.xml:
12690         * docs/pwg/advanced-interfaces.xml:
12691         * docs/pwg/advanced-midi.xml:
12692         * docs/pwg/advanced-request.xml:
12693         * docs/pwg/advanced-scheduling.xml:
12694         * docs/pwg/advanced-tagging.xml:
12695         * docs/pwg/advanced-types.xml:
12696         * docs/pwg/appendix-checklist.xml:
12697         * docs/pwg/building-boiler.xml:
12698         * docs/pwg/building-chainfn.xml:
12699         * docs/pwg/building-filterfactory.xml:
12700         * docs/pwg/building-pads.xml:
12701         * docs/pwg/building-props.xml:
12702         * docs/pwg/building-signals.xml:
12703         * docs/pwg/building-state.xml:
12704         * docs/pwg/building-testapp.xml:
12705         * docs/pwg/intro-basics.xml:
12706         * docs/pwg/intro-preface.xml:
12707         * docs/pwg/other-autoplugger.xml:
12708         * docs/pwg/other-sink.xml:
12709         * docs/pwg/other-source.xml:
12710         * docs/pwg/titlepage.xml:
12711           fix up id's
12712
12713 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12714
12715         * docs/95NonPath:
12716         * docs/HACKING:
12717         * docs/README:
12718         * docs/building-the-docs-on-debian:
12719           collect relevant bits of doc info
12720
12721 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12722
12723         * docs/pwg/advanced_tagging.xml:
12724           Half-assed commit so Thomas can re-arrange document IDs here to be
12725           consistent, too.
12726
12727 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12728
12729         * docs/manual/autoplugging.xml:
12730         * docs/manual/bins-api.xml:
12731         * docs/manual/bins.xml:
12732         * docs/manual/buffers-api.xml:
12733         * docs/manual/buffers.xml:
12734         * docs/manual/clocks.xml:
12735         * docs/manual/components.xml:
12736         * docs/manual/cothreads.xml:
12737         * docs/manual/debugging.xml:
12738         * docs/manual/dparams-app.xml:
12739         * docs/manual/dynamic.xml:
12740         * docs/manual/elements-api.xml:
12741         * docs/manual/elements.xml:
12742         * docs/manual/factories.xml:
12743         * docs/manual/gnome.xml:
12744         * docs/manual/goals.xml:
12745         * docs/manual/helloworld.xml:
12746         * docs/manual/helloworld2.xml:
12747         * docs/manual/init-api.xml:
12748         * docs/manual/intro.xml:
12749         * docs/manual/links-api.xml:
12750         * docs/manual/links.xml:
12751         * docs/manual/manual.xml:
12752         * docs/manual/motivation.xml:
12753         * docs/manual/pads-api.xml:
12754         * docs/manual/pads.xml:
12755         * docs/manual/plugins-api.xml:
12756         * docs/manual/plugins.xml:
12757         * docs/manual/programs.xml:
12758         * docs/manual/queues.xml:
12759         * docs/manual/quotes.xml:
12760         * docs/manual/schedulers.xml:
12761         * docs/manual/states-api.xml:
12762         * docs/manual/states.xml:
12763         * docs/manual/threads.xml:
12764         * docs/manual/typedetection.xml:
12765         * docs/manual/xml.xml:
12766           use chapter, part, section or misc as id starts for all bits
12767
12768 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12769
12770         * docs/gst/gstreamer-sections.txt:
12771           Fix up TITLE of the sections
12772
12773 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12774
12775         * docs/pwg/advanced_interfaces.xml:
12776           Add documentation on propertyprobing.
12777         * docs/pwg/advanced_events.xml:
12778         * docs/pwg/advanced_tagging.xml:
12779         * docs/pwg/building_boiler.xml:
12780         * docs/pwg/building_filterfactory.xml:
12781         * docs/pwg/pwg.xml:
12782           Move filterfactory and tagging into their own chapter, add a chapter
12783           on events. all these are empty placeholders that will be filled in
12784           some day.
12785
12786 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12787
12788         * docs/pwg/advanced_interfaces.xml:
12789           Docs for mixer interface. Also a check for website uploading.
12790
12791 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12792
12793         * docs/HACKING:
12794         * docs/Makefile.am:
12795         * docs/faq/Makefile.am:
12796         * docs/gst/Makefile.am:
12797         * docs/gst/tmpl/gstelement.sgml:
12798         * docs/gst/tmpl/gstplugin.sgml:
12799         * docs/gst/tmpl/gstreamer-unused.sgml:
12800         * docs/libs/Makefile.am:
12801         * docs/manual/Makefile.am:
12802         * docs/manuals.mak:
12803         * docs/pwg/Makefile.am:
12804         * docs/upload.mak:
12805           Separate out upload target and make it similar for
12806           both docbook and gtk-doc docs
12807
12808 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12809
12810         * docs/manuals.mak:
12811           Fix upload target to work with freedesktop
12812
12813 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12814
12815         * docs/pwg/advanced_types.xml:
12816           Add notes on creating your own types.
12817         * docs/pwg/building_boiler.xml:
12818         * docs/pwg/building_pads.xml:
12819         * docs/pwg/building_state.xml:
12820           Add some stuff about how to retrieve values from structures, how
12821           that relates to types and change layout slightly again to be almost
12822           perfect.
12823
12824 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12825
12826         * docs/pwg/advanced_dparams.xml:
12827         * docs/pwg/advanced_scheduling.xml:
12828           Change index layout slightly.
12829
12830 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12831
12832         * docs/pwg/advanced_clock.xml:
12833         * docs/pwg/advanced_interfaces.xml:
12834         * docs/pwg/advanced_midi.xml:
12835           General placeholders for now.
12836         * docs/pwg/advanced_request.xml:
12837           Explanation about sometimes and request pads.
12838         * docs/pwg/advanced_scheduling.xml:
12839           Concept of bytestream, loopfunctions and schedulers.
12840         * docs/pwg/building_boiler.xml:
12841           Add something about plugin-init.
12842
12843 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12844
12845         * docs/pwg/building_pads.xml:
12846           Fix broken docbook
12847
12848 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12849
12850         * docs/pwg/advanced_interfaces.xml:
12851         * docs/pwg/pwg.xml:
12852           Add as a placeholder for future filling-in.
12853         * docs/pwg/basics_autoplugging.xml:
12854         * docs/pwg/basics_buffers.xml:
12855         * docs/pwg/basics_elements.xml:
12856         * docs/pwg/basics_events.xml:
12857         * docs/pwg/basics_plugins.xml:
12858         * docs/pwg/basics_types.xml:
12859           Remove, because unused (this is all in intro_basics.xml).
12860         * docs/pwg/building_signals.xml:
12861           Short intro to signals + reference to GObject docs - we really
12862           shouldn't go into these sort of things to deply because we don't
12863           use them that extensively anyway.
12864         * docs/pwg/building_state.xml:
12865           Explanation of states. Benjamin, please check.
12866         * docs/pwg/building_testapp.xml:
12867           Put everything in one page - putting only a few lines of content
12868           per page doesn't really make sense.
12869
12870           Time to get into the advanced topics. ;).
12871
12872 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12873
12874         * docs/pwg/advanced_types.xml:
12875           Finish documenting the current state of mimetypes.
12876         * docs/pwg/building_boiler.xml:
12877         * docs/pwg/building_chainfn.xml:
12878         * docs/pwg/building_pads.xml:
12879         * docs/pwg/building_props.xml:
12880         * docs/pwg/building_testapp.xml:
12881           Start documenting the "how to build a simple audio filter" part
12882           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12883           states and (maybe?) a short introduction to capsnego in the chapter
12884           on pads (building_pads.xml). Capsnego should probably be explained
12885           fully in advanced_capsnego.xml or so.
12886
12887 2004-01-26  David Schleef  <ds@schleef.org>
12888
12889         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12890         * gst/gstpad.h: Add new function to allow element to (somewhat)
12891         specify non-fixed caps on a pad.
12892         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12893         that I added a few weeks ago.
12894
12895 2004-01-26  David Schleef  <ds@schleef.org>
12896
12897         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12898           making try_set_caps() work with non-fixed caps.
12899
12900 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12901
12902         * docs/pwg/advanced_types.xml:
12903         * docs/pwg/intro_basics.xml:
12904         * docs/pwg/intro_preface.xml:
12905         * docs/pwg/pwg.xml:
12906         * docs/pwg/titlepage.xml:
12907           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12908           in here (docs/random/mimetypes), and will from there on work on both
12909           updating outdated parts and adding missing parts.
12910           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12911
12912 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12913
12914         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12915           policy is set
12916
12917 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12918
12919         * gst/gstelement.h:
12920           remove gst_element_factory_get_version. It doesn't exist anymore.
12921         * gst/gstplugin.c:
12922         * gst/gstplugin.h:
12923           remove gst_plugin_set_name and change gst_plugin_get_longname to
12924           gst_plugin_get_description to match code.
12925         * gst/gsterror.h:
12926           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12927         * gst/gstpad.c: (gst_pad_try_set_caps):
12928           make it work with nonfixed caps.
12929           Note that even in the nonfixed case the link function of the pad
12930           that tries to set caps isn't called.
12931
12932 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12933
12934         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12935           fix bug where buffer was not assembled correctly
12936         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12937           silence by default
12938         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12939           only seek if there's no more buffers that could work without seeking
12940
12941 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12942
12943         * gst/gsttag.c: (_gst_tag_initialize):
12944         * gst/gsttag.h:
12945           Add application tag (for encoding/muxing app).
12946
12947 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * autogen.sh:
12950           make autopoint force, and libtoolize not copy
12951         * common/m4/as-docbook.m4:
12952           added docbook xml catalog setup check
12953         * common/m4/gst-doc.m4:
12954           use docbook check
12955
12956 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12957
12958         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12959         * gst/gsttag.h:
12960           add GstTagFlag
12961
12962 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12963
12964         * docs/gst/gstreamer-sections.txt:
12965         * docs/gst/tmpl/gst.sgml:
12966         * docs/gst/tmpl/gstbuffer.sgml:
12967         * docs/gst/tmpl/gstclock.sgml:
12968         * docs/gst/tmpl/gstelement.sgml:
12969         * docs/gst/tmpl/gstreamer-unused.sgml:
12970         * docs/gst/tmpl/gstxml.sgml:
12971           sync latest API changes to docs
12972
12973 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12974
12975         * gst/gstpluginfeature.c:
12976           fix doc snippet
12977         * tools/gst-inspect.c: (print_element_list):
12978           fix output of typefind
12979           add GPL header
12980         * tools/gst-launch.c:
12981           add GPL header
12982
12983 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12984
12985         * gst/elements/Makefile.am:
12986         * gst/elements/gstelements.c:
12987         * gst/elements/gsttypefindelement.c:
12988         * gst/elements/gsttypefindelement.h:
12989         * po/POTFILES.in:
12990         * po/fr.po:
12991         * po/nl.po:
12992           renamed gsttypefindelement to gsttypefind, conserving CVS history
12993
12994 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12995
12996         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12997         * gst/gsttag.h:
12998           add some tags used in ogg as well
12999           fix _ in replaygain tags
13000
13001 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13002
13003         * gst/gsterror.h:
13004           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13005
13006 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13007
13008         * gst/gstelement.c: (gst_element_error_full):
13009         * gst/gstelement.h:
13010           change _extended to _full
13011
13012 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13013
13014         reviewed by: <delete if not using a buddy>
13015
13016         * docs/gst/tmpl/gst.sgml:
13017         * docs/gst/tmpl/gstbuffer.sgml:
13018         * docs/gst/tmpl/gstclock.sgml:
13019         * docs/gst/tmpl/gstelement.sgml:
13020         * docs/gst/tmpl/gstreamer-unused.sgml:
13021         * docs/gst/tmpl/gstxml.sgml:
13022         * gst/gstelement.c: (gst_element_error_full):
13023         * gst/gstelement.h:
13024
13025 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13026
13027         * gst/gstelement.h: fix _gst_element_error_printf prototype
13028
13029 2004-01-20  David Schleef  <ds@schleef.org>
13030
13031         * gst/gststructure.c: (gst_structure_to_string):
13032         Convert function to use gst_value_serialize().
13033         * gst/gstvalue.c: (gst_value_serialize_list),
13034         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13035         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13036         (gst_value_serialize_int), (gst_value_serialize_double),
13037         (gst_string_wrap), (gst_value_serialize_string),
13038         (gst_value_serialize), (gst_value_deserialize):
13039         * gst/gstvalue.h:
13040         Add implementations for serialize.
13041
13042 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13043
13044         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13045         we want to keep that one in the future or change xvidenc.c to use 
13046         another error.
13047
13048 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13049
13050         * gst/gstelement.c: (_gst_element_error_printf):
13051         * gst/gstelement.h:
13052           privatise function
13053
13054 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13055
13056         * docs/random/error:
13057           doc explaining error system
13058         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13059           cleanup
13060
13061 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13062
13063         * gst/gst-i18n-app.h:
13064         * gst/gst-i18n-lib.h:
13065           remove inclusion of config.h
13066         * po/POTFILES.in:
13067         * po/nl.po:
13068           add gst/gstelement.c
13069
13070 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13071
13072         * po/nl.po: updated Dutch translation
13073
13074 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13075
13076         * gst/gsterror.c: (_gst_core_errors_init),
13077         (_gst_library_errors_init), (_gst_resource_errors_init),
13078         (_gst_stream_errors_init):
13079         remove ending punctuation dots
13080
13081 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13082
13083         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13084         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13085         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13086         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13087         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13088         use GST_ERROR_SYSTEM
13089
13090 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13091
13092         * gst/gstelement.c: (gst_element_error_printf),
13093         (gst_element_error_extended):
13094         * gst/gstelement.h:
13095           add a helper printf function so we can have NULL values passed.
13096
13097 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13098
13099         * gst/gstelement.h:
13100           add G_STMT macros to gst_element_error, which isn't strictly
13101           necessary but people tell me to anyway.
13102
13103 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13104
13105         * gst/Makefile.am:
13106         * gst/autoplug/gstspideridentity.c:
13107         (gst_spider_identity_sink_loop_type_finding):
13108         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13109         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13110         (gst_filesink_close_file), (gst_filesink_handle_event),
13111         (gst_filesink_chain):
13112         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13113         (gst_filesrc_map_region), (gst_filesrc_get_read),
13114         (gst_filesrc_open_file):
13115         * gst/elements/gstidentity.c: (gst_identity_chain):
13116         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13117         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13118         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13119         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13120         * gst/gst.h:
13121         * gst/gst_private.h:
13122         * gst/gstelement.c: (gst_element_class_init),
13123         (gst_element_default_error), (gst_element_error_func),
13124         (gst_element_error_extended):
13125         * gst/gstelement.h:
13126         * gst/gsterror.c: (_gst_core_errors_init),
13127         (_gst_library_errors_init), (_gst_resource_errors_init),
13128         (_gst_stream_errors_init), (gst_error_get_message):
13129         * gst/gsterror.h:
13130         * gst/gstinfo.c: (_gst_debug_init):
13131         * gst/gstmarshal.list:
13132         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13133         (gst_pad_recover_caps_error), (gst_pad_pull):
13134         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13135         * gst/schedulers/gstbasicscheduler.c:
13136         (gst_basic_scheduler_chainhandler_proxy),
13137         (gst_basic_scheduler_gethandler_proxy),
13138         (gst_basic_scheduler_cothreaded_chain):
13139         * po/POTFILES.in:
13140         * po/fr.po:
13141         * po/nl.po:
13142           change error signal
13143           add error categories
13144
13145 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13146
13147         * gst/gsttag.c: (_gst_tag_initialize):
13148         * gst/gsttag.h:
13149         Add replaygain tag
13150
13151 2004-01-18  Colin Walters  <walters@verbum.org>
13152
13153         * examples/retag/retag.c: Call gst_init before processing
13154         program args.  Add g_assert to _link_many call.
13155
13156 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13157
13158         * gst/gstpad.c: (gst_pad_alloc_buffer):
13159           Return a newly allocated buffer when the pad has no peer.
13160
13161 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13162
13163         * gst/gstclock.c: (gst_clock_get_time):
13164           make it compile with gcc 2.95 again.
13165           Patch by Scott Wheeler
13166
13167 2004-01-15  David Schleef  <ds@schleef.org>
13168
13169         * gst/gstcaps.h:
13170         Added gst_caps_is_simple() macro.
13171         * testsuite/caps/caps.c: (test1):
13172         * testsuite/caps/intersect2.c: (main):
13173         * testsuite/caps/intersection.c: (main):
13174         Fixes to make 'make check' work again after removing
13175         gst_caps_is_chained().
13176
13177 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13178
13179         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13180         and additions to the MIDI document.
13181
13182 2004-01-15  David Schleef  <ds@schleef.org>
13183
13184         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13185         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13186         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13187
13188 2004-01-15  David Schleef  <ds@schleef.org>
13189
13190         * gst/gstqueue.c:
13191         * gst/gstqueue.h:
13192         Fix the spelling of "treshold" and make min_threshold actually
13193         affect the queue.
13194
13195 2004-01-15  David Schleef  <ds@schleef.org>
13196
13197         * gst/gstcaps.c:
13198         Add lots of documentation.
13199         * gst/gstcaps.h:
13200         Deprecate a few functions.
13201         * gst/gstpad.c:
13202         Removed use of deprecated functions.
13203
13204 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13205
13206         * gst/gstpad.c: (gst_pad_is_linked):
13207         * gst/gstpad.h:
13208           implement gst_pad_is_linked
13209         * gst/gstelement.h:
13210           reserve space for initiate_state_change
13211
13212 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13213
13214         * gst/autoplug/gstspideridentity.c:
13215         (gst_spider_identity_sink_loop_type_finding):
13216           break infinite loop by just returning instead of looping
13217         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13218           set event time difference correctly. Set it to 1 second instead
13219           of 100ms to be more tolerant
13220         * gst/gstelement.c: (gst_element_set_time):
13221           add debugging output
13222
13223 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13224
13225         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13226           query if buffers are inside the pool, ignore events
13227
13228 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13229
13230         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13231         (gst_clock_set_speed), (gst_clock_set_active),
13232         (gst_clock_is_active), (gst_clock_reset),
13233         (gst_clock_handle_discont):
13234         * gst/gstclock.h:
13235           deprecate old interface and disable functions that aren't in use
13236           anymore.
13237         * gst/gstelement.h:
13238         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13239         (gst_element_set_time), (gst_element_adjust_time):
13240           add concept of "element time" and functions to get/set this time.
13241         * gst/gstelement.c: (gst_element_change_state):
13242           update element time correctly.
13243         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13244           This is a debug message, not a g_critical.
13245         * gst/gstpad.c: (gst_pad_event_default):
13246           handle discontinuous events right with element time.
13247         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13248           update to clocking fixes.
13249           set clocks on elements in READY=>PAUSED. The old behaviour caused
13250           a wrong element time on the first element that started playing.
13251         * gst/schedulers/gstbasicscheduler.c:
13252         (gst_basic_scheduler_class_init):
13253         * gst/schedulers/gstoptimalscheduler.c:
13254         (gst_opt_scheduler_class_init):
13255           remove code that just implements the default behaviour.
13256         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13257           update to use new clocking functions
13258         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13259         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13260           update to test new element time.
13261         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13262           use _get_allowed_caps instead of _get_caps. This catches filtered
13263           caps correctly.
13264         * testsuite/debug/commandline.c:
13265           update for new GST_DEBUG syntax.
13266         * testsuite/threads/Makefile.am:
13267           disable a test that only works sometimes.
13268
13269 2004-01-13  Julien MOUTTE <julien@moutte.net>
13270
13271         * po/LINGUAS: Adding fr.
13272         * po/fr.po: Adding french translation.
13273
13274 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13275
13276         * gst/parse/grammar.y:
13277         * po/POTFILES.in:
13278         * po/nl.po:
13279         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13280           translate parsing error messages
13281
13282 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13283
13284         * po/POTFILES.in: adding gst-launch
13285         * po/nl.po: updated translation, all 99 strings translated
13286         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13287         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13288           fix strings for translation
13289
13290 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13291
13292         * gst/gst.c:
13293           - capitalize beginnings of popt options
13294           - fix strings for translation
13295           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13296
13297 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13298
13299         * po/README: add some notes on how to update translations
13300
13301 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13302
13303         * ABOUT-NLS: removed, is autogenerated from autopoint
13304         * autogen.sh: add autopoint stuff
13305         * configure.ac: fix up gettext stuff
13306         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13307         * gst/elements/gsttypefindelement.c: add header include
13308         * gst/gettext.h: add header, copy from system-installed header
13309         * gst/gst-i18n-app.h: to be included by each app having translations
13310         * gst/gst-i18n-lib.h: to be included by each lib having translations
13311         * gst/gst.c: (init_pre): fix up gettext calls
13312         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13313         * po/LINGUAS: the new way to specify translations present
13314         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13315         * po/Makevars: the variables filled in for GStreamer
13316         * po/POTFILES.in: added new files with translations
13317         * po/de.po: has new strings
13318         * po/nl.po: readded, has new strings
13319
13320 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13321
13322         * gst/gsttag.c: fix some strings marked for translation
13323
13324 2004-01-13  Iain <iain@prettypeople.org>
13325
13326         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13327         group when we add an element to it, cos we unref it when we remove one
13328
13329 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13330
13331         * testsuite/debug/commandline.c: (debug_not_reached):
13332         * testsuite/debug/output.c: (check_message):
13333           fix testsuite
13334
13335 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13336
13337         * examples/cutter/.cvsignore:
13338         * examples/helloworld/.cvsignore:
13339         * examples/launch/.cvsignore:
13340         * examples/manual/.cvsignore:
13341         * examples/mixer/.cvsignore:
13342         * examples/pingpong/.cvsignore:
13343         * examples/plugins/.cvsignore:
13344         * examples/queue/.cvsignore:
13345         * examples/queue2/.cvsignore:
13346         * examples/queue3/.cvsignore:
13347         * examples/queue4/.cvsignore:
13348         * examples/retag/.cvsignore:
13349         * examples/thread/.cvsignore:
13350         * examples/typefind/.cvsignore:
13351         * examples/xml/.cvsignore:
13352         * gst/.cvsignore:
13353         * gst/autoplug/.cvsignore:
13354         * gst/elements/.cvsignore:
13355         * gst/indexers/.cvsignore:
13356         * gst/parse/.cvsignore:
13357         * gst/registries/.cvsignore:
13358         * gst/schedulers/.cvsignore:
13359         * libs/gst/bytestream/.cvsignore:
13360         * libs/gst/control/.cvsignore:
13361         * libs/gst/getbits/.cvsignore:
13362         * tests/.cvsignore:
13363         * tests/bufspeed/.cvsignore:
13364         * tests/instantiate/.cvsignore:
13365         * tests/memchunk/.cvsignore:
13366         * tests/muxing/.cvsignore:
13367         * tests/sched/.cvsignore:
13368         * tests/seeking/.cvsignore:
13369         * tests/threadstate/.cvsignore:
13370         * testsuite/.cvsignore:
13371         * testsuite/caps/.cvsignore:
13372         * testsuite/cleanup/.cvsignore:
13373         * testsuite/dynparams/.cvsignore:
13374         * testsuite/plugin/.cvsignore:
13375         * tools/.cvsignore:
13376           update - this is huge, because it includes *.bb, *.bbg and *.da files
13377           which are generated for gcov.
13378
13379 2004-01-11  David Schleef  <ds@schleef.org>
13380
13381         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13382         a function to parse integers in ways that strto[u]l() does not.
13383
13384 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13385
13386         * tools/gst-inspect.c: (print_caps):
13387           improve output of caps a bit
13388
13389 2004-01-11  David Schleef  <ds@schleef.org>
13390
13391         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13392         inherit correct flags (READONLY and DONTKEEP).
13393
13394 2004-01-11  David Schleef  <ds@schleef.org>
13395
13396         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13397         (gst_filesrc_map_region):
13398         * gst/gstbuffer.c: (_gst_buffer_initialize),
13399         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13400         (gst_buffer_new), (gst_buffer_create_sub),
13401         (gst_buffer_is_span_fast), (gst_buffer_span):
13402         * gst/gstbuffer.h:
13403         Change GstBuffer private structure element names. (all files)
13404         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13405         (gst_queue_link):
13406         * gst/gstqueue.h:
13407         Implement getcaps/pad_link functions that handle the case where
13408         there are data in the queue.
13409
13410 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13411
13412         * gst/elements/gstbufferstore.c:
13413           initialize debugging structure correctly
13414         * gst/elements/gsttee.c: (gst_tee_set_property):
13415           g_object_notify when property was changed
13416         * gst/elements/gsttypefindelement.c:
13417         (gst_type_find_element_change_state):
13418           clear caps correctly
13419
13420 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13421
13422         * gst/gstqueue.c: (gst_queue_init):
13423           Use better defaults for when a queue should block. This
13424           gets rid of jerky playback for quite a few files.
13425           It takes more memory.
13426
13427 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13428
13429         (gst_xml_registry_parse_padtemplate):
13430           make critical message slightly more useful
13431
13432 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13433
13434         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13435         (gst_debug_message_get), (gst_debug_log_default):
13436         * gst/gstinfo.h:
13437           Change gst_debug_log(_valist) to take a const format string.
13438           Change prototype of log function and functions using those to 
13439           take a GstDebugMessage instead of a string that requires using
13440           gst_debug_message_get.
13441
13442 2004-01-08  David Schleef  <ds@schleef.org>
13443
13444         * Makefile.am:
13445         * configure.ac:
13446         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13447         and -ftest-coverage, which allows gcov to show information about
13448         testsuite coverage.
13449
13450 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13451
13452         * gst/gstutils.h:
13453           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13454           GST_PARENT_CALL_WITH_DEFAULT
13455         * gst/elements/gstaggregator.c: 
13456         * gst/elements/gstbufferstore.c: 
13457         * gst/elements/gstfakesink.c: 
13458         * gst/elements/gstfakesrc.c: 
13459         * gst/elements/gstfdsink.c: 
13460         * gst/elements/gstfdsrc.c: 
13461         * gst/elements/gstfilesink.c: 
13462         * gst/elements/gstfilesrc.c: 
13463         * gst/elements/gstidentity.c: 
13464         * gst/elements/gstmd5sink.c: 
13465         * gst/elements/gstmultidisksrc.c:
13466         * gst/elements/gstpipefilter.c: 
13467         * gst/elements/gstshaper.c:
13468         * gst/elements/gststatistics.c:
13469         * gst/elements/gsttee.c:
13470         * gst/elements/gsttypefindelement.c:
13471           use them.
13472
13473 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13474
13475         * docs/gst/gstreamer-docs.sgml: remove props
13476         * docs/gst/gstreamer-sections.txt: remove props
13477         * docs/gst/tmpl/gst.sgml:
13478         * docs/gst/tmpl/gstbin.sgml:
13479         * docs/gst/tmpl/gstbuffer.sgml:
13480         * docs/gst/tmpl/gstcaps.sgml:
13481         * docs/gst/tmpl/gstclock.sgml:
13482         * docs/gst/tmpl/gstelement.sgml:
13483         * docs/gst/tmpl/gstindex.sgml:
13484         * docs/gst/tmpl/gstobject.sgml:
13485         * docs/gst/tmpl/gstpad.sgml:
13486         * docs/gst/tmpl/gstpadtemplate.sgml:
13487         * docs/gst/tmpl/gstreamer-unused.sgml:
13488         * docs/gst/tmpl/gstthread.sgml:
13489         * docs/gst/tmpl/gstxml.sgml:
13490           sync with code reorganization
13491
13492 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13493
13494         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13495         Make the 'Could not find compatible pad' message more informative.
13496
13497 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13498                                                                                 
13499         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13500           Fix for if we pass NULL as property to location.
13501         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13502         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13503           Fix for instantiate-test (see below).
13504         * gst/gststructure.c: (_gst_structure_parse_value):
13505           Fix compile error on gcc-2.96.
13506         * configure.ac:
13507         * tests/Makefile.am:
13508         * tests/instantiate/Makefile.am:
13509         * tests/instantiate/create.c: (create_all_elements), (main):
13510           Add a test that instantiates all elements. This makes it easy to
13511           track dead code for old API/design (like setting event functions
13512           on sink pads and so on).
13513
13514 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13515
13516         * gst/gstcaps.c: (gst_caps_append_structure):
13517           Move the poisoning to allow a NULL structure
13518         * gst/gstevent.c: (_gst_event_free):
13519           When freeing a navigation event, free the structure
13520           also
13521
13522 2004-01-04  David Schleef  <ds@schleef.org>
13523
13524         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13525         Remove usage of gst_pad_proxy_fixate.
13526         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13527         (gst_caps_split_one), (gst_caps_replace):
13528         Add poisoning code.
13529         * gst/gstmarshal.list:
13530         Add pointer__pointer for fixate signal
13531         * gst/gstpad.c: (gst_real_pad_class_init),
13532         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13533         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13534         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13535         Add poisoning code. Add fixate signal on RealPad. Change
13536         set_explicit_caps() to take const GstCaps, like try_set_caps().
13537         * gst/gstpad.h:
13538         * testsuite/caps/Makefile.am:
13539         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13540
13541 2004-01-03  David Schleef  <ds@schleef.org>
13542
13543         * gst/elements/gsttypefindelement.c:
13544         (gst_type_find_element_have_type), (gst_type_find_element_init):
13545         Use gst_pad_use_explicit_caps for src pad.
13546         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13547         before using it.
13548
13549 2004-01-03  David Schleef  <ds@schleef.org>
13550
13551         * gst/gstelement.c: (gst_element_link_pads_filtered),
13552         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13553         that linking was successful.
13554         * gst/gstpad.c: (gst_pad_link_free),
13555         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13556         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13557         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13558         GstPadLinkReturn correctly between functions, and don't fail
13559         when DELAYED is used (DELAYED is very important).  Better
13560         cleanup on unlinking and unnegotiation.  Should fix some spider
13561         bugs.
13562
13563 2004-01-02  David Schleef  <ds@schleef.org>
13564
13565         * gst/gstelement.c: (gst_element_class_init),
13566         (gst_element_base_class_init): ->padtemplates should be cleared
13567         in base_init, since we need to have a fresh list for every
13568         class.  (Alternately, we chould copy the list and share the
13569         actual pad templates (not the list), but that would require
13570         changing every plugin to move pad template registration from
13571         base_init to class_init.)
13572
13573 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13574
13575         * gst/gstelement.c: (gst_element_class_add_pad_template):
13576           Refuse registering a pad template if another pad template
13577           with the same name already exists (#114715).
13578
13579 2004-01-02  David Schleef  <ds@schleef.org>
13580
13581         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13582         (gst_caps_is_equal_fixed): Add new function.
13583         * gst/gstcaps.h: ditto.
13584         * gst/gstpad.c: (gst_real_pad_class_init),
13585         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13586         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13587         check new caps against existing caps -- if they're the same, return
13588         OK without renegotiating.  caps-nego-failed signal fixed so that
13589         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13590         to save an extra caps copy.  Don't complete negotiation if a pad
13591         link function returns DELAYED.
13592
13593 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13594
13595         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13596           Fix wrong g_return_if_fail
13597
13598 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13599
13600         * gst/gstbin.c: (gst_bin_class_init):
13601         Change the marshalling of element_added/element_removed
13602         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13603         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13604
13605 2004-01-01  David Schleef  <ds@schleef.org>
13606
13607         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13608         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13609         (gst_pad_use_explicit_caps):
13610         * gst/gstpad.h:
13611         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13612         to use an internal getcaps and link fuction so that negotiation
13613         always results in the explicitly set caps.
13614         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13615         are particularly useful for decoders.
13616
13617 2003-12-31  David Schleef  <ds@schleef.org>
13618
13619         * gst/elements/gstidentity.c: (gst_identity_class_init),
13620         (gst_identity_init), (gst_identity_chain),
13621         (gst_identity_set_property), (gst_identity_get_property):
13622         * gst/elements/gstidentity.h:
13623         * gst/gstqueue.c: (gst_queue_init):
13624           Negotiation fixes.
13625
13626 2003-12-31  David Schleef  <ds@schleef.org>
13627
13628         * gst/gstcaps.c: (gst_caps_intersect),
13629         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13630           Implement gst_caps_normalize().
13631         * testsuite/caps/normalisation.c: (main):
13632           Add an additional test
13633
13634 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13635
13636         * gst/gstqueue.c: (gst_queue_init):
13637           use gst_pad_proxy_getcaps()
13638
13639 2003-12-31  David Schleef  <ds@schleef.org>
13640
13641         * gst/elements/gstshaper.c: (gst_shaper_link):
13642         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13643         * gst/gstqueue.c: (gst_queue_link):
13644           Negotiation fixes.
13645
13646 2003-12-31  David Schleef  <ds@schleef.org>
13647
13648         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13649         * gst/gstpad.h: Add functions that are useful as default pad
13650         link and fixate functions for elements.
13651
13652 2003-12-30  David Schleef  <ds@schleef.org>
13653
13654         * gst/gstpad.c: (gst_pad_link_try):
13655           Fix segfault when attempting to return to old caps
13656
13657 2003-12-29  David Schleef  <ds@schleef.org>
13658
13659         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13660         (gst_caps_structure_simplify), (gst_caps_simplify):
13661         * gst/gstcaps.h:
13662           Add simplify function
13663         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13664         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13665         * gst/gstpad.h:
13666           Copy over srcnotify, sinknotify when calling old pad_link
13667           functions.  Add new is_negotiated() function.
13668         * gst/gststructure.c: (gst_structure_copy):
13669           Fix an incredibly stupid bug that should have been noticed
13670           weeks ago.  _copy() returned the argument, not the new copy.
13671
13672 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13673
13674         * gst/gstcaps.c: (gst_caps_append):
13675           add sanity checks
13676         * gst/gstcaps.h: (gst_caps_debug):
13677           remove, it doesn't exist anymore.
13678         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13679         (gst_element_threadsafe_properties_post_run):
13680           make debugging messages not clutter up THREAD debug category
13681         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13682         (gst_element_change_state):
13683           update to new caps API
13684         * gst/gstinterface.c: (gst_implements_interface_cast):
13685           don't put vital code in g_return_if_fail
13686         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13687         (gst_pad_link_filtered):
13688           add pst_pad_try_link and use it.
13689         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13690           implement correctly, deprecate first one.
13691         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13692           add and implement.
13693         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13694           implement.
13695         (gst_pad_get_negotiated_caps):
13696           add and implement. Make GST_PAD_CAPS call this function.
13697         (gst_pad_get_caps):
13698           remove unneeded check..
13699         (gst_pad_recover_caps_error):
13700           disable, always return FALSE.
13701         (gst_real_pad_dispose):
13702           don't free caps and appfilter anymore, they're unused.
13703         * gst/gstpad.h:
13704           Reflect changes mentioned above.
13705         * gst/gstsystemclock.c: (gst_system_clock_wait):
13706           Make 'clock is way behind' a debugging message.
13707         * gst/gstthread.c: (gst_thread_change_state):
13708           Fix debugging message
13709
13710 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * gst/gstinfo.h:
13713           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13714         * docs/gst/tmpl/gstreamer-unused.sgml:
13715           removed all traces of cvs conflicts
13716
13717 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13718
13719         * configure.ac:
13720         * gst/schedulers/cothreads_compat.h:
13721         * libs/Makefile.am:
13722           remove last instances of wingo cothread usage
13723
13724 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13725
13726         * gst/gstplugin.c:
13727         * gst/gstversion.h.in:
13728         * gst/parse/grammar.y:
13729           change comment block from /** to /* when not gtk-doc comments
13730
13731 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13732
13733         * gst/gst.c: whitespace and doc style fixes
13734
13735 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13738
13739 2003-12-24  Colin Walters  <walters@verbum.org>
13740
13741         * gst/elements/gsttypefindelement.c:
13742           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13743           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13744           Don't double-free caps.
13745
13746 2003-12-23  David Schleef  <ds@schleef.org>
13747
13748         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13749           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13750           Many little fixes and additions of debug statements to
13751           get rhythmbox working.
13752
13753 2003-12-23  Colin Walters  <walters@verbum.org>
13754
13755         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13756         Use GST_PAD_LINK_SUCCESSFUL.
13757
13758 2003-12-23  David Schleef  <ds@schleef.org>
13759
13760         * gst/elements/gstaggregator.c:
13761         * gst/elements/gsttee.c:
13762           Use gst_pad_proxy_getcaps().
13763         * gst/gstpad.c:
13764         * gst/gstpad.h:
13765           Add gst_pad_proxy_getcaps(), which filter elements can use
13766           as a generic getcaps implementation.
13767           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13768           was advertised.
13769
13770 2003-12-23  David Schleef  <ds@schleef.org>
13771
13772         * gst/gstpad.c:
13773           Rearrange/rewrite much of the pad negotiation code, since it
13774           resembled pasta.  This actually changes the way some
13775           negotiation works, since the previous code was inconsistent
13776           depending on how it was invoked.  Add (internal) structure
13777           GstPadLink, which is used to hold some information (more in
13778           the future) about the link between two pads.  Fixes a number
13779           of bugs, including random lossage of filter caps when the
13780           initial negotiation is delayed.  A few functions are still
13781           unimplemented.
13782         * gst/gstpad.h:
13783           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13784           these when testing GstPadLinkReturn values instead of comparing
13785           directly.
13786
13787 2003-12-23  David Schleef  <ds@schleef.org>
13788
13789         * gst/gstvalue.c: 
13790         * gst/gstvalue.h:
13791           Rearrange lots of code.  Change registration of compare function
13792           into registration of compare/serialize/deserialize functions.
13793           Doesn't include implementation of gst_value_[de]serialize(),
13794           but that should be easy.
13795
13796 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13797
13798         * docs/gst/gstreamer-sections.txt:
13799         * docs/gst/tmpl/gstprops.sgml: removed
13800         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13801           David removed props and caps code, so let's remove their docs as well.
13802           Removed all no longer existing symbols from gstreamer-sections.txt
13803           
13804 2003-12-22  Colin Walters  <walters@verbum.org>
13805
13806         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13807           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13808           of tags directly.
13809
13810 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13811
13812         * gst/elements/gstelements.c:
13813           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13814         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13815           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13816           gst_caps (peer).
13817
13818 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13819
13820         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13821         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13822         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13823         (gst_spider_identity_sink_loop_type_finding):
13824         * gst/autoplug/gstspideridentity.h:
13825           Fix autoplugging in spider element, so it works with new caps.
13826           This was mainly caused by identifying empty caps incorrectly.
13827
13828 2003-12-22  David Schleef  <ds@schleef.org>
13829
13830         * gststructure.c, gstvalue.c, gstvalue.h: Add
13831           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13832           using g_value_copy()
13833
13834 2003-12-21  David Schleef  <ds@schleef.org>
13835
13836         * many, many files: Merge CAPS branch.  This includes:
13837           - implemention of GstValue and several GstValue types
13838           - implemention of GstStructure
13839           - entire rewrite of GstCaps
13840           - removal of GstProps
13841           - many changes to GstPad to compensate for new caps paradigm
13842           - removal of GstBufferpool
13843         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13844         gstvalue.h, gst/gstcaps[2]*.[ch]:
13845           - rename gstcaps2.[ch] to gstcaps.[ch]
13846
13847 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13848
13849         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13850         (gst_queue_chain), (gst_queue_handle_src_event):
13851           implement timeout for sending events. Workaround for if the
13852           pipeline on this queue is not passing any data.
13853
13854 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13855                                                                                 
13856         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13857         * moved CVS to freedesktop.org